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 • | +13.2% | 14.0 | 6.04 | 6.35 |
| Rebounds • | +0.8% | 4.22 | 2.02 | 2.0 |
| Assists | +9.5% | 1.78 | 1.02 | 1.1 |
| 3PM | +0.2% | 2.04 | 1.38 | 1.44 |
| PIR • | +10.0% | 14.65 | 8.3 | 8.55 |
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-24 | @ AS Monaco | 16 (13.9) | 7 (4.0) | 2 (2.7) | 2 (2.1) | 17 (15.3) |
| 2026-04-21 | vs Crvena Zvezda Belgrade | 22 (14.8) | 7 (3.5) | 3 (2.4) | 6 (2.0) | 26 (17.2) |
| 2026-04-17 | vs FC Bayern Munich | 22 (14.6) | 7 (3.8) | 5 (2.4) | 4 (2.0) | 33 (15.8) |
| 2026-04-10 | @ AS Monaco | 13 (13.8) | 5 (3.2) | 3 (2.2) | 4 (1.8) | 11 (15.0) |
| 2026-04-07 | vs Panathinaikos Athens | 10 (15.2) | 3 (3.8) | 0 (2.3) | 2 (1.9) | 11 (16.9) |
| 2026-04-02 | @ Zalgiris Kaunas | 9 (14.2) | 2 (3.9) | 3 (2.1) | 1 (1.8) | 9 (14.3) |
| 2026-03-27 | vs Crvena Zvezda Belgrade | 18 (13.8) | 1 (3.9) | 2 (2.0) | 1 (1.7) | 14 (15.2) |
| 2026-03-24 | vs Anadolu Efes Istanbul | 21 (13.8) | 5 (4.0) | 0 (1.9) | 2 (1.7) | 18 (15.4) |
| 2026-03-13 | vs Hapoel Tel Aviv | 15 (13.0) | 6 (4.1) | 2 (2.0) | 0 (1.8) | 13 (13.9) |
| 2026-03-05 | @ Olimpia Milano | 10 (12.5) | 3 (3.8) | 2 (1.7) | 0 (1.8) | 6 (12.3) |
| 2026-02-25 | @ Virtus Bologna | 0 (13.1) | 0 (3.9) | 0 (2.0) | 0 (1.8) | -5 (14.0) |
| 2026-02-12 | vs Paris Basketball | 9 (15.2) | 5 (4.6) | 1 (1.8) | 0 (2.0) | 8 (16.8) |
| 2026-02-06 | @ Baskonia Vitoria-Gasteiz | 14 (14.0) | 3 (4.4) | 4 (1.6) | 2 (1.9) | 17 (15.1) |
| 2026-02-03 | vs Fenerbahce Istanbul | 4 (15.2) | 5 (4.4) | 1 (1.5) | 1 (1.7) | -1 (17.1) |
| 2025-12-19 | vs Baskonia Vitoria-Gasteiz | 12 (14.8) | 2 (4.8) | 1 (1.6) | 0 (1.9) | 12 (16.8) |
| 2025-12-16 | @ Paris Basketball | 19 (14.6) | 12 (4.3) | 1 (1.7) | 2 (2.1) | 33 (15.8) |
| 2025-12-12 | vs Olympiacos Piraeus | 28 (12.3) | 3 (4.0) | 2 (1.6) | 7 (1.6) | 33 (13.3) |
| 2025-12-05 | @ Crvena Zvezda Belgrade | 22 (11.0) | 5 (3.7) | 2 (1.6) | 4 (1.4) | 24 (11.6) |
| 2025-11-26 | vs ASVEL Villeurbanne | 5 (12.7) | 2 (4.1) | 1 (1.7) | 1 (1.6) | 3 (15.1) |
| 2025-11-20 | @ Anadolu Efes Istanbul | 3 (13.8) | 3 (4.2) | 0 (1.9) | 1 (1.7) | 4 (15.2) |
| 2025-11-07 | vs Real Madrid | 19 (12.9) | 2 (4.2) | 1 (1.7) | 3 (1.6) | 23 (14.6) |
| 2025-10-31 | @ Partizan Belgrade | 14 (12.6) | 4 (4.6) | 3 (1.7) | 2 (1.7) | 12 (12.8) |
| 2025-10-28 | vs Olimpia Milano | 17 (12.4) | 5 (4.7) | 2 (1.2) | 2 (1.4) | 16 (13.3) |
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.