Skip to content

Inspiration and Design

nbapr was inspired by a mid-2000s article written by Dan Rosenbaum, who was then an economics professor at UNC-Greensboro. He was playing fantasy basketball for the first time and decided to simulate the results of a season to assess the value of different players. At the time, the only measure was the ESPN Player Rater, which uses z-scores to assess player value by category, and then sums those z-scores to get an overall rating.

The problem with z-scores is that they are sensitive to outliers and the initial composition of the player pool. Consider the following example for blocked shots during the 2019-20 NBA season, which shows how the values vary substantially by changing the composition of the player pool.

If we calculate z-scores for the entire player population, the values look like this

player blk blkz
Hassan Whiteside 196 7.16
Brook Lopez 163 5.82
Anthony Davis 143 5.01
Rudy Gobert 135 4.68
Myles Turner 132 4.56
Mitchell Robinson 119 4.03
Kristaps Porzingis 115 3.87
Jakob Poeltl 95 3.06
JaVale McGee 94 3.02
Robert Covington 93 2.98
Andre Drummond 93 2.98
Bam Adebayo 93 2.98
Jarrett Allen 92 2.94
Jaren Jackson Jr. 92 2.94
Nerlens Noel 91 2.90
LaMarcus Aldridge 87 2.74
Mo Bamba 86 2.69
Daniel Theis 84 2.61
Maxi Kleber 83 2.57
Dwight Howard 79 2.41

If we limit the player pool to those who have played at least 500 minutes, the values look like this

player blk blkz
Hassan Whiteside 196 6.23
Brook Lopez 163 5.01
Anthony Davis 143 4.27
Rudy Gobert 135 3.97
Myles Turner 132 3.86
Mitchell Robinson 119 3.37
Kristaps Porzingis 115 3.23
Jakob Poeltl 95 2.48
JaVale McGee 94 2.45
Bam Adebayo 93 2.41
Andre Drummond 93 2.41
Robert Covington 93 2.41
Jarrett Allen 92 2.37
Jaren Jackson Jr. 92 2.37
Nerlens Noel 91 2.34
LaMarcus Aldridge 87 2.19
Mo Bamba 86 2.15
Daniel Theis 84 2.08
Maxi Kleber 83 2.04
Dwight Howard 79 1.89

And if we limit the player pool to 1500 minutes (~20 MPG), they are as follows

player blk blkz
Hassan Whiteside 196 5.08
Brook Lopez 163 4.04
Anthony Davis 143 3.41
Rudy Gobert 135 3.16
Myles Turner 132 3.06
Kristaps Porzingis 115 2.53
Andre Drummond 93 1.83
Bam Adebayo 93 1.83
Robert Covington 93 1.83
Jarrett Allen 92 1.80
Jaren Jackson Jr. 92 1.80
LaMarcus Aldridge 87 1.64
Daniel Theis 84 1.55
Maxi Kleber 83 1.52
Jonas Valanciunas 76 1.30
Montrezl Harrell 72 1.17
Steven Adams 67 1.01
Giannis Antetokounmpo 66 0.98
Joel Embiid 65 0.95
Al Horford 61 0.83