Protecting the Paint: SportVU and Rim Protection

May 28, 2014; Indianapolis, IN, USA; Indiana Pacers center Roy Hibbert (55) defends Miami Heat forward LeBron James (6) in the first half of game five of the Eastern Conference Finals of the 2014 NBA Playoffs at Bankers Life Fieldhouse. Mandatory Credit: Aaron Doster-USA TODAY Sports

Roy Hibbert became something of a punchline over the final weeks of last season and into the playoffs. Whatever the reason for his declining play, his contributions in terms of box score stats fell precipitously. Commentators took note of his low scoring and rebounding totals and questioned why he was an All-Star to begin with. Joakim Noah walked away with Defensive Player of the Year honors by a surprising margin given Hibbert’s contribution to the best defense in the league which was in all-time great territory before the end of season-into-the-playoffs swoon.

A lot of this vitriol represented a simple misunderstanding of what Hibbert was on the floor to do. It wasn’t to score. Rebounding was somewhat incidental, given the elite rebounding the Pacers got from Paul George and Lance Stephenson from the wings. No, Hibbert’s job was to make the other team miss shots. Especially the normally “easy” shots near the rim. In this area, he was the most productive player in the league by a margin almost as large as he is. But first, a digression.

One of the great misunderstandings about the analytics movement is that expertise in high level math, statistics or programming languages is required to contribute. While certainly some techniques require specialized skills, many insights can be gleaned through application of a little bit of logic and math no more complicated than algebra. Many of the foundational stats employed in statistical analysis use this kind of deceptively simple calculation. The earliest “advanced” stats in the baseball lexicon were simple re-combinations of existing stats into more meaningful metrics. OPS, WHIP and BABIP1 were simply better measures of performance than traditional stats like Batting Average, ERA and RBIs. In basketball, stats like True Shooting Percentage and various rate-based metrics are similarly just more finely tuned applications of traditionally gathered box score tallys.

A central goal of Nylon Calculus is to demonstrate than anyone can “do” analytics, and that the best way to improve new metrics is of open discussion of the techniques used. To that end, this post is going to include a perhaps pedantic walk through of the logic and method behind the “Points Saved” metric for rim protection.

The Theory “Rim Protection” is essentially point prevention. By stopping an opposing offense from scoring, either by dissuading players from shooting near the basket all together or simply forcing more misses than would otherwise be the case, these intimidators are providing value by “saving” points.

Prior to this season, the only common and publicly available measure of rim protection was blocked shots. Nothing terribly wrong with blocked shots as a stat – a shot that’s blocked has a 0% chance of going in, which is obviously helpful to a defense.  But blocked shots are a highly imperfect proxy for interior defense for two major reasons, (well, three if you count the human error inherent in all manual scorekeeping.) First, not all blocked shots are shots at the rim and are thus not created equal. Blocking a 60% layup and a 35% midrange pullup are both helpful, but the former almost twice as much so to the defense. The second, and bigger problem is that it’s a binary stat. Either the shot was blocked or it wasn’t, ignoring all those times where a defender “altered” or “influenced” a shot, forcing a miss. By measuring the effectiveness of this influence on shooters, we can begin to estimate the value of a shot blocker or paint protector to a defense much more exactly than with the blunt instrument of the blocked shot.

The biggest problem before now was the lack of raw data to analyze. Charting games is too time-consuming and haphazard for large-scale use, and holistic measures of individual defense like Win Shares or Adjusted Plus/Minus don’t really allow for isolation of specific skills in this way. Thankfully, the public release of some data from the SportVU system via NBA.com does provide plenty of guidance for us.

The Method

In simplest terms, any defensive impact a player makes on a game could be measurable in terms of points. More specifically, points prevented; how many points would the opposition have scored without the presence of the player we are looking to evaluate. SportVU’s “Defensive Impact” stats provides important data for just this measurement. Given that SportVU tells us both the number of “rim attempts” (as defined by shots form 5 feet or less) the player has contested, as well as the resulting FG% on those attempts, we can begin to estimate the impact.

Expressed logically, it’s simply

(Expected Points – Actual Points).

The actual points scored is fairly simple – just multiply made field goals on contests against by 2. In the case of Hibbert, 4.1 made attempts per game would equal 8.2 points scored. Answering how many points would have been scored had Hibbert not been present is a bit more difficult, as we need to know the FG% on these close shots when they are uncontested. Anecdotal evidence2 suggests these shots are converted at somewhere between 75-80%, but thanks to SportVU, the estimate is that in 2013-14, these shots were converted at a rate of just over 79.1%.3

