Role-Based Player Performance Analysis in T20 Cricket
Research - Published - MathSport International Conference
Published research building a role-aware performance indicator for T20 cricket players, evaluating players against peers with similar behavioural roles rather than the entire player population.
Problem
Cricket ranks players against the whole population, so an opening batter and a death-overs finisher are judged on the same averages despite doing completely different jobs. The comparison is unfair before the maths even starts.
Approach
Custom scraping of ball-by-ball data, then K-Means clustering to let behavioural roles emerge from how players actually bat and bowl rather than from squad labels. PCA reduced the feature space and one-vs-all classification scored each player against their own peer group.
Trade-off
Unsupervised role discovery means the clusters are not guaranteed to match cricketing intuition, and defending them takes more work than using published positions. But imposing known labels would have baked in the very assumption the project set out to test.
Architecture
Used custom web scraping, EDA, KPI extraction, K-Means clustering, PCA, and one-vs-all classification. Validated against the ICC Top 10 All-Time All-Rounders benchmark, achieving 92% accuracy in identifying top performers.
Results
92% accuracy against the ICC Top 10 All-Time All-Rounders benchmark, and acceptance at the 10th MathSport International Conference.
Highlights
- Role-aware ranking score
- K-Means role discovery
- PCA feature reduction
Technologies
- Python
- K-Means
- PCA
- Web Scraping
- Scikit-learn
- Feature Engineering
Screenshots
