Cycling race predictor · Tour de France 2026

Stage 3 — 2026-07-06

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

Healy/Carapaz days

Breakaway-climber days — stages Healy & Carapaz won
sprint0.00
mountain0.45
hilly0.00
rolling0.54
break0.01
TT0.00
Real mountain-breakaway wins: Carapaz TdF'24 s17 & Giro'25 s11 & Vuelta'22 s20, Healy TdF'25 s6 & Giro'23 s8. They average rolling ~0.55 / mountain ~0.44 — the model-space signature of a break day in the hills.
Top 5 if the break wins (top 20 GC removed): Riccitello Matthew 6.0%; Uijtdebroeks Cian 5.5%; Van Wilder Ilan 4.6%; van der Poel Mathieu 4.0%; Kuss Sepp 3.6%

Mountain break mix

Synthetic mountain-break mix (mountain 40 / rolling 35 / break 25)
sprint0.00
mountain0.40
hilly0.00
rolling0.35
break0.25
TT0.00
Terrain scores overridden on the Healy/Carapaz reference average — heavier mountain weight, explicit breakaway share.
Top 5 (blend): Pogacar Tadej 32.1%; Seixas Paul 10.9%; Evenepoel Remco 6.7%; Vingegaard Jonas 4.7%; del Toro Isaac 4.6%

GC mountain day

TdF summit-finish archetype — GC contest counterfactual
sprint0.00
mountain0.53
hilly0.00
rolling0.47
break0.01
TT0.00
Real TdF summit finishes 2021-25 (the artifact-run mountain archetype). The read where the GC teams race for the stage and the break is caught.
Top 5 (blend): Pogacar Tadej 42.0%; Evenepoel Remco 12.8%; Vingegaard Jonas 11.0%; Seixas Paul 8.3%; Lipowitz Florian 5.5%

Hindsight (post-hoc)

Hindsight (post-hoc) — stages that finished like this one
sprint0.00
mountain0.37
hilly0.00
rolling0.61
break0.02
TT0.00
Post-race reconstruction, NOT a prediction (never logged). The five DB stages whose finish structure most resembled stage 3's shattered GC group (1/10/19/27 riders within 0/5/30/60s): Evenepoel Vuelta'23 s3, Roglic Tirreno'23 s6, O'Connor UAE'24 s3, Pogacar UAE'22 s4, Ayuso Giro'25 s7 — all uphill GC-selection finishes. Answers: if we had known it would be a hard summit selection, what would the model have said?
Top 5 (blend): Pogacar Tadej 38.2%; Evenepoel Remco 10.4%; Vingegaard Jonas 9.3%; Seixas Paul 6.8%; Lipowitz Florian 6.8%

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.

