Building My NBA Win Projections and RPM Projections for the Whole League

Here’s how I did it, in some level of detail

I like projecting the NBA. I’m not the best at it and I mostly build on the work of others who are more sophisticated than me, but I enjoy the exercise and it’s fun to do for me,as a big nerd. One frustration I have often had with projections is how black box-y they can sometimes be. I like to know exactly how people do certain things and why they do them. I like poking at the assumptions they make and wondering if those assumptions make sense. I figure some of you out there might be like me, so I figured I would share what I did to come up with my projections for the player level and then explain how I fed that through the NBA schedule to get my win projections for this season.

Real Plus-Minus is a combination of boxscore information and regularized adjusted plus-minus (“RAPM”). The rough weights for the components are that RPM is around 65% RAPM and 35% BoxScore. That’s an inexact approximation, but it’s close enough to be quite useful. The exact makeup of the BoxScore component is not completely known, but we do know that it is some variant of a statistical plus-minus (“SPM”), which is to say, it is a summation of good and bad boxscore statistics to try to estimate plus-minus impact. One of the better implementations of a statistical plus-minus comes from Neil Paine of Five Thirty Eight, and formerly of Neil’s SPM is on a per 36 minute scale, adjusted to a per 100 possessions pace, which made it very useful for the inputs I wanted to use. My method for projecting player performance from a boxscore perspective was simply to nab Basketball-Reference’s Simple Projection numbers, which are per 36 projections for all the basic boxscore statistics.

Unfortunately, these projections are not adjusted for pace. But I could handle that. I simply went to the NBA Stats page and grabbed individual player pace for the last three years and ran the same methodology as the Simple Projection system (.6/.3/.1 weights for the pace numbers, from most recent to least recent year, and with a mean regression component of +1000 minutes of average pace play). After getting to individual player pace numbers to match the SPS numbers for each player, I could normalize them all to a per 100 possession environment. Then I just pushed those numbers (plus MPG guesses from Kevin Pelton) through Neil’s formula to get an SPM estimate. I paired that with single year RAPM for the last 3 years (2017, 2016, and 2015) weighted again using the same method as the Simple Projections, 60%, 30%, and 10% with additional mean regression tossed in. I paired the SPM numbers with the RAPM estimate using the 35% and 65% weighting I mentioned previously and that got me my list of player RPM projections (with the exception of rookies, for whom I used my rookie model), which you can see in the link below.

Not surprisingly, Stephen Curry and LeBron are in a tier by themselves. This feels about right, especially given the weight to the last few years.

The final step was to put all these player projections into teams via minutes and games played projections (again via Kevin Pelton) to determine team strength and then feeding those ratings through the schedule to determine my final wins projections, which are here:

My projections are significantly lower on the Celtics than conventional wisdom and their Vegas Over/Under. This system is also probably a bit high on the Cavaliers, given their roster fit issues and turnover. Isaiah Thomas’s minutes will also play a huge part in how close they get to 60 wins. I wouldn’t bet on it. Speaking of betting, here are my five favorite bets, based on my projections relative to Vegas:

  • Celtics Under (55.5)
  • Clippers Over (43.5)
  • Lakers Under (33.5)
  • Bulls Over (22.5)
  • Sixers Under (39.5)