Top 20 Sports Analytics Projects & Datasets (Updated for 2023)

Top 20 Sports Analytics Projects & Datasets (Updated for 2023)


Sports analytics is one of the fastest growing job segments in Big Data, having grown by 27% over the last decade, according to the Bureau of Labor Statistics.

Sports analysts use various techniques, including statistical and quantitative analysis and predictive forecasting, to make on-the-field and off-the-field decisions. The idea was popularized by Moneyball when the Oakland Athletics used analytics to propel the team to the playoffs.

Sports analytics jobs are highly competitive and require experience in the field. Completing a sports analytics project is one of the best ways to gain recognition and hands-on experience working with sports data and analysis. We’ve compiled some of the best sports analytics projects and datasets to help you practice, including:

Types of Sports Analytics Projects

Teams can use sports analytics data to perform a variety of analyses. However, the majority of sports data science projects fall into four categories:

1. Predicting outcomes: These projects use data to forecast player or team performance. These models are used to determine the spreads or the results of games.

2. Competitor valuation: These projects value the impact a player has or the strength of a team.

3. Identifying problem areas: These analytics projects determine areas where players or teams can improve. For example, you could analyze a team’s free throw percentage on wins to see the impact improving free throw percentage would have.

4. Analyzing the game: Finally, these projects assess trends in the game, studying strategies or style of play. For example, this NBA data analytics project examined whether the 2-for-1 play was worth it.

MLB Sports Analytics Projects

Almost all MLB baseball teams employ data scientists and statisticians to predict player performance and gain a competitive edge. Baseball analytics projects typically examine performance or gauge the valuation of a team or player. Here are some MLB analytics projects you can try:

1. Swish Analytics Take-Home: Pitch Predictions

Swish Analytics logo

This sports analytics take-home from Swish Analytics is more of a shorter data challenge. You’re provided with a table of the pitches from the 2011 MLB season and metadata. And your goal is to build a model to predict the probability of a fastball, slider, curveball, etc.

This take-home challenge requires about 3-5 hours to complete, and it’s used as part of the interview process at Swish Analytics. Ultimately, the challenge asks you to build and evaluate a model that could be used in a production environment, including data analysis, feature engineering, and code assembly.

2. Gauging When Players Peak

Baseball analytics project visualization

This guided baseball analytics project is excellent for beginners. Using MATLAB, the project walks you through importing baseball data, calculating batting statistics, creating visualizations, and analyzing player careers.

Thanks to the step-by-step tutorial, this project provides a solid introduction to MLB stats analysis, and you’ll be able to answer the questions: What defines a great MLB hitter? And at what point do great hitters peak in their careers? If you want to re-create the project, use data from Baseball-Reference.

3. HOF Analysis with Random Forests

HOF Analysis with Random Forests visualization

This project delves deep into understanding the factors that may influence a baseball player’s induction into the Hall of Fame. By using Random Forests and local importance scores, it offers a quantitative approach to what has often been a subject of speculation.

To begin, fetch the data from the Lahman package and address any missing values during data collection and cleaning. Following this, integrate multiple datasets, merging batting statistics, fielding statistics, and awards to create a comprehensive view. During modeling, Random Forests will be utilized for classification without splitting the data, allowing you to explore the entirety of it. The local importance scores will be especially useful in identifying the most significant variables for this classification.

In your analysis and interpretation, examine the importance of these variables and contrast them across different classes. A deep dive into outliers will further enhance your understanding, providing nuanced insights into the dataset.

4. Predicting World Series Winners

Predicting World Series Winners visualization

This project comes from the Baseball Data Science blog, which attempts to answer a classic pre-season sports analytics question: Which team is most likely to win it all?

This project uses tree-based models to determine top teams, and after training, it proved reasonably successful. For example, of the Top 5 teams predicted to be World Series winners in 2020, four teams made deep playoff runs, with the No. 2 team (Dodgers, 25%) winning it all.

Another source: See FiveThirtyEight’s MLB ELO ratings and read about how their MLB predictions work.

5. Predicting Pitcher Saves

Predicting Pitcher Saves visualization

This project - which you can see in a step-by-step tutorial here - attempts to forecast which MLB pitcher will have the most saves at the beginning of the season.

