Cycling race predictor · Tour de France 2026

Stage 10 — 2026-07-14

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 176 riders priced models retrained 2026-06-28 book snapshot markets_1256.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.

GC day

GC day — the favourites contest Le Lioran
sprint0.00
mountain0.48
hilly0.00
rolling0.52
break0.00
TT0.00
Aurillac to Le Lioran, 167 km through the Cantal: Puy Mary (Pas de Peyrol, ~5.4 km at 8%), Col de Pertus, Col de Font de Cere, then the drag to the ski station — the 2024 Tour finished here (stage 11) and it was a pure GC day: break caught, Vingegaard outkicking Pogacar two-up. That stage IS the anchor ref (151); the rest are Tour days the break died and the GC elite contested a mid-mountain finish: Peyragudes'22 (Pogacar-Vingegaard two-up), Cauterets'23, Hautacam'25, Plateau de Beille'24. Avg rolling ~0.52 / mountain ~0.48. First stage after the rest day, Pogacar in yellow at 1.50 on the book — the read where UAE controls and the board concentrates on the captains.
Top 5 (blend): Pogacar Tadej 31.1%; Evenepoel Remco 11.2%; Vingegaard Jonas 9.3%; Seixas Paul 8.6%; Lipowitz Florian 7.2%

Mountain break

Mountain breakaway — climbers' escape survives (Bastille Day)
sprint0.00
mountain0.45
hilly0.00
rolling0.54
break0.00
TT0.00
Bastille Day, day after the rest day, GC gaps already large — the classic recipe for handing a Massif Central stage to the break. References are GT mid-mountain days won from the escape by strong non-GC climbers: Puy de Sancy'25 s10 (Simon Yates — last year's Bastille Day Massif Central twin of this stage), Superdevoluy'24 s17 (Carapaz), Issoire'23 s10 (Bilbao), Megeve'22 s10 (Cort), and Puy Mary'20 s13 (Daniel Martinez — the very climb mid-route tomorrow). Avg rolling ~0.54 / mountain ~0.45. The model prices rider-course fit, not break formation, so the raw board still tops out with GC men — the read excludes the top 10 on ACTUAL GC after stage 9 (through Bernal at +9:12; the standings cliff is 4 minutes between Skjelmose 9th and Bernal 10th) and the page renormalizes the rest into 'if the break wins' odds. Everyone outside that ten — Johannessen, Pidcock, Carapaz, Healy — is 9+ minutes back and rides with freedom. The book's own card leans this way outside Pogacar: Carapaz third favourite at 15, Lenny Martinez and Paret-Peintre at 41.
Top 5 if the break wins (top 10 on GC removed): Arensman Thymen 6.3%; Hindley Jai 5.1%; Johannessen Tobias Halland 4.8%; Gee Derek 4.7%; Carapaz Richard 4.6%

Full mountain

Full mountain read — the Cantal races like high mountains
sprint0.00
mountain0.53
hilly0.00
rolling0.47
break0.01
TT0.00
The standing high-mountain archetype (same reference set as the Tour preview page): the hardness-sensitivity read where 4,400 m of Cantal climbing in July heat races like a full mountain day rather than a punchy mid-mountain one. Avg mountain ~0.53. Compared with the GC-day read this tells us which riders survive when the day is hardest — pure climbers (Rubio, Martinez, Carapaz types) should hold or gain here while punchier climbers (Pidcock, Johannessen types) fade. Useful against the book's non-GC card, which mixes both types at similar prices.
Top 5 (blend): Pogacar Tadej 41.1%; Vingegaard Jonas 12.9%; Evenepoel Remco 12.8%; Seixas Paul 7.5%; Lipowitz Florian 6.3%

Hindsight (post-hoc)

