Data Science In Fantasy Football

Vrisan Dubey
Data Science Student Society @ UC San Diego
10 min readFeb 17, 2022
The role of data science and natural language processing in fantasy football

Around 40,000,000 million people gear up every fall for their annual fantasy football draft. As NFL players round up for their upcoming season, fantasy football players lock in their teams and await their own season. Fantasy football has grown more and more popular since its inception in the late 1960s. Due to its success, it went from a mere game for football enthusiasts, to a business. Companies like Yahoo, ESPN, and the NFL took this opportunity to promote themselves by offering their own fantasy football platforms. The competition to build the most user-friendly and profitable experience began, with ESPN and Yahoo, for example, adding the opportunity to receive exclusive fantasy football insights through premium subscriptions. These companies built a model to generate as much traffic as possible to their brand and then capitalize on users’ fantasy football fervor to make money. With the onset of data science, businesses saw the perfect opportunity to take a step ahead.

Data about football is almost endless, encompassing NFL game-by-game and season-to-season statistics, articles, podcasts, and more. Data science, in attempting to create reason out of all this data, seamlessly fits within the fantasy football puzzle. Fantasy football is all about a player’s performance, and so data inevitably leads us to these questions: How can we predict a player’s performance based on their previous performance? How can we understand how good players are based on what the media says about them? How can we predict how many fantasy football points a player will score based on the player’s associated data? As people figured out how to approach such tasks, data science began to leave more and more of an imprint on fantasy football.

I. Introduction to Fantasy Football

The goal of fantasy football is to assemble a team of NFL players, given their positional specifications, that will produce the most amount of fantasy points week-to-week. Fantasy football is played in a league (for example, with a group of friends), and teams are drafted prior to the NFL season. Each week, a fantasy team will play another team from its league and whichever team scores the most points, wins.

Points are calculated based on a weighted sum of statistics. In my league, a couple of ways a wide receiver can score are: one point for every reception, 0.1 points for every yard they gain, and 6 points for every touchdown they score. Each position, such as quarterback, running back, etc, accumulates different stats and thus, different amounts of points. How “good” a player is depends directly on how many points they accumulate. In the 2021–22 season, the best player was Los Angeles Rams’s Cooper Kupp, a wide receiver averaging 25.9 points per game. Typically, when a player scores above 20 points, a team manager would be satisfied with the performance. A score under 10 points is usually disappointing.

II. Introduction to IBM Watson and its Role in Fantasy Football

As a product of the growing popularity of data science, companies sought to incorporate computational intelligence with their fantasy football platform, most notably, the collaboration between ESPN Fantasy Football and IBM Watson. As Watson started to show success in its fantasy football applications, ESPN decided to pick it up for incorporation into their own platform.

IBM Watson, in essence, boils down to primarily three objectives:

  • Can we develop a model that builds a team that maximizes the amount of games won during a fantasy football season? This is where Watson’s intelligence is shown. It is able to automate the whole fantasy football process — the draft, trades, lineup changes, injuries — and successfully win its league, shown here. Not only was this Watson-managed team able to win the league, but it also went undefeated.
  • Can we build a model that generates fair trades with opponents’ teams? This goal has to do with assessing and understanding player value to develop fair trades. This hinges on the data provided about each player involved to create a metric that provides a score of value relative to other players. This score can be used in evaluating both the fairness and value of a trade respective to the teams involved. An example of a trade is shown below:
Example of IBM-Watson generated trade
  • Can we build a model that offers valuable lineup insights to fantasy football users? I’d say this is the most significant area that Watson addresses. These lineup insights come in the form of boom/bust percentages, player comparisons, and point projections.
Top Left: Boom/Bust Percentage for Tom Brady, Top Right: Player Comparison — Tom Brady vs Patrick Mahomes, Bottom: Fantasy Football Lineup Example with Projections

III. The Data Science Behind IBM Watson

Note: This paper will be referenced throughout the rest of the article. Many of the key points are expanded upon in relevant sections of the paper.

The Data

Structured Data

The most direct form of data in football comes in hardcore stats. The number of receptions for a receiver, the amount of yards a quarterback accumulated, and the amount of points given up by a defense are all metrics that point to the success/failure of a player/team. Plotting these metrics on a week-to-week basis can show any trend that a player/team is following. Has a defense gotten better as the season progressed? Has a quarterback’s play dipped after his top receiver went down with injury? These are questions that can be analyzed through this structured data. However, sheer stats can only tell some of the story about a player/team.

Unstructured Data

Unstructured data, which includes relevant podcasts, videos, and articles, completes the story. The media plays a huge role in covering news and offering unique insights that numbers themselves cannot reveal. For example, take an example where the 4th-string wide receiver on a team has a huge game (a stat line like 8 rec. 200 yds, 2 TDs ~ 40 fantasy points). However, the 1st, 2nd, and 3rd-string receivers on that team were injured and didn’t play in the game. The numbers would suggest that the 4th-string player had a breakthrough game, but the media, however, would recognize these favorable conditions of the player in articles, podcasts, etc. For example, a podcast would contain the opinion of an NFL expert on this situation, who would point out that the 4th-string receiver’s opportunity is probably short-lived. Understanding unstructured data is extremely important for a model like IBM Watson, enabling the system to limit bias while also looking at the broader context.

