Cycling race predictor · Tour de France 2026

Stage 2 — 2026-07-05

The same production stack priced under 4 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.

4 scenarios 184 riders priced models retrained 2026-06-28 book snapshot markets_1259.json

The fork

4 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.

Montjuïc archetype

Catalunya final-stage archetype (Montjuïc)
sprint0.01
mountain0.17
hilly0.04
rolling0.45
break0.33
TT0.00
Volta a Catalunya final stage 2021/2022/2024/2025 (2023 stages absent from DB — GC only). Model-space read: selective puncheur/GC day (rolling 0.45, mountain 0.17).
Top 5 (blend): Pogacar Tadej 35.9%; Seixas Paul 6.7%; del Toro Isaac 6.4%; van der Poel Mathieu 5.0%; Evenepoel Remco 3.9%

Reduced sprint

Synthetic reduced-sprint read (hilly 45 / break 33 / rolling 22)
sprint0.00
mountain0.00
hilly0.45
rolling0.22
break0.33
TT0.00
Terrain scores overridden; gradients/metadata from the Catalunya reference average. In model space high hilly-score = classics day ending in a reduced bunch kick.
Top 5 (blend): Pogacar Tadej 17.4%; Philipsen Jasper 14.1%; Merlier Tim 7.3%; De Lie Arnaud 7.1%; van der Poel Mathieu 6.4%

Selective hilly

Synthetic selective-hilly read (hilly 45 / mountain 30 / break 25)
sprint0.00
mountain0.30
hilly0.45
rolling0.00
break0.25
TT0.00
Terrain scores overridden; gradients/metadata from the Catalunya reference average. Mountain weight added to force selectivity onto the hilly read.
Top 5 (blend): Pogacar Tadej 24.8%; Philipsen Jasper 6.2%; van der Poel Mathieu 5.9%; De Lie Arnaud 5.4%; Pedersen Mads 3.7%

Hindsight (post-hoc)

Hindsight — real stages that finished like stage 2 actually finished
sprint0.00
mountain0.34
hilly0.00
rolling0.65
break0.02
TT0.00
Post-race reconstruction, never logged as a prediction: the five DB stages whose finish-gap curves best match how stage 2 played out (4 riders at 0s, 13 within 5s, 37 within 2:00, nobody 2:00-5:00) — Vuelta'23 s3, UAE'22 s4, UAE'25 s3, Giro'25 s7, Pologne'23 s2. They average rolling ~0.65 / mountain ~0.33 and were won by Evenepoel, Pogacar (x2), Ayuso, Mohoric.
Top 5 (blend): Pogacar Tadej 43.7%; Evenepoel Remco 10.2%; Vingegaard Jonas 10.1%; Seixas Paul 8.5%; Lipowitz Florian 6.7%

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.

