For full access to our team charts and player distributions for NBA, NFL, and MLB DFS, become an Advanced Sports Analytics member here.

At Advanced Sports Analytics we are always seeking to create tools and content that allow DFS players to use objective statistical analysis to support and drive their DFS strategy.  We have recently been working to develop an application that incorporates lots of our data tools into a single, aggregated tool.  As the NFL season winds down and the NBA season hits full stride, we are unveiling an NBA player projection app that allows users to compare players fantasy projection that is responsive to pre-game factors such as over/under, spread, opponent, and whether the game is at home or on the road.  Below is a link to our first version of the NBA Player Fantasy Projection App.


The model behind the app

The NBA Player Fantasy Projection App allows users to compare our fantasy projections of up to three players.  Unlike many projection platforms, our projections are reported as a distribution rather than a single value.  The projections are also driven completely by data.  We believe that this produces objective and unbiased projections.

The projection model is an aggregation of 5 separate projection simulations:

  1. 1,000 random draws from a player's fantasy point distribution.
  2. 1,000 predictions (w/ random error) of a player's fantasy point total from a regression of fantasy points on team total points (Player DKP ~ Team Actual Points), using the player's team's implied point total.
  3. 1,000 predictions (w/ random error) of a player's fantasy point total from a regression of fantasy points on game spread (Player DKP ~ Actual Spread), using the player's team's pre-game line.
  4. 1,000 predictions (w/ random error) of a player's fantasy point total from a regression of fantasy points on the average fantasy points allowed by the opponent to a player's position(s) (Player DKP ~ Opponent Average Fantasy Points Allowed).
  5. 1,000 products of two predictions/distribution draws allowing for randomness: (1) Prediction of the total fantasy points scored by a team given whether they are playing at home or away, and (2) Random draws from a player's distribution of proportion of team fantasy points accounted for (Player DKP Prediction = Team DKP Prediction * Player's % of Team DKP).

We will post a blog in the future explaining in greater detail how these projections are made, and why they are good methods for projecting player fantasy production through an automated model.

How to use the app

Comparison Inputs
The interface should be pretty intuitive.  There is a panel that allows you to compare up to three players based on known pre-game factors.  If comparing only two players, you much input the two players in to Player 1 & Player 2.  Inputting a player into Player 1 and Player 3 will produce an error.  You also must fill in all fields.  You cannot compare players if you leave any of the input fields blank for rows that have a Player N selected.

Below is an example of an inputting comparing the top PF options for tonight's slate: Kevin Durant ($11.6K), Giannis Antetokounmpo ($11.3K) and DeMarcus Cousins ($11.1K).

When you have completed the comparison input, you must click the submit button.  The app will not run until the submit button is pressed.  If you go back and change any inputs, you must click the submit button to refresh the distributions.

Outputs: Distributions & Top Player Probability
The primary output of the app is a distribution of players' fantasy point projections.  This is extremely valuable in evaluating the fantasy potential of each player.  Based on the distributions below, it actually looks like the order of projected value is the opposite of DraftKings' pricing: Cousins (green) has the highest projection, followed by Giannis (red), and then Kevin Durant (blue).

Although the bulk of Giannis' distribution is higher than Durant, he does posses a long and somewhat probable low-end projection, suggesting that while he is expected to outscore Durant, he does have a little more "bust" potential than Durant.  Both Giannis and Durant possess similar upsides, as the right-tail of their distribution is about equal.  However neither posses the huge upside of Cousins, who could score close to 70 DKP given his matchup tonight.

The secondary, but perhaps as important, output of the projection model is the probability of each player being the highest scoring player of those compared.  This percentage can be found in the color legend for the distributions.

These probabilities are a good way of quantifying the distributions to the left, and can be used as a rough guide for prioritizing players.  The probabilities seem to echo the natural interpretation of the distributions: Cousins is the clear favorite to be the top scorer of these three, Antetokounmpo slightly more probable than Durant to be the top scorer.

Future Versions
One caveat of the model is that it relies on past data, and has trouble controlling for injury factors.  In this example, Durant's price is likely higher because of the expectation that his usage will increase in the absence of Stephen Curry.  The model behind the app is not able to control for such factors at the moment.

My goal for the next version of this app will be to allow you to input a minutes value for each player and produce per-minute projection that is then multiplied by your specified minutes input that you expect a player to receiver given recent minutes trends and game-specific injuries.

If you have any question about how to operate the app or have suggestions of improvements you would like to see made to the app, please submit your feedback through the website and I will do my best to respond.  At the moment the app will be available for all users' experimentation and exploration, but we will likely make this app a piece of premium content starting in 2018.  I will also be putting together a more detailed description of the model's methodology in the coming weeks.