🏏 IPL Moneyball ← Back to Portfolio

IPL Moneyball — Auction Price vs. Real Performance

Does IPL auction price track on-field output, or reputation? Regression-residual model on real Cricsheet ball-by-ball data merged with real Kaggle auction prices.

562
Player-seasons analysed
3.7σ
Most undervalued (z)
-2.1σ
Most overpriced (z)
0.04
Avg residual

Rankings

🟢 Most undervalued

Playeryearprice_typeTeamAmount (₹)performancez
Kane Williamson2018AuctionSunrisers Hyderabad₹3,00,00,0004.863.71
James Faulkner2013AuctionRajasthan Royals₹3,00,00,0004.393.32
Suryakumar Yadav2025RetentionMumbai Indians₹16,35,00,0004.723.13
Robin Uthappa2014AuctionKolkata Knight Riders₹5,00,00,0004.33.1
Ambati Rayudu2018AuctionChennai Super Kings₹2,20,00,0003.862.97
KL Rahul2018AuctionKings XI Punjab₹11,00,00,0004.292.88
Sanjay Yadav2020AuctionSunrisers Hyderabad₹20,00,0002.942.87
Rahul Sharma2015AuctionChennai Super Kings₹30,00,0002.962.77
Shubman Gill2025RetentionGujarat Titans₹16,50,00,0004.222.71
Virat Kohli2025RetentionRoyal Challengers Bengaluru₹21,00,00,0004.272.69

🔴 Most overpriced

Playeryearprice_typeTeamAmount (₹)performancez
Mayank Yadav2025RetentionLucknow Super Giants₹11,00,00,000-1.7-2.08
Jhye Richardson2021AuctionPunjab Kings₹14,00,00,000-1.43-1.93
Mohsin Khan2025RetentionLucknow Super Giants₹4,00,00,000-1.75-1.84
Riley Meredith2021AuctionPunjab Kings₹8,00,00,000-1.36-1.71
Kartik Tyagi2022AuctionSunrisers Hyderabad₹4,00,00,000-1.57-1.7
Chris Jordan2022AuctionChennai Super Kings₹3,60,00,000-1.53-1.63
Navdeep Saini2022AuctionRajasthan Royals₹2,60,00,000-1.63-1.62
Shivam Mavi2022AuctionKolkata Knight Riders₹7,25,00,000-1.28-1.62
Pawan Negi2016AuctionDelhi Daredevils₹8,50,00,000-1.22-1.61
Shahbaz Nadeem2018AuctionDelhi Daredevils₹3,20,00,000-1.53-1.6

💰 MVP / LVP by Price Bracket

Brackets in ₹2 Cr steps; everything ₹22 Cr and above is grouped as one open-ended bracket.

Price BracketPlayersMVP (best value)MVP zLVP (worst value)LVP z
₹0-2 Cr247Sanjay Yadav (2020, Auction)2.87Gurinder Sandhu (2015, Auction)-1.55
₹2-4 Cr127Kane Williamson (2018, Auction)3.71Chris Jordan (2022, Auction)-1.63
₹4-6 Cr77Robin Uthappa (2014, Auction)3.1Mohsin Khan (2025, Retention)-1.84
₹6-8 Cr35Yuzvendra Chahal (2022, Auction)1.88Shivam Mavi (2022, Auction)-1.62
₹8-10 Cr23Chris Lynn (2018, Auction)1.87Riley Meredith (2021, Auction)-1.71
₹10-12 Cr16KL Rahul (2018, Auction)2.88Mayank Yadav (2025, Retention)-2.08
₹12-14 Cr9Shreyas Iyer (2022, Auction)1.24Tymal Mills (2017, Auction)-1.52
₹14-16 Cr11Benjamin Stokes (2017, Auction)1.64Jhye Richardson (2021, Auction)-1.93
₹16-18 Cr7Suryakumar Yadav (2025, Retention)3.13Yuvraj Singh (2015, Auction)-0.55
₹18-20 Cr7Yashasvi Jaiswal (2025, Retention)2.12Rashid Khan (2025, Retention)-1.23
₹20-22 Cr2Virat Kohli (2025, Retention)2.69Nicholas Pooran (2025, Retention)1.86
₹22+ Cr1Heinrich Klaasen (2025, Retention)1.6Heinrich Klaasen (2025, Retention)1.6
YearPrice TypeTeamAmountz

