Walk-forward audit generated 2026-06-09 across 21 held-out windows.
NBA Walk-Forward Validation
Projection error measured on held-out dates the model never trained on.
Season dataset from 2025-11-09 to 2026-06-05.
Average miss per player on the most recent held-out window the model never trained on.
Average miss per player on the most recent held-out window.
Typical projection miss by stat
Average absolute error per player-game on held-out validation windows — dates the model never saw in training.
| Stat | Latest window | All windows | Windows evaluated |
|---|---|---|---|
| Points | ±4.21 | ±4.63 | 3 |
| Rebounds | ±1.83 | ±1.91 | 3 |
| Assists | ±1.20 | ±1.35 | 3 |
| Steals | ±0.72 | ±0.73 | 3 |
| Blocks | ±0.50 | ±0.52 | 3 |
| Three-pointers made | ±0.84 | ±0.90 | 3 |
| Minutes | ±5.07 | ±5.29 | 3 |
Every validation window
Each row is one walk-forward test: the model is trained only on games before the cutoff date, then scored on games after it.
| Stat | Trained through | Held-out player-games | Average miss |
|---|---|---|---|
| Points | 2026-03-01 | 4,848 | ±4.74 |
| Points | 2026-04-01 | 2,961 | ±4.95 |
| Points | 2026-05-01 | 877 | ±4.21 |
| Rebounds | 2026-03-01 | 4,848 | ±1.92 |
| Rebounds | 2026-04-01 | 2,961 | ±1.98 |
| Rebounds | 2026-05-01 | 877 | ±1.83 |
| Assists | 2026-03-01 | 4,848 | ±1.39 |
| Assists | 2026-04-01 | 2,961 | ±1.45 |
| Assists | 2026-05-01 | 877 | ±1.20 |
| Steals | 2026-03-01 | 4,848 | ±0.74 |
| Steals | 2026-04-01 | 2,961 | ±0.74 |
| Steals | 2026-05-01 | 877 | ±0.72 |
| Blocks | 2026-03-01 | 4,848 | ±0.54 |
| Blocks | 2026-04-01 | 2,961 | ±0.54 |
| Blocks | 2026-05-01 | 877 | ±0.50 |
| Three-pointers made | 2026-03-01 | 4,848 | ±0.92 |
| Three-pointers made | 2026-04-01 | 2,961 | ±0.94 |
| Three-pointers made | 2026-05-01 | 877 | ±0.84 |
| Minutes | 2026-03-01 | 4,848 | ±4.88 |
| Minutes | 2026-04-01 | 2,961 | ±5.91 |
| Minutes | 2026-05-01 | 877 | ±5.07 |
Method: walk-forward validation re-trains the projection model using only games played before a cutoff date, then measures error on games after that date. Because the test games are always in the model's future, these numbers cannot benefit from hindsight.