Using BeautifulSoup to scrape Baseball-Reference data, the author, Ethan Feldman, starts with a simple regression model, which just used the previous season’s saves as the only feature.

Ultimately, the project does prove difficult as there is significant variability in the number of saves, making this an excellent project for further model testing and development.

NBA Sports Analytics Projects

There are numerous NBA sports analytics projects and questions you can explore. See the top NBA articles on Towards Data Science if you’re looking for inspiration. Or you can follow along with these basketball analytics projects and datasets and create your own:

6. Predicting NBA MVPs

Predicting NBA MVPs visualization

Predicting player performance is a common subject of sports analytics projects, and this one attempts to use machine learning to determine the most likely player to win the MVP award.

You can follow a tutorial, which will show you how to import data and apply various machine learning models, including linear regression, random forests, and XGBoost.

The models presented in this tutorial correctly predicted the 2021-22 MVP winner Nikola Jokic and the other Top 3 spots (however, the No. 3 prediction was No. 2 in the actual MVP race).

7. Predicting NBA Salaries

By leveraging data-driven insights to understand NBA player salaries, we can enhance league competitiveness and provide teams with a more accurate valuation of players. This leads to a smarter and more strategic signing.

In this project, we will delve into NBA salaries, focusing on data from the 2020-21 season onwards and particularly on Free Agents (FAs). The aim is to predict future salaries, giving a true reflection of a player’s worth on the court.

To get started, source your data using BRScraper from Basketball Reference. Next, analyze prevailing trends and apply regression models, including Random Forest and Gradient Boosting. To assess the results, lean on metrics like RMSE and R². Finally, delve into SHAP values to truly understand the key factors determining salaries. The end goal is to equip teams with the insights needed for well-informed contractual decisions.

8. NBA Draft Success Analysis

NBA Draft Success Analysis

Drafting NBA players is an inexact science; however, some NBA franchises are more successful than others. For example, the Sacramento Kings have a poor draft record, one reason the franchise has missed the playoffs for 16 consecutive seasons.

This tutorial walks you through determining draft rankings based on player performance, draft position, and other factors.

9. Predicting Double-Doubles

Predicting Double-Doubles visualization

Predicting a double-double based on the number of games played by a player, the number of games played in a season, and other variables is challenging. But this project attempts to predict if one player, Nikola Vučević, will score a double-double in any game.

You can follow this tutorial to build a regression model in R to make such a prediction. Ultimately, the model correctly predicts double-doubles 61% of the time. Enrich the dataset and see if you can improve the model’s accuracy.

10. Simulating NBA Games in Python

Simulating NBA Games

This tutorial from Ken Jee evaluates win probability in games based on team points scored and team points against.

You’ll find a variety of sports analytics datasets on Jee’s site you can use. One option: This straightforward model uses only the team’s historical average. That’s why it’s an excellent project for beginners.

If you wanted to take this project further, you could incorporate historical player data to enrich the model.

Fantasy Sports Analytics Projects

Fantasy Sports can use data science to give your team a competitive advantage. In particular, most fantasy sports analytics projects look at the line-up and draft optimization, as well as predicting player performance. Here are some projects to try to improve your fantasy sports teams:

11. DraftKings Data Analytics Take-Home

DraftKings Data Analytics

Although this isn’t a project per se, DraftKings analytics take-home will help you practice skills and prepare for a sports analytics interview. We broke this data down into three parts.

1. Data Sense Test - Describe what you see in the chart above.

2. SQL Challenge - Writing queries to pull fantasy sports metrics.

3. Python Challenge - A quick test of your applied programming skills.

Many analyst roles at fantasy sports companies require take-homes like this. However, this is also a short SQL and sports analytics practice assignment.

12. Optimizing Your Fantasy Line-Up

Fantasy Line-Up

Here’s an approach to daily fantasy football strategy. Build a model to value players based on a “cost per point” metric. This model valuates players by their predicted points divided by their latest salary cost.

However, the next step is determining the optimal line-up, and the author walks through two options: Random Walk or Integer Linear Programming to select the best line-up combination for your team.