RiderTeamHealy/Carapaz daysMountain break mixGC mountain dayHindsight (post-hoc)Book oddsBook devigMax edge
Pogacar TadejUAE Team Emirates-XRG–32.1%42.0%38.2%2.7523.9%+18.1pp
Evenepoel RemcoRed Bull-BORA-hansgrohe–6.7%12.8%10.4%26.002.5%+10.3pp
Vingegaard JonasTeam Visma | Lease a Bike–4.7%11.0%9.3%26.002.5%+8.5pp
Seixas PaulDecathlon CMA CGM Team–10.9%8.3%6.8%34.001.9%+8.9pp
Lipowitz FlorianRed Bull-BORA-hansgrohe–2.6%5.5%6.8%201.000.3%+6.4pp
del Toro IsaacUAE Team Emirates-XRG–4.6%5.2%4.6%19.003.5%+1.7pp
Ayuso JuanLidl-Trek–2.4%2.1%2.3%201.000.3%+2.1pp
Martinez LennyBahrain Victorious–1.8%1.9%1.7%51.001.3%+0.7pp
Yates AdamUAE Team Emirates-XRG–0.8%1.0%1.6%301.000.2%+1.4pp
Johannessen Tobias HallandUno-X Mobility–1.4%1.4%1.5%41.001.6%-0.1pp
Carapaz RichardEF Education-EasyPost–0.9%1.5%1.4%67.001.0%+0.5pp
Hindley JaiRed Bull-BORA-hansgrohe–0.9%1.5%1.1%601.000.1%+1.4pp
Pidcock TomPinarello-Q36.5 Pro Cycling Team–1.5%1.2%1.1%34.001.9%-0.5pp
Gee DerekLidl-Trek–1.0%1.4%1.0%126.000.5%+0.9pp
Arensman ThymenNetcompany INEOS–1.1%1.2%1.2%151.000.4%+0.8pp
Skjelmose MattiasLidl-Trek–1.0%1.0%1.2%41.001.6%-0.4pp
Jorgenson MatteoTeam Visma | Lease a Bike–1.0%1.2%1.0%201.000.3%+0.9pp
Riccitello MatthewDecathlon CMA CGM Team6.0%0.9%1.1%0.9%501.000.1%+1.0pp
Vauquelin KévinNetcompany INEOS–1.0%0.7%0.6%29.002.3%-1.3pp
Grégoire RomainGroupama-FDJ United–0.9%0.8%0.9%19.003.5%-2.6pp
van der Poel MathieuAlpecin-Premier Tech4.0%0.9%0.6%0.6%13.005.0%-4.2pp
Healy BenEF Education-EasyPost2.0%0.3%0.4%0.3%23.002.9%-2.4pp
Vacek MathiasLidl-Trek1.6%0.3%0.1%0.1%15.004.4%-4.1pp
Simmons QuinnLidl-Trek0.6%0.1%0.0%0.0%26.002.5%-2.5pp
Healy/Carapaz days is shown conditional on the break winning — the top 20 GC contenders are removed and the remaining probabilities renormalize within the break pool. That column isn't comparable with the book line or the other readings, so it's left out of Max edge; a "–" means a GC captain we assume won't be up the road.
Breakaway-climber days — stages Healy & Carapaz won — top 30, all heads · top 20 GC removed
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Riccitello Matthew1.1%0.8%1.1%4.6%41.9%501.00
2Uijtdebroeks Cian1.0%0.9%1.0%4.6%43.8%501.00
3Van Wilder Ilan0.8%1.0%0.8%3.3%48.9%251.00
4van der Poel Mathieu0.7%1.3%0.6%6.5%17.6%13.00
5Kuss Sepp0.6%0.5%0.7%3.4%15.7%n/a
6Bernal Egan0.6%0.4%0.7%2.9%28.3%201.00
7Foss Tobias0.6%1.4%0.4%3.2%27.5%151.00
8McNulty Brandon0.6%0.7%0.5%2.1%22.5%51.00
9Higuita Sergio0.5%0.5%0.5%2.5%30.6%301.00
10Izagirre Ion0.5%0.4%0.5%1.7%20.2%201.00
11Storer Michael0.4%1.1%0.3%4.2%30.0%67.00
12Aranburu Alex0.4%0.4%0.4%1.0%8.9%81.00
13Schmid Mauro0.4%0.6%0.3%2.0%10.9%51.00
14Jegat Jordan0.4%0.3%0.4%2.4%32.9%151.00
15Healy Ben0.4%0.5%0.3%1.2%8.1%23.00
16Van Gils Maxim0.3%0.6%0.3%1.4%5.6%34.00
17Van Eetvelt Lennert0.3%0.4%0.3%2.1%25.7%67.00
18Baudin Alex0.3%0.2%0.4%1.5%36.1%41.00
19Berckmoes Jenno0.3%0.5%0.3%1.6%12.2%151.00
20Castrillo Pablo0.3%0.2%0.3%1.4%8.2%201.00
21Tejada Harold0.3%0.6%0.2%1.5%14.7%101.00
22Harper Chris0.3%0.2%0.3%0.9%9.8%401.00
23O'Connor Ben0.3%0.3%0.3%1.7%12.9%n/a
24Vacek Mathias0.3%0.3%0.3%2.1%10.0%15.00
25Plapp Lucas0.3%0.2%0.3%2.5%12.3%n/a
26Pedersen Mads0.3%0.3%0.3%1.0%2.3%126.00
27Paret-Peintre Valentin0.2%0.2%0.3%1.3%7.8%34.00
28Benoot Tiesj0.2%0.2%0.2%0.8%8.2%401.00
29Martin Guillaume0.2%0.1%0.2%0.8%11.3%301.00
30Steinhauser Georg0.2%0.4%0.1%1.1%8.0%151.00
Synthetic mountain-break mix (mountain 40 / rolling 35 / break 25) — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej32.1%38.9%32.4%63.4%81.3%2.75
2Seixas Paul10.9%9.2%12.0%17.1%55.3%34.00
3Evenepoel Remco6.7%3.6%7.9%13.0%44.7%26.00
4Vingegaard Jonas4.7%3.4%5.3%17.3%58.4%26.00
5del Toro Isaac4.6%0.9%5.8%6.9%33.2%19.00
6Lipowitz Florian2.6%1.1%3.2%4.0%37.4%201.00
7Ayuso Juan2.4%0.9%3.0%4.4%32.6%201.00
8Martinez Lenny1.8%1.2%2.1%4.1%33.4%51.00
9Pidcock Tom1.5%1.0%1.7%4.2%39.2%34.00
10Johannessen Tobias Halland1.4%1.1%1.5%6.7%59.1%41.00
11Arensman Thymen1.1%1.2%1.1%3.8%33.7%151.00
12Skjelmose Mattias1.0%0.8%1.2%3.7%31.0%41.00
13Jorgenson Matteo1.0%2.2%0.8%4.2%20.4%201.00
14Gee Derek1.0%0.8%1.1%5.0%26.9%126.00
15Vauquelin Kévin1.0%1.1%1.0%2.7%17.2%29.00
16Riccitello Matthew0.9%0.7%1.0%4.3%37.5%501.00
17Grégoire Romain0.9%1.1%0.9%3.8%35.2%19.00
18Hindley Jai0.9%0.6%1.0%4.4%28.7%601.00
19Carapaz Richard0.9%0.7%1.0%3.2%39.2%67.00
20van der Poel Mathieu0.9%1.4%0.8%7.4%20.5%13.00
21Yates Adam0.8%0.3%1.0%1.6%27.2%301.00
22Van Wilder Ilan0.7%1.2%0.7%3.5%47.1%251.00
23Piganzoli Davide0.7%0.6%0.8%3.6%41.2%501.00
24Uijtdebroeks Cian0.7%0.6%0.7%3.0%35.1%501.00
25Bernal Egan0.6%0.6%0.6%2.9%29.9%201.00
26Kuss Sepp0.5%0.8%0.5%2.8%15.6%n/a
27Foss Tobias0.5%1.7%0.2%3.1%23.3%151.00
28Higuita Sergio0.5%0.6%0.5%2.7%30.7%301.00
29McNulty Brandon0.4%0.8%0.4%1.8%18.0%51.00
30Storer Michael0.4%1.0%0.3%3.5%24.7%67.00
TdF summit-finish archetype — GC contest counterfactual — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej42.0%45.0%35.2%74.3%88.5%2.75
2Evenepoel Remco12.8%11.4%11.4%36.3%75.7%26.00
3Vingegaard Jonas11.0%8.5%10.1%43.3%83.6%26.00
4Seixas Paul8.3%8.0%7.2%14.8%62.9%34.00
5Lipowitz Florian5.5%3.2%5.3%14.3%70.6%201.00
6del Toro Isaac5.2%2.0%5.2%10.4%57.4%19.00
7Ayuso Juan2.1%1.7%1.9%7.1%49.6%201.00
8Martinez Lenny1.9%2.2%1.6%6.5%49.3%51.00
9Carapaz Richard1.5%1.4%1.3%5.3%52.7%67.00
10Hindley Jai1.5%1.4%1.3%5.1%46.4%601.00
11Johannessen Tobias Halland1.4%1.0%1.3%8.6%64.0%41.00
12Gee Derek1.4%1.3%1.2%9.0%35.2%126.00
13Pidcock Tom1.2%1.3%1.0%5.2%49.6%34.00
14Arensman Thymen1.2%1.0%1.1%4.2%43.3%151.00
15Jorgenson Matteo1.2%2.1%0.8%5.8%21.5%201.00
16Riccitello Matthew1.1%1.2%1.0%5.8%44.4%501.00
17Yates Adam1.0%0.9%0.9%4.4%34.5%301.00
18Skjelmose Mattias1.0%1.2%0.8%4.8%40.3%41.00
19Bernal Egan0.8%0.6%0.8%4.2%33.4%201.00
20Uijtdebroeks Cian0.8%0.7%0.7%3.5%51.5%501.00
21Grégoire Romain0.8%1.4%0.5%7.5%58.5%19.00
22Kuss Sepp0.7%0.7%0.6%4.4%22.7%n/a
23Piganzoli Davide0.7%0.4%0.6%5.2%52.2%501.00
24Vauquelin Kévin0.7%0.8%0.5%3.7%24.4%29.00
25Van Wilder Ilan0.6%0.9%0.5%3.5%54.1%251.00
26van der Poel Mathieu0.6%2.0%0.1%8.6%19.6%13.00
27Higuita Sergio0.5%0.6%0.4%2.8%31.3%301.00
28Foss Tobias0.4%0.8%0.3%3.1%29.2%151.00
29Healy Ben0.4%1.1%0.2%2.6%9.7%23.00
30McNulty Brandon0.4%0.5%0.3%2.0%18.2%51.00
Hindsight (post-hoc) — stages that finished like this one — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej38.2%44.4%34.0%75.3%88.5%2.75
2Evenepoel Remco10.4%9.7%9.9%32.9%70.5%26.00
3Vingegaard Jonas9.3%7.9%9.1%32.7%74.2%26.00
4Seixas Paul6.8%6.4%6.4%14.4%60.3%34.00
5Lipowitz Florian6.8%3.1%7.2%13.3%65.1%201.00
6del Toro Isaac4.6%2.2%4.9%12.4%57.1%19.00
7Ayuso Juan2.3%1.7%2.3%7.6%47.3%201.00
8Martinez Lenny1.7%2.0%1.5%6.0%42.7%51.00
9Yates Adam1.6%1.1%1.6%5.7%30.6%301.00
10Johannessen Tobias Halland1.5%0.9%1.6%3.7%44.0%41.00
11Carapaz Richard1.4%1.3%1.4%5.5%50.2%67.00
12Skjelmose Mattias1.2%1.0%1.2%4.3%33.2%41.00
13Arensman Thymen1.2%0.8%1.2%3.8%39.0%151.00
14Pidcock Tom1.1%0.9%1.1%4.1%40.7%34.00
15Hindley Jai1.1%0.8%1.1%4.7%28.1%601.00
16Jorgenson Matteo1.0%1.7%0.8%4.6%19.7%201.00
17Gee Derek1.0%0.7%1.0%5.5%25.7%126.00
18Riccitello Matthew0.9%0.6%0.9%3.5%38.5%501.00
19Grégoire Romain0.9%1.6%0.6%8.6%53.4%19.00
20Uijtdebroeks Cian0.8%0.7%0.8%3.4%46.3%501.00
21Van Wilder Ilan0.8%1.0%0.7%3.5%50.5%251.00
22Piganzoli Davide0.8%0.5%0.8%5.1%44.5%501.00
23Bernal Egan0.7%0.9%0.7%4.3%32.2%201.00
24Vauquelin Kévin0.6%0.8%0.6%2.7%24.7%29.00
25van der Poel Mathieu0.6%1.7%0.3%8.4%18.2%13.00
26Kuss Sepp0.5%0.4%0.5%3.6%17.6%n/a
27Higuita Sergio0.5%0.6%0.4%2.8%29.6%301.00
28McNulty Brandon0.4%0.4%0.4%1.9%20.7%51.00
29Foss Tobias0.4%0.8%0.3%2.2%28.2%151.00
30Izagirre Ion0.4%0.2%0.4%1.6%19.5%201.00