RiderTeamMontjuïc archetypeReduced sprintSelective hillyHindsight (post-hoc)Book oddsBook devigMax edge
Pogacar TadejUAE Team Emirates-XRG35.9%17.4%24.8%43.7%1.7239.0%+4.7pp
Philipsen JasperAlpecin-Premier Tech2.2%14.1%6.2%0.0%301.000.2%+13.9pp
Evenepoel RemcoRed Bull-BORA-hansgrohe3.9%2.6%2.2%10.2%17.003.9%+6.2pp
Vingegaard JonasTeam Visma | Lease a Bike1.9%0.9%1.6%10.1%21.003.2%+6.9pp
Seixas PaulDecathlon CMA CGM Team6.7%2.6%3.6%8.5%23.002.9%+5.6pp
Merlier TimSoudal Quick-Step0.9%7.3%2.4%0.0%n/a––
De Lie ArnaudLotto-Intermarché3.3%7.1%5.4%0.0%n/a––
Lipowitz FlorianRed Bull-BORA-hansgrohe1.7%0.3%0.7%6.7%101.000.7%+6.0pp
del Toro IsaacUAE Team Emirates-XRG6.4%2.1%2.2%4.9%17.003.9%+2.5pp
van der Poel MathieuAlpecin-Premier Tech5.0%6.4%5.9%0.8%5.5012.2%-5.8pp
Girmay BiniamNSN Cycling Team2.1%5.8%3.7%0.0%251.000.3%+5.6pp
Kooij OlavDecathlon CMA CGM Team0.5%4.8%1.4%0.0%1001.000.1%+4.8pp
Pedersen MadsLidl-Trek2.3%3.7%3.7%0.2%41.001.6%+2.1pp
Pidcock TomPinarello-Q36.5 Pro Cycling Team3.2%3.3%3.3%1.1%29.002.3%+1.0pp
Ayuso JuanLidl-Trek1.2%0.9%1.2%2.9%81.000.8%+2.1pp
Kanter MaxXDS Astana Team0.4%2.2%1.3%0.0%n/a––
Wærenskjold SørenUno-X Mobility1.0%2.0%1.3%0.0%n/a––
Martinez LennyBahrain Victorious1.7%0.9%1.1%1.4%101.000.7%+1.1pp
Grégoire RomainGroupama-FDJ United1.7%1.4%1.6%0.8%29.002.3%-0.6pp
Johannessen Tobias HallandUno-X Mobility1.3%0.8%1.2%1.5%151.000.4%+1.0pp
Yates AdamUAE Team Emirates-XRG0.9%0.2%0.4%1.3%501.000.1%+1.2pp
Skjelmose MattiasLidl-Trek1.0%1.1%1.3%1.3%126.000.5%+0.8pp
Carapaz RichardEF Education-EasyPost0.6%0.5%0.7%1.2%81.000.8%+0.4pp
Gaviria FernandoCaja Rural-Seguros RGA0.2%1.1%0.6%0.0%n/a––
Catalunya final-stage archetype (Montjuïc) — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej35.9%46.3%30.7%70.7%84.9%1.72
2Seixas Paul6.7%4.9%6.6%10.1%34.6%23.00
3del Toro Isaac6.4%2.4%7.0%8.9%37.9%17.00
4van der Poel Mathieu5.0%6.0%4.4%20.5%50.8%5.50
5Evenepoel Remco3.9%2.4%4.0%6.9%24.4%17.00
6De Lie Arnaud3.3%2.0%3.3%10.6%39.6%n/a
7Pidcock Tom3.2%1.0%3.5%5.7%37.2%29.00
8Pedersen Mads2.3%3.2%1.9%9.2%32.7%41.00
9Philipsen Jasper2.2%2.6%1.9%8.6%31.1%301.00
10Girmay Biniam2.1%2.6%1.8%9.4%41.1%251.00
11Vingegaard Jonas1.9%1.6%1.8%5.4%27.0%21.00
12Martinez Lenny1.7%2.7%1.4%4.9%29.2%101.00
13Grégoire Romain1.7%1.7%1.6%6.2%37.1%29.00
14Lipowitz Florian1.7%0.6%1.8%5.1%24.7%101.00
15Johannessen Tobias Halland1.3%0.5%1.4%3.4%34.4%151.00
16Ayuso Juan1.2%1.1%1.2%5.2%28.9%81.00
17Vacek Mathias1.1%1.0%1.0%5.0%25.9%19.00
18Skjelmose Mattias1.0%2.0%0.7%3.9%27.2%126.00
19Wærenskjold Søren1.0%2.2%0.6%8.8%32.8%n/a
20Vauquelin Kévin1.0%0.8%0.9%1.9%19.1%101.00
21Aranburu Alex0.9%0.3%1.0%1.8%22.2%101.00
22Yates Adam0.9%0.3%1.0%1.9%14.1%501.00
23Merlier Tim0.9%1.5%0.7%6.4%21.7%n/a
24Jorgenson Matteo0.8%1.3%0.7%2.7%19.5%201.00
25Van Gils Maxim0.7%0.8%0.6%2.2%14.4%23.00
26Van Wilder Ilan0.6%0.5%0.6%1.4%18.9%251.00
27Carapaz Richard0.6%0.4%0.6%2.4%24.8%81.00
28Matthews Michael0.6%0.8%0.5%4.4%19.3%81.00
29Piganzoli Davide0.6%0.4%0.6%3.0%28.8%401.00
30Kooij Olav0.5%1.1%0.4%5.4%11.8%1001.00
Synthetic reduced-sprint read (hilly 45 / break 33 / rolling 22) — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej17.4%21.9%14.4%45.8%67.8%1.72
2Philipsen Jasper14.1%13.0%12.9%34.2%64.3%301.00
3Merlier Tim7.3%10.8%5.7%28.1%55.0%n/a
4De Lie Arnaud7.1%3.2%7.3%20.9%58.0%n/a
5van der Poel Mathieu6.4%7.0%5.6%26.4%57.6%5.50
6Girmay Biniam5.8%4.2%5.6%18.8%60.4%251.00
7Kooij Olav4.8%5.4%4.2%17.0%40.1%1001.00
8Pedersen Mads3.7%4.5%3.1%14.2%42.9%41.00
9Pidcock Tom3.3%1.2%3.5%5.8%39.0%29.00
10Seixas Paul2.6%3.9%2.1%9.1%41.8%23.00
11Evenepoel Remco2.6%2.0%2.5%5.7%20.6%17.00
12Kanter Max2.2%2.4%1.9%10.7%45.1%n/a
13del Toro Isaac2.1%1.5%2.1%6.4%26.9%17.00
14Wærenskjold Søren2.0%3.0%1.6%11.0%43.7%n/a
15Grégoire Romain1.4%1.3%1.3%5.5%32.4%29.00
16Gaviria Fernando1.1%0.5%1.2%2.8%22.8%n/a
17Vacek Mathias1.1%0.4%1.2%3.5%19.2%19.00
18Skjelmose Mattias1.1%2.9%0.5%4.5%26.1%126.00
19Matthews Michael1.1%1.1%0.9%7.4%41.7%81.00
20Oldani Stefano1.0%0.2%1.1%2.8%38.7%501.00
21Ackermann Pascal0.9%0.6%0.9%3.0%24.1%n/a
22Vingegaard Jonas0.9%0.6%0.9%2.6%20.6%21.00
23Aranburu Alex0.9%0.2%1.0%1.6%18.7%101.00
24Martinez Lenny0.9%1.4%0.7%2.6%19.1%101.00
25Ayuso Juan0.9%1.2%0.8%4.1%25.3%81.00
26Van Gils Maxim0.8%1.0%0.7%4.7%21.9%23.00
27Johannessen Tobias Halland0.8%0.3%0.8%2.6%24.7%151.00
28Bittner Pavel0.7%1.0%0.6%6.3%29.5%n/a
29Askey Lewis0.7%0.3%0.7%1.9%22.3%601.00
30Fretin Milan0.6%0.8%0.5%2.8%23.1%n/a
Synthetic selective-hilly read (hilly 45 / mountain 30 / break 25) — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej24.8%29.5%23.5%57.9%77.3%1.72
2Philipsen Jasper6.2%4.2%6.7%16.8%38.5%301.00
3van der Poel Mathieu5.9%6.1%5.8%25.5%53.9%5.50
4De Lie Arnaud5.4%2.2%6.2%11.9%40.5%n/a
5Pedersen Mads3.7%5.0%3.4%14.3%40.9%41.00
6Girmay Biniam3.7%3.0%3.9%11.3%47.6%251.00
7Seixas Paul3.6%5.1%3.2%12.0%42.0%23.00
8Pidcock Tom3.3%1.2%3.8%5.8%35.6%29.00
9Merlier Tim2.4%4.2%2.0%10.7%25.3%n/a
10Evenepoel Remco2.2%2.1%2.2%6.0%21.1%17.00
11del Toro Isaac2.2%1.3%2.4%6.4%25.2%17.00
12Vingegaard Jonas1.6%1.3%1.6%4.9%23.9%21.00
13Grégoire Romain1.6%1.6%1.5%6.2%35.8%29.00
14Kooij Olav1.4%2.0%1.3%6.3%18.2%1001.00
15Wærenskjold Søren1.3%2.3%1.1%8.7%31.1%n/a
16Kanter Max1.3%1.7%1.2%8.1%31.4%n/a
17Skjelmose Mattias1.3%3.5%0.7%5.1%26.1%126.00
18Ayuso Juan1.2%1.2%1.2%4.3%24.2%81.00
19Johannessen Tobias Halland1.2%0.5%1.3%2.7%25.0%151.00
20Oldani Stefano1.1%0.3%1.3%2.6%35.8%501.00
21Martinez Lenny1.1%1.7%0.9%2.8%19.4%101.00
22Vacek Mathias1.1%0.4%1.2%3.1%16.5%19.00
23Van Gils Maxim0.9%1.1%0.9%4.5%19.6%23.00
24Aranburu Alex0.9%0.3%1.1%1.8%19.5%101.00
25Lipowitz Florian0.7%0.7%0.8%1.6%10.8%101.00
26Vauquelin Kévin0.7%0.6%0.8%1.6%16.1%101.00
27Jorgenson Matteo0.7%0.8%0.7%2.1%18.6%201.00
28Matthews Michael0.7%0.8%0.6%6.2%29.4%81.00
29Carapaz Richard0.7%0.3%0.7%1.4%20.8%81.00
30Gaviria Fernando0.6%0.3%0.7%1.4%13.5%n/a
Hindsight — real stages that finished like stage 2 actually finished — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej43.7%48.5%37.3%77.1%88.8%1.72
2Evenepoel Remco10.2%10.3%8.9%30.9%67.1%17.00
3Vingegaard Jonas10.1%7.0%9.7%39.0%79.3%21.00
4Seixas Paul8.5%8.9%7.4%17.4%58.2%23.00
5Lipowitz Florian6.7%3.5%6.7%15.7%67.9%101.00
6del Toro Isaac4.9%3.0%4.8%12.0%58.5%17.00
7Ayuso Juan2.9%2.0%2.8%11.7%53.5%81.00
8Johannessen Tobias Halland1.5%0.8%1.5%4.0%39.8%151.00
9Martinez Lenny1.4%1.5%1.3%5.4%35.7%101.00
10Yates Adam1.3%0.9%1.2%3.7%27.0%501.00
11Skjelmose Mattias1.3%1.1%1.2%5.2%33.2%126.00
12Carapaz Richard1.2%1.1%1.1%4.8%47.4%81.00
13Pidcock Tom1.1%0.9%1.0%4.6%40.7%29.00
14Arensman Thymen1.1%1.0%1.0%3.8%40.7%n/a
15Jorgenson Matteo1.1%1.9%0.7%5.0%21.5%201.00
16Hindley Jai1.1%0.9%1.0%5.3%29.7%801.00
17Gee Derek0.8%0.7%0.8%5.1%30.9%501.00
18Grégoire Romain0.8%1.4%0.5%8.0%47.3%29.00
19van der Poel Mathieu0.8%2.0%0.4%10.1%19.7%5.50
20Piganzoli Davide0.8%0.7%0.7%9.6%58.9%401.00
21Van Wilder Ilan0.7%1.1%0.5%3.3%39.0%251.00
22Vauquelin Kévin0.7%0.9%0.6%2.8%32.9%101.00
23Riccitello Matthew0.7%0.4%0.7%3.5%65.0%601.00
24Uijtdebroeks Cian0.7%0.5%0.7%3.0%42.2%801.00
25Bernal Egan0.7%0.8%0.6%4.1%23.5%301.00
26Kuss Sepp0.4%0.3%0.4%3.7%19.5%n/a
27McNulty Brandon0.4%0.4%0.4%2.0%23.0%401.00
28Higuita Sergio0.4%0.5%0.3%2.8%26.2%301.00
29Izagirre Ion0.3%0.3%0.3%1.6%25.1%n/a
30O'Connor Ben0.3%0.4%0.3%1.2%9.5%n/a

