Projected vs actual profile
Season averages, axes scaled to an elite Euroleague starter level.
Model vs naive baseline
The naive forecaster projects the average of season and last-5 games. We publish the comparison for every stat, whichever side wins.
| Stat | Skill | Avg | Model MAE | Naive MAE |
|---|---|---|---|---|
| Points • | -5.7% | 5.84 | 2.41 | 2.29 |
| Rebounds • | +10.3% | 3.26 | 1.66 | 1.84 |
| Assists | +0.8% | 2.0 | 1.06 | 1.07 |
| 3PM | +4.3% | 0.79 | 0.41 | 0.41 |
| PIR • | -18.4% | 6.0 | 5.6 | 4.31 |
Skill = CRPS improvement of the full probability distribution over a naive rolling average, per game, measured on the same games. The dotted stats (points, rebounds, PIR) drive the headline score; assists and threes are shown for transparency.
Game by game: predicted vs actual
The shaded band is the model's 10th to 90th percentile before tip-off. Dots are what he actually did.
Every game he started
| Date | Opponent | Points | Rebounds | Assists | 3PM | PIR |
|---|---|---|---|---|---|---|
| 2026-04-21 | @ FC Barcelona | 0 (5.4) | 4 (2.4) | 0 (1.9) | 0 (0.9) | -3 (7.9) |
| 2026-03-06 | vs FC Bayern Munich | 0 (7.0) | 4 (3.2) | 1 (2.2) | 0 (1.0) | 0 (10.2) |
| 2026-02-12 | @ Olympiacos Piraeus | 6 (6.9) | 2 (2.5) | 2 (2.0) | 2 (1.0) | 3 (8.3) |
| 2026-02-06 | vs Maccabi Tel Aviv | 7 (8.1) | 2 (3.5) | 2 (2.5) | 1 (1.3) | 5 (11.2) |
| 2026-02-03 | vs Hapoel Tel Aviv | 5 (7.9) | 1 (3.3) | 2 (2.3) | 1 (1.1) | 2 (10.1) |
| 2026-01-30 | vs Dubai Basketball | 7 (8.1) | 4 (3.7) | 1 (2.5) | 1 (1.2) | 7 (10.4) |
| 2026-01-20 | @ AS Monaco | 5 (7.2) | 2 (3.0) | 3 (2.4) | 1 (1.3) | 2 (9.5) |
| 2026-01-09 | @ Zalgiris Kaunas | 7 (6.7) | 4 (3.2) | 2 (2.2) | 1 (1.1) | 5 (8.9) |
| 2026-01-06 | vs Valencia Basket | 5 (7.5) | 2 (3.9) | 2 (2.5) | 1 (1.2) | 6 (10.6) |
| 2026-01-02 | @ Anadolu Efes Istanbul | 4 (7.9) | 1 (3.9) | 0 (2.4) | 1 (1.0) | 6 (10.7) |
| 2025-12-23 | @ Paris Basketball | 10 (7.8) | 4 (4.1) | 4 (2.3) | 1 (1.2) | 15 (10.9) |
| 2025-12-16 | @ Hapoel Tel Aviv | 4 (7.2) | 2 (4.2) | 0 (2.4) | 0 (1.1) | -2 (9.3) |
| 2025-12-12 | @ Partizan Belgrade | 3 (8.1) | 5 (4.3) | 3 (2.2) | 0 (1.0) | 7 (11.0) |
| 2025-11-21 | @ Valencia Basket | 7 (7.4) | 8 (4.0) | 3 (2.6) | 1 (0.8) | 11 (10.5) |
| 2025-11-13 | vs AS Monaco | 11 (8.1) | 7 (3.4) | 4 (2.9) | 1 (1.2) | 19 (10.9) |
| 2025-11-11 | @ Dubai Basketball | 8 (7.7) | 2 (3.5) | 2 (2.6) | 1 (1.0) | 10 (10.8) |
| 2025-11-05 | vs Panathinaikos Athens | 7 (8.5) | 0 (3.9) | 4 (2.8) | 1 (1.1) | 7 (11.0) |
| 2025-10-30 | @ Maccabi Tel Aviv | 9 (7.9) | 3 (4.4) | 0 (2.8) | 1 (0.9) | 4 (11.2) |
| 2025-10-28 | vs ASVEL Villeurbanne | 6 (7.7) | 5 (4.4) | 3 (3.0) | 0 (0.9) | 10 (11.7) |
Bold = actual, in brackets = model projection before the game. Only games he started are shown: our projections assume the starting five, so a scratch is not a model miss.
About this data
The 2025-26 season is a holdout backtest: the models were trained on Euroleague seasons up to 2022-23 and tuned on 2023-24, then predicted every 2025-26 game. The season is fully out-of-sample, with one caveat: historical features use realized lineups, while live production predicts from the expected starting five, so live accuracy can run marginally lower. PIR is the Euroleague's own performance index rating, the competition's summary number for a player's game, and the only projected stat here that can be negative. Projections and full distributions for today's games are on the Euroleague player projections page, team rating profiles on Euroleague team profiles, and the methodology behind every model on the methodology page.