IPL Insights over the last decade

Ashish Sharma
Posted on Oct 21, 2019

IPL:

The Indian Premier League (IPL) is one of the most widely watched cricket leagues in the world. Hosted in India typically in the 8 cities that represent the 8 participating teams, this is a tournament where renowned international cricketers come together and participate in 20-over matches that are brimming with excitement.

Founded by the Board of Control for Cricket in India (BCCI) in 2008, IPL is frenzied entertainment, both on and off the field. Nonstop action, Bollywood film stars, animated die-hard fans, glamour, music, cheers, roars, uncontrollable emotions and much more!

 

Purpose:

In a game such as cricket, there are myriad factors that contribute to a team's victory. This project brings to life some of those quantifiable drivers. I've built this application with flexibility and interactivity in mind. Users of this application can select teams they'd like to compare and do so over any year from 2008 to 2017. With extensibility built-in, further addition of data is as simple as appending the new datasets. The application is located here:

https://ashishsharma.shinyapps.io/IPLInsightsv1/

 

Data:

Data for this project was obtained from Kaggle and comprises of 2 datasets that span 10 years of data from 2008 to 2017:

  1. Matches - data for all matches played. (Data granularity: every match played)
  2. Deliveries - ball by ball data for every match played. (Data granularity: every ball bowled)

 

IPL at a glance:

This menu item provides overall figures of all the matches played over the 10-year period. Number of matches won by each of the participating teams, tournament winners and runner ups, "Man of the match" as well as "Player of the series" for every year provide an informed overview of how teams have performed till date. Overall, there were approximately 600 matches played with close to 200,00 runs scored. Given that it’s a 20-over match, it's easy to notice its "hard-hitting" nature, evidenced by the number of boundaries: ~ 6500 sixes and 17,000 fours. 

Mumbai Indians has won the most number of matches, with Chennai Super Kings following closely behind. It's no surprise that when these 2 teams go head-to-head, nearly every family in India are either indoors watching this match on TV or packing the stadium to its fullest capacity.

 

The Application:

The application follows a top-down methodology wherein the user starts with selecting teams for comparative analysis and, with each menu item, further drills down to a more granular level of detail such as key batsman and bowler metrics for the chosen teams.

 

The user first starts with selecting a team of interest and the time-period of analysis using the input range provided.

 

In the "Opponent Analysis" tab, users can select a rival team to obtain head-to-head metrics of the two teams under consideration. (Note: The team chosen in the "Team Highlights" tab is automatically brought into this one for comparison)

Outcomes of every instance where the 2 selected teams have faced each other are populated. This can be filtered down to a single year or over a range. The range chosen in the previous menu item is automatically considered for comparison as well.

The two teams I've used as examples are Mumbai Indians and Chennai Super Kings.

As seen by the visualization on the left, each team's position at the end of a tournament is plotted.

The visualization on the right summarizes the number of wins by each respective team. In this case, Chennai Super Kings is 2 wins short of leveling with the Mumbai Indians.

 

Batsman Metrics:

To further dig into the drivers of such a close contest between the two teams, I've chosen metrics that are the engine of any IPL cricket match - the runs scored by the batsmen of each team. This sets the stage of any IPL match and nearly any aspect going forward is predicated by a team's batting performance.

This section computes the "Strike Rate" (number of runs per 100 balls faced) and the "Batting Average" (number of runs/number of times they got out). Unarguably, these metrics are pivotal to any batsman analysis, especially in a 20-over format game.

The visualization plots the top batsmen from each team with the position and size of each point illustrating their contribution to the runs scored. As seen in this scenario, Chennai outdoes Mumbai in terms of ranking on Strike Rate, however Mumbai bolsters its batting attack with a reliable lineup. Chennai's strength here is its top 3 batsmen (both for Strike Rate and Batting Average). Mumbai equalizes with 8 batsmen that collectively put up a fight in both areas.

 

Bowler Metrics:

Coming to the 2nd innings of the match, where the opposing team chases the runs scored, the onus of defending a score lies with the bowlers and the fielders. To contrast the batsman metrics, I've chosen "Economy Rate" (average number of runs conceded for each over bowled) and "Wickets Taken" (primary measure of an individual bowler's ability) as crucial drivers of bowling. It's interesting to notice the bowling strategy of both teams and their consistency for both batting and bowling. The visualization depicts Chennai primarily relying on its top 3 bowlers whereas Mumbai makes up with multiple bowlers at its disposal.

 

Conclusion:

Cricket is very unpredictable, and given this uncertainty, I conclude that Mumbai has done well to have a "set" of players that can be deployed based on the situation at hand. Mumbai's captain has the comfort of shuffling his players, which not only changes the opposing batsman's momentum but also places a level of comfort should the top players fail to deliver. Based on these visualizations, it appears that Mumbai has strategized for handling any situation and optimized their team to not only deliver but also spread responsibility across all team members - a huge plus to have in such a game!

 

Next steps:

This application is a start in attempting to capture IPL metrics that matter the most. Having said that, there are many more statistics and measures that can be further incorporated and refined. Encompassing other aspects such as fielder, wicket keeper and captaincy stats, and correlations between them are a few things that come immediately to mind. Venues games are played at, umpire influence, home crowd advantage, coach influence are a few examples, among others, that will enrich this application further.

About Author

Ashish Sharma

Ashish Sharma

Ashish Sharma is currently a Fellow at the New York City Data Science Academy NYCDSA. Enthusiastic about helping companies elevate their data capabilities and delivering value, Mr. Sharma has worked as a Business and Technology Consultant through most...
View all posts by Ashish Sharma >

Leave a Comment

No comments found.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp