The same production stack priced under 3 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.
The fork
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.
The board
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.
| Rider | Team | Full sprint | Reduced sprint | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|
| Merlier Tim | Soudal Quick-Step | 44.3% | 33.3% | 1.2% | 2.70 | 26.3% | +18.0pp |
| Kooij Olav | Decathlon CMA CGM Team | 26.7% | 27.3% | 1.2% | 5.00 | 14.2% | +13.1pp |
| Philipsen Jasper | Alpecin-Premier Tech | 20.5% | 19.9% | 3.3% | 4.00 | 17.8% | +2.7pp |
| Pogacar Tadej | UAE Team Emirates-XRG | 0.9% | 1.4% | 17.5% | 151.00 | 0.5% | +17.1pp |
| Girmay Biniam | NSN Cycling Team | 3.5% | 8.2% | 1.7% | 4.50 | 15.8% | -7.7pp |
| De Lie Arnaud | Lotto-Intermarché | 4.5% | 5.9% | 3.8% | n/a | – | – |
| van der Poel Mathieu | Alpecin-Premier Tech | 1.2% | 3.0% | 5.1% | 51.00 | 1.4% | +3.7pp |
| Seixas Paul | Decathlon CMA CGM Team | 0.0% | 0.1% | 4.7% | 1001.00 | 0.1% | +4.7pp |
| Gaviria Fernando | Caja Rural-Seguros RGA | 4.3% | 3.4% | 0.4% | 67.00 | 1.1% | +3.2pp |
| de Kleijn Arvid | Tudor Pro Cycling Team | 3.8% | 1.8% | 0.2% | 67.00 | 1.1% | +2.7pp |
| Kanter Max | XDS Astana Team | 3.6% | 3.7% | 1.2% | 81.00 | 0.9% | +2.8pp |
| del Toro Isaac | UAE Team Emirates-XRG | 0.2% | 0.2% | 3.0% | 151.00 | 0.5% | +2.5pp |
| Ackermann Pascal | Team Jayco-AlUla | 2.9% | 2.4% | 0.2% | 201.00 | 0.4% | +2.5pp |
| Pedersen Mads | Lidl-Trek | 1.8% | 2.4% | 2.5% | 15.00 | 4.7% | -2.3pp |
| Bittner Pavel | Team Picnic PostNL | 2.0% | 2.0% | 0.1% | 101.00 | 0.7% | +1.3pp |
| Fretin Milan | Cofidis | 1.8% | 1.6% | 0.1% | 41.00 | 1.7% | +0.1pp |
| Wærenskjold Søren | Uno-X Mobility | 1.7% | 1.7% | 1.5% | 67.00 | 1.1% | +0.7pp |
| Pidcock Tom | Pinarello-Q36.5 Pro Cycling Team | 0.1% | 0.3% | 1.6% | 201.00 | 0.4% | +1.3pp |
| Bauhaus Phil | Bahrain Victorious | 1.5% | 1.2% | 0.1% | 201.00 | 0.4% | +1.1pp |
| Evenepoel Remco | Red Bull-BORA-hansgrohe | 0.0% | 0.1% | 1.3% | 251.00 | 0.3% | +1.0pp |
| Ballerini Davide | XDS Astana Team | 1.2% | 1.2% | 0.2% | 301.00 | 0.2% | +1.0pp |
| Martinez Lenny | Bahrain Victorious | 0.0% | 0.0% | 1.1% | n/a | – | – |
| Grégoire Romain | Groupama-FDJ United | 0.0% | 0.1% | 1.1% | 501.00 | 0.1% | +0.9pp |
| Matthews Michael | Team Jayco-AlUla | 0.9% | 1.1% | 0.6% | 201.00 | 0.4% | +0.7pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Merlier Tim | 44.3% | 55.5% | 30.7% | 72.3% | 89.5% | 2.70 |
| 2 | Kooij Olav | 26.7% | 29.5% | 19.4% | 60.4% | 84.7% | 5.00 |
| 3 | Philipsen Jasper | 20.5% | 17.4% | 16.2% | 46.8% | 82.3% | 4.00 |
| 4 | De Lie Arnaud | 4.5% | 1.9% | 4.0% | 12.2% | 64.4% | n/a |
| 5 | Gaviria Fernando | 4.3% | 1.3% | 4.0% | 10.4% | 70.5% | 67.00 |
| 6 | de Kleijn Arvid | 3.8% | 1.9% | 3.3% | 10.5% | 75.5% | 67.00 |
| 7 | Kanter Max | 3.6% | 3.0% | 2.8% | 15.3% | 80.8% | 81.00 |
| 8 | Girmay Biniam | 3.5% | 2.5% | 2.9% | 12.6% | 80.2% | 4.50 |
| 9 | Ackermann Pascal | 2.9% | 1.4% | 2.5% | 8.7% | 74.1% | 201.00 |
| 10 | Bittner Pavel | 2.0% | 1.7% | 1.5% | 9.8% | 72.8% | 101.00 |
| 11 | Fretin Milan | 1.8% | 1.8% | 1.4% | 8.2% | 70.9% | 41.00 |
| 12 | Pedersen Mads | 1.8% | 1.2% | 1.5% | 7.0% | 41.9% | 15.00 |
| 13 | Wærenskjold Søren | 1.7% | 1.8% | 1.3% | 7.3% | 65.3% | 67.00 |
| 14 | Bauhaus Phil | 1.5% | 0.7% | 1.3% | 9.4% | 53.9% | 201.00 |
| 15 | van der Poel Mathieu | 1.2% | 2.2% | 0.7% | 11.3% | 37.7% | 51.00 |
| 16 | Ballerini Davide | 1.2% | 1.0% | 0.9% | 9.5% | 50.7% | 301.00 |
| 17 | Matthews Michael | 0.9% | 0.6% | 0.8% | 6.3% | 58.3% | 201.00 |
| 18 | Pogacar Tadej | 0.9% | 1.0% | 0.7% | 4.4% | 18.7% | 151.00 |
| 19 | Wright Fred | 0.4% | 0.2% | 0.3% | 2.1% | 22.4% | 501.00 |
| 20 | van Dijke Tim | 0.4% | 0.6% | 0.2% | 3.6% | 24.5% | n/a |
| 21 | Askey Lewis | 0.4% | 0.4% | 0.3% | 3.0% | 19.6% | 601.00 |
| 22 | Biesterbos Frits | 0.3% | 0.3% | 0.2% | 1.7% | 37.2% | n/a |
| 23 | Oldani Stefano | 0.2% | 0.1% | 0.2% | 1.1% | 33.3% | 501.00 |
| 24 | Vacek Mathias | 0.2% | 0.1% | 0.2% | 2.0% | 13.6% | 101.00 |
| 25 | del Toro Isaac | 0.2% | 0.3% | 0.1% | 1.0% | 7.0% | 151.00 |
| 26 | Bol Cees | 0.2% | 0.2% | 0.1% | 2.0% | 15.4% | 801.00 |
| 27 | Cort Magnus | 0.2% | 0.2% | 0.1% | 0.8% | 25.9% | 201.00 |
| 28 | Stuyven Jasper | 0.2% | 0.1% | 0.1% | 1.1% | 24.7% | 201.00 |
| 29 | Trentin Matteo | 0.1% | 0.1% | 0.1% | 1.6% | 45.7% | 301.00 |
| 30 | Godon Dorian | 0.1% | 0.1% | 0.1% | 0.8% | 11.7% | 101.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Merlier Tim | 33.3% | 50.4% | 21.5% | 66.4% | 82.9% | 2.70 |
| 2 | Kooij Olav | 27.3% | 25.7% | 21.5% | 51.9% | 73.8% | 5.00 |
| 3 | Philipsen Jasper | 19.9% | 16.2% | 16.3% | 41.9% | 73.1% | 4.00 |
| 4 | Girmay Biniam | 8.2% | 5.5% | 7.0% | 22.9% | 74.5% | 4.50 |
| 5 | De Lie Arnaud | 5.9% | 2.7% | 5.3% | 14.1% | 61.0% | n/a |
| 6 | Kanter Max | 3.7% | 3.4% | 2.9% | 16.9% | 74.0% | 81.00 |
| 7 | Gaviria Fernando | 3.4% | 1.0% | 3.2% | 9.0% | 54.6% | 67.00 |
| 8 | van der Poel Mathieu | 3.0% | 2.6% | 2.4% | 10.2% | 42.7% | 51.00 |
| 9 | Ackermann Pascal | 2.4% | 1.1% | 2.2% | 7.7% | 59.4% | 201.00 |
| 10 | Pedersen Mads | 2.4% | 1.5% | 2.1% | 8.7% | 42.1% | 15.00 |
| 11 | Bittner Pavel | 2.0% | 2.2% | 1.5% | 11.4% | 58.8% | 101.00 |
| 12 | de Kleijn Arvid | 1.8% | 1.3% | 1.5% | 8.2% | 44.0% | 67.00 |
| 13 | Wærenskjold Søren | 1.7% | 1.8% | 1.3% | 7.9% | 46.8% | 67.00 |
| 14 | Fretin Milan | 1.6% | 2.0% | 1.2% | 9.1% | 55.2% | 41.00 |
| 15 | Pogacar Tadej | 1.4% | 2.2% | 0.9% | 8.2% | 27.8% | 151.00 |
| 16 | Ballerini Davide | 1.2% | 0.9% | 1.0% | 10.6% | 39.9% | 301.00 |
| 17 | Bauhaus Phil | 1.2% | 0.6% | 1.0% | 8.4% | 47.9% | 201.00 |
| 18 | Matthews Michael | 1.1% | 0.9% | 0.9% | 9.8% | 57.6% | 201.00 |
| 19 | Askey Lewis | 0.6% | 0.3% | 0.5% | 5.3% | 36.6% | 601.00 |
| 20 | Oldani Stefano | 0.4% | 0.1% | 0.4% | 1.2% | 45.7% | 501.00 |
| 21 | Vacek Mathias | 0.4% | 0.2% | 0.3% | 2.2% | 16.6% | 101.00 |
| 22 | Wright Fred | 0.4% | 0.3% | 0.3% | 2.6% | 28.8% | 501.00 |
| 23 | Pidcock Tom | 0.3% | 0.2% | 0.3% | 2.0% | 13.2% | 201.00 |
| 24 | Biesterbos Frits | 0.3% | 0.3% | 0.2% | 2.1% | 38.1% | n/a |
| 25 | van Dijke Tim | 0.3% | 0.3% | 0.2% | 2.6% | 19.2% | n/a |
| 26 | Van Gils Maxim | 0.3% | 0.4% | 0.2% | 1.3% | 8.9% | 301.00 |
| 27 | Aranburu Alex | 0.2% | 0.1% | 0.2% | 1.2% | 23.2% | 401.00 |
| 28 | Stuyven Jasper | 0.2% | 0.2% | 0.2% | 1.8% | 23.8% | 201.00 |
| 29 | Bol Cees | 0.2% | 0.1% | 0.2% | 1.3% | 15.2% | 801.00 |
| 30 | Godon Dorian | 0.2% | 0.2% | 0.1% | 1.1% | 16.3% | 101.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 17.5% | 16.7% | 23.4% | 31.9% | 59.8% | 151.00 |
| 2 | van der Poel Mathieu | 5.1% | 6.6% | 6.3% | 24.1% | 54.3% | 51.00 |
| 3 | Seixas Paul | 4.7% | 4.0% | 6.4% | 8.3% | 36.0% | 1001.00 |
| 4 | De Lie Arnaud | 3.8% | 2.2% | 5.4% | 13.1% | 47.4% | n/a |
| 5 | Philipsen Jasper | 3.3% | 3.1% | 4.4% | 10.8% | 32.2% | 4.00 |
| 6 | del Toro Isaac | 3.0% | 1.1% | 4.4% | 4.7% | 26.3% | 151.00 |
| 7 | Pedersen Mads | 2.5% | 1.6% | 3.5% | 7.0% | 29.7% | 15.00 |
| 8 | Girmay Biniam | 1.7% | 2.3% | 2.1% | 8.2% | 43.1% | 4.50 |
| 9 | Pidcock Tom | 1.6% | 0.3% | 2.5% | 5.2% | 29.9% | 201.00 |
| 10 | Wærenskjold Søren | 1.5% | 2.8% | 1.6% | 7.9% | 28.6% | 67.00 |
| 11 | Evenepoel Remco | 1.3% | 1.3% | 1.7% | 17.2% | 34.4% | 251.00 |
| 12 | Kanter Max | 1.2% | 2.8% | 1.3% | 10.3% | 41.1% | 81.00 |
| 13 | Kooij Olav | 1.2% | 2.4% | 1.2% | 7.5% | 20.9% | 5.00 |
| 14 | Merlier Tim | 1.2% | 2.1% | 1.3% | 8.7% | 24.4% | 2.70 |
| 15 | Martinez Lenny | 1.1% | 3.8% | 0.9% | 6.1% | 18.7% | n/a |
| 16 | Grégoire Romain | 1.1% | 1.0% | 1.5% | 4.1% | 28.9% | 501.00 |
| 17 | Vacek Mathias | 1.1% | 0.2% | 1.6% | 2.3% | 18.7% | 101.00 |
| 18 | Aranburu Alex | 0.9% | 1.0% | 1.2% | 4.1% | 37.6% | 401.00 |
| 19 | Johannessen Tobias Halland | 0.7% | 0.4% | 1.0% | 2.7% | 18.0% | n/a |
| 20 | Vauquelin Kévin | 0.7% | 1.1% | 0.8% | 3.0% | 25.1% | 1001.00 |
| 21 | Van Gils Maxim | 0.7% | 0.7% | 0.9% | 1.9% | 11.2% | 301.00 |
| 22 | Lipowitz Florian | 0.6% | 0.6% | 0.9% | 3.4% | 16.4% | n/a |
| 23 | Matthews Michael | 0.6% | 0.7% | 0.8% | 4.6% | 26.6% | 201.00 |
| 24 | Oldani Stefano | 0.6% | 0.2% | 0.9% | 1.4% | 23.0% | 501.00 |
| 25 | Berckmoes Jenno | 0.6% | 0.4% | 0.9% | 2.5% | 24.6% | 151.00 |
| 26 | Yates Adam | 0.5% | 0.2% | 0.7% | 2.1% | 9.5% | n/a |
| 27 | Jorgenson Matteo | 0.5% | 1.1% | 0.5% | 2.3% | 11.0% | n/a |
| 28 | Van Wilder Ilan | 0.5% | 0.3% | 0.6% | 1.2% | 13.1% | n/a |
| 29 | Vingegaard Jonas | 0.4% | 0.3% | 0.6% | 5.5% | 19.7% | 501.00 |
| 30 | Riccitello Matthew | 0.4% | 0.5% | 0.5% | 1.3% | 9.0% | n/a |
After the stage
| Pos | Rider | Team | Full sprint win p | Reduced sprint win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|
| 1 | Kooij Olav | Decathlon CMA CGM Team | 26.7% | 27.3% | 1.2% |
| 2 | Kanter Max | XDS Astana Team | 3.6% | 3.7% | 1.2% |
| 3 | Merlier Tim | Soudal Quick-Step | 44.3% | 33.3% | 1.2% |
| 4 | Artz Huub | Lotto-Intermarché | 0.1% | 0.1% | 0.1% |
| 5 | Philipsen Jasper | Alpecin-Premier Tech | 20.5% | 19.9% | 3.3% |
| 6 | Girmay Biniam | NSN Cycling Team | 3.5% | 8.2% | 1.7% |
| 7 | Pedersen Mads | Lidl-Trek | 1.8% | 2.4% | 2.5% |
| 8 | Fretin Milan | Cofidis | 1.8% | 1.6% | 0.1% |
| 9 | Turgis Anthony | Team TotalEnergies | 0.0% | 0.0% | 0.1% |
| 10 | Wærenskjold Søren | Uno-X Mobility | 1.7% | 1.7% | 1.5% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Full sprint | 26.66% | 14.22% |
| Reduced sprint | 27.29% | 14.22% |
| Hindsight (post-hoc) | 1.17% | 14.22% |
Reflection
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.