What is BPM?
BPM stands for “box plus minus” and it’s a way of converting basketball box scores into a single value that represents a player’s overall contribution. It can also be presented as both an offensive BPM (OBPM) and defensive BPM (DBPM) to give some more insights into their contribution on both ends. There is no single standard way of calculating BPM, but here are some notes on the way I have calculated it in this article and when I have used it to compile Player of the Week or Player of the Month rankings. I’ve also included a few other important points to help you know what you’re looking at.
- Each BPM is calculated relative to the league average, meaning positive values are better than average, negative are lower than the average player.
- Each stat is added together with a “weight” that is intended to reflect how important that stat is. Many BPM models used in the NBA utilise lots of historical data and machine learning to determine these weights – I’ve applied some fixed values gathered from various web pages and books.
- Rather than points scored, my model uses measures of shooting efficiency. I introduced this as I think it’s an important statistic when judging the best players.
- Each value is adjusted for how good the player’s team is and how good the opponents are. This rewards players who did well against the best opponents.
- Values are also adjusted by position. For example, a rebound counts more for a point guard than a centre. You can switch that around for assists.
- Typical SLB box scores don’t contain much information on how well a player does on defence. Defensive rebounds, steals and blocks are the only factors.
- I exclude any players who played for less than 10 minutes per game (on average).
Given the above it’s worth spending a moment to think about what it means for a player to have a zero rating in BPM. Rather than not contributing to their team, they contribute the average amount to a team’s performance. They do more on offence than (roughly) half of the players in the league, and also more on defence than half the league.
A BPM quadrant plot for the SLB

In the image that accompanies this article I’ve plotted DBPM against OBPM to make a quadrant plot. The average player mentioned above sits at the intersection of the axes. Negative values of total BPM are coloured in blue, while positive are red. The naming of the quadrants also helps classify the types of contribution players have made. The five players with the largest total BPMs are denoted by large circles and you could argue are candidates for Team of the Season: M. James (Sharks), R. Taylor (Eagles), R. Battle (Riders), J. Johnson (MCR) and P. Robinson (Phoenix).
Interestingly, two of the best players in terms of “Two-way Star” (M. James and I. Small) have both left the SLB before the season ends, as has R. Battle. All three have made huge contributions to team stats, but have left due to a variety of reasons. It would also leave the suggested Team of the Season short of two players! The Sharks must also be missing the contributions of the injured William Lee, whose blocks and rebounds marked him out as the clear defensive leader in the league.
Turning to the big question – what does BPM suggest for league MVP? Clearly it should be Patrick Robinson. He has the largest OBPM in the league, to the point where it overcomes a slightly lower than average DBPM and still results in the greatest total BPM for all players. Surely an uncontroversial pick…
Finally, the fact that only one London Lions player features highly in BPM (Joel Scott) serves as a timely reminder that basketball is a team game. The Lions have clearly dominated this season, but this is due to the whole (talented) squad and the heavy use of rotations from coach Sabonis, rather than individual contributions.

