What Actually Wins IPL Matches? A Ball-by-Ball Data Analysis
Analyzed 1,200+ IPL matches and discovered that death-over scoring had a stronger impact on winning than toss advantage.
1,200+
Matches analyzed
240K+
Deliveries processed
3
Core IPL insights
Overview
Cricket fans often make assumptions about what wins IPL matches — whether winning the toss gives a big advantage, or whether powerplay batting matters more than death-over hitting. I wanted to test these opinions using real IPL ball-by-ball data instead of assumptions. Using data from over 1,200 IPL matches, I analyzed toss outcomes, scoring patterns across match phases, and player performances to identify what factors were most strongly linked to winning. The goal was to turn raw cricket data into clear insights through Python-based data analysis and visual storytelling. Process I started by downloading IPL match data in JSON format from Cricsheet and converting it into a structured CSV dataset using Python. Since each JSON file represented one match, I wrote a script to extract ball-by-ball information such as batter, bowler, runs scored, wickets, toss winner, and match winner. After creating the dataset, I cleaned and organized the data using Pandas. I then divided innings into three phases — powerplay, middle overs, and death overs — to compare scoring patterns between winning and losing teams. For visualization, I used Matplotlib and Seaborn to build charts that clearly showed toss impact and scoring differences across phases. I also calculated the top-performing batters and bowlers across multiple IPL seasons. One challenge was handling the nested JSON str Results The analysis showed that winning the toss had less impact on match outcomes than expected, as teams still lost a large number of matches after winning the toss. The strongest trend came from death-over scoring. Winning teams consistently scored more aggressively in the final overs compared to losing teams, making death-over performance the phase most strongly linked to victory. The project also successfully processed and analyzed over 1,200 IPL matches and generated multiple visualizations and statistical summaries. Along with answering the assignment questions, the project improved my under Reflection If I continued this project further, I would improve the analysis by including advanced metrics such as strike rate, economy rate, win probability by phase, and season-wise comparisons. I would also make the visualizations more interactive using tools like Plotly or Power BI. Another improvement would be automating season filtering and building a small dashboard where users could explore player and team statistics dynamically instead of viewing static charts.