Cycling race predictor · one-day race

Memorial Pantani (no prediction made) settled

One day, one result: the production stack priced the whole field under 1 course reading, against the market's line where one was captured. A one-day race is its own best reference — the main reading is built from this race's own recent editions.

Raced 12 September 2026 1 reading 165 riders priced models retrained d911de60f7 market snapshot no capture

The fork

1 reading of the same road

Course profile is an input the model cannot see from a map — it is set from reference races. The main reading averages this race's own last editions, so the terrain and the kind of rider it selects come from the race's own history; any alternate reading swaps in an archetype set to ask what a different day would do to the same field.

Hindsight (post-hoc)

Hindsight (post-hoc) — oracle-matched references
sprint0.43
mountain0.01
hilly0.46
rolling0.03
break0.07
TT0.00
References: Memorial Pantani (2025); Memorial Pantani (2024); Memorial Pantani (2023); Memorial Pantani (2021); Memorial Pantani (2020)
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): Turner Ben 17.6%; Aranburu Alex 6.3%; Godon Dorian 4.9%; Grégoire Romain 4.8%; Oldani Stefano 4.5%

The board

Win probabilities across the heads

Blend is the production price (cascade × LambdaRank, DNF-adjusted at the pricing layer); Cascade and LambdaRank are the two underlying heads shown for the main reading. The market columns are the devigged win line, present as the information benchmark the model is scored against.

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 81% — while the devigged market column sums to exactly 100%. Putting the two side by side flatters the model, and Max edge is inflated by about that factor. Of our heads only the LambdaRank one is natively book-preserving.

RiderTeamBlendCascadeLambdaRankMarket oddsMarket devigMax edge
Turner BenNETCOMPANY INEOS17.6%16.9%21.9%n/a––
Aranburu AlexCOFIDIS6.3%6.7%7.6%n/a––
Godon DorianNETCOMPANY INEOS4.9%6.9%5.6%n/a––
Grégoire RomainGROUPAMA-FDJ UNITED4.8%7.1%5.3%n/a––
Oldani StefanoCAJA RURAL-SEGUROS RGA4.5%2.6%6.0%n/a––
Cavia DanielBURGOS-BURPELLET-BH3.6%3.2%4.6%n/a––
Adrià RogerMOVISTAR TEAM3.5%2.1%4.7%n/a––
Scaroni CristianXDS ASTANA TEAM2.8%2.9%3.5%n/a––
Morgado AntónioUAE TEAM EMIRATES XRG2.6%3.9%2.8%n/a––
Tesfazion NatnaelMOVISTAR TEAM2.0%1.5%2.6%n/a––
Cosnefroy BenoîtUAE TEAM EMIRATES XRG1.9%4.9%1.6%n/a––
Crescioli LudovicoTEAM POLTI VISITMALTA1.8%0.9%2.5%n/a––
Darder SergiCAJA RURAL-SEGUROS RGA1.7%1.1%2.3%n/a––
Vendrame AndreaTEAM JAYCO ALULA1.6%2.0%1.8%n/a––
Barrenetxea JonMOVISTAR TEAM1.6%1.7%1.9%n/a––
Boichis AdrienRED BULL - BORA - HANSGROHE1.5%2.5%1.6%n/a––
Christen JanUAE TEAM EMIRATES XRG1.3%2.5%1.3%n/a––
Hindsight (post-hoc) — oracle-matched references — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Market odds
1Turner Ben17.6%16.9%21.9%40.1%68.3%n/a
2Aranburu Alex6.3%6.7%7.6%23.8%69.1%n/a
3Godon Dorian4.9%6.9%5.6%21.5%49.8%n/a
4Grégoire Romain4.8%7.1%5.3%19.7%54.2%n/a
5Oldani Stefano4.5%2.6%6.0%15.6%58.1%n/a
6Cavia Daniel3.6%3.2%4.6%13.3%50.7%n/a
7Adrià Roger3.5%2.1%4.7%9.8%48.5%n/a
8Scaroni Cristian2.8%2.9%3.5%11.5%46.5%n/a
9Morgado António2.6%3.9%2.8%16.1%45.5%n/a
10Tesfazion Natnael2.0%1.5%2.6%7.9%49.4%n/a
11Cosnefroy Benoît1.9%4.9%1.6%13.9%44.9%n/a
12Crescioli Ludovico1.8%0.9%2.5%2.6%28.1%n/a
13Darder Sergi1.7%1.1%2.3%5.3%39.3%n/a
14Vendrame Andrea1.6%2.0%1.8%8.4%48.9%n/a
15Barrenetxea Jon1.6%1.7%1.9%4.6%35.1%n/a
16Boichis Adrien1.5%2.5%1.6%7.0%34.7%n/a
17Christen Jan1.3%2.5%1.3%8.7%36.4%n/a
18Molenaar Alex1.0%0.7%1.3%3.0%27.0%n/a
19Magli Filippo1.0%0.4%1.4%3.3%35.6%n/a
20Ballerini Davide0.9%1.5%0.9%8.5%36.9%n/a
21Martín Gotzon0.8%0.2%1.2%1.6%36.0%n/a
22Vlasov Aleksandr0.7%0.9%0.9%2.7%13.2%n/a
23Fagundez Eric0.7%0.5%1.0%2.3%20.1%n/a
24Nerurkar Lukas0.7%0.3%0.9%1.9%32.3%n/a
25Delettre Alexandre0.6%0.1%0.9%0.9%20.6%n/a
26Velasco Simone0.5%0.1%0.7%1.0%21.5%n/a
27Donnenwirth Tom0.5%0.3%0.7%2.6%29.1%n/a
28Vauquelin Kévin0.5%0.4%0.6%1.0%10.7%n/a
29Tiberi Antonio0.4%0.2%0.6%0.9%19.4%n/a
30Rondel Mathys0.4%0.4%0.5%1.2%12.1%n/a

After the race

Result — won by Izagirre Ion

PosRiderTeamHindsight (post-hoc) win p
1Izagirre IonCOFIDIS0.1%
2Pellizzari GiulioRED BULL - BORA - HANSGROHE0.1%
3Honore MikkelEF EDUCATION - EASYPOST0.3%
4Storer MichaelTUDOR PRO CYCLING TEAM0.0%
5Hoelgaard MarkusUNO-X MOBILITY0.1%
6Hindley JaiRED BULL - BORA - HANSGROHE0.0%
7Delbove JorisTOTALENERGIES0.0%
8Tiberi AntonioBAHRAIN VICTORIOUS0.4%
9Rondel MathysTUDOR PRO CYCLING TEAM0.4%
10Godon DorianNETCOMPANY INEOS4.9%

Scoring — probability given to the actual winner

ReadingBlendCascade LambdaRankMarket devig
Hindsight (post-hoc)0.12%0.10%0.16%–

Result rows are joined to the boards by FirstCycling rider id through the riders table. 0 row(s) needed the normalised-name fallback; 2 finisher(s) could not be matched at all.