Every stage gets priced the morning before under several course readings, compared with the bookmaker's line, and settled against the result — with a reflection on what the model got right and why.
← System overview, season boards & the full Tour views · Post-race review: how the model's Tour went →
| Rider | GC gap | Model win | Outlook head | Book devig |
|---|---|---|---|---|
| Pogacar Tadej | 0:00 | 66.6% | 91.9% | 93.3% |
| Evenepoel Remco | +6:26 | 20.6% | 8.4% | 3.6% |
| Seixas Paul | +11:56 | 12.7% | 5.8% | 0.6% |
| del Toro Isaac | +9:42 | 8.4% | 4.1% | 1.2% |
| Ayuso Juan | +17:48 | 7.0% | 1.0% | 0.2% |
| Skjelmose Mattias | +14:59 | 2.3% | 0.4% | 0.4% |
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.
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.
The road picked a hybrid none of the three reads named cleanly: a hard medium-mountain day that split into a front group of ten, then settled by a sprint out of that group. Pedersen out-kicked teammate Quinn Simmons and Raul Garcia at the line, with the peloton +2:27 (147s) back and the field shattered behind -- only the ten in the move, 29 riders inside ten minutes. It carried the break_survives terrain (2800m over five climbs, the last cresting 35km out) but the reduced_sprint winner-type -- a classics hard-man winning the gallop. Three Lidl-Trek riders made the ten (Pedersen 1st, Simmons 2nd, Vacek 10th), a team-built split, with GC man Vauquelin (6th) and several near-anonymous names -- Frigo, Debruyne, Sean Quinn, Traen -- filling it out.
Only one read classed Pedersen as a live winner: reduced_sprint gave him 6.23% (its #4), against break_survives 0.21% and late_move 0.65%. That was the right paradigm on winner-type -- but it still priced him at well under half the book's 14.32%, and its own top pick was Philipsen (15.5%), a pure sprinter the climbs dropped clean out of the front group. So even the read that found the winner hedged him behind the sprinters the terrain was always going to shed. The market, which had Pedersen outright favourite at 4.50, simply read the man better than we did.
Hindsight cut the opposite way to stage 3. Fed the five DB stages that actually finished like this one -- hard medium-mountain, a front group of ten, rolling 0.65 / mountain 0.34 -- the model returned a GC-climber board: Pogacar 11.9%, Seixas 9.1%, del Toro, Evenepoel, Vingegaard, with Pedersen only 31st (0.42%). Course knowledge of the terrain would have made the winner read worse, not better: the model equates 'hard medium-mountain' with 'climbers win' and has no representation for a classics sprinter strong enough to survive the front group and win its sprint. The binding constraint was rider-type, not course knowledge -- and the signal that worked came from picking references by winner archetype, not terrain. Carry forward: on medium-mountain days that can reduce to a hard front-group sprint, trust a winner-archetype read (hilly-classics hard-men) over a terrain-matched one, and don't let pure sprinters sit above the Pedersen/Vauquelin survivors -- the climbs drop the sprinters first. Quiet positive: Vauquelin (6th) was the one front-group rider every read rated, 12th even in hindsight, so the model's fitness read on the GC-puncheurs who bridge into these groups is tracking.
Stage 5 was a flat sprint, full stop — and it should be read as one, despite a classification that looks fragmented. Everyone came to the final flat 5 km together; a late crash in that run-in, not any selection on the road, is what strung the bunch out. So the shape in the results — 19 on the winner's time, 79 within 30s, 104 within a minute, the tail to eleven minutes — is a crash artifact, not the reduced_sprint's genuinely shed field it first looked like. The full_sprint read had the day right. Olav Kooij (Decathlon) beat Max Kanter to the line, Merlier 3rd, the 22-year-old Huub Artz a surprise 4th, Philipsen 5th, Girmay 6th — a bunch-sprint result, the placings behind the leaders scrambled by who was ahead of the crash rather than who got dropped.
The model out-priced the market on the winner — and on a non-favourite, which is the harder version. Both reads put Kooij second on their board, at 26.7% (full sprint) and 27.3% (reduced), against a book that had him only fourth at 14.2% devig, behind Merlier, Philipsen and Girmay. The model promoted him over Philipsen and Girmay and was right. Its top three — Merlier (its 44%/33% favourite), Kooij, Philipsen — took 3rd, 1st and 5th on the road: three of the top five straight off the front of the board. The two it 'missed' are the two the crash handed their placings — Kanter (2nd, 3.6%), a lead-out man who found himself in front and finished it off, and Artz (4th, 0.1%), a neo-pro it has no basis to rate who was simply on the right side of the split. Neither is a signal the model can be faulted for.
Hindsight cut against the winner again, as on stage 4 — and the crash makes the reason cleaner. The five DB stages that finished like this one — a fast day shattered to ~19 same-time — average to a rolling 0.53 / breakaway 0.24 profile, not a sprint, because in the record a bunch that fragments usually means the terrain shed it. Fed that, the model returned a GC-puncheur board (Pogacar 17.5%, van der Poel 5.1%, Seixas 4.7%) with Kooij down at 1.2%, eighth. But here nothing shed the bunch — a crash split it in the final kilometres — so matching on finish structure imported a selection that never happened. That is the stage-4 lesson sharpened: reference by winner archetype, not by finish structure, because the structure itself can be pure noise. The pre-race sprint read was right, and out-pricing the book came from trusting clean-sprint references over the rolling profile the fragmentation would have implied. And the tweak an earlier draft of these notes floated — nudging 'thinned-gallop overperformers' up in the sprint scenarios — is withdrawn: there was no thinned gallop to learn from, just a crash, and Kanter and Artz landing 2nd and 4th is positioning luck on the day, not a structural edge the model should price.
Stage 6 went past even our sharpest read. The Tourmalet split the race just as the elite_selection scenario pictured — a handful of GC men over the top — but Pogacar didn't wait for the uphill kick to Gavarnie: he soloed off the front and won by 2:38 over Vingegaard, with del Toro, Evenepoel, Seixas, Lipowitz, Ayuso and Skjelmose chasing in at 2:57 and only 24 riders inside ten minutes. That is the elite_selection pole and then some — the field shattered, one leader clear, the long descent and the 3.7% drag doing nothing to reel him in. The large_group base case the preview leaned toward never appeared; the road took the highest-ceiling branch we had.
The model read the cast of the front group almost perfectly. Its elite_selection and select_group boards put the same six names up top — Pogacar, Evenepoel, Seixas, Vingegaard, Lipowitz, del Toro — and those are exactly the six who filled the top six on the road, merely reordered. It even out-priced the market on the men the book buried: Seixas, at #2-4 on our boards but 26.0 (2.5% devig) in the book, came 5th; Evenepoel, our #2 but 41.0 (1.6%) in the book, came 4th. Where it ceded ground was on Pogacar's own number — the book had him at 48.8% (1.35), and our best read, select_group, sat just under at 47.2% (elite_selection lower, 40.6%). We spread a little more mass across the elite group than the market, which concentrated on the one man; because he soloed, that concentration scored better on the day. Right ordering, a shade light on the favourite.
Hindsight, for once, added nothing — and that is the point. Fed the five DB stages that finished like this one (Pogacar's Giro'24 solos, Vingegaard at Hautacam, Adam Yates, Evenepoel — all lone high-mountain wins), the model returned Pogacar 39.9% and the very same elite six, essentially its pre-race board. On stages 4 and 5 finish-shape knowledge hurt us, because a flat sprint that fragments reads to the model as selection, i.e. climbers; here the fragmentation was real selection, so pricing the terrain was already the right answer and hindsight only confirmed it. The one thing the model structurally can't see is the margin — a 2:38 solo is Pogacar being the strongest rider in the race and choosing to ride away, not a course-fit signal. It ranked him #1 on every read, which is the correct call; it simply can't be asked to know he'd win by minutes rather than out-kick a group of eight. Carry forward: on genuine high-mountain GC-selection days our board and the market agree and our ordering is strong — the market's only edge is a tighter concentration on the single dominant favourite, a calibration nudge, not a terrain-knowledge gap.
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.
The road took the base case exactly as written. The two Cat-4 lumps changed nothing, the trains controlled the Dordogne crossing, and 90 riders hit Bergerac together for the full gallop — Merlier winning his second stage in two days off the Soudal Quick-Step lead-out, ahead of Girmay, Kooij and Philipsen. Those are the four names the full_sprint note listed as the top of the board before the race. Of the two reads, the road picked full_sprint; the reduced_sprint branch (the Buisson-de-Cadouin ramp doing damage) never materialized.
Both reads had the winner on top, so the fork barely mattered at the head of the board: full_sprint gave Merlier 46.7% against the book's devigged 41.5% (+5.2pp), reduced_sprint 35.2%. The more interesting movement was underneath. Girmay — 2nd on the day, 5.3% at the book — got 9.3% from the reduced read but only 3.8% from full_sprint, so the branch the road didn't take was the one that priced the runner-up right. And the book itself closed most of last stage's gap: on stage 7 we ran Merlier at 46.3% against a 30.5% devig; today the market opened him at 1.65 (41.5% devigged) and our premium shrank to five points. The market conceded the Merlier read rather than the model backing off it.
Hindsight confirmed rather than corrected, again: fed five pure-sprint finishes (avg sprint score 0.90), the model returned Merlier 42.3%, Kooij 39.1%, Philipsen 23.1% — the live board within a few points, so course knowledge was never the constraint on a day with no structural surprise. Watch-item tally after two clean sprints: the over-the-book premium on the lead sprinter has now paid twice (stage 7 hugely, stage 8 modestly because the book moved to us). The sharper sub-question is Kooij: the model has priced him at roughly double the book two sprints running (28.2% vs 17.1% today) and he has yet to beat Merlier head-on — if that ratio persists without a win, the Kooij number starts to look like model over-confidence in second wheels rather than edge. Tomorrow is the real test of the week: a stage-4-archetype day where the carry-forward rule — pick references by winner archetype, not terrain, and don't let pure sprinters or GC climbers crowd out the classics hard-men — gets applied prospectively for the first time.
The road picked the late-move branch, raced by the punchy pool. No long break settled it: van der Poel, Johannessen, Pidcock and Baudin went clear over the final climbs and held six seconds over a ~36-man reduced peloton containing every GC captain (Pogacar 11th, Evenepoel 12th) — four clear, 40 within 30s, only 63 inside ten minutes on the heat-shortened 155.5 km. Structurally that is the late_move read; the winner, though, was the fast hard-man the hard_mens_sprint read was built around.
Scoring the winner: hard_mens_sprint gave van der Poel 6.9% (#5) — exactly the book's devigged 6.9%, our best read of him. late_move gave 1.9% (#8), break_day 0.8% (#14). But the cleanest hit was the punchy-pool table, the stage-4 lesson formalized this week: its late-move column made van der Poel the single top pick of the whole pool at 11.3%, and its hard-men column had him #2 (17.3%) behind Pedersen (20.7%, finished 6th). Johannessen (2nd, book 0.6%) and Pidcock (3rd, book 1.8%) sat top-10 on both selective reads — the model had the podium's type right even where the book didn't.
The hindsight run says course knowledge was not the constraint, again. Reconstructing the day from its actual finish curve (rolling 0.64 / mountain 0.35) prices van der Poel at just 2.6% (#5) — worse than the pre-race hard-men read — and puts Pogacar on top at 21%, because a terrain-true selective profile buries fast men and promotes GC men. What decided the stage is the thing the model structurally can't see: four punchy riders rolling clear at 24 km while the GC pool marked each other. Same conclusion as stages 2 and 4; this is the GT hard-day hole, not a reference-picking error.
Carry forward: on selective non-mountain days the punchy-pool renormalization is the board to read, not the raw blend — two data points now (stage 4 retro-derived, stage 9 prospective and it named the winner). Keep the anchor_sprint + punchy_filter machinery on every hard rolling/hilly day; consider promoting the pool's conditional column to the hub pick on days where the GC pool is expected to neutralize. Also mark stage 9 as a labeled corpus row for the post-Paris GT hard-day retrospective: shape = late-move-from-reduced-peloton, winner type = punchy fast-man.
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.
The road picked the full-sprint branch — a wide flat gallop into Nevers, 119 of 175 finishers credited with the same second — but the win went where nobody's card had it. Søren Wærenskjold, a rouleur-fast-man priced at 34 (2.0% devigged), came over the top of the pure sprinters: Kooij second, Philipsen third, Fretin and Girmay behind, and Tim Merlier, the whole market's 1.65 favourite, boxed back to fifteenth. Not a break, not a crosswind split — a full bunch kick whose result was a lead-out lottery rather than a question about the day.
Scored on the footing that compares with the book — each read renormalized over the field, since the raw blend totals 136% here and flatters the board above — the honest headline is a shrug on the winner and a hit on the shape. Full-sprint gave Wærenskjold 1.4% against the book's 2.0%; on win-log-loss, the one number that scores, the market edged us on this 34-1 result. But the pre-race claim was never about the winner. It was that our disagreement with the book lived inside the gallop, and it landed on all three names we staked it on: Kooij 22.3% against the book's 13.9% — second on the road; Philipsen 17.9% against 7.0% — third; Merlier shaded down to 32.9% against 42.2% — fifteenth. The market got the shape wrong and we got it right. The one blemish on that axis: we actively disliked Girmay at 3.0% against the book's 7.7%, and he was sixth.
The hindsight run says course knowledge was not the constraint, and this time it is not even a close call. Reconstruct the day from its finish curve — the five WT stages whose split most resembles it, every one a flat pure-sprint at sprint score 1.0 — and the read barely moves: Merlier 44.5% (44.9% cold), Kooij and Philipsen next, the winner 2.3% (2.0% cold). A flat bunch sprint is a day-type the model already prices end to end; there is no hidden terrain to recover and knowing the shape in advance buys nothing. Wærenskjold winning from ninth on the board is the irreducible floor of sprint racing — position, the lead-out, the legs on the day — the part neither model nor market ever escapes.
Carry forward. (1) This is the sprinter's negative control, the mirror of stage 10. There a shattered mountain day was settled by rider-course fit and the model nailed it; here a flat day was settled by a lead-out, and the model priced the pool correctly and lost the winner to noise — exactly as the book did. Neither day is the GT hard-day hole. (2) The intra-sprint edge over the market held for the second sprint running: the book anchors on the marquee name (Merlier 42%), we spread the mass to the fast-men just behind him, and the fast-men keep winning — Kooij second here off our 22% versus the book's 14%, worth trusting over the market's top-heavy sprint pricing. (3) Merlier is beatable — two wins (stages 7, 8) but out of the top ten today — and Girmay and Kooij are both still hunting a stage, Kooij runner-up for the second time. No structural lesson: a clean day, cleanly priced.
The road picked the sprint — and, of the two sprint reads, the fuller one. Chalon-sur-Saône came down to a chaotic bunch gallop that Lidl-Trek spent the last 40 km trying to blow apart, Simmons, Vacek, Skjelmose and Pedersen attacking in relays to shed the fast men, only for it to knit back together for the kick. Tim Merlier took his third stage of this Tour from Olav Kooij and Jasper Philipsen, Biniam Girmay and Milan Fretin behind — the pure sprinters, not the hard-men the reduced read promotes, so the day landed nearer full_sprint than reduced_sprint. It was not clean: a crash inside the final kilometre put Fernando Gaviria and Jenno Berckmoes out of the race with broken collarbones and left Wærenskjold, Abrahamsen, Charmig and Godon on the deck but continuing.
Scored on the footing that compares with the book — each read renormalized over the field, since the raw blend totals 137% here and flatters the board above — this is the model's cleanest sprint of the Tour. full_sprint gave Merlier 33.1% against the book's devigged 32.4%: we agreed with the market on the favourite and he won. And the lean behind him, the one that has defined our sprint reads, paid a second straight day — we made Kooij 22.1% to the book's 13.6% and Philipsen 17.8% to its 11.4%, and they finished second and third, exactly as on stage 11. The difference from stage 11 is that this time the favourite landed too, so on win-log-loss we beat the market on the result rather than just matching it on the pool.
The hindsight run confirms course knowledge was not the constraint. Reconstructing the day from its finish curve — five flat bunch sprints at sprint ~0.90 — prices Merlier 28.2% and Kooij 27.9% renormalized, with the same top three, barely a step from the full_sprint read we published cold. A bunch gallop that regroups is a day-type the model already reads at book level; there was nothing structural it needed to have known. One method note for the record: FirstCycling's origin was returning 503 under Tour load the evening of the stage, so the full field gap-curve could not be archived and the finish shape was borrowed from stage 8 — Merlier's own near-identical chaotic gallop into a valley town — as the template; every near neighbour to a large-front-group sprint is itself a bunch sprint, so the reconstruction is robust to that choice.
Carry forward. (1) The intra-sprint edge over the book is now the most repeatable signal of the race: stages 11 and 12 both saw us over-weight Kooij and Philipsen against the market, and both times they filled the podium behind the winner — on stage 11 the model owned the pool and lost the win to a 34-1 lead-out, on stage 12 it owned the pool and took the win as well. (2) This is not the GT hard-day hole and does not pretend to be: a flat bunch sprint settled by pure speed, priced at book on the winner and above book on the placings — the sprinter's mirror of the stage-10 mountain day. (3) Attrition is the story now turning the Tour. Two more sprinters gone to the Chalon crash and several banged up as the race leaves the valleys for the Vosges — stage 12 was, in all likelihood, the last true bunch sprint for a while.
The road picked the break, and picked it emphatically. Dole to Belfort split exactly along the break_survives fork we led with: an escape crested the Col des Croix and the Ballon d'Alsace with a gap, used the 30 km of descending into Belfort to defend it, and stayed clear by more than seven minutes. Mauro Schmid out-kicked Harold Tejada from a nine-man front group, Tom Pidcock leading the survivors home at two seconds, while the whole GC field — Pogacar, Vingegaard, Evenepoel, del Toro — rolled in 7:32 down, content to let a break of non-threats have the day. It was the clearest branch call of the Tour: not the reduced-GC regroup, not the full-gas mountain selection, but the escape the profile and the book both leaned toward.
Scored on the footing that stands next to the book — each read renormalized over the field, since the raw blend sums past one and flatters the board — the day lands where break days land for a fitness model: short of the winner, useful one rung down. break_survives gave Schmid 0.35% raw, about 0.45% renormalized, against the book's devigged 1.21%; the market edged us on the winner because Schmid was a longshot to everyone, a rider neither model nor book rated for the stage. The value was in the conditional pool. The whole point of a break read is to strip the GC captains and renormalize the rest into 'if the break wins' odds, and there Pidcock topped our free riders at 3.1% (the book 5.1% outright) — and Pidcock took third and vaulted into the GC top four. The standings-based cut did its job precisely: every rider who actually made the winning break — Schmid, Tejada, Vauquelin, Jegat, O'Connor — sat outside the imprisoned top nine and was free to be read, where a model-blend pool would have jailed some of them. The book's own stage favourite, Carapaz at 7.2%, never featured; he stayed in the bunch and is now 19th on GC.
The hindsight run says course knowledge was not the constraint — the cleanest demonstration this Tour of the hole we keep circling. Reconstructing the day from its finish curve, a nine-man break clear of a shattered peloton, lands on five medium-mountain break wins (Bilbao TdF'23 s10, Cort TdF'22 s10, Berrade Vuelta'24 s18, Rui Costa Vuelta'23 s15, Kron Suisse'21 s6), averaging rolling 0.58 / mountain 0.41 — the identical archetype we published cold. Run on that archetype the board still tops with Pogacar, Seixas and del Toro, the riders who best fit the terrain, and still leaves Schmid 39th at half a percent. That is the GT hard-day hole exactly: the model prices rider-course fit, and by that measure the GC men are the best fits, so its raw board is always the 'break gets caught' branch. What it cannot encode is the tactic that actually decided the stage — that UAE and Visma, the race lead secure, would give a break of non-threats seven minutes and sit up. No profile reference says 'the favourites choose not to race.'
Carry forward. (1) Another clean instance of the hard-day hole after stages 4 and 9, and the shape repeats: the branch is right, the pool archetype is right, the specific winner is a break rider too far down the fitness order to price — and the mitigation that works is the conditional pool, which surfaced Pidcock here as it surfaced the live names on stage 9. (2) The GC has moved for the first time since the second-week mountains: Pidcock is up from tenth to fourth at +4:15 and Jegat from nineteenth to eleventh, but the order behind Pogacar is otherwise intact and the top ten stays tight — Pogacar to Lenny Martinez inside 6:34, then a hard cliff to Jegat at +10:26, the standings line the break pool will cut on tomorrow. (3) Tomorrow is the opposite kind of day: a genuine GC mountain stage the favourites will race, so the hard-day hole recedes and the reconstructed standings — now current through stage 13, with Pidcock's raid and the reshuffled order behind him baked in — feed the GC-outlook head on a day the climbers actually contest.
The road picked the base case, and picked it early. UAE lit the Col du Haag, the front group came apart on the steep middle ramps, and Pogacar went clear alone to take the plateau run-in to Le Markstein by 38 seconds over del Toro and Seixas — a fourth stage win and another chunk of GC time. The break read never got its chance: unlike Belfort yesterday, the escape was pulled back before the Haag and the day resolved exactly as the 'GC mountain' scenario described it. Only seven riders finished within a minute; the non-summit finish that made the reduced-group branch plausible turned out not to matter, because the selection happened 6 km earlier and nobody came back.
On the settled page's raw numbers all three reads look close to the book on the winner — 39.1% (GC mountain), 35.6% (reduced group), 39.5% (break survives) against the book's 40.4% devigged. That comparison flatters us and should not be quoted without the correction: blend_win_p is a set of per-rider marginals, not a distribution, and these boards sum to 114–116%. Renormalized over the field, the GC-mountain read gave Pogacar 34.2% and the book-preserving LambdaRank head 32.8%, both meaningfully below the book's 40.4%. The honest verdict is that we had the right shape of day and the right man on top, but we still would not back him as hard as the market did. That is the same gap the whole Tour has shown on Pogacar.
The hindsight run is the interesting part, because it says course knowledge was NOT the binding constraint here. Rebuilding the day from its actual finish curve — the curve-nearest WorldTour stages since 2021 that a GC captain actually won — produced a slightly more rolling-weighted profile (mountain 0.45 / rolling 0.54) than the pre-race read, because the Haag cresting 6 km out makes this structurally closer to a hard selective stage than a summit finish. With that perfect knowledge the model gave Pogacar 36.9% raw, and only 28.5% renormalized: worse than the read we actually published. Knowing the shape of the day did not help us price the favourite; it spread probability toward all-rounders instead.
What hindsight did fix was the supporting cast. It moved del Toro from 5.7% to 8.6% and Seixas from 6.6% to 9.7% — the two riders who actually took second and third — and its top six were the actual top seven minus Ayuso. So the day-shape signal carries real information about who survives the selection and in what order, and none about how much to concentrate on the strongest rider. Carry that forward as the watch item: the ceiling on Pogacar is structural, not a course-reading failure, and no amount of better reference-picking will close it. It is a probability-concentration limit in the heads themselves, and it belongs with the post-Paris settlement work rather than with the daily reads.
The road picked the GC-summit branch, and then some: no break survived the wall, and the two strongest stage-racers in the race arrived together. But the name on the stage was the one nobody was supposed to say. Remco Evenepoel won on an 11.3 km wall at 9.1%, taking Pogacar to the line at level time with del Toro six seconds back — and the book had priced him at 101.0, six-tenths of a percent devigged, the longest price on any top-four GC rider all Tour. Every one of our reads had him second or third at 9.4–10.5% renormalized. Last night's disagreement table led with Evenepoel at +9.9pp and told readers to 'treat the top of this table as the model's known blind spot, not as edge.' That editorial call was wrong, and it deserves to be owned plainly: the model's number was the good one, the book's archetype logic — time-trial-shaped riders don't win on 9% walls — was the thing that failed. A 16x disagreement settled for the model is the strongest single result the system has produced this Tour.
The supporting cast makes it systematic rather than lucky. The same table backed Lipowitz (+6.3pp, book 81.0) and Seixas (+4.5pp, book 34.0): they finished fifth and fourth at +58s, ahead of every featherweight climber the gradient story favoured. And the book's other lean — Carapaz at 5.5 as break-survives second favourite — evaporated with the break itself; he came twelfth from the GC group at +2:51. On this stage the model's 'proven GC quality wins any hard day' prior beat both of the book's stories at once: the gradient-archetype story above the line and the break-formation story below it.
The hindsight run says course knowledge was not just unnecessary — it would have made the winner call slightly worse. Matched to the actual finish curve (2 within 5s, 5 within 60s, 24 within 10min), the five closest DB stages are all GC-captain summit wins (Vingegaard TdF'24 s11, Almeida twice, Roglic, Onley), and that read prices Evenepoel at 7.6% renormalized — below the 10.5% the pre-race GC-summit read gave him — while promoting Lipowitz to 9.0%. Same pattern as stage 14: hindsight tunes the supporting cast, not the winner. Worth logging for the mountain-axis file: the reference stages that finish like Solaison carry a DB fingerprint of mountain ~0.45 / rolling ~0.55, nowhere near the 0.75 synthetic of our Climbers' wall read — and the featherweight promotion that read was built to test is exactly what the road refused to deliver. The axis still can't re-sort by gradient tolerance, but this result argues the book's gradient-tolerance story is itself overrated on summit finishes: what transfers is quality and form.
The asterisk is Vingegaard. Our #2 on every read at 8–11%, he crashed out of the race along with Merlier and Van Asbroeck — the model's second-biggest number never reached the climb. That is what the DNF head and the dnf-adjusted columns exist to absorb, and it is also the day's real GC story: Evenepoel inherits second at +5:00, the Visma captaincy question is gone from the race, and the standings cliff behind Pidcock (9th, +11:19, then +19:26) has become an eight-minute chasm that will define who gets breakaway freedom in the Alps. Carry-forward watch item: our stage-16 time-trial preview inherits a board where the two riders who just dropped everyone are also the two best men against the clock.
The road picked the branch none of our boards led with: Evenepoel won the time trial by 28 seconds over Pogacar, and the book's 1.50 was right. All three reads gave the winner ~21% (GC engines 20.95%, Pure power 21.35%, Hills bite 21.14%) against a devigged 53.5%, and all three made Pogacar the ~53% pick. After stage 15 settled a 16x disagreement our way — same two riders, same question, our side — the sharpest test of the Tour went the other way: the book was pricing Solaison's watts, we were pricing two seasons of head-to-heads, and the watts won.
The hindsight run closes the usual escape hatch. Rebuilt from the five DB time trials whose finish-gap curves most resemble today's (Perugia'24, Peyragudes'25, Giro'26 s10, Alicante'22, Combloux'23 — GC-decided TTs, exactly today's shape), the board is unchanged: Pogacar 54.0%, Evenepoel 19.2%. Every ITT carries the identical profile fingerprint, so the only lever hindsight has is finish structure, and finish structure wasn't the constraint. The miss lives in the rider prior: the model's snapshot features end at the Dauphine and its within-race state carries standings, not yesterday's performances. It literally cannot know Solaison happened.
Put stages 15 and 16 side by side and the deeper finding appears: they are the same property of the model wearing opposite signs. Our Evenepoel number barely moved across the two days (~10% on Solaison, ~15% renormalized here) while the book swung from 0.8% to 53.5%. A static form prior fades archetype stories AND fades fresh physical evidence — profitable on Saturday when the book's 'TT-shaped men can't win 9% walls' story lost, costly on Tuesday when the book's update was simply correct. Carry-forward rule: when a 'book-knows-news' gap traces to a direct on-road demonstration on comparable terrain days earlier — not narrative, watts — discount our side of the disagreement.
Below the big two, the quieter reads mostly aged well. The road agreed with the Hills bite direction — climbers swept the top five (Skjelmose 3rd at 1:04, Seixas 4th, del Toro 5th) and the pure engines were buried (Tarling 10th at 2:02, Ganna 11th) — and Hills bite was the only board that had demoted Tarling (11.3→5.3%) and promoted del Toro, so the TT axis does re-sort when pushed; the probe answered yes. Tarling at 11.3% was the biggest single miss below the top two, while the model's coldness on Ganna (3.9% vs book 5.3%) was vindicated. Seixas 4th at 101 book odds is another mark for the standing edge. And the day's structural news travels to tomorrow: Lipowitz crashed out of GC #2, the field is down to 166, and the GC cliff now sits after Pidcock in 8th (+12:58), with 10 minutes of air below him.
The road split the difference between our three reads and landed cleanly on none of them. A 26-rider front group — not the pure rouleur escape we drew, but a strong mixed break carrying the fast climbers-sprinters (Philipsen, Kooij, Pedersen, van der Poel, Matthews) alongside the rouleurs — went clear over the early Savoy climbs and stayed to Voiron, where Philipsen won the reduced sprint. The peloton shattered behind (only 34 riders within two minutes of the win) and the entire GC group sat up, rolling in 8:46 down. GC is frozen going into the first Alpine summit: identical top 8, Pogačar still in yellow, Evenepoel +4:32. So it was neither the rouleur break (the fast men made it) nor a full bunch sprint (the field was blown apart in between).
The hard-men sprint read was the best board of the three and it beat the book on the actual winner: it made Philipsen its outright #1 at 17.6% honest (23.8% raw blend) against the book's 9.3% — the model's single top pick, and it won. The sprint-survives read priced Philipsen almost as richly (24.6% honest) but ranked the purer sprinter Kooij ahead at 39%; Kooij finished third, and it was exactly the reduced-group nature of the day — which rewards the punchier Philipsen over Kooij — that hard-men-sprint captured by putting Philipsen on top. The rouleur break was the wrong branch (Philipsen 0.1%): its standings cut correctly freed the rouleurs, but its terrain profile buried the fast men, and the fast men are who won. The book's own 5.0 favourite Pedersen came eighth.
Course knowledge was not the constraint here — it actively hurt. The hindsight run, built from the five nearest finish-curve neighbours (van Aert's 2022 huge-break stage, van der Poel 2025, Cort's Paris-Nice, Brennan and Gilmore at Catalunya) and correctly reconstructing a rolling-breakaway profile (rolling .25 / breakaway .49 / mountain .16 / hilly .10), gives Philipsen just 1.6% (#13) and crowns Pogačar at 29.6% — a man who never once contested the stage. On a literal rolling-breakaway profile the model ranks by rider-course fit and the GC star fits best, so knowing the true terrain made the board worse, not better. The winning move was to read the day as a reduced SPRINT (which holds the fast men up), not the breakaway it literally was.
Carry-forward. (1) This is the GT hard-day hole once more: the model cannot see that the GC teams will grant a big break, nor that the break can swallow the fastest men, so on a transition stage the honest board is the reduced-sprint archetype and not the post-hoc terrain — we weighted the hard-men-sprint read as the base case and it paid. (2) The punchy filter mis-fired: it classified Philipsen and Kooij as pure sprinters that 'collapse' when the day turns selective, yet they made the break and finished 1st and 3rd. The collapse logic assumes the sprinters get dropped; on a day the break carries them up the road, that assumption inverts — a watch item for the next transition stage. (3) GC is untouched, so the stage-16 standings still define tomorrow's break-cut into the Alps.
The road picked the climbers' break, emphatically. A strong escape went clear on the first Alpine day and the GC teams let it live: Richard Carapaz soloed to Orcières-Merlette 45 seconds ahead of Mauro Schmid and Matteo Jorgenson, with Valentin Paret-Peintre fourth and Johannessen fifth, while the maillot-jaune group rolled in together at 4:35 — Pogačar thirteenth, GC frozen from first to ninth, and Carapaz vaulting to tenth overall at 21 minutes. The gap curve (one rider within two minutes of the next, 34 within ten) is a pure solo-shatter day.
On the winner, the book beat us — and beat us on concentration, not branch. Our climbers'-break read was the right branch, and Carapaz was on its card: 1.7% raw (#8), 5.1% in the conditional if-the-break-wins column. But the book had him at 13.8% devig as its outright favourite, and it was right to be so concentrated. Our pool spread its mass across climbers ranked by fitness-for-the-day — conditional leaders Lenny Martinez (6.3%) and Arensman (6.1%) — and neither made the break: Martinez rode in with the GC group, Arensman finished 48th, Kuss 44th. The book also had Paret-Peintre (4.1% vs our 0.3%) — fourth on the day. What the book is pricing and we structurally cannot is break INTENT: EF's commitment to the stage, Carapaz's mountains-jersey hunt. Break formation remains invisible to a rider-course-fit model.
The rouleur question — flagged pre-race as a live prospective test — settled mostly for the model, with one expensive exception. Six of the seven names in that analysis block finished 25th or worse: Simmons, the book's 4.8% climby-rouleur, was 25th; Van Gils 27th, Grégoire 39th, Storer 57th, Healy 60th, Vauquelin 69th. The model's refusal to seat a classics engine on a summit was right about the win — a pure climber took it. The exception: Mauro Schmid, buried at 0.3% (#38-41 on every read) against the book's 26.0, rode to second at 45 seconds, and Jorgenson — a rouleur-shaped man the model does see because he carries a mountain signature — was third. On tempo grades the type can contend; it just couldn't beat a featherweight to the line. Half a point to each side, and the model's half was the winner-relevant half.
The hindsight run closes the loop the same way stages 9 and 17 did: fed the five nearest gap-curve neighbours (three solo break-climber wins, two GC-star solos — profile rolling 0.52 / mountain 0.48, nearly identical to the pre-race break read), the model still makes Pogačar 44.4% and gives Carapaz 2.3%. Course knowledge was not the constraint — the pre-race climbers' read already had the day's shape right. The constraint is structural: on a break day the model prices who is strongest on the terrain, and the answer to a break day is who is IN the break. Carry-forward watch item: the book's break-day concentration is intent information we don't ingest — Carapaz opens as 4.5 favourite again for Alpe d'Huez tomorrow. Candidate for the post-Paris GT-hard-day work: a presentation-layer break-intent prior seeded from the book's own card.
The road picked both branches at once, which is why the day reads as a split verdict rather than a win for either. A climbers' escape went and it stuck for the places — Lenny Martinez, Richard Carapaz, Sepp Kuss and Tobias Halland Johannessen filled second through fifth — but the winner came out of the GC group behind them: Pogačar crossed to the escape on the 21 hairpins and rode away, taking his fifth stage of the race by six seconds from Martinez and nine from Carapaz. The maillot-jaune group arrived 2:29 down with Evenepoel leading it in sixth, del Toro seventh, Skjelmose and Seixas at 2:45. It was the most brutally front-loaded finish of the Tour: one rider at zero, three inside thirty seconds, four inside two minutes, twenty-four inside ten. Nothing on GC moved at the top; Carapaz climbed from tenth to eighth.
On the winner, model and book finished level, and the honest framing matters here. The GC-on-the-Alpe read gave Pogačar 50.2% raw, but that board's blend mass sums to 1.304 — renormalised over the field it is 38.5%, against the devigged book's 37.6%. The LambdaRank head, which is book-preserving by construction, said 39.3%. So the read was right and marginally sharper than the market, not thirteen points sharper. The climbers'-break board, whose mass is much closer to one, renormalises to 41.1% on Pogačar and is the day's best single number. The rouleur read was the only one meaningfully below the market at 31.9%, correctly so.
The conditional break pool is the real result of the day, and it is the direct answer to stage 18's failure. Yesterday the pool's leaders never made the escape and the block scored nothing. Today the four best-placed free riders — Martinez second, Carapaz third, Kuss fourth, Johannessen fifth — were the model's #1, #5, #6 and #9 out of fourteen, and its top pick took the highest non-Pogačar place on the road. On Martinez specifically the model beat the market outright: 2.3% renormalised against a book price of 67 (1.0%), on the man who finished runner-up. The market still won on Carapaz (14.6% against our 1.8%) and Kuss (8.2% against 1.1%) — the same break-intent information we cannot ingest, priced correctly for the second day running. But the ordering inside the pool was sound, which is what that block is for.
The rouleur control settled cleanly for the model, and the hindsight run closes the loop the same way stages 9, 17 and 18 did. The 13.8 km at 8.1% did exactly what a wall is supposed to do to classics engines: Simmons was the best of them in 16th at 6:26, then Van Gils 34th, Schmid 38th, Storer 41st, Vauquelin 52nd, Jorgenson 58th, Healy 80th, Grégoire 89th — after Schmid had taken second on stage 18's 6.7% tempo grade from a 0.3% bury. Two days, two gradients, two opposite answers from the same rider pool: the type contends when the finish is shallow and disappears when it is steep, which is the axis the model already encodes. Fed the five nearest gap-curve neighbours after the fact — Bernal at Cortina, Pogačar at Livigno and on the Dauphiné, Vingegaard at Paris-Nice, Gall at Courchevel, all GC-star solos on shattered mountain days — hindsight gives Pogačar 37.9% renormalised, statistically identical to the 38.5% the pre-race read already had. Course knowledge was not the constraint for the fourth stage running. Carry-forward: the break-intent gap is now a two-day pattern with a clear shape — the book concentrates on riders whose teams have declared for the stage, we spread across riders who fit the terrain, and on stage 19 that spread was well-ordered enough to find the runner-up the book had at 67. A presentation-layer break-intent prior seeded from the book's own card remains the obvious post-Paris experiment.
The road picked the climbers'-break branch and then made the GC group race anyway. Richard Carapaz went with the escape, dropped it on the Sarenne and soloed to Alpe d'Huez to win by 26 seconds from Remco Evenepoel, who had attacked out of the maillot-jaune group and came across most of the gap; Sepp Kuss took third at 31 seconds, with Pogačar and del Toro at 1:05 and Lenny Martinez at 1:07. The finish curve was the second most selective of the Tour — one rider at zero, two inside thirty seconds, three inside a minute, six inside two, eighteen inside ten. Nothing moved in the GC order: Evenepoel's 45 seconds cut Pogačar's lead from 7:11 to 6:26, del Toro held third by finishing on the leader's wheel, and the 24-second podium fight with Seixas became 2:14 when Seixas, Skjelmose and Ayuso all came in with the 2:55 group. The podium and the jersey are both settled going to Paris.
On the outright the model lost, and the honest number is worse than the page's table suggests in one direction and better in the other. Every read priced Carapaz around two per cent — 1.93% raw on the GC finale, 2.08% on the climbers' break, 0.91% on the rouleur read — against a devigged book of 23.4%. Renormalising over the field (the climbers' board carries blend mass 0.953, so it barely moves) gives 2.18%, still an order of magnitude under the market. That gap is not a terrain error. The book had Carapaz at 2.70 because he had been in the escape on each of the previous two days and because UAE had nothing left to chase for; those are break-formation and team-intent facts the model does not represent. Where the model did have an edge it collected: the GC finale read had Evenepoel #2 at 10.6% renormalised against a book devig of 4.9%, and he finished second.
The conditional break pool is the day's real result, and it is now two-for-two. Of the fourteen free riders — the top seven on actual standings removed, the cut placed at the 5:17 cliff between Ayuso and Carapaz — the model's #1 was Carapaz at 6.7% P(win | break wins), and he won. Its #3 Hindley finished seventh, #6 Johannessen eleventh, #7 Riccitello twelfth; only #2 Arensman (23rd) and #4 Pidcock (16th) badly missed, and Kuss, buried at #8 in the pool, finished third. The standings-source cut mattered directly here: Carapaz sat eighth on the road at +21:15 and was freed by it, where the old model-blend pool ordering had been putting the wrong men in prison as recently as stage 10. Read together with stage 19 — pool #1 Martinez finishing second and best of the non-Pogačar riders — the block is doing what the outright board structurally cannot.
The hindsight run settles the question the series was asking. Fed the five DB stages whose finish curves match today's almost exactly (Pogačar at Isola 2000, Bernal to Cortina, Bardet's Vuelta stage 14, O'Connor at Courchevel, Vingegaard's Giro 16 — rolling 0.51 / mountain 0.49), the model gave Carapaz 1.74% renormalised: lower than the climbers'-break read it already had. Perfect course knowledge would not have moved him. The ceiling on a break winner is not terrain typing, it is that the model prices rider-course fit over the whole field and a 33-year-old climber eighth on GC is genuinely the seventh-best fit on this mountain — the thing that made him 2.70 in the market was who was allowed up the road, which is invisible to the features. This is the GT hard-day design hole appearing on a mountain day rather than a shattered flat one, and it belongs in the post-Paris corpus as such.
The three-stage rouleur experiment closes with the model ahead. Stages 18, 19 and 20 ran identical hard-man references while the terrain relaxed underneath them, and the prospective question named yesterday — what if Pidcock or Simmons wins on a finish that eases at the top? — got a clean negative answer: Pidcock 16th at 9:03, Simmons 19th, Adam Yates 37th, Bernal 39th, Schmid 53rd, with the book's overnight re-pricing of exactly those names (Pidcock 51 → 15, Bernal 126 → 51) comprehensively wrong. Five thousand four hundred and fifty metres of climbing selects on climbing regardless of how the last three kilometres are shaped, and the model's refusal to seat a classics engine without a mountain signature was right all three times. Carry to Paris: the outright board's blind spot is break membership, not gradient.
The road took the sprint branch, and took it in the shape the middle read described. Mathieu van der Poel won from Jasper Philipsen, Mads Pedersen, Max Kanter, Olav Kooij and Matej Mohorič — a front group that mixes pure sprinters (Kooij 5th, Kanter 4th, Milan Fretin 9th) with punchy fast men (Pedersen, Mohorič, Turgis, Russo, Pluimers), which is the reduced-sprint reading almost exactly. The move-over-Montmartre branch did not happen: Pogačar finished 30th, Evenepoel 32nd, Seixas 47th, and the GC group rode in as passengers. That read had put Pogačar at 41.3% on a board whose mass was an honest 1.002, so it was a real opinion honestly stated, and it was wrong by the widest margin of the three.
Scoring the winner: the reduced-sprint read gave van der Poel 7.70% renormalised over the field (4th on its board) against a devigged book price of 27.65%. The Montmartre-move read gave him 6.36% (also 4th), and the bunch-sprint read 1.51% (10th). So every branch we published underpriced the winner by a factor of three or more, and the book — which made him the outright favourite at 2.25 — had the single clearest call of the day. Choosing the branch correctly bought us a factor of five over the flat read and still left most of the distance to the market unclosed.
The hindsight run says course knowledge was not the constraint, and it says so in an unusually blunt way. All 158 classified finishers were given the same time, so the gap curve is a single point and the retrospective match has nothing to bite on. Matched anyway, it returns Tour de France 2025 stage 21 first by a distance — the same Montmartre finale, also scored as one same-time bunch — and then a run of flat sprint stages. Built from the curve matches whose winner was a classics fast-man rather than a pure sprinter, the hindsight board gives van der Poel 4.12% and 5th place, which is *worse* than the reduced-sprint read we published before the start. Knowing exactly how the day finished would have moved us away from the winner, not toward him.
That is worth recording as a data fact and not just a stage note: the same-time convention on this stage makes a selective circuit race indistinguishable from a parade sprint in the training data. Last year's edition — won by a solo move over the top of Montmartre — is stored with race_sprint_score 1.0. Any reference-based reading of this stage type inherits that mislabelling, which is why the profile scorer put today's hindsight set at sprint 0.76 / hilly 0.16 and produced a Kooij-Philipsen board. Two circuits over a 7% cobbled wall inside the last 20 km leave no trace in the feature that is supposed to describe the day.
The residual gap on van der Poel is the rider-specific version of the standing hole rather than a terrain one. The model can see that he is a fast finisher who survives short walls — that is why he is 4th on the selective read rather than 30th — but it cannot see that this particular finale, at the end of three weeks, with a team-mate who will lead him out and no reason for anyone to save anything, is his single best day of the year. That is the same class of missing signal as the shattered non-mountain stages flagged on stages 4 and 9: rider-and-occasion, not rider-and-gradient. Carry both into the post-Paris retrospective, and add the labelling item — final-stage and circuit finishes need a character source that is not the finishing-time spread.