Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPL Data Analytics Dashboard

Project Overview

A large-scale cricket analytics project built on historical IPL ball-by-ball and match datasets containing 286,000+ delivery records across 18 seasons (2008–2025).

The project focused on converting raw IPL data into structured analytical datasets through extensive preprocessing, aggregation, and statistical engineering using Python and Pandas. Over 100+ processed CSV datasets were generated across batting and bowling analytics pipelines — covering player records, seasonal performance, boundary analysis, partnerships, strike rates, wicket trends, economy analysis, and venue insights.

The final stage involved building a fully interactive Power BI dashboard using finalized master datasets, delivering advanced IPL analytics through dynamic filtering, KPI cards, and visual storytelling.


Key Highlights

  • Processed 286,000+ ball-by-ball IPL records
  • Built 100+ analytical CSV datasets from raw cricket data
  • Created separate batting and bowling analytics pipelines
  • Developed modular Jupyter notebook workflows for each analysis module
  • Performed player, team, venue, and season-level analysis
  • Built a 7-page interactive Power BI dashboard with dynamic filtering and KPIs
  • All statistics validated against official ESPNcricinfo records

Dataset

Property Details
Source Kaggle
Coverage 18 IPL seasons — 2008 to 2025
Records 286,000+ ball-by-ball deliveries
Columns 56 features per delivery

Workflow

Raw IPL Datasets
        ↓
Data Cleaning & Validation
        ↓
Cricket Rule Implementation (56+ edge cases)
        ↓
100+ Processed CSV Files
        ↓
Batting & Bowling Analytics Pipelines
        ↓
Master Dataset Creation
        ↓
Power BI Dashboard Development (100+ DAX Measures)
        ↓
Interactive IPL Analytics Dashboard

Project Structure

ipl-data-analytics-dashboard/
│
├── data/
│   ├── raw/
│   │   ├── all_ball_by_ball_data.csv
│   │   ├── all_ipl_innings_data.csv
│   │   ├── all_matches_data.csv
│   │   ├── all_players_data.csv
│   │   ├── all_team_info.csv
│   │   └── seasonal_overview.csv
│   │
│   └── processed/                              # 100+ processed analytical CSV datasets
│       ├── batting_records/
│       │   ├── boundary_records/
│       │   ├── core_stats/
│       │   ├── ducks_record/
│       │   ├── fifties_and_centuries_records/
│       │   ├── partnership_records/
│       │   ├── all_time_batting_stats.csv
│       │   └── player_match_by_match_batting_stats.csv
│       │
│       └── bowling_records/
│           ├── career_records/
│           ├── innings_records/
│           ├── seasonal_records/
│           └── match_by_match_bowling_stats.csv
│
├── notebooks/                                  
│   ├── 01_batting_master_dataset_creation.ipynb
│   ├── 02_core_batting_performance_metrics.ipynb
│   ├── 03_boundary_analysis.ipynb
│   ├── 04_fifties_and_centuries_analysis.ipynb
│   ├── 05_ducks_analysis.ipynb
│   ├── 06_partnership_analysis.ipynb
│   ├── 07_bowling_master_dataset_creation.ipynb
│   ├── 08_bowling_career_records_analysis.ipynb
│   ├── 09_bowling_innings_records_analysis.ipynb
│   └── 10_bowling_seasonal_records_analysis.ipynb
│
├── powerbi/
│   ├── images/
│   └── ipl_data_analytics_dashboard.pbix
│
├── reports/
│   ├── figures/
│   └── presentation/
│       ├── ipl_data_analytics_dashboard_presentation.pptx
│       └── ipl_data_analytics_dashboard_presentation.pdf
│
├── .gitignore
├── README.md
└── requirements.txt

Dashboard Preview (3 Pages)

Home Page

Dashboard Home

Batting Performance Overview

Batting Overview

Bowling Performance Overview

Bowling Overview


Dashboard Structure — 7 Pages

Page Description
Home Cover page with navigation buttons to all sections
Season Overview Winner, runner-up, Orange Cap, Purple Cap, Player of the Season, and key aggregate stats per season
Batting Performance Run trends, boundary analysis by over, venue breakdowns, and record cards with full-list navigation
Bowling Performance Wicket type breakdown, economy and wicket trends, and record cards with full-list navigation
Records Dynamic table switching between full Batting and Bowling record lists — filterable by season, team, and player nationality
Standings Season-by-season IPL points table with correct NRR, excluding knockout matches. Dynamic title per season
Fixtures All match results for any team in any season — sorted latest first with scores, venues, dates, and winning statements

Tools & Technologies

Tool Usage
Python Core data processing language
Pandas Data cleaning, transformation, metric engineering
NumPy Numerical computations
Jupyter Notebook Modular analytics workflow
Power BI Interactive dashboard development
DAX 100+ measures, calculated columns, dynamic filtering

How to Run Locally

git clone https://github.com/apswalih/ipl-data-analytics-dashboard.git

cd ipl-data-analytics-dashboard

pip install -r requirements.txt

Open Jupyter Notebooks

Run:

jupyter notebook

Then open notebooks from the notebooks/ folder.


Open Power BI Dashboard

Open:

powerbi/ipl_data_analytics_dashboard.pbix

using Microsoft Power BI Desktop.


Future Improvements

  • Add advanced datasets and deeper statistical analysis (eg: partnership records)
  • Build player-wise and team-wise comparison dashboards
  • Add head-to-head analytics and team information sections
  • Integrate player images, team logos, and enhanced dashboard design
  • Implement player form tracking and consistency analysis
  • Develop match prediction and win probability insights

Contact

Muhammed Swalih AP

LinkedIn GitHub

For questions or collaboration, open an issue on GitHub or reach out via email at apswalihofficial@gmail.com

About

Large-scale IPL data engineering and analytics project featuring 100+ processed datasets and interactive Power BI dashboard

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages