Cycling race predictor · Tour de France 2026

Stage 7 — 2026-07-10

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

2 scenarios 184 riders priced models retrained 2026-06-28 book snapshot markets_1032.json

The fork

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

Full sprint

Full bunch sprint — flat GT gallop
sprint1.00
mountain0.00
hilly0.00
rolling0.00
break0.00
TT0.00
Flat Grand Tour bunch sprints won from a full-field gallop (race_sprint_score 1.00, 150+ riders together at the line): Merlier TdF'25 s3, Philipsen TdF'24 s10, Cavendish TdF'24 s5, Jakobsen TdF'22 s2, Bennett Vuelta'22 s3, Groves Giro'25 s6. A day with no question about the shape — the peloton controls from the gun, the sprinters' teams reel in the token break, and the field arrives intact for the fastest man off the best lead-out train. The single-read stage: this is a flat sprint and only a flat sprint. Favours the top of the book — Merlier, Kooij, Philipsen, Girmay.
Top 5 (blend): Merlier Tim 46.3%; Kooij Olav 28.4%; Philipsen Jasper 22.0%; De Lie Arnaud 4.7%; Gaviria Fernando 4.3%

Hindsight (post-hoc)

Hindsight (post-hoc) — the full-field gallop it was always going to be
sprint0.85
mountain0.01
hilly0.14
rolling0.00
break0.00
TT0.00
Post-race reconstruction, NOT a prediction (never logged). The five DB stages whose finish structure most resembled stage 7's — a textbook flat Grand Tour bunch gallop with the field intact at the line (101 riders on the winner's time, 104 within 30s, 108 within the minute, 125 within two, the whole 176-rider field home inside ten minutes): Philipsen Tirreno'23 s3, Merlier Giro'24 s21 (the Rome finale — the same man who won today), van Aert TdF'21 s21 (the Champs-Élysées), Philipsen Vuelta'21 s5, Groenewegen UAE Tour'23 s5 — flat sprint days (avg sprint score 0.85) won by pure fast men off a peloton that controlled from the gun. Answers: if we had known for certain it would be a full-field sprint, what would the model have said? Little daylight here — the live single-read already priced exactly this shape.
Top 5 (blend): Merlier Tim 44.1%; Kooij Olav 41.2%; Philipsen Jasper 24.1%; Girmay Biniam 9.1%; De Lie Arnaud 6.0%

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.

