Fantasy Basketball, Online Analysis Tool Kit
The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
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:
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
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.
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
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.
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.
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].