BEHIND THE DATA · AVAILABILITY COST

Availability cost

What a missing rotation player costs, in the same points of margin as the schedule effects. Measured after the fact — not a forecast, and not an injury report.

WHAT COUNTS AS MISSINGTHE ROTATION, NOT THE ROSTER

A player is missing when the team had been playing him and then did not. That has to be worked out from prior participation rather than from tonight’s box score, because a player on a long-term injury often does not appear on the sheet at all — no row, no did-not-play note, nothing. Counting listed absences would quietly treat the longest absences as though they had never happened.

rotation   averaged 15+ minutes across the team's previous
           5 games, in at least 2 of them
missing    a rotation member who recorded no minutes tonight
Rotation window5 gamesthe team's own previous games
Rotation threshold15 minaverage across that window
Typical rotation8.6players, measured

The window is short on purpose. A rotation is not a season-long fact — it changes with trades, with a coach’s patience, and with who is already hurt. Five games is recent enough to describe the team that actually took the floor last week and long enough that one blowout does not redefine it.

WHAT AN ABSENCE IS WORTHVALUE ABOVE REPLACEMENT

Not every absence is the same size, so each one is weighted by the player’s value — measured over a longer history than rotation membership, since how good a player is moves far more slowly than whether he is currently in the rotation. Value is Game Score, a single number from the box score line.

GmSc = PTS + 0.4·FGM − 0.7·FGA − 0.4·(FTA − FTM)
       + 0.7·ORB + 0.3·DRB + STL + 0.7·AST + 0.7·BLK
       − 0.4·PF − TOV

value = max(0, player's GmSc − the team's own rotation median)

The second line is the part that matters. What a team loses is not the missing player’s production, it is the gap to whoever takes his minutes. Subtracting the team’s own rotation median makes a missing sixth man cost close to nothing and a missing star cost a great deal, which is the shape the effect actually has.

This was not assumed. Five weightings were tested against the same baseline — minutes, points, raw Game Score, Game Score above replacement, and a plain best-player-out flag — and value above replacement won on residual error. The comparison is in ml/availability_quality.py; weighting by minutes alone, which is the obvious first idea, was the weakest of the continuous measures.

TURNING THAT INTO POINTSTHE REGRESSION

Every figure on the surface is a coefficient from a regression on final margin, not on wins. A win-or-lose outcome throws away the size of the result, which is most of the information a game carries; margin keeps it, and gives each effect a far tighter error bar.

home margin ~ home court
              + team strength (home − away)
              + season position
              + schedule terms      (away − home)
              + absence value       (away − home)

Every term is differenced, away minus home, so anything that affects both teams equally cancels and contributes nothing — the same convention the rest advantage metric already uses. Team strength is each side’s win rate in its prior games only, shrunk toward .500 early in a season so an October record is not read as established. It is in the model as a control, never as a published effect: without it, an absence would be credited with some of the fact that weaker teams are missing players more often.

Games measured35,4581996-97 onward
Best player out2.86 ptst = 17.9
Per point above replacement0.26 ptst = 21.9

The absence measures are strongly correlated with one another, and entered together they split unstably — one of them even flips sign. So each published effect comes from its own specification rather than from a single model carrying all of them, and they should be read as separate answers to separate questions, never summed.

WHY THE SCHEDULE STILL COUNTSTHE CONTROL THAT MATTERED

The obvious objection to this whole site is that its schedule effects are really absences in disguise: teams rest their stars on the second night of a back-to-back, so perhaps a back-to-back does not tire anyone and simply predicts who sits. Putting absence and the schedule terms into one regression tests that directly.

backToBack         1.759 → 1.641  (6.7%)
visitingAltitude   1.358 → 1.282  (5.6%)
priorOvertime      0.544 → 0.501  (7.9%)
scheduleDensity    0.275 → 0.265  (3.8%)

Every schedule effect moves by under 8%. Teams do rest people more on a back-to-back, and it accounts for almost none of what a back-to-back costs. The objection is reasonable and the answer is that it is wrong.

WHAT THIS CANNOT SEETHE HONEST LIMITS
  • It is not a forecast. Who sat is known only because the game was played. Lineups are not settled until shortly before tip, so nothing here says who will be available tonight.
  • It does not know why a player was out. Injury, load management, suspension and a personal matter are one category here, and they are not the same thing.
  • It does not know who replaced him. Replacement level is the team's own rotation median, which is a reasonable stand-in and not the actual substitute.
  • Game Score is a box-score measure, so it undervalues defence. A defensive anchor's absence is worth more than this credits.
  • A basketball game is mostly noise. Final margins vary by 13.6 points, and knowing both teams' records, their schedule and who was missing still leaves 12.4. These effects are real and precisely estimated; they are a small share of what happens.
  • Coverage starts in 1996-97, where the player box scores this rests on begin — earlier than that, the site can score a schedule but not a lineup.
  • The effects are averages across three decades. The rate of playing without a best player tripled over that span, so a single figure describes an era that changed underneath it.