Cycling race predictor · one-day race

GP Québec (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 11 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.04
mountain0.08
hilly0.35
rolling0.39
break0.15
TT0.00
References: GP Québec (2025); GP Québec (2024); GP Québec (2023); GP Québec (2022); GP Québec (2019)
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): Evenepoel Remco 20.1%; Pidcock Tom 13.0%; del Toro Isaac 10.7%; Seixas Paul 10.4%; Matthews Michael 5.4%

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 101% — 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
Evenepoel RemcoRED BULL - BORA - HANSGROHE20.1%25.8%18.4%n/a––
Pidcock TomPINARELLO-Q36.5 PRO CYCLING TEAM13.0%8.7%14.0%n/a––
del Toro IsaacUAE TEAM EMIRATES XRG10.7%10.3%10.7%n/a––
Seixas PaulDECATHLON CMA CGM TEAM10.4%14.0%9.4%n/a––
Matthews MichaelTEAM JAYCO ALULA5.4%6.0%5.2%n/a––
Silva ThomasXDS ASTANA TEAM2.6%1.8%2.8%n/a––
Strong CorbinNSN CYCLING TEAM2.6%2.0%2.8%n/a––
Hirschi MarcTUDOR PRO CYCLING TEAM2.3%2.3%2.3%n/a––
Ayuso JuanLIDL-TREK2.2%2.2%2.2%n/a––
Vermeersch FlorianUAE TEAM EMIRATES XRG2.1%3.4%1.8%n/a––
Berckmoes JennoLOTTO INTERMARCHÉ2.0%1.3%2.2%n/a––
Lapeira PaulDECATHLON CMA CGM TEAM1.9%2.4%1.8%n/a––
McNulty BrandonUAE TEAM EMIRATES XRG1.6%2.8%1.2%n/a––
Gruel ThibaudGROUPAMA-FDJ UNITED1.5%2.2%1.3%n/a––
Zambanini EdoardoBAHRAIN VICTORIOUS1.2%0.4%1.3%n/a––
Foldager AndersTEAM JAYCO ALULA1.1%2.0%0.9%n/a––
Jorgenson MatteoTEAM VISMA | LEASE A BIKE1.1%0.7%1.2%n/a––
Van Eetvelt LennertLOTTO INTERMARCHÉ1.0%0.4%1.2%n/a––
Hindsight (post-hoc) — oracle-matched references — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Market odds
1Evenepoel Remco20.1%25.8%18.4%47.3%72.0%n/a
2Pidcock Tom13.0%8.7%14.0%26.3%66.0%n/a
3del Toro Isaac10.7%10.3%10.7%20.5%47.0%n/a
4Seixas Paul10.4%14.0%9.4%26.0%50.4%n/a
5Matthews Michael5.4%6.0%5.2%16.6%57.0%n/a
6Silva Thomas2.6%1.8%2.8%8.2%47.6%n/a
7Strong Corbin2.6%2.0%2.8%9.6%43.0%n/a
8Hirschi Marc2.3%2.3%2.3%9.1%48.9%n/a
9Ayuso Juan2.2%2.2%2.2%6.3%24.6%n/a
10Vermeersch Florian2.1%3.4%1.8%8.3%26.9%n/a
11Berckmoes Jenno2.0%1.3%2.2%5.9%45.2%n/a
12Lapeira Paul1.9%2.4%1.8%8.4%38.9%n/a
13McNulty Brandon1.6%2.8%1.2%6.0%23.0%n/a
14Gruel Thibaud1.5%2.2%1.3%7.7%40.5%n/a
15Zambanini Edoardo1.2%0.4%1.3%3.5%32.4%n/a
16Foldager Anders1.1%2.0%0.9%6.7%33.0%n/a
17Jorgenson Matteo1.1%0.7%1.2%2.3%23.4%n/a
18Van Eetvelt Lennert1.0%0.4%1.2%1.9%18.5%n/a
19Lamperti Luke0.9%0.6%1.0%3.7%20.6%n/a
20Van Gils Maxim0.9%0.4%1.1%1.8%18.7%n/a
21Ciccone Giulio0.7%0.3%0.8%2.4%16.8%n/a
22Raccagni Noviero Andrea0.7%0.3%0.8%2.1%18.4%n/a
23Uhlig Henri0.7%0.5%0.8%2.2%20.7%n/a
24Benoot Tiesj0.6%0.4%0.7%1.4%17.5%n/a
25Hermans Quinten0.6%0.1%0.7%1.0%13.3%n/a
26Isidore Noa0.6%0.6%0.5%2.8%16.7%n/a
27Oliver Ben0.5%0.2%0.6%1.5%13.2%n/a
28Narvaez Jhonnatan0.5%0.6%0.5%1.7%13.5%n/a
29Sheffield Magnus0.5%0.8%0.4%1.9%14.6%n/a
30Van Wilder Ilan0.5%0.5%0.5%1.3%16.2%n/a

After the race

Result — won by Evenepoel Remco

PosRiderTeamHindsight (post-hoc) win p
1Evenepoel RemcoRED BULL - BORA - HANSGROHE20.1%
2Ciccone GiulioLIDL-TREK0.7%
3Charmig AnthonUNO-X MOBILITY0.3%
4Pidcock TomPINARELLO-Q36.5 PRO CYCLING TEAM13.0%
5Simmons QuinnLIDL-TREK0.4%
6Matthews MichaelTEAM JAYCO ALULA5.4%
7Lapeira PaulDECATHLON CMA CGM TEAM1.9%
8Jorgenson MatteoTEAM VISMA | LEASE A BIKE1.1%
9Pinarello AlessandroNSN CYCLING TEAM0.4%
10Schachmann MaxSOUDAL QUICK-STEP0.3%

Scoring — probability given to the actual winner

ReadingBlendCascade LambdaRankMarket devig
Hindsight (post-hoc)20.08%25.81%18.45%–

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.