What wins an IPL match

A real-time insights system built on ball-by-ball IPL data. It tracks win probability, finds which phases decide a match, and recommends who should bat or bowl next.

Sports analytics project, Linköping University2026

Chart from the project report comparing which model extensions improved held-out log-likelihood on the 2026 season
Chart from the project report comparing which model extensions improved held-out log-likelihood on the 2026 season.

The idea behind this project is simple. A T20 innings breaks into phases, and the team that wins more phases tends to win the match. When the phases split evenly, single events decide it: a boundary, a wicket, a tight over.

What I built

  • Win probability for every ball, tested on the 2026 season, which the model never saw in training.
  • Data-driven phases. Instead of a fixed three-phase split, the system learns 3 to 5 phases per venue from shifts in scoring and wicket rates.
  • Player impact, measured as the win-probability swing each player was responsible for.
  • Recommendations. Rankers suggest who should come in to bat or bowl next, respecting rules like the four-over limit.
  • A match replay dashboard with a live recommendation panel that updates ball by ball.

Testing it honestly

I checked each extension against a baseline on held-out data, and several did not help. The chart above shows which ones improved the model and which made it worse. In the win-probability test on the 2026 season, a simpler baseline did as well as my XGBoost model.

More work