Here’s another look at using Linear Programming for fantasy football optimization.

13. Winning English Premier League Fantasy

Winning English Premier League Fantasy visualization

Bias and player favoritism affect team performance in English Premier League fantasy. Players tend to pick their favorites, and not necessarily footballers with the best ROI.

This tutorial shows you how to build an algorithm in Python to pick the best team, consisting of players with the best ROI.

14. Forecasting Performance Based on Defense

Forecasting Performance visualization

Does the strength of a defense affect a player’s performance in NFL fantasy football?

This fantasy football project found a slight correlation, e.g., when a player plays against a better defense, their production tends to decrease.

Another option: You can take this further and gauge performance against individual defensive players. For example, you could determine wide receiver performance against a top cornerback or quarterback performance against a leading pass rusher.

General Sports Analytics Projects

There’s an endless variety of sports analytics projects you can try. Here are some ideas for performing geographic clustering, predictions with random forests, and creating play-by-play visualizations with NFL data.

15. Realigning Divisions with Machine Learning

Realigning MLB Divisions visualization

Professional sports teams are put into divisions that aren’t always geographically efficient. For example, the Dallas Cowboys play in the NFC East and New York, Pennsylvania, and Washington, DC teams. Using a clustering algorithm, you can build a model to realign teams based on geographic distance.

This tutorial shows you how to use a K-means algorithm to minimize travel distance between teams. Ultimately, you can apply this technique to various geographic clustering problems.

16. Plotting NFL Play-by-Play Data in Python

Plotting NFL Play-by-Play Data in Python

Check out this tutorial using the Python package nfl_data_py to ingest NFL play-by-play data to build visualizations.

The tutorial walks you through plotting passing yards by quarterbacks throughout the 2021-22 NFL season. However, you can adapt this project to perform a variety of analyses.

You’ll find some ideas for questions you can analyze in NFL data analytics projects, like how defensive statistics affect points allowed or how quarterback play has changed historically.

17. Predicting World Cup Game Winners

Predicting World Cup Game Winners visualization

With the 2022 World Cup right around the corner, this sports machine learning project is super relevant. In 2018, researchers tested three models for predicting World Cup winners: Poisson regression, random forest, and ranking methods.

Using a random forest model, they simulated the World Cup 100,000 times, using FIFA rating, average team age, and player ability as essential variables. The model performed moderately well, predicting 11 of the Round of 16 teams correctly.

The model predicted Germany would win it all; however, Germany lost in the Group Stage. Also, check out this article on simulating the 2022 World Cup for more ideas.

18. How Golf Drives Affect Scoring

 How Golf Drives Affect Scoring  data visualization

What’s the better approach: Long drives that are crooked or shorter, more accurate drives? Ken Jee looked at this question to see which method strongly affected points. See his video for more explanation about this project.

19. International Football Results from 1872 to 2023

This dataset on international football matches provides an extensive compilation of football matches over a span of more than 150 years. For any football enthusiast, this is a goldmine of data waiting to be uncovered.

To start with the analysis, begin with data cleaning and pre-processing. Even though the dataset appears comprehensive, it’s vital to ensure it’s devoid of missing values, inconsistencies, or duplicates. Doing so greatly refines the precision of the insights that will be derived. After cleaning the data, dive into EDA using histograms, then transition to Temporal Analysis for historical trends.

For deeper insights, you can also study a specific nation’s metrics over time or identify historical rivalries by analyzing performance against specific countries.

20. F1 Performance Analysis

Formula 1 is a sport that’s as much about strategy and data as it is about speed. With races determined by split-second decisions, the information provided in this dataset can offer invaluable insights into the performance of each F1 racers over the season.

To begin, ensure that all datasets are consistent, free from discrepancies, and interlinked correctly. Perform an EDA to visualize metrics such as wins, podium finishes, and other pivotal performance metrics of the racers.

For a more challenging take, you could also analyze a racer’s performance over tracks and identify which tracks they perform the best in.

More Data Analytics Projects to Try

Suppose you’re looking for more projects to build your data science portfolio and present your data science project; look at our list of data analytics projects, which feature more general tasks. You might also try a data science project from our list of 30 ideas and datasets or a Python data science project.