Data is constantly being ingested into the Watson database. As more articles are written, as more podcasts are recorded, and as storylines change, more data becomes available. To keep up, a web crawler crawls relevant websites and sources and enrolls them in Watson Discovery. Watson Discovery is a tool that builds a collection of data that is searchable and indexable. Based on this article, there are 4 main steps in the collection process used by Discovery.

  1. Ingestion: Discovery uses web crawlers to read articles and documents in relevant websites. In the case of fantasy football, relevant websites include ESPN, NFL, and official team sites. People can also manually upload documents to the database and are also able to write APIs for Discovery as well.
  2. Conversion: A majority of documents come in the form of PDFs, WORD documents, etc. The job of this step is to convert these documents into text-friendly styles, removing images and videos embedded within the file.
  3. Enrichment: This is the process of labeling text based on its context and sentiment. This step will be expanded on in section IV.
  4. Search: Once all the documents are read and their summary has been inferred, a user can make a query to search for necessary documents. Queries are made in the user’s preferred language and results are returned in order of their relevance (as determined by the program in Step 3: Enrichment)

In short, Watson Discovery reads in sources, identifies keywords and entities in these documents, and labels each entity with its contextual connotation/sentiment to create a database of accessible and efficient information.

Machine Learning Pipeline

Every data science model starts with its data. Once the data is situated, finding the effective model(s) into which the data is fed becomes the next order of business. An overview of the machine learning pipeline goes as follows (see here):

From a general point of view, the data is fed into the NLP stage. In the NLP stage, the model seeks to understand the significance of a player through the unstructured data of which it is given. It outputs a vector representation of each player to quantify the player’s “meaning”. This output is then fed to the deep learning stage, where players are classified as potential booms or busts, and whether they will play meaningfully or with injury. There are 4 deep neural networks (1 for boom, 1 for bust, 1 for meaningfulness, 1 for play with injury), each consisting of over 98 layers. Each DNN outputs a probability for each classification. This output moves to the de-bias stage, whose role is pretty self-explanatory–to eliminate any sources of bias. The last stage is statistical analysis where these probabilities are converted into distributions, creating a spread for the projections of each player. The rest of this article will dive more in depth into Step 2: Natural Language Processing.

IV. Natural Language Processing

Understanding How to Read Fantasy Football

The first step of the NLP stage is for the computer to figure out how to read the data in terms of fantasy football. To accomplish this, Watson developers utilized named-entity recognition to classify fantasy football terms in every document. These classification groups, often called “entities”, include body part, coach, fans, gear, injury, location, player, player status, treatment, positive tone, negative tone, team and performance metric (see Section 4.1). An example of named-entity recognition in action is as follows:

Documents apart of the corpus were pre-classified by a model called Watson Knowledge Studio. To train this model, humans manually classified a representative sample of documents, so that the classifications made by the model were similar to what the Watson team wanted. However, to address any mistakes in the entities recognized (or not recognized) by the model, each person in the human team applied their own corrections. The kappa statistic κ, a measure of the similarity of each individual’s classification, was 0.7, meaning that 70% of the degree of agreement theoretically attainable was actually attained. Although there is no general consensus on what a statistically significant κ is, the researchers were able to point out that the disagreement present in κ was due to people not classifying certain words rather than there being an actual discrepancy in classifications. Kappa is calculated as follows:

P is the mean of the extent to which the readers agree for each entity and Pe is the sum of the proportion of words belonging to each entity squared. When κ = 1, the readers are fully in agreement.

Doc2Vec

The second part of the NLP stage is the process of developing a representation for each NFL player based on the unstructured data. This is achieved through the doc2vec algorithm. From a general sense, doc2vec’s purpose is inherent in its name — it takes a document and summarizes it as a vector.

Watson’s doc2vec implementation for fantasy football goes as follows (see Section 4.3):

  • A query into the database is made. For example, when a query like “Patrick Mahomes” is made, documents pertaining to the query would be the output.
  • For every document, keywords, entities, and concepts (summarized as vectors) are found, using the Watson Discovery framework discussed in the Data section. These three vectors are compiled into one feature vector and are now ready for input into the doc2vec stage. There will be one feature vector for every document that resulted from the prior query. The equation below shows this process when k, e, and c are the vectors corresponding to keywords, entities, and concepts respectively.
Reference: See Section 4.3
  • The feature vectors are then input into two doc2vec algorithms. One was trained on football encyclopedias (e) and the other trained on general fantasy football (gff) media (see equation below). The outputs of both algorithms are unionized and then averaged across all queried documents. The result is a vector representation (r) of the query. If a player’s name is queried, the result would be a vector representation of the player.
Reference: See Section 4.3

Again, for a more in-depth explanation of the natural language processing and machine learning pipeline that drives IBM Watson, check out this previously mentioned paper.

V. Final Thoughts

As fantasy football’s player base keeps growing, the race to develop the most complete, user-friendly, and accurate software will continue to accelerate. Data science shows no signs of slowing down, and so the opportunity for new techniques and concepts to be incorporated in fantasy football will remain open. Nevertheless, IBM Watson and ESPN’s collaboration has already proven to be a fascinating example of the role of data science in sports analytics and entertainment.

--

--