After the stage

Results — won by del Toro Isaac

PosRiderTeamMontjuïc archetype win pReduced sprint win pSelective hilly win pHindsight (post-hoc) win p
1del Toro IsaacUAE Team Emirates-XRG6.4%2.1%2.2%4.9%
2Pogacar TadejUAE Team Emirates-XRG35.9%17.4%24.8%43.7%
3Evenepoel RemcoRed Bull-BORA-hansgrohe3.9%2.6%2.2%10.2%
4Vingegaard JonasTeam Visma | Lease a Bike1.9%0.9%1.6%10.1%
5Skjelmose MattiasLidl-Trek1.0%1.1%1.3%1.3%
6Johannessen Tobias HallandUno-X Mobility1.3%0.8%1.2%1.5%
7Grégoire RomainGroupama-FDJ United1.7%1.4%1.6%0.8%
8Martinez LennyBahrain Victorious1.7%0.9%1.1%1.4%
9Seixas PaulDecathlon CMA CGM Team6.7%2.6%3.6%8.5%
10Pidcock TomPinarello-Q36.5 Pro Cycling Team3.2%3.3%3.3%1.1%

Scenario scoring — probability given to the actual winner

ScenarioBlend win pBook devig
Montjuïc archetype6.43%3.94%
Reduced sprint2.14%3.94%
Selective hilly2.20%3.94%
Hindsight (post-hoc)4.86%3.94%

