v26.0 baseline — trained 2001–2015
The model has learned. Here's what it knows.
Nine XGBoost regressors. 3,813 player-season records. 347 features per observation. Two years of model design decisions — the feature pipeline, the training data assembly, the recency weighting scheme — all crystallised into models that finally ran on real data for the first time.
The baseline was trained on seasons 2001–2015, then asked to predict the 2016 season from scratch. It had never seen that data. Here's exactly what happened.
Accuracy by category · first holdout test (2016)
How each model performed.
| Category | MAE | Accuracy | Grade | Note |
|---|
| Points | 1.975 | 82.3% | B | Solid. Consistent predictor. |
| Rebounds | 0.860 | 80.7% | B | Strong. Role-dependent. |
| Assists | 0.557 | 76.3% | C+ | Role changes cause misses. |
| Steals | 0.170 | 78.3% | B- | Low variance, small MAE. |
| Blocks | 0.153 | 68.3% | D+ | High variance. Hardest cat. |
| 3-Pointers | 0.280 | 72.7% | C | Role / system dependent. |
| FG% | 2.852 | 93.8% | A | Very stable year-to-year. |
| FT% | 3.992 | 94.8% | A | Best predictor. Stable. |
| Turnovers | 0.295 | 78.3% | B- | Usage-correlated. OK. |
Rankings sanity gate
Top 10 overall — 2025-26 projections.
Before accepting the baseline models, we ran a sanity check: generate composite fantasy rankings from 2024 features, and verify that elite players appear at the top. The gate passed — the model correctly identifies the best fantasy players.
1
Victor Wembanyama
SAS · Elite BLK + PTS
2
Giannis Antetokounmpo
MIL · Dominant across all cats
3
Nikola Jokić
DEN · Elite AST + REB + PTS
4
Luka Dončić
DAL · Volume scorer, high AST
5
Shai Gilgeous-Alexander
OKC · STL + PTS elite
6
Jayson Tatum
BOS · Consistent across all cats
7
Anthony Edwards
MIN · Ascending scorer
8
Joel Embiid
PHI · Elite when healthy
9
Anthony Davis
LAL · BLK + REB elite
10
Kevin Durant
PHX · Efficient scorer, low TO
What the model learned
Top feature by category.
For most categories, the strongest predictor is simply the same stat from last season — persistence dominates. The exceptions are interesting: AST is best predicted by archetype peer average age (because passing-oriented archetypes hold usage longer as they age), and FT% is anchored by a binary flag for known poor free throw shooters.
| Category | Top Feature | Importance |
|---|
| PTS | pts | |
| REB | reb | |
| AST | archetype_peer_avg_age | |
| STL | stl | |
| BLK | blk | |
| 3PM | three_pm | |
| FG% | fg_pct_current | |
| FT% | is_known_poor_ft_shooter | |
| TO | high_to_risk_flag | |
SHAP explanations
Why the model made each call — coming in Task 17.
Walk-forward validation is complete. The models are calibrated. Next step: SHAP explanations — per-player, per-category explanations of exactly what drove each projection. Blue bars will push projections higher, pink bars lower. Every projection on the platform will have a plain-English reason attached to it.
🔬 SHAP waterfall charts are being built in Task 17. They'll appear here and in every player projection on the platform.
What comes next
The roadmap from here.
Baseline models trained (2001–2015)
Completed · v26.0
✓Walk-forward validation (2016–2024)
Completed · 80.6% → 81.9%
✓Confidence intervals per projection
Task 16 · low/mid/high ranges
SHAP explanations
Task 17 · plain-English reasons
Fantasy value translation
Scarcity + league context
Oct 2026: Season projections locked
Immutable public record
← Back to Model Journal