So, returning to Hibbert, compared to the 8.2 points actually scored on him at the rim per game, those same shots would have produced 9.8 shots X 79.1% accuracy X 2 pts per make = about 15.5 points per game. Thus we can estimate Hibbert is saving around 7.3 points per game.  As with most stats, raw per game numbers aren’t super ideal, so translating to per/36 averages, this would indicate Hibbert is saving 8.8 points/36. Here’s the top 20 in terms of points saved/36

Player Saved/36
Ryan Hollins (LAC) 9.18
Bismack Biyombo (CHA) 9.05
Cole Aldrich (NYK) 8.99
Rudy Gobert (UTA) 8.99
Roy Hibbert (IND) 8.80
Robin Lopez (POR) 8.46
Chris Kaman (LAL) 8.44
Miroslav Raduljica (MIL) 8.28
Brook Lopez (BKN) 8.23
Ian Mahinmi (IND) 8.02
Larry Sanders (MIL) 7.78
Vitor Faverani (BOS) 7.70
Jeff Withey (NOP) 7.68
Hilton Armstrong (GSW) 7.38
Serge Ibaka (OKC) 7.19
Gorgui Dieng (MIN) 7.13
Robert Sacre (LAL) 7.13
Ronny Turiaf (MIN) 7.11
Tim Duncan (SAS) 7.08
Andrew Bogut (GSW) 7.07

Which is nice, though there are some strange names on that list. Notably Chris Kaman and Bob Sacre of the Lakers. The Lakers allowed the most close attempts and the 7th worst percentage against on close shots this season, so how much rim protection could they really have gotten? In effect, Sacre and Kaman are getting bonus “saves” as a result of the sheer number of close shots the Lakers pace of play and poor defense gives up.4 On the other hand Hibbert (and Ian Mahinmi) are being unduly penalized by playing for a team that allowed the 6th fewest rim attempts, making their high ratings even more impressive. This should probably be accounted for. Really, what we want to measure is how frequently a player contests shots at the rim relative to the number of possible attempts. Here are some leaders in this “contest%”5:

Player Contest%
Roy Hibbert (IND) 60.49%
Ian Mahinmi (IND) 59.09%
Gorgui Dieng (MIN) 56.18%
Jermaine O’Neal (GSW) 55.96%
Andrew Bogut (GSW) 54.29%
Greg Stiemsma (NOP) 54.21%
Rudy Gobert (UTA) 54.10%
Chris Andersen (MIA) 53.57%
Tim Duncan (SAS) 53.18%
Bismack Biyombo (CHA) 52.94%
Elton Brand (ATL) 52.59%
Robert Sacre (LAL) 51.43%
Omer Asik (HOU) 51.33%
Spencer Hawes (TOTAL) 51.06%
Mike Muscala (ATL) 50.70%
Kosta Koufos (MEM) 50.54%
Gustavo Ayon (ATL) 50.47%
Brook Lopez (BKN) 50.00%
Marcin Gortat (WAS) 50.00%
Samuel Dalembert (DAL) 50.00%
Joel Anthony (TOTAL) 50.00%

NBA.com has data on the number of opponent rim attempts while a player is on the floor. By comparing that number on a per minute basis with the league average for rim attempts,6, we can approximate the number of shots the player would have contested in a “league average” environment. The leaders in this “adjusted points saved per 36”:

Player AdjSave/36
Roy Hibbert (IND) 9.79
Ryan Hollins (LAC) 9.42
Bismack Biyombo (CHA) 8.99
Ian Mahinmi (IND) 8.95
Rudy Gobert (UTA) 8.62
Brook Lopez (BKN) 8.59
Andrew Bogut (GSW) 8.10
Miroslav Raduljica (MIL) 7.94
Larry Sanders (MIL) 7.77
Jermaine O’Neal (GSW) 7.67
Robin Lopez (POR) 7.54
Chris Kaman (LAL) 7.49
Kevin Seraphin (WAS) 7.39
Tim Duncan (SAS) 7.22
Vitor Faverani (BOS) 7.18
Chris Andersen (MIA) 7.16
Cole Aldrich (NYK) 7.09
Kosta Koufos (MEM) 7.09
Robert Sacre (LAL) 6.91
Omer Asik (HOU) 6.87