Reflection

What we make of it

The road answered the fork decisively: it was the selective day, not the reduced sprint. Thirteen riders contested the finish, the fast men were nowhere, and Isaac del Toro beat Pogačar and Evenepoel in the kick from a four-man same-time group. The Montjuïc archetype — our 'this looks like the Catalunya final stage' read — was the right branch. It carried del Toro as its third pick at 6.4% against a book devig of 3.9% (the +2.5pp edge we flagged the day before), and it gave the winner three times what either synthetic read did. The reduced-sprint read spent 14% on Philipsen for nothing; scenario-wise, that branch is now falsified for days shaped like this one.

The more interesting result is the hindsight run. We rebuilt the course input from the five database stages whose finish-gap curves best match how stage 2 actually finished (rolling ~0.65 / mountain ~0.33 — Vuelta '23 Andorra, UAE Tour summit days, Giro '25 Tagliacozzo) and re-ran the same stack. Even with that perfect knowledge of the day's character, the model gives del Toro 4.9% — LESS than our pre-race Montjuïc read did — and pushes Pogačar to 43.7%. Course knowledge was not the binding constraint. The model prices del Toro as UAE's second card on class and form, and no profile input changes that; what it structurally cannot see is the team playing that second card while Vingegaard's team defends yellow and Pogačar sits on wheels.

Two things to carry forward. First, the edge framing worked exactly as designed: we don't need to out-call the winner, we need our price to be on the right side of the book's, and 6.4% vs 3.9% on a 17/1 winner is that. Second, the model keeps pricing Paul Seixas far above the market on every selective profile (6-11% vs ~2-3% book) — either our strongest standing edge or a systematic youth-form artifact, and three weeks of stages will tell us which.