Analysis Tool Kit for Fantasy Basketball

Austin Cheng
Posted on Oct 18, 2019

Introduction

Fantasy basketball is an online gaming platform that allows anyone to become general managers of their own NBA team. The fantasy season begins every year with the NBA season during which fantasy players partake in drafting their own basketball team and engage in match-ups with opponents within the same fantasy league.  The application described here provides visualization tools for the user to observe trends and correlations in the NBA as well as a drafting tool kit that automatically selects the best lineup based on users' preferences. The application can be found at:

https://auscheng.shinyapps.io/MyRShinyProject_NBAStats/

The Goal

Fantasy basketball is a complex betting game built on top of a highly statistical, albeit not purely predictable, game of basketball. To be successful in any fantasy basketball league, one would need a deep understanding of the game itself, a thorough knowledge of the past and present NBA, and obviously some luck. The first goal for this application is to lay everything about the NBA out there in a user-friendly manner. The intent is for the user to be able to get everything s/he needs in one location and be able to easily prepare for the new season or the next match-up. The second goal of the application is to recommend viable and competitive teams for users to adopt. This is in particular to address the problem of drafting low-tier players too randomly and to prevent users from overpaying top-tier NBA players. Ultimately this application was made to give the user an enjoyable experience exploring NBA statistics and an easier time crafting fantasy strategies. 

The Tool Kit

Knowing the trends and correlations in the NBA reduces the already massive amount of uncertainty one faces when entering a new season. Four tabs in the application are dedicated to this purpose:

  • NBA Stats Trends
  • NBA Stats Correlations
  • Correlation Behavior
  • Fantasy Stats Trends

Example of correlation table for users to gain deeper insight on how statistics are connected. 

The application has notes that walk through a new user through a simple example of how to explore the gigantic parameter space (looking in particular the three point shot). Here, the functionality of each tab will be briefly introduced. "NBA Stats Trends" allows the user to look at how statistics evolved over time, "NBA Stats Correlations" and "Correlation Behavior" work hand in hand, with the former giving the user a big picture of the correlations of statistics in the NBA, and the latter letting the user look more microscopically into the behavior of the correlation between statistics. "Fantasy Stats Trends" primarily is used to allow users to see how statistics behave during a draft-- some statistics become rare during a draft while some not so much, and this, for the serious player, must be factored in. 

Example of plot for trend visualization. This type of information gives the user foresight for the upcoming and future fantasy seasons. 

 

The biggest problems in fantasy basketball are all optimization problems. However, with such a large amount of statistics to account for, the optimization process can be overwhelming especially for the newcomer. There are two tabs that help automate this process and they are:

  • Fantasy Draft
  • Fantasy Match-ups

Get auction values and team recommendations based on user preference.

In "Fantasy Draft", users can input weights for different statistical categories, as well as other league-related information, and the program will compute the appropriate auction value/market price and player value for the NBA players. A table will also list a team that best satisfies the user's preference while maximizing the total player value. "Fantasy Match-ups" allows the user to key in the competing teams (or individual players) and compares the statistics. A summary of the results is presented and can be aptly used as feedback for making team adjustments. Additional information on methodology and raw data are also provided.

Get match-up prediction results. Use this as information for team adjustments.

The Data

Data on NBA statistics (1950-2019) were web-scraped from www.basketball-reference.com. The ESPN fantasy rankings and projected statistics for NBA players (2014-2020) were web-scraped from www.espn.com

Future Work

This application still has a lot of room for improvements. For instance, the algorithm behind calculating auction values (or player value) can be fine-tuned, a program can be incorporated to project player statistics rather than relying on ESPN's current projection, and the user interface can be made much friendlier. As I continue to polish this application, I welcome any feedback on how to make this the dream tool for any fantasy basketball player. Please contact me at: [email protected] 

 

About Author

Austin Cheng

Austin Cheng

Austin is an experienced researcher with a PhD in applied physics from Harvard University. His most notable work is engineering the first single electronic guided mode and explaining it with computational simulation. He is passionate about the growing...
View all posts by Austin Cheng >

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