Angle

If the break goes — competitive riders outside the GC pool

Top 20 riders by the latest GC-model blend (tdf_gc.json) removed — captains don't get in the break. Remaining riders under the 'Healy/Carapaz days' read; the conditional column renormalizes their win probability over this pool (P(win | a non-GC rider wins), pool holds 18% of the unconditional book). The model can't see who actually makes the break — read this as a fitness-for-the-day ranking, not break-formation odds.

RiderTeamHealy/Carapaz days win pP(win | break wins)Book oddsBook devig
Riccitello MatthewDecathlon CMA CGM Team1.1%6.0%5010.1%
Uijtdebroeks CianMovistar Team1.0%5.5%5010.1%
Van Wilder IlanSoudal Quick-Step0.8%4.6%2510.3%
van der Poel MathieuAlpecin-Premier Tech0.7%4.0%135.0%
Kuss SeppTeam Visma | Lease a Bike0.6%3.6%n/a–
Bernal EganNetcompany INEOS0.6%3.4%2010.3%
Foss TobiasNetcompany INEOS0.6%3.3%1510.4%
McNulty BrandonUAE Team Emirates-XRG0.6%3.1%511.3%
Higuita SergioXDS Astana Team0.5%2.6%3010.2%
Izagirre IonCofidis0.5%2.5%2010.3%
Storer MichaelTudor Pro Cycling Team0.4%2.4%671.0%
Aranburu AlexCofidis0.4%2.4%810.8%
Schmid MauroTeam Jayco-AlUla0.4%2.2%511.3%
Jegat JordanTeam TotalEnergies0.4%2.0%1510.4%

