Expected minutes, points, rebounds, assists and threes for every player, from recent form, the opponent's defense by position and pace. Each number comes with an 80% range.
01Projections
Wed, Oct 21 · 11 games
Based on 2025-26: nobody has played 5 games of 2026-27 yet, so these use last season's per-minute numbers and expected minutes on each player's current roster. Players with fewer than 20 games last season are left out until they play. They switch to this season's games on their own.
ATL at ORL 7:00 PM ET · MIL at WAS 7:00 PM ET · MIN at MIA 7:30 PM ET · CHA at BKN 7:30 PM ET · CHI at TOR 7:30 PM ET · IND at NOP 8:00 PM ET · UTA at MEM 8:00 PM ET · DAL at HOU 8:30 PM ET · PHX at POR 10:00 PM ET · GSW at LAL 10:00 PM ET · SAC at LAC 10:30 PM ET
Small numbers under each projection are the 80% range. Defense chips rank the opponent on points allowed per 100 possessions to his position group: bottom-5 means one of the five most generous. 2 players shown.
Check a prop line
Betting tools
Projection 31.8 (80% range 19-44). Type the line from your sportsbook to see the over and under chances.
One game is noisy: even a good projection misses by several points most nights. Add it to a parlay.
02Track record
2025-26 backtest
No projected games are final yet. Here is how the model did replaying 2025-26.
2025-26 backtest: average miss per player game
Stat
This model
Season average
Last 10 average
Gain vs season avg
Inside 80% range
Points
4.58
4.69
4.66
2.2%
80%
Rebounds
1.88
1.91
1.93
1.6%
81%
Assists
1.35
1.37
1.37
1.3%
80%
Threes made
0.89
0.90
0.91
1.1%
80%
Minutes
5.03
5.43
5.12
7.4%
n/a
Lower is better. Season and last-10 averages are the simple guesses the model has to beat.
How this works
The method
Two steps. First we project minutes from a player's minutes per game this season, over his last 10 games and over his last 5 (the last 5 count the most), plus home court and the second night of a back-to-back. Then each stat is his per-minute rate (season, last 10 and last 5) times those minutes, adjusted for the opponent and the pace.
The opponent adjustment compares how many points, rebounds, assists and threes the opponent allows per 100 possessions to his position group (guards, forwards or centers) with the league. Early in a season it leans on last season's number. An opponent that allows 10% more points to his position adds about 2.1% to his points. A game 3% faster than average adds about 5.5%.
The weights were fit by least squares on 24,874 player games from 2025-26. The 80% ranges come from how far real results landed from the projection in testing, grouped by projected minutes.
How we tested it
We replayed 2025-26 from Mon, Dec 1 to Sun, Apr 12, refitting on the first of each month using only earlier games, and projected 19,968 player games. The average miss on points was 4.58, against 4.69 for his season average and 4.66 for his last-10 average. The gain is small, but it held for every stat, and 80% of real point totals landed inside the 80% range.
A gradient boosting model on the same inputs missed by 4.65 points, so we kept the simpler model. It runs inside our database every morning.
What it cannot see
Injuries, rest days, who starts and trades after the morning update. It projects every active player as if he plays, and it is graded only on players who did. Minutes are the biggest source of error: had we known each player's real minutes, the average miss on points would have been 3.74 instead of 4.58. Blowouts cut starters' minutes and are not predicted.
Until a player has 5 games in a season, his projection uses last season's per-minute numbers and his expected minutes on his current roster (last season's minutes handed out down the depth chart). That early-season mode could not be tested, because our data starts in 2025-26. Rookies without NBA games get no projection, and neither do players with fewer than 20 games last season (a few games is too small a sample) until they play this season (Decision #87).
Updated every morning for the next seven days of games. Once a game tips off its projections are frozen, and those frozen numbers are what we grade.