Hindsight (post-hoc) — the day as it actually raced
sprint0.00
mountain0.45
hilly0.00
rolling0.54
break0.00
TT0.00
Post-race reconstruction, never logged. Nearest neighbours to the actual finish curve (1 clear, 7 within a minute, 9 within two, only 29 inside ten minutes — a savagely selective day) among WT stages since 2021, sanity-filtered to days the GC elite actually contested. The filter matters here: TdF'23 s09 (Puy de Dôme) was the 5th-nearest curve match but is a pure break win (Woods, Latour, Mohoric) and is out — today the captains raced it. The five kept: Vuelta'25 s14 (Soler just holding off Vingegaard/Almeida/Hindley/Gall), Suisse'25 s04 (Almeida), Giro'21 s20 (Caruso solo, Bernal 2nd), Giro'26 s19 (Kuss), and Vuelta'23 s13 Tourmalet (Vingegaard solo, Kuss 2nd, Roglic 3rd). Avg rolling ~0.54 / mountain ~0.45 — within a whisker of the pre-race reads, which is itself the finding.
Top 5 (blend): Pogacar Tadej 30.5%; Evenepoel Remco 10.6%; Seixas Paul 8.8%; Vingegaard Jonas 7.9%; del Toro Isaac 7.2%

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.

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 GC day 113%, Full mountain 117%, Hindsight (post-hoc) 114% — while the devigged book column sums to exactly 100%. Putting the two side by side flatters the model, and Max edge is inflated by about that factor: divide a rider's probability by his reading's total before calling anything an edge. Of our heads only the LambdaRank one is natively book-preserving.

