WOWY vs on/off: what those numbers actually measure
On/off compares a team's net rating per 100 possessions while a player is on the court against its net rating while he sits, and WOWY ("with or without you") runs the same comparison at the game level, splitting games he played from games he missed. Both are real evidence about a player. Both are confounded by which nine other players happened to be out there, which is precisely the problem RAPM was built to solve.
| Lineup reconstruction accuracy | within 0.5 secondsReconstructed per-player minutes vs the official box score, every game |
|---|---|
| Coverage | 9 seasons2017-18 through 2025-26, rebuilt from play-by-play |
| IPM held-out tests won | 17 of 17Beat pure RAPM, the box prior alone, and a league-average baseline |
On/off, defined without jargon
On/off is two numbers and a subtraction. Take every possession a player was on the floor and compute his team's points scored minus points allowed, per 100 possessions. Do the same for every possession he spent on the bench. Subtract the second from the first. The result usually appears as a net swing, sometimes written ΔNET. A swing of +8 means the team outscored opponents by eight more points per 100 possessions with him than without him.
The appeal is that it assumes nothing. It does not need a model, or a decision about what a rebound is worth, or a position label. It reads the scoreboard, so it silently picks up screens that free a shooter, a rotation that kills a possession, the gravity of a shooter nobody will leave, and everything else no box score records. That openness is also the flaw: on/off counts everything that happened while he was out there, including the parts he had nothing to do with.
WOWY is the game-level cousin
WOWY asks a coarser question. How did this team do in the games this player played, compared with the games he missed? The unit is a whole game, not a stint, so WOWY runs off game results and who was available rather than play-by-play. That is why it is the standard tool for studying eras before lineup data existed. Ben Taylor's Thinking Basketball work on WOWY and its regressed version, WOWYR, is the reference implementation and worth reading directly.
The distinction matters more than most discussion admits. On/off compares a player against his own bench inside the same games, so the schedule, the roster, and the coach are roughly held fixed. WOWY compares two different sets of games, often months apart, against different opponents, sometimes with a meaningfully different roster around him. Raw WOWY is immune to rotation staggering, because whole games go in each bucket. It is badly exposed to schedule, health, and roster churn, which is exactly why WOWYR regresses it and leans on SRS to account for strength of schedule.
The confound: it is a team stat wearing a player's name
On/off answers "how did the team do when he played." Readers hear "how good is he." Those two questions match only if everything else on the floor is held constant, and it never is. The player's on-court number contains his four teammates and five opponents. His off-court number contains a completely different set of ten.
Coaching makes the confound worse on purpose. Rotations are staggered so that a good player is on the floor when a weak one is, covering for him. That is sound coaching and terrible measurement: it drags the star's on-court number down while propping his off-court number up, and the subtraction punishes him for the help he provided. The same logic runs in reverse for a limited player who only ever plays next to the best two guys on the roster.
The four ways on/off misleads
Almost every viral on/off take fails for one of these reasons. None of them are exotic. All of them are fixable by asking one more question before posting the number.
- Small samples. Net rating per 100 possessions stabilizes slowly, because it is a difference of two noisy shooting-driven quantities. Over a few hundred possessions, variance alone can move a swing a long way in either direction, including opponent three-point luck the player never touched.
- Staggered rotations (collinearity). If two players share nearly all of their minutes, their raw on/off numbers will be nearly identical, and no amount of on/off data can tell you which of them is responsible. The information simply is not in the split.
- Garbage time and blowouts. Possessions at the end of a decided game count exactly like possessions in a two-point fourth quarter. Starters sit through them, so those minutes land in the star's off-court bucket and quietly set the baseline he gets compared against.
- Opponent quality. Starters mostly face starters and backups mostly face backups, so the on-court and off-court buckets are not drawn from the same league. For WOWY specifically, the games a player misses are not a random sample either: injury, rest, and a team's incentives all decide which games go in the "without" column.
What on/off is still genuinely good for
None of this makes on/off worthless. It makes it evidence rather than a verdict. On/off is the raw material every plus-minus family metric is built from, ours included, so throwing it away means throwing away the only measurement that sees the parts of basketball the box score misses.
Used well, it is excellent for a handful of jobs: reading direction rather than magnitude, comparing the offensive and defensive halves separately (the defensive side in particular carries signal a box score cannot reach), checking whether a lineup's reputation survives contact with its scoreboard, and generating questions. When a player's swing is wildly out of line with his other numbers, the right response is to go look at who he played with, not to declare him underrated.
RAPM is on/off with the teammates controlled for
Regularized adjusted plus-minus attacks the confound head-on. Instead of one subtraction per player, it puts every possession into a single regression over the whole league: the five offensive players get +1, the five defenders get -1, and the target is points per 100. Solving all players simultaneously forces each estimate to be net of the specific teammates and opponents he shared the floor with. That is what "adjusted" means, and it is the exact thing raw on/off cannot do.
The "regularized" half handles the noise. A ridge penalty shrinks low-possession players toward the middle, so a thin sample cannot mint a fake superstar. It is the same instinct as padding an on/off leaderboard, applied inside the model rather than bolted on afterward. Our IPM takes one further step and shrinks each player toward a box-score prior instead of toward zero, the same structural family as EPM (Taylor Snarr) and LEBRON (BBall Index). DARKO (Kostya Medvedovsky) gets at the same question a different way, projecting the box score forward with a Bayesian filter. All of it is excellent work we are openly building alongside.
RAPM is not magic. It cannot separate two players who never separate on the floor; it just declines to guess, and returns two similar, shrunken estimates. Single-season RAPM is still noisy enough that we tell readers to prefer IPM or the three-year pooled version. But it removes the specific error that makes raw on/off unreliable, and that is a large upgrade.
How we handle on/off here
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 plus box scores. That reconstruction is validated game by game: reconstructed per-player minutes match the official box score to within half a second, every game, across nine seasons from 2017-18 through 2025-26. Every on/off, lineup, and RAPM number on the site sits on top of it.
Our WOWY page shows on-court and off-court net rating side by side, plus the net, offensive, and defensive swings between them, and it also shows a padded version that shrinks the swing toward zero based on on-court minutes, so a headline number only survives if enough minutes back it. Leaderboards sort by the padded figure. The full technical record, including the ridge setup and the held-out validation tables, lives on the methodology page.
The practical habit worth forming: read a player's on/off next to his IPM and next to his lineups. Where they agree, believe it. Where they diverge sharply, the on/off number is usually telling you something true about his supporting cast rather than about him.
Use it on the site
- On/off and WOWY splits for every player, with small-sample padding
- IPM and RAPM leaderboards, the adjusted version of the same question
- Five-man unit ratings and chemistry, to see who a player actually played with
- Player pages combining on/off, impact metrics, and shooting
- Put two players side by side before trusting either one's swing
- The full technical record: ridge setup, validation tables, and caveats
- Short definitions for ΔNET, padding, net rating, and the rest
Keep reading
Every number on Closing 5 is computed from play-by-play we reconstruct ourselves. See the methodology.