top of page

How I Built an NBA Player Prop Model - Part 2

Writer's picture: Excel LADZExcel LADZ

Updated: Jan 28

G’day, lads!


This is the second article in my series explaining how I developed an NBA Player Prop Model. In the previous article, I covered the process of calculating expected rebounds (xRebounds) for each player. Now, I’ll shift the focus to calculating expected points (xPoints) and expected assists (xAssists), two critical metrics for accurately pricing player prop markets.


Want to use this model every day? Become an Official Member of the Excel LADZ Patreon! Membership grants you access to this model and every other one featured on YouTube, including the NBA, MLB, NHL and European Football Model.



  1. Calculating xAssists


In this model, the calculation for xAssists is relatively straightforward. After importing a player’s average assists, I apply one additional multiplier: an adjustment factor that accounts for how frequently the opposing team concedes assists compared to the league average.



For example, if the opposition allows 22.5 assists per game, compared to a league average of 25, the assist adjustment multiplier would be 0.9. This multiplier is applied to a player’s expected assists, reducing the value since the opposing team concedes assists at a lower rate than the league average.


The newly calculated assists adjustment multiplier can now be combined with the other multipliers used for xRebounds (explained in the previous article) to calculate the player’s xAssists. The formula for this calculation is as follows:



  1. Calculating xPoints


With xPoints, the approach differs from that of xRebounds and xAssists. Instead of starting with a player’s average points and applying a points adjustment multiplier, I’ll break down the scoring process into discrete components. This means calculating the contributions from each type of scoring event - including two-point field goals, three-point field goals, and free throws.


I’ve taken this approach because, later on, I’ll need to simulate xPoints using the BINOM.INV function in Excel. To do this, I require both the player’s shooting percentage and the expected number of attempts for each scoring type. These inputs allow me to model each scoring component as a binomial distribution, where the number of successful attempts depends on the player’s probability of success (shooting percentage) and volume of attempts. This method ensures that the over/under markets capture the true variability of scoring outcomes.


It’s important to note that this approach is fundamentally the same as the method used for xRebounds and xAssists, where an average is adjusted by a multiplier. Here, instead of directly adjusting the player’s average points, I am effectively applying a multiplier to the expected contributions from each scoring event (e.g. two-pointers or three-pointers). This ensures that while the xPoints calculation remains the same, the model is prepared to use an accurate probability distribution for the xPoints later on.


The table below contains all the relevant statistics for the calculation. The “Av. FGA+FTA” column shows the average number of shot attempts (field goals and free throws combined) made by the selected player this season. The columns to the right break down these attempts into percentages for three-pointers, two-pointers and free throws, along with the player’s shooting accuracy for each type of shot (i.e. the probability of making them). Lastly, the Points Adj. multiplier, calculated exactly the same as the adjustment multiplier used for assists, is shown on the far right and accounts for how the opposing team affects scoring opportunities.



Using the table, I can calculate a player’s xPoints which can be split into three parts: x2PointFG’s, x3PointFG’s and xFT’s.





Now that a player’s xRebounds, xPoints and xAssists have been calculated, these values can be compared to the lines set by sportsbooks to determine whether a bet has value. For instance, in the example below, if odds of 2-to-1 were offered on each prop market, the best bets (according to the model) would be clear: take the over for rebounds and points, and the under for assists.



Although, to determine whether a bet truly has value, it’s not enough to compare a player’s expected stats (xRebounds, xPoints, xAssists) directly to the sportsbook line. A probability distribution is essential for each market to understand the likelihood of the player going over or under the given line. This probability provides the actual percentages for outcomes, which are critical for calculating the expected value for the bet.


The expected value combines these probabilities with the odds offered by the bookmaker to reveal whether the wager is favourable in the long run. Without a probability distribution, it’s impossible to quantify the uncertainty in the player’s performance and make informed betting decisions. 


Thanks for reading, lads! In Part 3 of this series, I’ll dive into the appropriate probability distributions for each prop market and explain how to implement them in Excel using functions and simulations where needed.

 
 
bottom of page