Rim protection

Blocks are the highlight, but they're not the whole job. The best rim protectors also stop shots from happening and make the ones that do happen miss. This number counts all of it: rim points saved per 100 opponent possessions.

In plain English

What it measures

Two things happen at the rim when a great big is on the floor. Opponents take fewer shots there (deterrence), and they make fewer of the ones they take (FG% saved). We measure both from every possession of the last two regular seasons, then turn them into points:

rim points saved per 100 = shots deterred × (1.31 − 1.00) + FG% saved × 25.6 rim attempts per 100

A rim shot is worth 1.31 points on average (65.5% in the restricted area); every other shot is worth about 1.00. So a deterred rim attempt saves about 0.31 points. 0 is league average, +2 is elite, +4 is historic.

Lineup-adjusted means we estimate every player at the same time from every 10-man combination on the floor (a ridge regression, the same idea as RAPM), so nobody gets credit just for sharing the floor with a great rim protector. Each defender's estimate is gently pulled toward what his block rate suggests, because blocks turn out to carry real signal about FG% at the rim.

Rim pts saved/100Rim protection
How many points a defender saves at the rim per 100 opponent possessions, from fewer shots at the rim and fewer makes on the ones that are taken. 0 is league average, +2 is elite, +4 is historic.
Rim shots deterred/100Rim deterrence
How many fewer shots opponents take at the rim (inside 4 feet) per 100 possessions when he is on defense, adjusted for all nine other players on the floor.
Rim FG% ppRim FG% saved
How many percentage points lower opponents shoot at the rim with him on defense, adjusted for teammates and opponents.
Blocks per rim attempt
Share of opponent rim attempts this player blocks while he is on the floor.
On/off
Opponent rim numbers with the player on the floor minus with him off. Not adjusted for teammates or opponents.
Lineup-adjusted
We estimate every player at once from every 10-man combination, so a defender doesn't get credit just for playing next to a great rim protector.
Backtest

Graded the honest way

We graded the model the honest way. We built it on 2024-25 only, then asked it to predict 2025-26 lineups it had never seen. If it can't beat simple stats on games it hasn't seen, there's no reason to trust it.

Predictor, built on 2024-25Rim attempt rate, 2025-26Rim FG%, 2025-26
Spreadsheet Sports Rim Protection.061.069
Same model, no block prior.057.059
Blocks per rim attempt.026.059
Raw on/off.028.033

Weighted correlation with what actually happened in every 2025-26 defensive unit. Single lineups are tiny samples, so every number is small; the comparison is what matters. Our metric beats block rate by +0.035 on deterrence and +0.011 on FG%, and raw on/off by +0.033 and +0.036. All four gaps have 95% confidence intervals above zero (bootstrap over games).

Year to year

Correlation between a player's 2024-25 and 2025-26 values (190 players with 1,000+ minutes in both).

Metricr
Rim protection (combined).864
Rim deterrence.589
Rim FG% saved.870
Raw on/off, deterrence.337
Raw on/off, FG%.294
Blocks per rim attempt.903

Block rate is very stable but predicts deterrence poorly. Ours is nearly as stable and predicts better. Being honest about the overlap: across qualified players the combined number tracks block rate closely (R² 0.85), so the FG% half is largely “blocks, adjusted for lineups and made predictive”. The new information lives in deterrence.

2025-26 pool

Top 10

  1. 1Victor WembanyamaSAS+5.1
  2. 2Chet HolmgrenOKC+4.3
  3. 3Isaiah StewartDET+3.7
  4. 4Daniel GaffordDAL+3.2
  5. 5Neemias QuetaBOS+2.8
  6. 6Donovan ClinganPOR+2.7
  7. 7Ryan KalkbrennerCHO+2.6
  8. 8Brook LopezLAC+2.5
  9. 9Clint CapelaHOU+2.5
  10. 10Evan MobleyCLE+2.5
Block pctl / deterrence pctl

Shot blockers teams still attack

Bigs in the top 15% for block rate whose deterrence ranks far lower: great at contesting, but opponents keep coming anyway.

  1. 1Matas BuzelisCHI93 / 8
  2. 2Jay HuffIND99 / 15
  3. 3Zeke NnajiDEN88 / 4
  4. 4Nic ClaxtonBRK89 / 22
  5. 5Yves MissiNOP99 / 40
  6. 6Derik QueenNOP87 / 31
  7. 7Moussa DiabatéCHO87 / 32
  8. 8Tristan VukcevicWAS92 / 46
Caveats

What it can't see

  • Team scheme. There's no team term, so scheme (drop vs switch, zone) is partly credited to players, and teammates who almost always share the floor split credit uncertainly.
  • Uncertainty is model-based. The ± band is a 90% interval conditional on the model's shrinkage; it understates true uncertainty for low-minute players, whose estimates lean on the block prior. Treat percentile differences under about 10 points as ties.
  • Deterrence is the noisiest part (year-to-year r 0.59), and it assumes a deterred shot becomes an average non-rim shot. Turnovers and kick-outs to corner threes aren't modeled separately.
  • Rim = restricted-area field-goal attempts. Rim fouls without a recorded shot are left out, which slightly undervalues bigs who foul.
  • Two seasons pooled (2024-25 + 2025-26, equal weight), so it doesn't capture aging or injury inside that window. The same number shows in both season views on player pages.
  • Not yet cross-checked against the NBA's tracking-based opponent FG% at the rim, by design (licensing).
  • Shown for players with 1,000+ minutes over the two seasons (405 players).

Play-by-play via the NBA's public game data (archived by shufinskiy/nba_data, Apache-2.0); all metrics computed by Spreadsheet Sports. Model v1.0, 2026-10-23.