Cycling race predictor · one-day race

Grand Prix de Wallonie (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 16 September 2026 1 reading 149 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.00
mountain0.16
hilly0.00
rolling0.83
break0.01
TT0.00
References: Bretagne Classic (2023); Binche-Chimay-Binche (2017); Druivenkoers Overijse (2024); Tro-Bro Leon (2022); Tro-Bro Leon (2025)
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): Grégoire Romain 24.2%; Vermeersch Florian 14.4%; Pithie Laurence 6.9%; Morgado António 5.6%; De Lie Arnaud 5.1%

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 112% — 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
Grégoire RomainGROUPAMA-FDJ UNITED24.2%13.6%24.2%n/a––
Vermeersch FlorianUAE TEAM EMIRATES XRG14.4%20.5%11.3%n/a––
Pithie LaurenceRED BULL - BORA - HANSGROHE6.9%9.9%5.4%n/a––
Morgado AntónioUAE TEAM EMIRATES XRG5.6%5.0%5.2%n/a––
De Lie ArnaudLOTTO INTERMARCHÉ5.1%5.2%4.5%n/a––
Lapeira PaulDECATHLON CMA CGM TEAM4.0%3.5%3.7%n/a––
Askey LewisNSN CYCLING TEAM3.6%4.0%3.2%n/a––
Berckmoes JennoLOTTO INTERMARCHÉ3.3%2.2%3.2%n/a––
Wellens TimUAE TEAM EMIRATES XRG2.8%3.4%2.3%n/a––
Adrià RogerMOVISTAR TEAM2.7%3.6%2.2%n/a––
Cosnefroy BenoîtUAE TEAM EMIRATES XRG2.3%3.8%1.7%n/a––
Pluimers RickTUDOR PRO CYCLING TEAM2.3%0.8%2.4%n/a––
Del Grosso TiborALPECIN-PREMIER TECH2.2%2.4%2.0%n/a––
Tesfazion NatnaelMOVISTAR TEAM2.1%1.2%2.1%n/a––
Wærenskjold SørenUNO-X MOBILITY1.9%2.7%1.5%n/a––
Trentin MatteoTUDOR PRO CYCLING TEAM1.8%2.3%1.5%n/a––
van Poppel DannyRED BULL - BORA - HANSGROHE1.8%2.1%1.5%n/a––
van Dijke MickRED BULL - BORA - HANSGROHE1.7%1.1%1.6%n/a––
van Dijke TimRED BULL - BORA - HANSGROHE1.7%3.0%1.1%n/a––
Teutenberg Tim TornLIDL-TREK1.3%1.7%1.0%n/a––
Girmay BiniamNSN CYCLING TEAM1.1%1.9%0.8%n/a––
Grisel MatysLOTTO INTERMARCHÉ1.1%0.8%1.1%n/a––
Hindsight (post-hoc) — oracle-matched references — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Market odds
1Grégoire Romain24.2%13.6%24.2%30.8%72.1%n/a
2Vermeersch Florian14.4%20.5%11.3%32.0%61.4%n/a
3Pithie Laurence6.9%9.9%5.4%22.4%55.7%n/a
4Morgado António5.6%5.0%5.2%13.1%42.6%n/a
5De Lie Arnaud5.1%5.2%4.5%15.0%41.0%n/a
6Lapeira Paul4.0%3.5%3.7%14.8%46.6%n/a
7Askey Lewis3.6%4.0%3.2%14.1%49.5%n/a
8Berckmoes Jenno3.3%2.2%3.2%7.7%39.8%n/a
9Wellens Tim2.8%3.4%2.3%8.3%35.6%n/a
10Adrià Roger2.7%3.6%2.2%10.8%42.0%n/a
11Cosnefroy Benoît2.3%3.8%1.7%9.9%41.5%n/a
12Pluimers Rick2.3%0.8%2.4%8.3%48.1%n/a
13Del Grosso Tibor2.2%2.4%2.0%7.8%36.0%n/a
14Tesfazion Natnael2.1%1.2%2.1%8.3%49.3%n/a
15Wærenskjold Søren1.9%2.7%1.5%6.5%24.4%n/a
16Trentin Matteo1.8%2.3%1.5%6.8%46.4%n/a
17van Poppel Danny1.8%2.1%1.5%8.0%38.8%n/a
18van Dijke Mick1.7%1.1%1.6%5.3%21.7%n/a
19van Dijke Tim1.7%3.0%1.1%7.9%33.2%n/a
20Teutenberg Tim Torn1.3%1.7%1.0%4.7%23.9%n/a
21Girmay Biniam1.1%1.9%0.8%3.9%35.6%n/a
22Grisel Matys1.1%0.8%1.1%4.7%35.8%n/a
23Christen Fabio1.0%0.6%1.0%3.7%33.9%n/a
24Jeannière Emilien0.9%1.2%0.7%6.6%35.5%n/a
25Huens Axel0.9%0.6%0.8%2.4%29.8%n/a
26Barrenetxea Jon0.8%0.7%0.7%3.6%33.6%n/a
27Loockx Lander0.8%0.6%0.8%4.0%26.9%n/a
28Venturini Clément0.7%0.6%0.7%2.3%32.4%n/a
29Teunissen Mike0.7%0.5%0.7%3.8%29.4%n/a
30Sheehan Riley0.7%0.5%0.7%3.1%32.7%n/a

After the race

Result — won by Sparfel Aubin

PosRiderTeamHindsight (post-hoc) win p
1Sparfel AubinDECATHLON CMA CGM DEVELOPMENT TEAM0.1%
2Grégoire RomainGROUPAMA-FDJ UNITED24.2%
3Fretin MilanCOFIDIS0.4%
4Cosnefroy BenoîtUAE TEAM EMIRATES XRG2.3%
5Lapeira PaulDECATHLON CMA CGM TEAM4.0%
6Berckmoes JennoLOTTO INTERMARCHÉ3.3%
7Adrià RogerMOVISTAR TEAM2.7%
8Vadic BaptisteTOTALENERGIES0.1%
9Teuns DylanCOFIDIS0.5%
10Venturini ClémentUNIBET ROSE ROCKETS0.7%

Scoring — probability given to the actual winner

ReadingBlendCascade LambdaRankMarket devig
Hindsight (post-hoc)0.13%0.20%0.10%–

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