When a player projection misses, the first suspect is usually playing time. He got into foul trouble, the game was a blowout and the starters sat, the coach shortened the rotation. Points are minutes times scoring per minute, so if we had known the minutes, surely most of the miss would go away?

We tested that directly, and the answer is no. Knowing the exact minutes fixes only about a sixth of a points projection's miss.

The test: hand the model the real minutes

For three seasons of projections, 62,156 player-games, we re-scored every prediction after replacing the projected minutes with the minutes the player actually played, keeping everything else the same. Whatever error is left can't be blamed on playing time.

Figure 1. How much of each stat's miss disappears if the model knows the minutes actually played

We re-scored every projection after swapping in the minutes the player really played. For points, the average miss fell from 4.97 to 4.19: 15.8%, about a sixth. For steals, blocks and turnovers, knowing the minutes barely helps. Averages over three seasons; the season-to-season range is in the table.

Source: HoopModel player-projection validation before launch: 62,156 player-games over three test seasons (2023-24, 2024-25, 2025-26).

Show the data
StatMiss (projected minutes)Miss (actual minutes)Share removedRange by season
PTS4.974.1915.8%15.5–16%
REB21.7611.9%11.1–12.5%
3PA1.61.4111.9%11.7–12.1%
AST1.481.377.3%7.1–7.4%
3PM0.980.916.7%6.2–7%
FTA1.771.694.5%4.4–4.6%
FTM1.481.424.3%4.1–4.4%
STL0.760.743.3%3.1–3.5%
BLK0.580.562.9%2.6–3.1%
TOV0.960.942.1%2–2.4%

For points, the average miss fell from 4.97 to 4.19, a 16% improvement, and points is the stat where minutes matter most. For steals, blocks and turnovers, knowing the minutes removes only about 2–3% of the miss.

So roughly five-sixths of a points miss happens per minute: shots falling or not, how many shots a player gets, trips to the free-throw line. That remainder isn't all luck. It also includes our model's own error in estimating how well a player scores, and this test can't separate the two. What it does show is that fixing minutes wouldn't fix the projections.

The average is right at every level

A big single-game miss would be a problem if it were systematic: stars always shaved, role players always inflated. It isn't. Sorting every projection from lowest to highest and comparing averages, the model is on target from the deep bench to the stars.

Figure 2. Points: projected vs actual average, from the lowest projections to the highest

Every player-game was sorted by its points projection and split into ten equal groups. In every group, the average actual score is within 0.4 points of the average projection: the model doesn't shave stars or inflate role players.

Source: HoopModel player-projection validation before launch: 62,156 player-games over three test seasons (2023-24, 2024-25, 2025-26).

Show the data
GroupAverage projectionAverage actual
14.84.8
26.86.7
38.28.2
49.59.5
510.910.9
612.312.4
714.114
816.816.8
920.319.9
1025.725.4

That's the useful way to think about a projection: an honest center for a wide spread of outcomes, not a prediction of the box score.

How wide the spread really is

We measure that spread with ranges built to contain the real result 9 times out of 10. For points the range is about ±10.6; for rebounds ±4.2; for assists ±3.2. Checked against three seasons of results, the ranges held close to the promised 90% for every stat.

Figure 3. 90% ranges: how often the actual result landed inside, by stat

Each projection gets a range meant to contain the real result 9 times in 10. For points, that range is about ±10.6. Across all eleven stats and three seasons, the ranges held between 88.5% and 92.6% of the time, close to the 90% they promise (dashed line). Dots are three-season averages; lines span the seasons.

Source: Split-conformal ranges built from each season's held-back training games.

Show the data
Stat90% range (±)Held (avg)Held (by season)80% range (±)80% held
MIN10.491.6%91–92.6%7.882.6%
PTS10.690.9%89.8–92%880.9%
REB4.290.5%90–90.8%3.180.2%
AST3.290.1%90.1–90.2%2.380.2%
STL1.489.4%88.5–90.1%1.178.8%
BLK1.290.1%89.7–90.7%0.880%
TOV1.989.8%89.5–90.3%1.479.1%
3PM2.290.6%89.2–91.7%1.680.8%
3PA3.690.5%89–91.6%2.780.7%
FTM3.189.9%88.9–90.9%2.279.3%
FTA3.789.8%88.6–91.2%2.679.2%

In practice: a projection of 20 points means roughly 9 to 31, nine nights in ten. Starters miss by more than bench players in raw points (5.36 vs 4.4 on average), simply because they score more.

What this means for fantasy

  • Treat a projection as the middle of a range. Two players projected for the same 20 points can have very different floors and ceilings.
  • For a specific line ("will he score 25?"), the player deep-dive shows how often he has cleared it in recent games, which says more than the single projected number.
  • Don't overreact to minutes news alone. It matters, but most of what decides a night happens once he's on the floor.