RiderTeamGC dayMountain breakFull mountainHindsight (post-hoc)Book oddsBook devigMax edge
Pogacar TadejUAE Team Emirates-XRG31.1%–41.1%30.5%1.5042.5%-1.4pp
Vingegaard JonasTeam Visma | Lease a Bike9.3%–12.9%7.9%19.003.4%+9.5pp
Evenepoel RemcoRed Bull-BORA-hansgrohe11.2%–12.8%10.6%26.002.5%+10.4pp
Seixas PaulDecathlon CMA CGM Team8.6%–7.5%8.8%51.001.2%+7.5pp
Lipowitz FlorianRed Bull-BORA-hansgrohe7.2%–6.3%5.7%81.000.8%+6.4pp
del Toro IsaacUAE Team Emirates-XRG7.0%–5.1%7.2%12.005.3%+1.9pp
Arensman ThymenNetcompany INEOS2.2%6.3%1.3%2.5%101.000.6%+1.9pp
Ayuso JuanLidl-Trek2.1%–2.5%2.1%81.000.8%+1.7pp
Martinez LennyBahrain Victorious2.3%–1.9%2.1%41.001.6%+0.8pp
Hindley JaiRed Bull-BORA-hansgrohe1.8%5.1%1.5%2.0%201.000.3%+1.7pp
Carapaz RichardEF Education-EasyPost1.9%4.6%1.6%1.7%15.004.2%-2.4pp
Johannessen Tobias HallandUno-X Mobility1.6%4.8%1.5%1.3%21.003.0%-1.4pp
Gee DerekLidl-Trek1.4%4.7%1.5%1.5%151.000.4%+1.0pp
Skjelmose MattiasLidl-Trek1.3%–1.0%1.5%101.000.6%+0.8pp
Riccitello MatthewDecathlon CMA CGM Team1.2%3.7%1.2%1.4%251.000.3%+1.1pp
Yates AdamUAE Team Emirates-XRG1.4%4.1%1.1%1.3%101.000.6%+0.7pp
Jorgenson MatteoTeam Visma | Lease a Bike1.2%3.8%1.2%1.3%81.000.8%+0.5pp
Pidcock TomPinarello-Q36.5 Pro Cycling Team1.3%3.4%1.1%1.3%34.001.9%-0.6pp
Van Wilder IlanSoudal Quick-Step0.9%2.5%0.6%1.1%151.000.4%+0.6pp
Vauquelin KévinNetcompany INEOS0.9%2.6%0.6%1.0%101.000.6%+0.4pp
Grégoire RomainGroupama-FDJ United0.7%2.2%0.5%1.0%67.001.0%+0.1pp
Mountain break is shown conditional on the break winning — the top 10 riders on actual GC 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.
GC day — the favourites contest Le Lioran — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej31.1%43.3%24.4%68.8%84.0%1.50
2Evenepoel Remco11.2%8.2%10.6%23.1%58.1%26.00
3Vingegaard Jonas9.3%6.8%8.9%26.3%71.7%19.00
4Seixas Paul8.6%9.5%7.3%15.9%56.2%51.00
5Lipowitz Florian7.2%3.3%7.4%15.0%65.9%81.00
6del Toro Isaac7.0%2.7%7.3%11.7%51.0%12.00
7Martinez Lenny2.3%1.7%2.2%5.2%39.7%41.00
8Arensman Thymen2.2%2.6%1.8%8.3%27.9%101.00
9Ayuso Juan2.1%1.3%2.1%6.7%42.3%81.00
10Carapaz Richard1.9%1.8%1.7%5.9%31.2%15.00
11Hindley Jai1.8%1.9%1.6%5.9%30.4%201.00
12Johannessen Tobias Halland1.6%0.9%1.6%3.2%38.5%21.00
13Gee Derek1.4%1.0%1.3%3.3%18.8%151.00
14Yates Adam1.4%0.7%1.4%4.7%33.4%101.00
15Pidcock Tom1.3%0.6%1.3%5.4%52.1%34.00
16Skjelmose Mattias1.3%1.2%1.1%4.3%36.5%101.00
17Riccitello Matthew1.2%1.3%1.1%3.9%24.6%251.00
18Jorgenson Matteo1.2%1.6%0.9%4.0%18.5%81.00
19Van Wilder Ilan0.9%0.8%0.8%3.0%38.9%151.00
20Vauquelin Kévin0.9%0.6%0.8%2.8%21.1%101.00
21Kuss Sepp0.9%0.7%0.8%7.1%28.1%151.00
22Piganzoli Davide0.8%0.4%0.8%5.3%49.8%201.00
23McNulty Brandon0.8%1.0%0.7%2.8%20.3%51.00
24Grégoire Romain0.7%0.6%0.7%5.7%30.0%67.00
25Bernal Egan0.7%0.4%0.7%3.0%37.3%101.00
26Higuita Sergio0.6%0.7%0.5%2.5%18.5%251.00
27Izagirre Ion0.6%0.4%0.5%2.1%13.4%151.00
28Jegat Jordan0.5%0.5%0.4%3.8%35.4%151.00
29Foss Tobias0.5%0.3%0.4%1.5%9.7%251.00
30van der Poel Mathieu0.4%0.5%0.3%3.1%7.7%251.00
Mountain breakaway — climbers' escape survives (Bastille Day) — top 30, all heads · top 10 on GC removed
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Arensman Thymen1.5%2.2%1.9%7.4%25.3%101.00
2Hindley Jai1.2%1.3%1.7%3.9%23.3%201.00
3Johannessen Tobias Halland1.1%0.6%1.7%8.3%43.4%21.00
4Gee Derek1.1%1.6%1.4%10.3%26.7%151.00
5Carapaz Richard1.1%1.4%1.5%4.8%27.6%15.00
6Yates Adam1.0%0.5%1.5%4.6%23.7%101.00
7Jorgenson Matteo0.9%1.8%1.1%4.8%18.2%81.00
8Riccitello Matthew0.9%1.4%1.1%4.6%23.7%251.00
9Pidcock Tom0.8%0.5%1.2%6.3%44.4%34.00
10Vauquelin Kévin0.6%0.5%0.9%2.8%18.2%101.00
11Van Wilder Ilan0.6%0.7%0.8%2.6%31.4%151.00
12Kuss Sepp0.6%0.7%0.8%5.8%24.1%151.00
13Piganzoli Davide0.6%0.3%0.9%4.3%38.4%201.00
14Grégoire Romain0.5%0.7%0.7%2.4%13.9%67.00
15Aranburu Alex0.5%1.9%0.4%2.9%10.0%501.00
16Higuita Sergio0.5%0.7%0.6%2.5%18.8%251.00
17McNulty Brandon0.5%0.6%0.6%1.9%16.8%51.00
18Izagirre Ion0.4%0.4%0.5%2.3%14.8%151.00
19Foss Tobias0.4%0.8%0.4%4.2%15.5%251.00
20Baudin Alex0.4%0.9%0.4%3.2%20.3%51.00
21Jegat Jordan0.3%0.4%0.5%3.1%29.7%151.00
22van der Poel Mathieu0.3%0.6%0.4%4.4%9.2%251.00
23Healy Ben0.3%0.7%0.3%2.8%10.6%51.00
24Castrillo Pablo0.3%0.4%0.4%2.7%18.5%101.00
25Tejada Harold0.3%0.8%0.3%3.3%19.4%101.00
26Van Gils Maxim0.3%0.6%0.3%2.3%9.9%101.00
27O'Connor Ben0.3%0.4%0.3%1.5%14.2%51.00
28Van Eetvelt Lennert0.3%0.4%0.3%2.2%18.9%67.00
29Steinhauser Georg0.3%0.8%0.2%1.5%8.4%201.00
30Schmid Mauro0.2%0.4%0.3%1.3%9.4%201.00
Full mountain read — the Cantal races like high mountains — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej41.1%46.0%34.0%71.6%87.4%1.50
2Vingegaard Jonas12.9%10.4%11.6%40.5%84.5%19.00
3Evenepoel Remco12.8%9.7%11.8%32.1%74.7%26.00
4Seixas Paul7.5%8.5%6.2%15.0%64.7%51.00
5Lipowitz Florian6.3%3.4%6.1%14.7%74.6%81.00
6del Toro Isaac5.1%2.5%5.0%11.8%60.7%12.00
7Ayuso Juan2.5%1.7%2.3%7.6%55.1%81.00
8Martinez Lenny1.9%2.1%1.6%6.1%52.1%41.00
9Carapaz Richard1.6%1.4%1.4%5.7%41.7%15.00
10Hindley Jai1.5%1.5%1.3%5.3%36.1%201.00
11Johannessen Tobias Halland1.5%0.9%1.4%3.7%50.5%21.00
12Gee Derek1.5%1.8%1.2%20.5%38.6%151.00
13Arensman Thymen1.3%1.4%1.1%5.2%27.0%101.00
14Jorgenson Matteo1.2%2.1%0.8%5.9%19.3%81.00
15Riccitello Matthew1.2%1.3%1.0%5.1%28.5%251.00
16Yates Adam1.1%0.8%1.0%3.8%28.0%101.00
17Pidcock Tom1.1%0.5%1.0%6.1%51.3%34.00
18Skjelmose Mattias1.0%1.1%0.8%4.5%48.9%101.00
19Bernal Egan0.9%0.5%0.8%3.4%42.9%101.00
20Kuss Sepp0.9%1.2%0.6%8.0%34.3%151.00
21Piganzoli Davide0.6%0.4%0.6%4.3%49.0%201.00
22Vauquelin Kévin0.6%0.6%0.5%3.5%19.9%101.00
23Van Wilder Ilan0.6%0.8%0.4%2.8%41.9%151.00
24Grégoire Romain0.5%0.5%0.5%8.4%26.0%67.00
25Higuita Sergio0.5%0.7%0.4%2.4%16.4%251.00
26McNulty Brandon0.4%0.6%0.3%2.0%17.8%51.00
27Jegat Jordan0.4%0.5%0.3%5.0%37.5%151.00
28Healy Ben0.4%1.0%0.2%3.6%9.3%51.00
29Van Eetvelt Lennert0.4%0.4%0.3%3.4%29.9%67.00
30O'Connor Ben0.4%0.4%0.3%2.4%19.3%51.00
Hindsight (post-hoc) — the day as it actually raced — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Pogacar Tadej30.5%40.3%24.4%71.6%86.1%1.50
2Evenepoel Remco10.6%8.5%9.9%25.3%61.2%26.00
3Seixas Paul8.8%8.7%7.7%15.1%57.2%51.00
4Vingegaard Jonas7.9%7.2%7.2%30.8%71.5%19.00
5del Toro Isaac7.2%2.7%7.5%10.8%54.8%12.00
6Lipowitz Florian5.7%3.2%5.6%14.3%66.6%81.00
7Arensman Thymen2.5%1.8%2.4%6.2%23.5%101.00
8Ayuso Juan2.1%1.5%2.0%7.1%48.2%81.00
9Martinez Lenny2.1%1.7%1.9%5.5%41.4%41.00
10Hindley Jai2.0%1.9%1.8%5.7%30.3%201.00
11Carapaz Richard1.7%1.8%1.4%6.5%34.7%15.00
12Gee Derek1.5%1.3%1.3%8.6%26.3%151.00
13Skjelmose Mattias1.5%1.3%1.3%5.1%40.1%101.00
14Riccitello Matthew1.4%1.2%1.2%4.5%24.6%251.00
15Jorgenson Matteo1.3%1.7%1.1%4.0%19.2%81.00
16Yates Adam1.3%0.5%1.4%4.7%29.7%101.00
17Pidcock Tom1.3%0.6%1.3%7.4%49.5%34.00
18Johannessen Tobias Halland1.3%0.6%1.3%10.1%51.7%21.00
19Van Wilder Ilan1.1%0.9%1.0%3.5%33.3%151.00
20Vauquelin Kévin1.0%0.5%1.0%3.9%22.1%101.00
21Grégoire Romain1.0%1.3%0.8%6.3%29.2%67.00
22Kuss Sepp1.0%0.6%1.0%5.9%26.9%151.00
23Aranburu Alex0.9%2.4%0.4%3.5%10.6%501.00
24Bernal Egan0.8%0.4%0.8%3.2%38.3%101.00
25McNulty Brandon0.8%0.7%0.7%2.6%21.5%51.00
26Piganzoli Davide0.8%0.4%0.8%5.8%46.7%201.00
27Higuita Sergio0.7%0.6%0.6%2.4%19.9%251.00
28Foss Tobias0.7%1.0%0.5%4.9%16.7%251.00
29Izagirre Ion0.6%0.5%0.6%2.4%15.3%151.00
30Jegat Jordan0.6%0.6%0.5%3.6%34.5%151.00

