EPM vs RAPM vs DARKO vs LEBRON: an honest map
EPM, LEBRON, RAPM and DARKO all estimate a player's value in points per 100 possessions, but they differ in what they assume about a player before the lineup data speaks. RAPM assumes nothing and pays for it in noise. EPM and LEBRON stabilize that regression with a box-score prior. DARKO answers a different question entirely: not who was best, but who will be. Our own IPM sits in the EPM and LEBRON family.
| Seasons we reconstruct from play-by-play | 2017-18 to 2025-26nine seasons |
|---|---|
| Lineup reconstruction accuracy | < 0.5 secvs official box-score minutes, every game |
| IPM held-out tests won | 17 of 179 within-season, 8 next-season |
| Our box prior, offense r² | 0.35 to 0.46leave-one-season-out |
| Our box prior, defense r² | 0.10 to 0.25defense is harder from a box score |
Almost all of them are RAPM with a different prior
The names make these sound like rival schools of thought. They are not. With one exception, the metrics on this page start in the same place: regularized adjusted plus-minus, a regression over play-by-play that credits or debits all ten players on the floor for every possession. (Box-score-only metrics such as BPM are a separate family, covered on our RAPM vs BPM page.) What separates them is the prior, meaning what the model assumes about a player before the lineup data gets a say, and what evidence feeds that assumption.
That lineage runs back through ESPN's Real Plus-Minus, which brought the pairing of a lineup regression with a statistical estimate of each player to a mainstream audience. Once you see the pattern, the arguments get much simpler. You are not choosing between philosophies. You are choosing whose prior you trust, and which question you actually asked.
RAPM: the honest, noisy baseline
RAPM makes the fewest assumptions of any of them. Every possession becomes one row of a very large, very sparse system: plus one for the five players on offense, minus one for the five on defense, with points per 100 possessions as the target. Solving it with a ridge penalty shrinks players with few possessions toward zero. That is the "regularized" part, and the reason a garbage-time specialist cannot post an absurd number.
Its virtue is that it does not care what your box score says. Its vice is variance. One season of lineup data cannot cleanly separate teammates who almost never play apart, which is why nearly nobody publishes single-season RAPM as a headline. We publish ours anyway, next to a three-year recency-weighted version and with the noise warning attached, because the unstabilized number is genuinely informative when it disagrees with the stabilized one. For historical RAPM going back decades, nbarapm.com is the best free archive.
EPM and LEBRON: the two stabilized leaders
EPM, Estimated Plus-Minus, is Taylor Snarr's metric at dunksandthrees.com. It is RAPM stabilized with a prior built from box-score and player-tracking inputs, and the tracking is the real differentiator: it gives the prior information a box score simply does not carry, which matters most on defense, where box scores are weakest. Snarr also published a retrodiction study, from 2020, comparing eight public metrics, and it remains the most cited head-to-head in this space. Read it, with the caveat he states openly: it is written by the author of one of the metrics being ranked, and EPM finishes first in it.
LEBRON, from BBall-Index, is a literal acronym: Luck-adjusted player Estimate using a Box prior Regularized ON-off. Two ideas set it apart. The luck adjustment replaces some observed shooting with expected shooting before the regression runs, so a player is not credited or punished for teammates running hot from three during his minutes. And the box prior is role-aware, stabilized differently by offensive archetype, so a play-finishing big and a primary creator are not held to one yardstick.
DARKO: a projection, not a report card
DARKO, built by Kostya Medvedovsky, with Andrew Patton behind the public app that now lives at darko.app, is the exception. It is not trying to describe last season. It is a daily-updating projection system: exponential decay so recent games count for more, a modified Kalman filter to fold each noisy new game into what the model already believed, and gradient boosting to combine the pieces. Its headline impact number is DPM, Daily Plus-Minus.
The Kalman filter explains DARKO's whole personality. It is the technique used to track a moving object from unreliable sensor readings, and it weights each new reading by how much you already know. A rookie's estimate moves fast because the model knows almost nothing; a ten-year veteran's barely budges after one hot week. So DARKO reacts to a role change or a breakout in weeks, and it will not settle an MVP argument about last season. It was never built to, and it says so.
RAPTOR, and why an honest map is worth keeping
RAPTOR was FiveThirtyEight's public impact metric, combining box-score and on-off components with tracking inputs, fully documented and free. It is no longer updated, and FiveThirtyEight itself has since closed. RAPTOR numbers still circulate in forum threads and old articles, so it is worth knowing that any RAPTOR figure you see stops at the seasons it covered.
That is the honest reason this page exists. Sites shut down, formulas get revised, and most of the comparisons ranking for these searches are years old and describe a lineup of metrics that no longer matches reality. If a better map exists, use it. If it does not, this one gets updated.
Where our IPM sits, and what it does not have
IPM, Informed Plus-Minus, is our flagship, and it belongs squarely in the EPM and LEBRON family rather than standing apart from it. It is the same RAPM ridge, refit so each player is shrunk toward a box-score prior instead of toward zero. We say that plainly rather than dressing it up as something new. What is genuinely ours is the input stack: there is no public lineup feed for recent seasons, so we reconstruct the exact five-man unit on the floor for every stint of every game from play-by-play and box scores, across nine seasons from 2017-18 to 2025-26. That reconstruction is validated game by game, with per-player minutes matching the official box score to within half a second.
The prior is ours too. It is a statistical plus-minus built by regressing per-100 box rates onto our own nine seasons of RAPM, so its weights are calibrated to exactly the quantity they have to predict. Leave one season out and it explains 0.35 to 0.46 of offensive variance and 0.10 to 0.25 of defensive variance. In held-out testing, IPM posted the lowest error in 17 of 17 splits, all nine within-season and all eight next-season pairs, beating pure RAPM, the prior alone, and a league-average baseline. The margins are small because single stints are extremely noisy. The unbroken ordering is the signal, not the gap size.
Here is what we do not have, stated as plainly as the rest. We carry no player-tracking data in the prior, so there is no equivalent of EPM's tracking inputs, and that is a real gap on defense. We apply no luck adjustment of the kind LEBRON uses. Our prior is not role-aware. And IPM is a season-level estimate that does not decay within the season, so it will never react the way DARKO does. Full formulas, tables and caveats live on the methodology page.
How to pick one
The question determines the metric, and most disagreements online are two people answering different questions.
- Who was actually best this season: use a stabilized retrodictive metric. EPM, LEBRON, or our IPM.
- What a player will do tomorrow or next month: use DARKO. Nothing else public updates that fast.
- Whether a number is a model artifact or a real signal: put a stabilized metric next to unstabilized RAPM. Where they diverge, the prior is doing the work.
- Whether the box score already explains a player: compare an impact metric against BPM, which uses box inputs only.
- Whether a lineup is better than the sum of its parts: no single-player metric answers this. That is what lineup residuals are for.
Keep reading
Every number on Closing 5 is computed from play-by-play we reconstruct ourselves. See the methodology.