Cycling race predictor · Giro d'Abruzzo

Stage 1 — 2026-09-15

The same production stack priced under 1 course readings, against the bookmaker's pre-stage line. Each scenario is one opinion about what kind of day this is; the results section settles the argument.

1 scenarios 132 riders priced models retrained d911de60f7 book snapshot no capture

The fork

1 readings of the same road

Course profile is an input the model can't see from a map — it's set from reference races (or overridden by hand). Different readings redistribute the same probability mass across rider types.

Hindsight (post-hoc)

Hindsight (post-hoc) — oracle-matched references
sprint0.00
mountain0.53
hilly0.00
rolling0.47
break0.01
TT0.00
keyed: mountain escape (board order by rider-type retrieval; prices unchanged)
RETROSPECTIVE ONLY — no pre-race prediction was made. This board uses the settled result as the oracle and the nearest historical realized race shapes. It is corpus completion, not evidence of forecasting skill.
Top 5 (blend): Rondel Mathys 18.3%; Crescioli Ludovico 6.8%; Castellon Jan 6.6%; Vauquelin Kévin 6.6%; Fancellu Alessandro 5.0%

The board

Win probabilities, scenario by scenario

Blend win probability per scenario (cascade × LambdaRank, DNF-adjusted at the pricing layer), next to the devigged Kambi (Unibet) win line captured the morning before the stage. "Max edge" compares the most favourable scenario against the book — treat it as scenario-conditional, not a free bet.

Read "Max edge" as directional, not as a price. The blend is a set of per-rider marginals and does not sum to one book — across this field each reading totals Hindsight (post-hoc) 83% — while the devigged book column sums to exactly 100%. Putting the two side by side flatters the model, and Max edge is inflated by about that factor: divide a rider's probability by his reading's total before calling anything an edge. Of our heads only the LambdaRank one is natively book-preserving.

RiderTeamHindsight (post-hoc)Book oddsBook devigMax edge
Rondel MathysTudor Pro Cycling Team18.3%n/a––
Crescioli LudovicoTeam Polti VisitMalta6.8%n/a––
Castellon JanCaja Rural-Seguros RGA6.6%n/a––
Vauquelin KévinNetcompany INEOS6.6%n/a––
Fancellu AlessandroMBH Bank Ballan Telecom Fort5.0%n/a––
Berasategi XabierEuskaltel-Euskadi4.9%n/a––
Tolio AlexBardiani-CSF 7 Saber3.2%n/a––
Godon DorianNetcompany INEOS2.1%n/a––
Verre AlessandroMBH Bank Ballan Telecom Fort2.0%n/a––
Umba SantiagoSolution Tech-NIPPO-Rali1.9%n/a––
Poels WoutUnibet Rose Rockets1.8%n/a––
Ulissi DiegoXDS Astana Development Team1.6%n/a––
Juaristi TxominEuskaltel-Euskadi1.6%n/a––
Murguialday JokinEuskaltel-Euskadi1.4%n/a––
Masnada FaustoMBH Bank Ballan Telecom Fort1.4%n/a––
Kajamini FlorianMBH Bank Ballan Telecom Fort1.3%n/a––
Turconi FilippoBardiani-CSF 7 Saber1.3%n/a––
Ponomar AndriiGeneral Store-Essegibi-F.Ili Curia1.3%n/a––
Hindsight (post-hoc) — oracle-matched references — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Rondel Mathys18.3%14.3%23.0%33.5%81.6%n/a
2Crescioli Ludovico6.8%4.9%8.7%16.4%65.4%n/a
3Castellon Jan6.6%6.8%7.9%19.7%62.9%n/a
4Vauquelin Kévin6.6%10.6%7.0%24.8%60.7%n/a
5Fancellu Alessandro5.0%3.0%6.6%12.1%56.6%n/a
6Berasategi Xabier4.9%2.6%6.5%10.9%46.5%n/a
7Tolio Alex3.2%2.8%4.0%9.1%55.0%n/a
8Godon Dorian2.1%7.4%1.2%18.0%39.5%n/a
9Verre Alessandro2.0%1.5%2.5%7.5%33.5%n/a
10Umba Santiago1.9%1.7%2.3%7.5%45.1%n/a
11Poels Wout1.8%1.6%2.3%6.4%41.6%n/a
12Ulissi Diego1.6%1.4%2.0%5.5%45.9%n/a
13Juaristi Txomin1.6%2.0%1.8%5.9%33.0%n/a
14Murguialday Jokin1.4%1.7%1.6%4.9%43.8%n/a
15Masnada Fausto1.4%1.4%1.6%3.6%23.2%n/a
16Kajamini Florian1.3%1.6%1.5%6.9%37.7%n/a
17Turconi Filippo1.3%1.4%1.5%5.5%36.4%n/a
18Ponomar Andrii1.3%2.1%1.4%4.8%33.4%n/a
19Pozzovivo Domenico1.0%1.5%1.1%9.8%47.9%n/a
20Tsarenko Kyrylo0.8%0.8%0.9%2.6%25.0%n/a
21Bou Joan0.7%0.5%0.9%1.7%16.5%n/a
22Jasch Lennart0.6%0.8%0.8%1.3%20.8%n/a
23Sutton Louis0.6%0.7%0.7%3.0%20.9%n/a
24Cruz Martínez Edward0.6%0.5%0.7%2.4%18.0%n/a
25Herreño Martín0.6%0.7%0.6%2.5%23.5%n/a
26Barceló Fernando0.5%0.5%0.6%3.0%21.4%n/a
27De Cassan Davide0.5%0.4%0.6%1.5%12.8%n/a
28Eiking Odd Christian0.4%0.4%0.5%1.6%16.6%n/a
29Lastra Jonathan0.4%0.3%0.6%1.4%16.8%n/a
30Conci Nicola0.4%0.8%0.4%3.6%30.9%n/a

After the stage

Results — won by Fancellu Alessandro

PosRiderTeamHindsight (post-hoc) win p
1Fancellu AlessandroMBH Bank Ballan Telecom Fort5.0%
2Rondel MathysTudor Pro Cycling Team18.3%
3Ulissi DiegoXDS Astana Development Team1.6%
4Vauquelin KévinNetcompany INEOS6.6%
5Garibbo NicoloTeam UKYO0.2%
6Crescioli LudovicoTeam Polti VisitMalta6.8%
7Conci NicolaXDS Astana Development Team0.4%
8Pozzovivo DomenicoSolution Tech-NIPPO-Rali1.0%
9Christophersen Cedrik BakkeUnibet Rose Rockets0.3%
10Fabbro MatteoSolution Tech-NIPPO-Rali0.3%

Scenario scoring — probability given to the actual winner

ScenarioBlend win pBook devig
Hindsight (post-hoc)5.04%–