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.
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.
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 Bunch sprint 131%, Reduced sprint 142%, Hindsight (post-hoc) 132% — 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.
| Rider | Team | Bunch sprint | Reduced sprint | Montmartre move | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|---|
| Kooij Olav | Decathlon CMA CGM Team | 52.4% | 18.8% | – | 41.7% | 26.00 | 2.4% | +50.0pp |
| Philipsen Jasper | Alpecin-Premier Tech | 34.9% | 31.0% | – | 31.4% | 13.00 | 4.8% | +30.1pp |
| Girmay Biniam | NSN Cycling Team | 6.2% | 7.7% | 1.0% | 11.5% | 41.00 | 1.5% | +10.0pp |
| Pedersen Mads | Lidl-Trek | 3.9% | 11.1% | 1.5% | 4.0% | 5.50 | 11.3% | -0.2pp |
| van der Poel Mathieu | Alpecin-Premier Tech | 2.0% | 10.9% | 6.6% | 5.5% | 2.25 | 27.7% | -16.7pp |
| Pogacar Tadej | UAE Team Emirates-XRG | 3.1% | 9.9% | 42.7% | 3.0% | 4.50 | 13.8% | -3.9pp |
| Kanter Max | XDS Astana Team | 6.3% | 4.2% | – | 8.1% | 151.00 | 0.4% | +7.7pp |
| Wærenskjold Søren | Uno-X Mobility | 3.2% | 3.8% | 0.8% | 4.3% | 81.00 | 0.8% | +3.5pp |
| Pidcock Tom | Pinarello-Q36.5 Pro Cycling Team | 0.2% | 3.3% | 3.7% | 0.4% | 29.00 | 2.1% | +1.2pp |
| Fretin Milan | Cofidis | 2.8% | 1.7% | – | 3.1% | 251.00 | 0.2% | +2.9pp |
| Bauhaus Phil | Bahrain Victorious | 2.7% | 0.7% | – | 2.5% | 801.00 | 0.1% | +2.7pp |
| Oldani Stefano | Caja Rural-Seguros RGA | 0.4% | 2.7% | 0.3% | 0.5% | 801.00 | 0.1% | +2.6pp |
| Askey Lewis | NSN Cycling Team | 0.8% | 2.6% | 0.2% | 0.9% | 151.00 | 0.4% | +2.1pp |
| Matthews Michael | Team Jayco-AlUla | 1.9% | 2.4% | 0.8% | 2.3% | 67.00 | 0.9% | +1.5pp |
| Ballerini Davide | XDS Astana Team | 1.7% | 0.7% | – | 2.1% | 151.00 | 0.4% | +1.7pp |
| Evenepoel Remco | Red Bull-BORA-hansgrohe | 0.1% | 2.0% | 8.7% | 0.1% | 9.00 | 6.9% | -4.9pp |
| Vacek Mathias | Lidl-Trek | 0.5% | 1.9% | 0.6% | 0.8% | 126.00 | 0.5% | +1.4pp |
| Bittner Pavel | Team Picnic PostNL | 1.6% | 0.8% | – | 1.5% | 301.00 | 0.2% | +1.4pp |
| Van Gils Maxim | Red Bull-BORA-hansgrohe | 0.1% | 1.6% | 0.6% | 0.1% | 81.00 | 0.8% | +0.8pp |
| Aranburu Alex | Cofidis | 0.2% | 1.5% | 0.6% | 0.3% | 251.00 | 0.2% | +1.2pp |
| Wright Fred | Pinarello-Q36.5 Pro Cycling Team | 0.7% | 1.3% | 0.2% | 0.6% | 151.00 | 0.4% | +0.9pp |
| Grégoire Romain | Groupama-FDJ United | 0.0% | 1.2% | 1.2% | 0.1% | 81.00 | 0.8% | +0.4pp |
| Vauquelin Kévin | Netcompany INEOS | 0.1% | 1.0% | 0.8% | 0.1% | 251.00 | 0.2% | +0.8pp |
| Simmons Quinn | Lidl-Trek | 0.0% | 0.2% | 0.1% | 0.1% | 26.00 | 2.4% | -2.2pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Kooij Olav | 52.4% | 48.3% | 41.0% | 71.7% | 88.1% | 26.00 |
| 2 | Philipsen Jasper | 34.9% | 39.7% | 25.4% | 62.0% | 87.0% | 13.00 |
| 3 | Kanter Max | 6.3% | 4.5% | 5.3% | 18.0% | 81.7% | 151.00 |
| 4 | Girmay Biniam | 6.2% | 4.1% | 5.2% | 15.4% | 81.9% | 41.00 |
| 5 | Pedersen Mads | 3.9% | 3.2% | 3.1% | 14.5% | 61.8% | 5.50 |
| 6 | Wærenskjold Søren | 3.2% | 3.3% | 2.5% | 9.4% | 75.1% | 81.00 |
| 7 | Pogacar Tadej | 3.1% | 7.0% | 1.4% | 10.6% | 30.8% | 4.50 |
| 8 | Fretin Milan | 2.8% | 2.3% | 2.3% | 10.1% | 76.6% | 251.00 |
| 9 | Bauhaus Phil | 2.7% | 1.4% | 2.4% | 11.1% | 61.9% | 801.00 |
| 10 | van der Poel Mathieu | 2.0% | 2.5% | 1.4% | 10.3% | 49.8% | 2.25 |
| 11 | Matthews Michael | 1.9% | 1.9% | 1.4% | 7.6% | 66.3% | 67.00 |
| 12 | Ballerini Davide | 1.7% | 1.0% | 1.5% | 8.0% | 49.5% | 151.00 |
| 13 | Bittner Pavel | 1.6% | 1.9% | 1.1% | 7.4% | 75.5% | 301.00 |
| 14 | Askey Lewis | 0.8% | 1.3% | 0.5% | 5.6% | 45.3% | 151.00 |
| 15 | Wright Fred | 0.7% | 0.8% | 0.5% | 3.4% | 32.8% | 151.00 |
| 16 | van Dijke Tim | 0.6% | 0.7% | 0.5% | 2.6% | 37.1% | 501.00 |
| 17 | Vacek Mathias | 0.5% | 0.5% | 0.3% | 2.1% | 14.6% | 126.00 |
| 18 | Oldani Stefano | 0.4% | 0.1% | 0.4% | 5.5% | 46.9% | 801.00 |
| 19 | Bol Cees | 0.3% | 0.3% | 0.2% | 1.7% | 21.7% | 801.00 |
| 20 | Stuyven Jasper | 0.3% | 0.1% | 0.3% | 1.3% | 31.4% | 34.00 |
| 21 | del Toro Isaac | 0.3% | 0.2% | 0.2% | 0.9% | 4.8% | 67.00 |
| 22 | Cort Magnus | 0.2% | 0.2% | 0.2% | 1.3% | 30.0% | 201.00 |
| 23 | Pidcock Tom | 0.2% | 0.2% | 0.2% | 3.0% | 9.1% | 29.00 |
| 24 | Artz Huub | 0.2% | 0.3% | 0.2% | 2.4% | 29.8% | 126.00 |
| 25 | Godon Dorian | 0.2% | 0.2% | 0.2% | 1.7% | 22.0% | 81.00 |
| 26 | Teunissen Mike | 0.2% | 0.1% | 0.2% | 1.5% | 34.9% | 301.00 |
| 27 | Asgreen Kasper | 0.2% | 0.5% | 0.0% | 1.0% | 7.6% | 81.00 |
| 28 | Aranburu Alex | 0.2% | 0.2% | 0.1% | 3.0% | 12.2% | 251.00 |
| 29 | Russo Clément | 0.2% | 0.2% | 0.1% | 0.6% | 39.3% | 401.00 |
| 30 | Pluimers Rick | 0.1% | 0.1% | 0.1% | 1.1% | 22.2% | 151.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Philipsen Jasper | 31.0% | 30.4% | 22.0% | 47.7% | 67.0% | 13.00 |
| 2 | Kooij Olav | 18.8% | 20.1% | 12.9% | 32.1% | 44.4% | 26.00 |
| 3 | Pedersen Mads | 11.1% | 13.3% | 7.3% | 28.9% | 60.3% | 5.50 |
| 4 | van der Poel Mathieu | 10.9% | 15.6% | 6.5% | 38.7% | 65.8% | 2.25 |
| 5 | Pogacar Tadej | 9.9% | 6.8% | 7.8% | 21.0% | 50.6% | 4.50 |
| 6 | Girmay Biniam | 7.7% | 7.4% | 5.5% | 19.3% | 52.9% | 41.00 |
| 7 | Kanter Max | 4.2% | 5.6% | 2.6% | 17.9% | 45.6% | 151.00 |
| 8 | Wærenskjold Søren | 3.8% | 4.7% | 2.5% | 11.5% | 37.8% | 81.00 |
| 9 | Pidcock Tom | 3.3% | 0.7% | 3.0% | 13.5% | 50.3% | 29.00 |
| 10 | Oldani Stefano | 2.7% | 0.7% | 2.4% | 3.4% | 40.1% | 801.00 |
| 11 | Askey Lewis | 2.6% | 2.9% | 1.7% | 11.0% | 35.0% | 151.00 |
| 12 | Matthews Michael | 2.4% | 2.8% | 1.6% | 9.6% | 49.6% | 67.00 |
| 13 | Evenepoel Remco | 2.0% | 2.4% | 1.3% | 6.7% | 24.4% | 9.00 |
| 14 | Vacek Mathias | 1.9% | 1.9% | 1.4% | 7.8% | 37.9% | 126.00 |
| 15 | Fretin Milan | 1.7% | 4.9% | 0.4% | 8.3% | 32.5% | 251.00 |
| 16 | Van Gils Maxim | 1.6% | 1.1% | 1.2% | 6.6% | 25.7% | 81.00 |
| 17 | Aranburu Alex | 1.5% | 0.2% | 1.3% | 5.7% | 27.1% | 251.00 |
| 18 | Wright Fred | 1.3% | 1.1% | 1.0% | 5.2% | 27.9% | 151.00 |
| 19 | Grégoire Romain | 1.2% | 0.5% | 1.0% | 4.3% | 18.9% | 81.00 |
| 20 | Vauquelin Kévin | 1.0% | 0.2% | 0.9% | 2.6% | 11.2% | 251.00 |
| 21 | Godon Dorian | 0.9% | 1.3% | 0.5% | 5.2% | 29.2% | 81.00 |
| 22 | Bittner Pavel | 0.8% | 2.1% | 0.3% | 6.5% | 27.2% | 301.00 |
| 23 | Johannessen Tobias Halland | 0.8% | 0.7% | 0.6% | 2.7% | 18.9% | 501.00 |
| 24 | Stuyven Jasper | 0.8% | 0.3% | 0.7% | 1.7% | 29.2% | 34.00 |
| 25 | Ballerini Davide | 0.7% | 1.1% | 0.4% | 4.6% | 17.3% | 151.00 |
| 26 | Seixas Paul | 0.7% | 0.7% | 0.5% | 4.9% | 25.2% | 401.00 |
| 27 | Ayuso Juan | 0.7% | 0.3% | 0.6% | 3.5% | 12.8% | 801.00 |
| 28 | Skjelmose Mattias | 0.7% | 0.8% | 0.5% | 2.4% | 15.2% | 101.00 |
| 29 | Bauhaus Phil | 0.7% | 0.4% | 0.6% | 4.0% | 15.7% | 801.00 |
| 30 | Pluimers Rick | 0.7% | 0.2% | 0.6% | 4.4% | 40.9% | 151.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 41.3% | 32.1% | 43.6% | 53.1% | 77.0% | 4.50 |
| 2 | Evenepoel Remco | 8.4% | 5.5% | 9.1% | 16.9% | 50.3% | 9.00 |
| 3 | Seixas Paul | 7.5% | 3.1% | 8.5% | 9.1% | 49.4% | 401.00 |
| 4 | van der Poel Mathieu | 6.4% | 13.2% | 4.7% | 29.3% | 62.9% | 2.25 |
| 5 | del Toro Isaac | 3.7% | 1.2% | 4.4% | 6.4% | 36.1% | 67.00 |
| 6 | Pidcock Tom | 3.6% | 1.1% | 4.2% | 5.1% | 47.2% | 29.00 |
| 7 | Ayuso Juan | 2.7% | 0.9% | 3.1% | 4.8% | 31.2% | 801.00 |
| 8 | Pedersen Mads | 1.4% | 2.6% | 1.1% | 9.2% | 35.1% | 5.50 |
| 9 | Martinez Lenny | 1.4% | 2.2% | 1.2% | 4.6% | 35.1% | 601.00 |
| 10 | Grégoire Romain | 1.2% | 1.4% | 1.2% | 5.4% | 34.1% | 81.00 |
| 11 | Girmay Biniam | 1.0% | 1.7% | 0.8% | 6.6% | 46.5% | 41.00 |
| 12 | Skjelmose Mattias | 0.9% | 0.7% | 0.9% | 3.2% | 25.6% | 101.00 |
| 13 | Vauquelin Kévin | 0.8% | 0.5% | 0.9% | 2.9% | 18.9% | 251.00 |
| 14 | Johannessen Tobias Halland | 0.8% | 0.6% | 0.8% | 5.1% | 31.2% | 501.00 |
| 15 | Matthews Michael | 0.8% | 1.6% | 0.6% | 6.3% | 40.7% | 67.00 |
| 16 | Wærenskjold Søren | 0.8% | 2.1% | 0.4% | 6.3% | 28.7% | 81.00 |
| 17 | Jorgenson Matteo | 0.7% | 1.0% | 0.6% | 4.2% | 18.2% | 151.00 |
| 18 | Van Gils Maxim | 0.6% | 0.9% | 0.6% | 2.9% | 16.0% | 81.00 |
| 19 | Aranburu Alex | 0.6% | 0.4% | 0.7% | 4.4% | 35.8% | 251.00 |
| 20 | Vacek Mathias | 0.6% | 1.1% | 0.5% | 5.6% | 32.0% | 126.00 |
| 21 | Piganzoli Davide | 0.5% | 0.6% | 0.5% | 4.2% | 34.1% | n/a |
| 22 | Gee Derek | 0.5% | 0.6% | 0.5% | 4.1% | 15.9% | 801.00 |
| 23 | Bernal Egan | 0.4% | 0.6% | 0.4% | 4.4% | 18.1% | 801.00 |
| 24 | Hindley Jai | 0.4% | 0.3% | 0.4% | 2.4% | 11.7% | n/a |
| 25 | Carapaz Richard | 0.4% | 0.2% | 0.4% | 3.4% | 29.1% | 251.00 |
| 26 | Higuita Sergio | 0.4% | 0.2% | 0.4% | 2.5% | 20.3% | 1001.00 |
| 27 | Alaphilippe Julian | 0.3% | 0.5% | 0.3% | 1.1% | 10.0% | 301.00 |
| 28 | Riccitello Matthew | 0.3% | 1.0% | 0.2% | 3.2% | 13.4% | n/a |
| 29 | Oldani Stefano | 0.3% | 0.2% | 0.3% | 2.1% | 28.7% | 801.00 |
| 30 | Benoot Tiesj | 0.3% | 0.3% | 0.3% | 1.7% | 19.3% | 501.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Kooij Olav | 41.7% | 45.9% | 30.5% | 65.2% | 78.1% | 26.00 |
| 2 | Philipsen Jasper | 31.4% | 29.3% | 24.2% | 47.1% | 72.8% | 13.00 |
| 3 | Girmay Biniam | 11.5% | 9.8% | 9.1% | 23.0% | 68.4% | 41.00 |
| 4 | Kanter Max | 8.1% | 5.6% | 6.8% | 20.5% | 70.3% | 151.00 |
| 5 | van der Poel Mathieu | 5.5% | 7.5% | 3.6% | 19.0% | 48.9% | 2.25 |
| 6 | Wærenskjold Søren | 4.3% | 3.4% | 3.5% | 10.0% | 52.4% | 81.00 |
| 7 | Pedersen Mads | 4.0% | 3.5% | 3.2% | 15.3% | 49.0% | 5.50 |
| 8 | Fretin Milan | 3.1% | 2.9% | 2.4% | 10.5% | 56.4% | 251.00 |
| 9 | Pogacar Tadej | 3.0% | 5.1% | 1.7% | 8.8% | 29.5% | 4.50 |
| 10 | Bauhaus Phil | 2.5% | 1.2% | 2.2% | 9.4% | 45.2% | 801.00 |
| 11 | Matthews Michael | 2.3% | 2.4% | 1.7% | 8.1% | 51.1% | 67.00 |
| 12 | Ballerini Davide | 2.1% | 1.3% | 1.8% | 7.7% | 35.0% | 151.00 |
| 13 | Bittner Pavel | 1.5% | 2.5% | 0.9% | 8.1% | 52.8% | 301.00 |
| 14 | Askey Lewis | 0.9% | 1.3% | 0.6% | 6.1% | 31.9% | 151.00 |
| 15 | Vacek Mathias | 0.8% | 0.5% | 0.7% | 2.6% | 14.5% | 126.00 |
| 16 | van Dijke Tim | 0.8% | 0.6% | 0.6% | 3.1% | 34.3% | 501.00 |
| 17 | Godon Dorian | 0.6% | 1.4% | 0.3% | 5.3% | 35.7% | 81.00 |
| 18 | Wright Fred | 0.6% | 0.9% | 0.4% | 10.5% | 34.6% | 151.00 |
| 19 | Oldani Stefano | 0.5% | 0.1% | 0.5% | 3.5% | 46.0% | 801.00 |
| 20 | Pidcock Tom | 0.4% | 0.4% | 0.3% | 4.2% | 17.6% | 29.00 |
| 21 | Stuyven Jasper | 0.4% | 0.2% | 0.3% | 1.2% | 22.3% | 34.00 |
| 22 | del Toro Isaac | 0.3% | 0.3% | 0.2% | 1.0% | 9.8% | 67.00 |
| 23 | Vermeersch Florian | 0.3% | 0.6% | 0.1% | 1.9% | 17.3% | 301.00 |
| 24 | Bol Cees | 0.3% | 0.2% | 0.3% | 1.2% | 21.6% | 801.00 |
| 25 | Aranburu Alex | 0.3% | 0.2% | 0.2% | 4.6% | 19.1% | 251.00 |
| 26 | Teunissen Mike | 0.3% | 0.1% | 0.3% | 1.5% | 32.0% | 301.00 |
| 27 | Pluimers Rick | 0.2% | 0.1% | 0.2% | 1.7% | 21.8% | 151.00 |
| 28 | Cort Magnus | 0.2% | 0.2% | 0.2% | 1.0% | 26.9% | 201.00 |
| 29 | Artz Huub | 0.2% | 0.3% | 0.1% | 2.9% | 24.3% | 126.00 |
| 30 | Asgreen Kasper | 0.2% | 0.5% | 0.1% | 1.1% | 7.8% | 81.00 |
Angle
On a flat finale the escape has to beat the fast men home, so the pool that can win from a move is the field minus every pure sprinter. There is no GC cut today: the yellow jersey is settled at 6:26 and the podium at 2:14, so for the first time in three weeks nobody is imprisoned by the classification and the leader himself is the book's second favourite. Pure sprinter is the model's own verdict, not a hand list: real speed on today's flat-sprint anchor (blend >= 1%) but retaining under 8% of it once the road turns selective — that collapse is what separates a Merlier from a Pedersen, and the split here is clean, with Philipsen last on the sprinter side at 0.06 retention and Girmay first on the other at 0.16. Classified out: Ballerini, Bauhaus, Bittner, Fretin, Kanter, Kooij, Philipsen. The conditional column renormalizes the survivors' win probability under the 'Montmartre move' read over this pool (P(win | a move wins); the pool holds 97% of that read's unconditional book, which is itself the tell that this reading already buries the sprinters). The model cannot see who actually goes clear — read it as a fitness-for-the-day ranking, not move-formation odds.
| Rider | Team | Montmartre move win p | P(win | a move wins) | Book odds | Book devig |
|---|---|---|---|---|---|
| Pogacar Tadej | UAE Team Emirates-XRG | 41.3% | 42.7% | 4 | 13.8% |
| Evenepoel Remco | Red Bull-BORA-hansgrohe | 8.4% | 8.7% | 9 | 6.9% |
| Seixas Paul | Decathlon CMA CGM Team | 7.5% | 7.7% | 401 | 0.2% |
| van der Poel Mathieu | Alpecin-Premier Tech | 6.4% | 6.6% | 2 | 27.7% |
| del Toro Isaac | UAE Team Emirates-XRG | 3.7% | 3.9% | 67 | 0.9% |
| Pidcock Tom | Pinarello-Q36.5 Pro Cycling Team | 3.6% | 3.7% | 29 | 2.1% |
| Ayuso Juan | Lidl-Trek | 2.7% | 2.8% | 801 | 0.1% |
| Pedersen Mads | Lidl-Trek | 1.4% | 1.5% | 6 | 11.3% |
| Martinez Lenny | Bahrain Victorious | 1.4% | 1.4% | 601 | 0.1% |
| Grégoire Romain | Groupama-FDJ United | 1.2% | 1.2% | 81 | 0.8% |
| Girmay Biniam | NSN Cycling Team | 1.0% | 1.0% | 41 | 1.5% |
| Skjelmose Mattias | Lidl-Trek | 0.9% | 0.9% | 101 | 0.6% |
| Vauquelin Kévin | Netcompany INEOS | 0.8% | 0.8% | 251 | 0.2% |
| Johannessen Tobias Halland | Uno-X Mobility | 0.8% | 0.8% | 501 | 0.1% |
Angle
Shortest book prices for the stage, with our blend win probability (and rank) under each scenario. No GC pool is excluded today — the classification is settled, so every rider is free and the 'GC status' column reads free for all of them.
| Rider | Book odds | Devig | Bunch sprint | Reduced sprint | Montmartre move | GC status |
|---|---|---|---|---|---|---|
| van der Poel Mathieu | 2.25 | 27.7% | 2.0% (#10) | 10.9% (#4) | 6.4% (#4) | free |
| Pogacar Tadej | 4.50 | 13.8% | 3.1% (#7) | 9.9% (#5) | 41.3% (#1) | free |
| Pedersen Mads | 5.50 | 11.3% | 3.9% (#5) | 11.1% (#3) | 1.4% (#9) | free |
| Evenepoel Remco | 9.00 | 6.9% | 0.1% (#45) | 2.0% (#13) | 8.4% (#2) | free |
| Philipsen Jasper | 13.00 | 4.8% | 34.9% (#2) | 31.0% (#1) | 2.0% (#8) | free |
| Kooij Olav | 26.00 | 2.4% | 52.4% (#1) | 18.8% (#2) | 0.9% (#14) | free |
| Simmons Quinn | 26.00 | 2.4% | 0.0% (#49) | 0.2% (#54) | 0.1% (#66) | free |
| Pidcock Tom | 29.00 | 2.1% | 0.2% (#23) | 3.3% (#9) | 3.6% (#6) | free |
| Stuyven Jasper | 34.00 | 1.8% | 0.3% (#20) | 0.8% (#24) | 0.1% (#54) | free |
| Ganna Filippo | 34.00 | 1.8% | 0.1% (#38) | 0.1% (#71) | 0.1% (#57) | free |
After the stage
| Pos | Rider | Team | Bunch sprint win p | Reduced sprint win p | Montmartre move win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|---|
| 1 | van der Poel Mathieu | Alpecin-Premier Tech | 2.0% | 10.9% | 6.4% | 5.5% |
| 2 | Philipsen Jasper | Alpecin-Premier Tech | 34.9% | 31.0% | 2.0% | 31.4% |
| 3 | Pedersen Mads | Lidl-Trek | 3.9% | 11.1% | 1.4% | 4.0% |
| 4 | Kanter Max | XDS Astana Team | 6.3% | 4.2% | 0.3% | 8.1% |
| 5 | Kooij Olav | Decathlon CMA CGM Team | 52.4% | 18.8% | 0.9% | 41.7% |
| 6 | Mohoric Matej | Bahrain Victorious | 0.0% | 0.1% | 0.0% | 0.1% |
| 7 | Pluimers Rick | Tudor Pro Cycling Team | 0.1% | 0.7% | 0.1% | 0.2% |
| 8 | Turgis Anthony | Team TotalEnergies | 0.1% | 0.2% | 0.1% | 0.1% |
| 9 | Fretin Milan | Cofidis | 2.8% | 1.7% | 0.1% | 3.1% |
| 10 | Russo Clément | Groupama-FDJ United | 0.2% | 0.2% | 0.0% | 0.1% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Bunch sprint | 1.99% | 27.65% |
| Reduced sprint | 10.93% | 27.65% |
| Montmartre move | 6.37% | 27.65% |
| Hindsight (post-hoc) | 5.45% | 27.65% |
Reflection
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.