Submission for the Analytical Assignment. Question: is Chennai Super Kings improving, stagnating, or declining as an institution? Verdict reached by pre-registered criteria, not by narrative.
Stagnating — 2 of 5 pre-registered criteria for "declining" were met. Downward win% trend (−3.5pp/yr since 2018) and a sharp playoff-access drop (91.7% → 33.3% in the expansion era) are offset by intact close-match win% and a small peer-relative gap.
Full analysis: deliverables/analysis_note.md
CSK-PerformanceTrajectoryAnalysis/
├── Kaggle-Dataset/ Raw downloaded CSVs (do not modify)
├── data/
│ ├── bronze/ Typed Parquet, no cleaning
│ ├── silver/ Conformed, canonicalized
│ ├── gold/ Question-shaped marts (CSV + Parquet)
│ └── reference/ Hand-curated CSK captains, season standings
├── notebooks/
│ ├── 01_bronze_ingest.ipynb Raw -> bronze Parquet
│ ├── 02_silver_build.ipynb Team canonicalization, QC gates
│ ├── 03_gold_marts.ipynb 6 analytical marts
│ └── 04_eda_csk.ipynb Figures + verdict criteria evaluation
├── deliverables/
│ ├── analysis_note.md Main written deliverable
│ └── figures/ PNG outputs from notebook 04
├── src/ Helper utilities
└── activity.md Original assignment brief
pip install pandas pyarrow duckdb matplotlib nbconvert
python -m nbconvert --to notebook --execute notebooks\01_bronze_ingest.ipynb --inplace
python -m nbconvert --to notebook --execute notebooks\02_silver_build.ipynb --inplace
python -m nbconvert --to notebook --execute notebooks\03_gold_marts.ipynb --inplace
python -m nbconvert --to notebook --execute notebooks\04_eda_csk.ipynb --inplaceRun in order. Each notebook reads from the previous layer and writes to the next. End-to-end runtime ~30 seconds on a laptop.
- Primary source: Kaggle IPL ball-by-ball + matches, 2008–2025 (1,169 matches / 278,205 deliveries).
- Hand-curated reference:
data/reference/— CSK captains by season and league standings. See the reference README for sources and rationale.
Medallion architecture (bronze → silver → gold) with explicit quality gates at silver. Verdict criteria were declared in 04_eda_csk.ipynb before any trend chart was drawn, to prevent confirmation bias.