Angle

If the break goes — competitive riders outside the GC pool

The top 10 on GC after stage 9 removed — everyone below that is far enough back to be given freedom. Remaining riders under the 'Mountain break' read; the conditional column renormalizes their win probability over this pool (P(win | a non-GC rider wins), pool holds 23% 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.

RiderTeamMountain break win pP(win | break wins)Book oddsBook devig
Arensman ThymenNetcompany INEOS1.5%6.3%1010.6%
Hindley JaiRed Bull-BORA-hansgrohe1.2%5.1%2010.3%
Johannessen Tobias HallandUno-X Mobility1.1%4.8%213.0%
Gee DerekLidl-Trek1.1%4.7%1510.4%
Carapaz RichardEF Education-EasyPost1.1%4.6%154.2%
Yates AdamUAE Team Emirates-XRG1.0%4.1%1010.6%
Jorgenson MatteoTeam Visma | Lease a Bike0.9%3.8%810.8%
Riccitello MatthewDecathlon CMA CGM Team0.9%3.7%2510.3%
Pidcock TomPinarello-Q36.5 Pro Cycling Team0.8%3.4%341.9%
Vauquelin KévinNetcompany INEOS0.6%2.6%1010.6%
Van Wilder IlanSoudal Quick-Step0.6%2.5%1510.4%
Kuss SeppTeam Visma | Lease a Bike0.6%2.5%1510.4%
Piganzoli DavideTeam Visma | Lease a Bike0.6%2.4%2010.3%
Grégoire RomainGroupama-FDJ United0.5%2.2%671.0%

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 the excluded GC pool (top 10 on GC after stage 9), i.e. the type the peloton might let up the road.

RiderBook oddsDevigGC dayMountain breakFull mountainGC status
Pogacar Tadej1.5042.5%31.1% (#1)16.1% (#1)41.1% (#1)GC #1
del Toro Isaac12.005.3%7.0% (#6)4.1% (#6)5.1% (#6)GC #3
Carapaz Richard15.004.2%1.9% (#10)1.1% (#13)1.6% (#9)free
Vingegaard Jonas19.003.4%9.3% (#3)5.9% (#3)12.9% (#2)GC #2
Johannessen Tobias Halland21.003.0%1.6% (#12)1.1% (#11)1.5% (#11)free
Evenepoel Remco26.002.5%11.2% (#2)5.5% (#4)12.8% (#3)GC #4
Pidcock Tom34.001.9%1.3% (#15)0.8% (#18)1.1% (#17)free
Martinez Lenny41.001.6%2.3% (#7)1.4% (#8)1.9% (#8)GC #8
Paret-Peintre Valentin41.001.6%0.3% (#43)0.2% (#44)0.2% (#44)free
Seixas Paul51.001.2%8.6% (#4)6.1% (#2)7.5% (#4)GC #6

After the stage

Results — won by Pogacar Tadej

PosRiderTeamGC day win pMountain break win pFull mountain win pHindsight (post-hoc) win p
1Pogacar TadejUAE Team Emirates-XRG31.1%16.1%41.1%30.5%
2Evenepoel RemcoRed Bull-BORA-hansgrohe11.2%5.5%12.8%10.6%
3Seixas PaulDecathlon CMA CGM Team8.6%6.1%7.5%8.8%
4Lipowitz FlorianRed Bull-BORA-hansgrohe7.2%4.2%6.3%5.7%
5Ayuso JuanLidl-Trek2.1%1.4%2.5%2.1%
6Skjelmose MattiasLidl-Trek1.3%0.8%1.0%1.5%
7Vingegaard JonasTeam Visma | Lease a Bike9.3%5.9%12.9%7.9%
8del Toro IsaacUAE Team Emirates-XRG7.0%4.1%5.1%7.2%
9Pidcock TomPinarello-Q36.5 Pro Cycling Team1.3%0.8%1.1%1.3%
10Martinez LennyBahrain Victorious2.3%1.4%1.9%2.1%

Scenario scoring — probability given to the actual winner

ScenarioBlend win pBook devig
GC day31.06%42.50%
Mountain break16.10%42.50%
Full mountain41.14%42.50%
Hindsight (post-hoc)30.50%42.50%

Reflection

What we make of it

The road picked the GC-day branch and then raced it harder than any of the three reads drew it. Pogacar soloed to Le Lioran 32 seconds clear of Evenepoel, and the breakaway played no part whatsoever: the eight riders first across the line are, in a different order, exactly the eight who now stand 1–8 on GC. It was among the hardest days of this Tour — one man clear, seven inside a minute, only 29 of 176 finishers within ten minutes (stage 6 had 24, stage 4 had 29). The Bastille Day mountain_break read, and with it the book's entire non-GC card, was the wrong branch.

Scoring the winner — on the footing that actually compares with the book, i.e. each read renormalized over the field, because the raw blend is a set of per-rider marginals and totals 113–117% here, so the numbers on the board above flatter us. Renormalized, full_mountain gave Pogacar 35.2% against the book's devigged 42.5%. That is the honest headline: we were MORE CONSERVATIVE than the market on the favourite, and still had him #1 under every reading. The edge was entirely in the tier behind him, and it was large. The gc_day top six — Pogacar, Evenepoel, Vingegaard, Seixas, Lipowitz, del Toro — all six finished inside the actual top eight. Evenepoel: book 2.5%, us 9.9%, second on the road. Seixas: book 1.2% (51 on the line), us 7.6%, third. Lipowitz: book 0.8% (81), us 6.4%, fourth. Ayuso at 81 was fifth and Skjelmose at 101 sixth. Meanwhile the book's non-GC card failed exactly where we said it would: Carapaz (third favourite at 15), Johannessen (21), Pidcock (34) and Paret-Peintre (41) finished 11th, 18th, 9th and 38th, and our reads had them #10, #12, #15 and #43.

The hindsight run says course knowledge was not the constraint — and, this time, that the pre-race reads already spanned the truth. Reconstructing the day from its actual finish curve lands at rolling 0.54 / mountain 0.45 and prices Pogacar at 26.8% renormalized: worse than the 35.2% of the full_mountain read we actually published. (The nearest curve match of all, Puy de Dôme '23, was thrown out by the winner-type filter as a pure break win; the five kept are GC-contested days.) At this level of selectivity the reference pool is dominated by mid-mountain rolling days, so curve-matching under-reads the terrain. The lesson runs opposite to stages 2, 4 and 9: the hardest of our three reads was the right one, and nothing the model structurally cannot see decided this stage.

Carry forward. (1) Stage 10 is the negative control for the GT hard-day hole — a shattered day settled by rider-course fit inside the GC group is exactly what the model prices, and it priced it at book level on the winner and far above book on everyone behind him. The hole is about days settled by break formation and tactics, not about hard days as such: a useful boundary for the post-Paris retrospective. (2) The standing edge is the GC second tier. The book prices names (Carapaz 15, Johannessen 21) while the model prices form and course fit (Seixas, Lipowitz, Ayuso, Skjelmose, all between 51 and 101). That is now two stages running — stage 9 had Johannessen 2nd off a 0.6% book price and Pidcock 3rd off 1.8% — and it is the most repeatable edge of the race so far. (3) One live miscalibration to watch: Vingegaard is #2 or #3 on every read (7.9–12.9%) and finished 7th at +44s. He is still second on GC, but 3:36 down, and the heads keep pricing him as Pogacar's nearest rival.