Angle

The book's card — its favourites under our readings

Shortest book prices for the stage, with our blend win probability (and rank) under each scenario. 'free' = outside our top-20 GC pool, i.e. the type the peloton might let up the road.

RiderBook oddsDevigHealy/Carapaz daysMountain break mixGC mountain dayHindsight (post-hoc)GC status
Pogacar Tadej2.7523.9%29.7% (#1)32.1% (#1)42.0% (#1)38.2% (#1)GC #1
van der Poel Mathieu13.005.0%0.7% (#24)0.9% (#20)0.6% (#26)0.6% (#25)free
Vacek Mathias15.004.4%0.3% (#44)0.3% (#37)0.1% (#59)0.1% (#51)free
del Toro Isaac19.003.5%4.9% (#5)4.6% (#5)5.2% (#6)4.6% (#6)GC #6
Grégoire Romain19.003.5%0.9% (#21)0.9% (#17)0.8% (#21)0.9% (#19)GC #18
Healy Ben23.002.9%0.4% (#35)0.3% (#35)0.4% (#29)0.3% (#36)free
Vingegaard Jonas26.002.5%5.3% (#4)4.7% (#4)11.0% (#3)9.3% (#3)GC #3
Evenepoel Remco26.002.5%7.2% (#3)6.7% (#3)12.8% (#2)10.4% (#2)GC #2
Simmons Quinn26.002.5%0.1% (#63)0.1% (#75)0.0% (#75)0.0% (#73)free
Vauquelin Kévin29.002.3%1.0% (#17)1.0% (#15)0.7% (#24)0.6% (#24)GC #10

After the stage

Results — won by Pogacar Tadej

PosRiderTeamHealy/Carapaz days win pMountain break mix win pGC mountain day win pHindsight (post-hoc) win p
1Pogacar TadejUAE Team Emirates-XRG29.7%32.1%42.0%38.2%
2Vingegaard JonasTeam Visma | Lease a Bike5.3%4.7%11.0%9.3%
3Carapaz RichardEF Education-EasyPost1.0%0.9%1.5%1.4%
4Seixas PaulDecathlon CMA CGM Team10.0%10.9%8.3%6.8%
5Johannessen Tobias HallandUno-X Mobility1.6%1.4%1.4%1.5%
6Van Eetvelt LennertLotto-Intermarché0.3%0.3%0.4%0.3%
7Lipowitz FlorianRed Bull-BORA-hansgrohe4.5%2.6%5.5%6.8%
8Evenepoel RemcoRed Bull-BORA-hansgrohe7.2%6.7%12.8%10.4%
9del Toro IsaacUAE Team Emirates-XRG4.9%4.6%5.2%4.6%
10Ayuso JuanLidl-Trek1.9%2.4%2.1%2.3%

Scenario scoring — probability given to the actual winner

ScenarioBlend win pBook devig
Healy/Carapaz days29.73%23.87%
Mountain break mix32.06%23.87%
GC mountain day41.96%23.87%
Hindsight (post-hoc)38.18%23.87%

Reflection

What we make of it

The road picked the GC-summit branch, but tighter at the front than any of our reads assumed. Pogacar won by 2 seconds from a ~10-rider lead group -- Vingegaard, Carapaz and Seixas all within 2s, del Toro/Ayuso/Evenepoel/Lipowitz at +4 -- with the field shattered behind (only 10 riders within 5s, 27 within a minute). A hard summit selection settled by an uphill punch, not a long-range solo.

All three pre-race reads out-priced the book on the winner (devig 23.9%): Healy/Carapaz days 29.7%, mountain-break mix 32.1%, and the GC-summit archetype 42.0%. The tdf_mountain read was both the right paradigm and the most confident -- and it topped even the post-hoc hindsight reconstruction (38.2%). On this stage the model was simply more right than the market about the strongest rider, and choosing the summit paradigm was enough to capture it.

Course knowledge was not the binding constraint here -- the winning paradigm was already in the mix and beat hindsight, so there was nothing structural the model failed to see. The one miss was magnitude, not identity: tdf_mountain projected Pogacar ~41s clear where he actually won by 2, so the time-gap head over-estimates how much a week-1 summit fragments an otherwise intact GC group. Carry forward: on these finishes trust the winner-probability read but expect tight front gaps rather than solos. Quiet positive -- the model had Seixas (4th, +2s) correctly in the front group, so its read on the breakout U23 is tracking.