RiderTeamFull sprintHindsight (post-hoc)Book oddsBook devigMax edge
Merlier TimSoudal Quick-Step46.3%44.1%2.2530.5%+15.8pp
Kooij OlavDecathlon CMA CGM Team28.4%41.2%3.0022.9%+18.4pp
Philipsen JasperAlpecin-Premier Tech22.0%24.1%5.2513.1%+11.1pp
Girmay BiniamNSN Cycling Team3.7%9.1%8.008.6%+0.5pp
De Lie ArnaudLotto-Intermarché4.7%6.0%n/a––
Gaviria FernandoCaja Rural-Seguros RGA4.3%5.0%101.000.7%+4.4pp
Kanter MaxXDS Astana Team3.8%4.9%15.004.6%+0.4pp
de Kleijn ArvidTudor Pro Cycling Team4.0%3.8%n/a––
Ackermann PascalTeam Jayco-AlUla3.0%3.2%401.000.2%+3.0pp
Pedersen MadsLidl-Trek2.1%2.5%34.002.0%+0.4pp
Fretin MilanCofidis1.9%2.3%24.002.9%-0.6pp
Wærenskjold SørenUno-X Mobility1.8%2.0%51.001.3%+0.6pp
van der Poel MathieuAlpecin-Premier Tech1.3%2.0%101.000.7%+1.3pp
Bauhaus PhilBahrain Victorious1.6%1.8%301.000.2%+1.6pp
Ballerini DavideXDS Astana Team1.3%1.5%401.000.2%+1.3pp
Matthews MichaelTeam Jayco-AlUla1.0%1.1%301.000.2%+0.9pp
Bittner PavelTeam Picnic PostNL1.1%1.1%201.000.3%+0.7pp
Pogacar TadejUAE Team Emirates-XRG1.0%0.9%301.000.2%+0.8pp
Full bunch sprint — flat GT gallop — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Merlier Tim46.3%55.3%31.1%72.3%89.6%2.25
2Kooij Olav28.4%31.2%19.7%60.6%84.4%3.00
3Philipsen Jasper22.0%19.5%16.4%46.9%83.0%5.25
4De Lie Arnaud4.7%1.9%4.1%12.4%63.9%n/a
5Gaviria Fernando4.3%1.2%3.9%8.3%71.0%101.00
6de Kleijn Arvid4.0%2.2%3.3%9.9%74.0%n/a
7Kanter Max3.8%3.3%2.9%16.8%83.1%15.00
8Girmay Biniam3.7%2.7%2.9%11.8%81.8%8.00
9Ackermann Pascal3.0%1.4%2.5%8.5%72.5%401.00
10Pedersen Mads2.1%2.0%1.5%9.0%50.3%34.00
11Fretin Milan1.9%1.8%1.4%7.9%74.4%24.00
12Wærenskjold Søren1.8%1.7%1.3%7.4%70.7%51.00
13Bauhaus Phil1.6%0.8%1.3%9.9%55.2%301.00
14van der Poel Mathieu1.3%2.5%0.6%11.3%39.9%101.00
15Ballerini Davide1.3%1.1%0.9%8.9%51.7%401.00
16Bittner Pavel1.1%1.3%0.7%6.6%74.3%201.00
17Pogacar Tadej1.0%1.4%0.7%4.3%21.7%301.00
18Matthews Michael1.0%0.7%0.8%5.1%64.5%301.00
19van Dijke Tim0.5%1.1%0.2%4.2%26.6%1001.00
20Wright Fred0.4%0.4%0.3%2.1%23.2%301.00
21Askey Lewis0.4%0.4%0.3%2.2%21.5%801.00
22Biesterbos Frits0.3%0.2%0.2%1.8%36.0%1001.00
23Vacek Mathias0.2%0.2%0.2%1.6%13.6%201.00
24Oldani Stefano0.2%0.1%0.2%1.0%34.8%1001.00
25Cort Magnus0.2%0.3%0.1%1.7%28.9%301.00
26Bol Cees0.2%0.2%0.2%1.7%17.0%601.00
27del Toro Isaac0.2%0.2%0.1%0.7%5.2%601.00
28Stuyven Jasper0.2%0.1%0.2%1.1%24.7%201.00
29Trentin Matteo0.2%0.1%0.1%1.8%43.3%301.00
30Godon Dorian0.1%0.1%0.1%0.7%13.8%201.00
Hindsight (post-hoc) — the full-field gallop it was always going to be — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Merlier Tim44.1%57.0%23.6%72.0%86.9%2.25
2Kooij Olav41.2%46.8%23.8%67.2%82.6%3.00
3Philipsen Jasper24.1%20.6%15.6%45.2%78.4%5.25
4Girmay Biniam9.1%6.1%6.3%19.7%78.7%8.00
5De Lie Arnaud6.0%2.4%4.5%13.4%65.5%n/a
6Gaviria Fernando5.0%1.5%4.0%10.1%58.3%101.00
7Kanter Max4.9%3.6%3.4%17.5%79.3%15.00
8de Kleijn Arvid3.8%2.3%2.7%9.1%53.2%n/a
9Ackermann Pascal3.2%1.6%2.3%8.8%61.9%401.00
10Pedersen Mads2.5%2.2%1.6%10.1%51.6%34.00
11Fretin Milan2.3%2.0%1.4%9.0%67.7%24.00
12Wærenskjold Søren2.0%1.7%1.3%8.1%60.7%51.00
13van der Poel Mathieu2.0%3.1%0.9%15.4%45.4%101.00
14Bauhaus Phil1.8%0.8%1.3%9.3%49.4%301.00
15Ballerini Davide1.5%0.8%1.1%7.4%42.4%401.00
16Matthews Michael1.1%1.2%0.7%7.0%67.4%301.00
17Bittner Pavel1.1%1.4%0.6%8.2%64.2%201.00
18Pogacar Tadej0.9%0.9%0.6%3.1%22.4%301.00
19van Dijke Tim0.5%0.9%0.2%3.2%24.8%1001.00
20Askey Lewis0.5%0.3%0.3%2.8%28.4%801.00
21Wright Fred0.5%0.5%0.3%2.5%31.1%301.00
22Oldani Stefano0.4%0.1%0.3%1.0%41.1%1001.00
23Biesterbos Frits0.3%0.3%0.2%1.6%38.4%1001.00
24Vacek Mathias0.3%0.2%0.2%2.0%14.8%201.00
25Bol Cees0.3%0.2%0.2%1.2%20.6%601.00
26Stuyven Jasper0.2%0.2%0.2%1.4%34.1%201.00
27Trentin Matteo0.2%0.1%0.1%1.6%41.4%301.00
28Godon Dorian0.2%0.2%0.1%1.0%22.8%201.00
29Cort Magnus0.2%0.2%0.1%1.5%31.3%301.00
30Pidcock Tom0.2%0.1%0.1%1.0%7.6%601.00

