How accurate were our 2025-26 NBA projections?
Every projection we publish is a range, and at the end of the season we grade ourselves against what actually happened. No cherry-picking: this report card covers all 27,715 player-games of 2025-26, scored by a model that never trained on any of them.
The short version: our points projections typically landed within ±4.5 points, and the range we intend to hold 80% of the time held 81%. Below is the full breakdown, including the stats where our ranges fell short and the game we missed by 60 points.
Every stat, measured
"Typical miss" is the average gap between our median projection and the real box-score number. "Range held" is how often the actual result landed inside our P10–P90 range. We aim for 80%: not higher, because a range that never misses is a range too wide to mean anything.
| Stat | Season avg | Typical miss | Range held |
|---|---|---|---|
| Points | 10.8 | ±4.46 | 81% |
| Rebounds | 4.1 | ±1.85 | 82% |
| Assists | 2.5 | ±1.32 | 85% |
| Minutes | 22.5 | ±4.39 | 81% |
| Steals | 0.8 | ±0.72 | 90% |
| Blocks | 0.5 | ±0.52 | 92% |
| 3-Pointers Made | 1.2 | ±0.88 | 90% |
| Turnovers | 1.3 | ±0.88 | 88% |
What the range is really saying
A single number hides how uncertain a projection is. The range is the honest version: we intend the actual result to fall inside it about 80% of the time, by design. Not 100%. A range that always holds tells you nothing; a range that holds 8 nights in 10 tells you exactly how much to trust the middle.
For points, rebounds and minutes we came in close to that aim (81%, 82%, 81%). Assists ran under it at 85%.
Where the ranges fall short
Two numbers in that table are bad, and we want to say so before you find them yourself: our range held only 90% of the time on steals and 92% on blocks.
Blocks and steals are whole-number events that average under one a game. Our current ranges for them are only a unit or two wide, and this model generation draws them too narrow, so the range misses far more often than it should. Until that improves, treat our steals and blocks ranges as rough guides, not calibrated ones. The typical miss on those stats is still small (±0.72 steals, ±0.52 blocks), but the ranges under-deliver, and we would rather tell you that than let the strong points number speak for the whole table.
Most and least predictable
The steadiest stats this season were minutes, points and rebounds. The noisiest were blocks, steals and threes.
The same split shows up in players. Role players are the easiest to project: their minutes and shot volume barely move night to night. Superstars are the hardest, because the bigger the scorer, the more of the box score runs through their hands, and the wider an honest range has to be. Our three hardest calls of the season were Anthony Davis (±8.0 points a game), Stephen Curry (±7.98) and Anthony Edwards (±7.92). That is not the model failing; that is what a 30-point scorer's variance actually looks like.
Easiest to call
- Jaden Ivey — within ±3.21 pts a game (over 37 games)
- Jalen Smith — within ±3.24 pts a game (over 53 games)
- Jamir Watkins — within ±3.35 pts a game (over 40 games)
Hardest to call
- Anthony Davis — within ±8.0 pts a game (over 20 games)
- Stephen Curry — within ±7.98 pts a game (over 45 games)
- Anthony Edwards — within ±7.92 pts a game (over 71 games)
Clean calls
Three nights where the middle of the range landed on the number exactly:
- James Harden · PTS · 2026-01-07: projected 23.0, our range 13–34, actual 23
- Jaylen Brown · PTS · 2026-01-15: projected 27.0, our range 18–38, actual 27
- Giannis Antetokounmpo · PTS · 2025-11-28: projected 30.0, our range 17–38, actual 30
And a miss we owe you
On March 10 we projected Bam Adebayo for 22.7 points, with a range of 13 to 33. He scored 83.
That was an 83-point career explosion — the single most unpredictable game of the season. No honest range survives it: a range wide enough to contain it would be so wide on every other night that it would tell you nothing. We would rather publish a calibrated range and eat the miss than publish a useless one.
The misses stay on this page on purpose. A projection company that only showed its wins would not be an honest one.
How this was measured
Out-of-sample backtest: the current production model generation (2026.07.01-decomp-lgbm-q-mintune), trained on every season through 2024-25, scored on every 2025-26 game it never saw. All figures are under a SINGLE model generation. (The live predictions store mixes two generations after the 2026-07-01 deploy, so numbers are recomputed cleanly here rather than read from the store — no re-backfill needed.)
More on how the model works on our methodology page.
This is what our projections looked like against a full season of reality. From opening night, you can hold the new ones to the same standard: every player, every stat, every game.
See the projections →