Dashboard Design — IPL Sports Analytics¶
Dashboard Purpose¶
An interactive Tableau dashboard for fantasy cricket users — three views: - Player Explorer: look up any player's form, splits, and value - Team & Toss Insights: team win rates, toss strategy, venue effects - Matchup Finder: batsman-vs-bowler head-to-head for team selection
View 1 — Player Explorer¶
┌──────────────────────────────────────────────────────────────────┐
│ Player: [V Kohli ▼] Role: Batsman │
├──────────────────────────────────────────────────────────────────┤
│ Runs Strike Rate Average 50s/100s Form (L10) │
│ 6,283 128.8 37.2 48 / 5 ▲ Hot │
├──────────────────────────────────────────────────────────────────┤
│ │
│ Runs by Season (bar) Strike Rate by Phase (bar) │
│ [2008-2023 trend] [Powerplay/Middle/Death] │
│ │
├────────────────────────────────┬───────────────────────────────────┤
│ Dismissal Types (donut) │ Performance vs Each Team (bar) │
└────────────────────────────────┴───────────────────────────────────┘
View 2 — Team & Toss Insights¶
┌──────────────────────────────────────────────────────────────────┐
│ Toss Win → Match Win: 51.5% Field-first wins: 53.5% │
├──────────────────────────────────────────────────────────────────┤
│ Team Win Rates (horizontal bar, sorted) │
│ [All teams ranked by win %] │
├────────────────────────────────┬───────────────────────────────────┤
│ Bat vs Field First (grouped) │ Avg Score by Venue (bar) │
│ [Win % by toss decision] │ [Top 10 batting venues] │
└────────────────────────────────┴───────────────────────────────────┘
View 3 — Matchup Finder¶
┌──────────────────────────────────────────────────────────────────┐
│ Batsman: [MS Dhoni ▼] vs Bowler: [JJ Bumrah ▼] │
├──────────────────────────────────────────────────────────────────┤
│ Balls: 42 Runs: 38 SR: 90.5 Dismissals: 3 │
│ Verdict: Bowler advantage 🔵 │
├──────────────────────────────────────────────────────────────────┤
│ Head-to-head over time (line) │
└──────────────────────────────────────────────────────────────────┘
Building in Tableau¶
Step 1 — Connect and Join¶
- Connect → Text File →
deliveries_clean.csv - Add
matches_clean.csv→ join ondeliveries.match_id = matches.id(inner join) - Verify the join doesn't duplicate rows unexpectedly
Step 2 — Key Calculated Fields¶
// Strike Rate
Strike Rate = SUM([Batsman Runs]) / SUM([Is Ball Faced]) * 100
// Economy Rate
Economy = SUM([Bowler Runs]) / (SUM([Is Legal Ball]) / 6)
// Phase of innings
Phase =
IF [Over] < 6 THEN "Powerplay"
ELSEIF [Over] < 15 THEN "Middle"
ELSE "Death"
END
// Toss winner won the match
Toss Advantage = IF [Toss Winner] = [Winner] THEN 1 ELSE 0 END
Step 3 — Build Player Explorer¶
- Parameter: create a "Selected Player" parameter (list of all batters)
- Filter:
[Batter] = [Selected Player] - KPI sheets: SUM(runs), Strike Rate, etc. as Big Number (BAN) tiles
- Runs by Season: drag
Seasonto Columns,SUM(Batsman Runs)to Rows - Strike Rate by Phase:
Phaseto Columns,Strike Rateto Rows
Step 4 — Build Team & Toss View¶
- Team Win Rate: use a calculated field for win %, bar chart sorted descending
- Toss decision:
Toss Decisionto Columns, win % to Rows - Venue scores: filter to inning 1, average score per venue
Step 5 — Matchup Finder¶
- Two parameters: "Selected Batsman" and "Selected Bowler"
- Filter deliveries to both
- Calculate runs, balls, dismissals, strike rate for that exact matchup
- A verdict calculated field:
IF [SR] > 130 THEN "Batsman advantage" ELSEIF dismissals high THEN "Bowler advantage" ...
Step 6 — Assemble Dashboard¶
- Use Dashboard Actions to make player selection filter all views
- Add parameter controls as dropdowns
- Test interactivity end to end
Visualisation Ideas (Stretch)¶
- Manhattan chart: runs per over for a single innings (bar chart, color = wickets)
- Wagon wheel: if shot-direction data is available, plot where runs were scored
- Worm chart: cumulative runs comparison between two innings