After the stage

Results — won by Merlier Tim

PosRiderTeamFull sprint win pHindsight (post-hoc) win p
1Merlier TimSoudal Quick-Step46.3%44.1%
2Wærenskjold SørenUno-X Mobility1.8%2.0%
3Girmay BiniamNSN Cycling Team3.7%9.1%
4Kanter MaxXDS Astana Team3.8%4.9%
5Philipsen JasperAlpecin-Premier Tech22.0%24.1%
6Bauhaus PhilBahrain Victorious1.6%1.8%
7Artz HuubLotto-Intermarché0.1%0.1%
8Godon DorianNetcompany INEOS Cycling Team0.1%0.2%
9Pedersen MadsLidl-Trek2.1%2.5%
10Van Asbroeck TomNSN Cycling Team0.0%0.0%

Scenario scoring — probability given to the actual winner

ScenarioBlend win pBook devig
Full sprint46.32%30.49%
Hindsight (post-hoc)44.08%30.49%

Reflection

What we make of it

Stage 7 was the one stage on the route with no scenario to choose between, and the road honoured it to the letter. The single full_sprint read said the peloton would control from the gun, reel in the token break, and deliver an intact field for the fastest man off the best lead-out — and that is precisely what happened: 101 riders on the winner's time, Tim Merlier taking it off the Soudal train ahead of Wærenskjold, Girmay, Kanter and Philipsen. No branch, no ambiguity, no regret about the read. A flat GT sprint is the terrain the model prices without a shrug, and this was the cleanest version of it.

The model and the market agreed on the shape of the top of the board — both ordered it Merlier > Kooij > Philipsen — but the model was materially sharper on every one of them: Merlier 46.3% vs the book's devigged 30.5%, Kooij 28.4% vs 22.9%, Philipsen 22.0% vs 13.1%. Merlier won, so on the settled scoring the model handed the actual winner a full 15.8 points more win probability than the devigged book did. The two names it missed — Wærenskjold's 2nd (1.8% ours, 1.3% book) and Kanter's 4th (3.8%) — are lead-out and positioning outcomes that neither we nor the market price, and neither bears on the win call. Girmay, whom the book liked more than we did (8.6% vs 3.7%), came 3rd; a wash.

Hindsight confirmed rather than corrected: fed the five DB stages that finished exactly like this one, the model returned Merlier 44.1% — within two points of its live 46.3% and the same board. That is the mirror image of stages 4 and 5, where a flat sprint that happened to fragment fooled the finish-shape match into reading climbers; here the shape was the one everyone expected, so course knowledge was never the constraint. Carry forward, and this is the day's real signal: on an unambiguous bunch sprint the model doesn't just rank the right fast man, it is willing to run a large confidence premium over the market on him (46% vs 30%). It paid this time. But that is a big premium, and the opposite of stage 6, where the market out-concentrated us on the lone favourite — worth watching across the remaining sprint days whether the model's over-the-book confidence on the lead sprinter is genuine edge or systematic over-concentration.