What this project does

Applies the Moneyball/sabermetrics thesis to IPL auctions: regress performance on log(auction price), take the residual (actual − expected), z-score it, and flag players who outperform/underperform what their price predicted.

Build history (v1 → v4)

  • v1 (01_value_outliers.py) — synthetic data, proved the methodology end-to-end.
  • v2 (02_real_data_value_outliers.py) — single self-contained real dataset (IMB381, IIM Bangalore case study, 2008–2011).
  • v3 (03_real_merged_value_outliers.py) — two genuinely independent real sources merged: performance from Cricsheet.org ball-by-ball data (295,732 deliveries, 2007–2026), price from Kaggle's IPL Player Auction Dataset (970 records, 2013–2022).
  • v4 (04_retained_players_value.py, this dashboard's data) — adds real retention prices (Kaggle, "IPL Auction Historical Data and Retention List" — the 2025 mega-auction retention list, 46 players) merged with real 2025-season Cricsheet performance, so retained icon players who never appear in auction data — Kohli, Rohit, Dhoni — are now in the analysis too.

The entity-resolution problem (solved transparently)

Cricsheet names are "initials + surname" (DA Warner); Kaggle uses full names (David Warner). No shared player-ID exists. Joined on (surname, year), disambiguated by checking the auction record's first-initial against Cricsheet's full initials. Match rate: 620 of 969 auction records (64.0%) — reported honestly, not hidden. After the sample-size floor (≥30 balls faced/bowled): 521 real player-seasons.

Methodology correction made mid-build

First version used a naive performance ÷ price ratio — mathematically dominated by the denominator (a near-zero price inflates the ratio regardless of actual performance). Switched to the regression-residual approach, which is how real sabermetrics value-over-replacement metrics actually work.

Validation against real history (not just internal stats)

  • Robin Uthappa, 2014 — 3.1σ undervalued. That was the season he won the IPL Orange Cap (leading run-scorer) — the model had no knowledge of that, it surfaced purely from price + ball-by-ball data.
  • Kane Williamson, 2018 (3.7σ) and KL Rahul, 2018 — both real, recognizable standout seasons.
  • Overpriced side: Jhye Richardson and Riley Meredith (2021–22) underdelivered relative to price — plausible given COVID-bubble auction years had inflated pricing.
  • Retained icons, 2025: Virat Kohli's ₹21 Cr retention scored +2.69σ against the auction-fitted expectation curve, Rohit Sharma's ₹16.3 Cr scored +1.27σ, MS Dhoni's ₹4 Cr scored +0.27σ (roughly in line, consistent with his reduced 2025 playing role).

Honest limitations

  • Composite performance score is a simple standardized blend (batting runs + wickets-adjusted-for-economy), not a fully validated cricket impact metric.
  • 64% match rate means ~a third of auction records couldn't be linked to performance data.
  • Auction data covers 2013–2022 only; the retention layer covers a single cycle (2025 season only).
  • Retention price isn't set by competitive bidding the way auction price is — a franchise unilaterally decides what to pay to keep an icon player, rather than other franchises bidding it up. The "expected performance" line retained players are scored against is still the auction-fitted regression — an extrapolation, not a like-for-like mechanism.

Next steps

  • Build a proper player-name registry to lift the auction match rate above 64%.
  • Extend auction data to 2023+, and retention data across more than one mega-auction cycle.
  • Add phase splits (powerplay/death-overs) now that raw ball-by-ball data is in hand.