Though there are some surprises, there are a lot of the names we expected, and as for those who are surprising, remember that rim protection is only a portion of a big man’s defensive impact – rebounding, pick-and-roll coverage, individual post defense, and ability to get back in transition all figure into the package. Guys like Ryan Hollins almost certainly give all of the value they provide in terms of rim protection back by being terrible rebounders who play the pick-and-roll poorly. Which is why Ryan Hollins has bounced around the league and never gotten consistent playing time in his NBA career despite being tall, long and reasonably athletic.

The Results

One more adjustment needs to be made though.  We want to be able to tell if a rim protection value is “good” or not. And further, comparing players to how well the opponent would score if defender simply disappeared from the court isn’t especially realistic. The concept of “replacement level” is much trickier in basketball than in other sports, so as a baseline, why not compare each player to a hypothetical “league average” player at their position? This league average big man contests about 8.2 shots per/36 minutes, holding opponents to 50.5% shooting, thus saving7 about 4.7 points per/36 minutes.8

Since the NBA is zero-sum, comparing players to this hypothetical average allows for better measurements of who is actively “helping” or “hurting” their team. After all, on any absolute scale of rim protection, NBA big men would be off the charts good, so we need to measure them against their own high standards. By that measure, here are the best and worst rim protectors in 2013-14 by this measure:

Player S36 OPA
Roy Hibbert (IND) 5.09
Ryan Hollins (LAC) 4.72
Bismack Biyombo (CHA) 4.29
Ian Mahinmi (IND) 4.25
Rudy Gobert (UTA) 3.92
Brook Lopez (BKN) 3.89
Andrew Bogut (GSW) 3.40
Miroslav Raduljica (MIL) 3.24
Larry Sanders (MIL) 3.07
Jermaine O’Neal (GSW) 2.97
Robin Lopez (POR) 2.84
Chris Kaman (LAL) 2.79
Kevin Seraphin (WAS) 2.69
Tim Duncan (SAS) 2.52
Vitor Faverani (BOS) 2.48
Chris Andersen (MIA) 2.46
Cole Aldrich (NYK) 2.39
Kosta Koufos (MEM) 2.39
Robert Sacre (LAL) 2.21
Omer Asik (HOU) 2.17


Luis Scola (IND) -1.93
Carlos Boozer (CHI) -1.94
Byron Mullens (TOTAL) -2.01
Rashard Lewis (MIA) -2.02
Brandon Bass (BOS) -2.09
Ognjen Kuzmic (GSW) -2.11
Tristan Thompson (CLE) -2.11
Victor Claver (POR) -2.16
Austin Daye (TOTAL) -2.16
Hedo Turkoglu (LAC) -2.17
Trevor Booker (WAS) -2.17
Anthony Tolliver (CHA) -2.44
Reggie Evans (TOTAL) -2.46
Perry Jones (OKC) -2.47
Al Harrington (WAS) -2.58
Marcus Morris (PHX) -2.61
Ryan Kelly (LAL) -2.61
Thaddeus Young (PHI) -2.79
Jason Collins (BKN) -3.15
Aaron Gray (TOTAL) -3.41

Unsurprisingly, a lot of the worst performers were “stretch” bigs who were only nominally playing the 4 or 5.

Since the ability to stay on the floor is a skill, per game totals are also useful, and probably necessary given the predominance of a certain type of low minute banger on the per minute list.

Player S OPA/GM
Roy Hibbert (IND) 4.228262
Brook Lopez (BKN) 3.400664
Andrew Bogut (GSW) 2.514268
Robin Lopez (POR) 2.51241
Larry Sanders (MIL) 2.194512
Tim Duncan (SAS) 2.054696
Ian Mahinmi (IND) 1.924214
Serge Ibaka (OKC) 1.840956
Bismack Biyombo (CHA) 1.668549
Jermaine O’Neal (GSW) 1.667636
Chris Kaman (LAL) 1.47354
Marcin Gortat (WAS) 1.374646
Chris Andersen (MIA) 1.332436
DeAndre Jordan (LAC) 1.31859
Omer Asik (HOU) 1.225202
Jonas Valanciunas (TOR) 1.155168
Kosta Koufos (MEM) 1.128087
Timofey Mozgov (DEN) 1.108663
Ronny Turiaf (MIN) 1.107143
Greg Stiemsma (NOP) 1.100173
Tiago Splitter (SAS) 1.098998
Miles Plumlee (PHX) 1.0858
Dwight Howard (HOU) 1.059423
Rudy Gobert (UTA) 1.055637
Ryan Hollins (LAC) 1.048582

