Skip to content
← All projects

IPL Cricket Dashboard (2008 to 2024)

IPL Overview page of the Power BI dashboard, with KPI cards, season charts, top 10 stadiums and season winners

An interactive Power BI dashboard built from raw IPL scorecard and ball-by-ball files. It covers 17 seasons (2008 to 2024), 1,102 matches and over 250,000 deliveries. I cleaned the data in Python with pandas and regular expressions, then built the data model, measures and design in Power BI.

The dashboard

Page 1, IPL Overview:

  • KPI cards for seasons, teams and matches
  • Average runs per match, no balls and wide-ball percentage by season
  • Top 10 stadiums by matches hosted
  • Winner, runner-up and second runner-up of every season

Page 2, Team Profile:

  • Season and team slicers, to see any team in any season
  • Season record: matches, wins, losses and points
  • Stadium track record with win-rate icons
  • Season-by-over heatmap that switches between boundaries, runs and wickets
  • Rankings of the top batters and bowlers

How I built it

  • Data cleaning (Python, pandas, regex): combined files from different seasons, rebuilt blank seasons from match dates, fixed stadiums that had two names, pulled the winning margin out of result text, and turned cricket overs like 3.4 into balls.
  • Data model (Power BI): a star schema with Matches at the centre, linked to batting, bowling and ball-by-ball tables, plus lookup tables for teams, venues and seasons.
  • Measures (DAX): wins, win percentage, points, runs per match, no balls and wide-ball share.
  • Design: a flat dark theme with a left navigation menu.

A problem I solved

My team measures counted every match twice, once for the home side and once for the away side, so wins and matches played came out equal. I rewrote the measures to count each match once, then checked them against numbers I could verify by hand.

Project insights

  • Total Seasons: 17
  • Total Matches: 1,102
  • Most matches hosted: Wankhede Stadium, Mumbai (118)
  • Chennai Super Kings at Chepauk: 50 wins in 71 matches

Notes on the data

The source data stopped before the 2024 playoffs, so I added that season's winner, runner-up and third place by hand. Over-by-over figures come from ball-by-ball data and are about 0.3% below official match totals.

Add your link, then remove this comment:

View Report On GitHub