So, leaving Brook Lopez (he of the tiny 17 game sample size) aside, Hibbert was the best rim defender by an enormous margin, with a bigger gap between himself and Bogut than there was between Bogut and #35 on the list (Paul Millsap). On the other end, here are the bottom 25.

Player S OPA/GM
Thaddeus Young (PHI) -2.67534
Blake Griffin (LAC) -1.93247
Tristan Thompson (CLE) -1.8636
Ryan Kelly (LAL) -1.62596
Brandon Bass (BOS) -1.61612
Marcus Morris (PHX) -1.60294
Carlos Boozer (CHI) -1.52847
David West (IND) -1.48515
Anthony Tolliver (CHA) -1.3909
Ryan Anderson (NOP) -1.36515
Trevor Booker (WAS) -1.3049
Boris Diaw (SAS) -1.3019
Markieff Morris (PHX) -1.28334
Josh McRoberts (CHA) -1.27499
Reggie Evans (TOTAL) -1.14284
Al Harrington (WAS) -1.08358
Kenneth Faried (DEN) -0.97675
Marvin Williams (UTA) -0.968
Patrick Patterson (TOTAL) -0.95991
LaMarcus Aldridge (POR) -0.93986
Nene (WAS) -0.93395
Aaron Gray (TOTAL) -0.92918
Shawne Williams (LAL) -0.92174
Luis Scola (IND) -0.91869
Rashard Lewis (MIA) -0.91514

A few surprising names, though I suspect in the case of Nene, Aldridge and West, the poor showing on this metric have as much to do with scheme as with ability, as each plays with a good to great rim protecting center who is far less mobile. Indiana would prefer to have West guarding the screener in the pick-and-roll, with Hibbert patrolling the baseline, and they set their defensive matchups accordingly. But that’s just a theory.

The Caveats

One of the best aspects of such a (relatively) simple model is that we have a pretty good idea of what we aren’t accounting for. For example, shooting fouls, charges taken and other turnovers forced are arguably aspects of paint protection and are completely ignored by this stats. Further, while the need for an adjustment to the raw contest numbers is clear, the actual adjustment used is fairly crude9. Perhaps the metric can be made more accurate if tied to other ideas such as Austin’s work on Adjusted Defensive Impact By Court Location? Or maybe more directly tied to contest%? Finally, there is only one year of data available, so there are undoubtedly some weaknesses not yet revealed – intuition tells me that some aspects of team defense are being overcredited to individual players,10 but that’s all speculation until we get multiple seasons of data especially with players changing teams both within and between seasons.11

Ed. Note: You can find all of Seth’s rim protection statistics for big men from last season here. Statistics for wings and point guards will be added later this week.


  1. On-base Pluse Slugging Percentage, Walks and Hits per Inning Pitched, and Batting Average on Balls In Play respectively
  2. Taken from discussions at the invaluable APRBMetrics board which has somewhat sadly fallen into a bit of disuse as some of the brighter lights have been hired by teams and others have found media gigs
  3. Derived by comparing the FG% on contested shots with all close shots at the team level
  4. via NBA.com
  5. League average ‘contest%’ for big men is a hair over 38%
  6. about 21.7 FGA/36
  7. 8.2 X .791 X 2 – 8.2 X .505 X 2
  8. Note that arbitrarily breaking down big men even further into 4s and 5s, centers are unsurprisingly better rim protectors on aggregate, saving 5.7 points/36 while PFs only save 3.9 points/36.
  9. I do think I’m on to something, though, see this examination of an earlier iteration of points saved corrolated with a defensive adjusted plus/minus metric
  10. In fact players as a whole are getting slightly overcredited as around 1/3 of all shots at the rim are contested by multiple defenders and at this point I’m not even going to try to untangle that web.
  11. Spencer Hawes is an interesting case as he seemed to perform much better in terms of rim protection in Philadelphia than Cleveland, which seems mildly counter-intuitive, but he also could have simply been playing worse

Seth Partnow

Seth Partnow lives in Anchorage, Alaska. He writes about basketball at places like Washington Post's #FancyStats Blog, TrueHoop Network's ClipperBlog. Follow him @SethPartnow and sethpartnow.tumblr.com