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 GC summit 101%, Pogačar solo 93%, Hindsight (post-hoc) 97% — 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 | GC summit | Mountain break | Pogačar solo | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|---|
| Pogacar Tadej | UAE Team Emirates-XRG | 64.1% | – | 62.0% | 53.1% | 2.75 | 23.3% | +40.8pp |
| Onley Oscar | Netcompany INEOS | 5.1% | – | 3.1% | 4.1% | 29.00 | 2.2% | +2.9pp |
| Gall Felix | Decathlon CMA CGM Team | 4.0% | – | 3.1% | 4.9% | 29.00 | 2.2% | +2.7pp |
| Roglic Primoz | Red Bull-BORA-hansgrohe | 2.8% | – | 1.6% | 2.2% | 41.00 | 1.6% | +1.2pp |
| Mas Enric | Movistar Team | 2.4% | – | 1.7% | 2.5% | 26.00 | 2.5% | +0.0pp |
| Carapaz Richard | EF Education-EasyPost | 2.1% | – | 1.9% | 1.8% | 67.00 | 1.0% | +1.1pp |
| Vine Jay | UAE Team Emirates-XRG | 1.2% | 7.8% | 1.2% | 1.8% | 7.50 | 8.5% | -6.7pp |
| Skjelmose Mattias | Lidl-Trek | 1.6% | – | 1.0% | 1.2% | 151.00 | 0.4% | +1.2pp |
| Johannessen Tobias Halland | Uno-X Mobility | 1.0% | 5.2% | 0.9% | 1.3% | 19.00 | 3.4% | -2.1pp |
| Romeo Ivan | Movistar Team | 0.6% | 6.5% | 0.8% | 1.2% | 41.00 | 1.6% | -0.4pp |
| Kuss Sepp | Team Visma | Lease a Bike | 0.9% | – | 1.1% | 1.0% | 81.00 | 0.8% | +0.3pp |
| Riccitello Matthew | Decathlon CMA CGM Team | 0.7% | 4.8% | 1.0% | 1.0% | 81.00 | 0.8% | +0.2pp |
| Bisiaux Léo | Decathlon CMA CGM Team | 0.5% | 3.4% | 0.5% | 0.9% | 15.00 | 4.3% | -3.4pp |
| Widar Jarno | Lotto-Intermarché | 0.6% | – | 0.5% | 0.8% | 26.00 | 2.5% | -1.6pp |
| Tulett Ben | Team Visma | Lease a Bike | 0.4% | 3.2% | 0.5% | 0.7% | 29.00 | 2.2% | -1.5pp |
| Fortunato Lorenzo | XDS Astana Team | 0.5% | 2.1% | 0.3% | 0.6% | 19.00 | 3.4% | -2.8pp |
| Torres Pablo | UAE Team Emirates-XRG | 0.2% | 1.1% | 0.2% | 0.3% | 26.00 | 2.5% | -2.2pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 64.1% | 58.3% | 65.2% | 78.5% | 90.5% | 2.75 |
| 2 | Onley Oscar | 5.1% | 4.1% | 5.3% | 19.6% | 74.9% | 29.00 |
| 3 | Gall Felix | 4.0% | 3.0% | 4.2% | 16.2% | 70.1% | 29.00 |
| 4 | Roglic Primoz | 2.8% | 1.5% | 3.1% | 8.5% | 59.6% | 41.00 |
| 5 | Mas Enric | 2.4% | 1.5% | 2.5% | 12.0% | 66.9% | 26.00 |
| 6 | Carapaz Richard | 2.1% | 1.4% | 2.3% | 9.5% | 59.8% | 67.00 |
| 7 | Skjelmose Mattias | 1.6% | 1.7% | 1.6% | 7.3% | 55.8% | 151.00 |
| 8 | Vine Jay | 1.2% | 1.0% | 1.2% | 3.9% | 19.3% | 7.50 |
| 9 | Johannessen Tobias Halland | 1.0% | 0.8% | 1.0% | 3.8% | 24.3% | 19.00 |
| 10 | Kuss Sepp | 0.9% | 1.3% | 0.8% | 6.9% | 46.7% | 81.00 |
| 11 | Almeida Joao | 0.8% | 2.4% | 0.4% | 8.1% | 16.4% | 67.00 |
| 12 | Riccitello Matthew | 0.7% | 0.9% | 0.7% | 4.3% | 33.2% | 81.00 |
| 13 | Nordhagen Jørgen | 0.6% | 1.1% | 0.5% | 4.5% | 24.5% | 67.00 |
| 14 | Romeo Ivan | 0.6% | 0.8% | 0.6% | 3.7% | 15.6% | 41.00 |
| 15 | Widar Jarno | 0.6% | 0.8% | 0.5% | 4.9% | 40.0% | 26.00 |
| 16 | Tejada Harold | 0.5% | 0.9% | 0.5% | 4.0% | 43.4% | 51.00 |
| 17 | Bisiaux Léo | 0.5% | 0.9% | 0.4% | 3.9% | 26.1% | 15.00 |
| 18 | Fortunato Lorenzo | 0.5% | 0.8% | 0.4% | 5.0% | 24.2% | 19.00 |
| 19 | Rodriguez Carlos | 0.5% | 0.6% | 0.4% | 3.6% | 19.2% | 126.00 |
| 20 | Tulett Ben | 0.4% | 0.9% | 0.3% | 3.1% | 15.4% | 29.00 |
| 21 | Fisher-Black Finn | 0.4% | 0.5% | 0.4% | 1.7% | 8.4% | 67.00 |
| 22 | Bilbao Pello | 0.4% | 0.7% | 0.4% | 2.1% | 12.9% | 101.00 |
| 23 | Berthet Clément | 0.4% | 0.6% | 0.4% | 2.9% | 40.5% | 67.00 |
| 24 | Buitrago Santiago | 0.4% | 0.5% | 0.4% | 3.7% | 22.6% | 34.00 |
| 25 | van Aert Wout | 0.4% | 1.3% | 0.2% | 2.7% | 6.4% | 67.00 |
| 26 | Omrzel Jakob | 0.4% | 0.9% | 0.3% | 3.5% | 35.9% | 67.00 |
| 27 | Castrillo Pablo | 0.4% | 0.7% | 0.3% | 2.3% | 7.1% | 51.00 |
| 28 | Mühlberger Gregor | 0.3% | 0.9% | 0.2% | 3.8% | 35.6% | 126.00 |
| 29 | Svestad-Bårdseng Embret | 0.3% | 0.7% | 0.2% | 2.6% | 25.4% | 151.00 |
| 30 | Landa Mikel | 0.3% | 0.1% | 0.3% | 1.5% | 13.5% | 81.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Vine Jay | 2.4% | 2.0% | 2.6% | 5.2% | 21.2% | 7.50 |
| 2 | Romeo Ivan | 2.0% | 3.2% | 1.8% | 6.7% | 17.3% | 41.00 |
| 3 | Johannessen Tobias Halland | 1.6% | 0.9% | 1.8% | 4.1% | 23.2% | 19.00 |
| 4 | Riccitello Matthew | 1.5% | 1.5% | 1.5% | 5.0% | 32.0% | 81.00 |
| 5 | Rodriguez Carlos | 1.1% | 1.2% | 1.1% | 4.2% | 18.5% | 126.00 |
| 6 | Bisiaux Léo | 1.1% | 1.4% | 1.0% | 5.0% | 25.9% | 15.00 |
| 7 | Tulett Ben | 1.0% | 0.6% | 1.1% | 2.7% | 15.1% | 29.00 |
| 8 | Almeida Joao | 1.0% | 1.9% | 0.8% | 3.4% | 13.2% | 67.00 |
| 9 | Buitrago Santiago | 0.9% | 0.7% | 1.0% | 3.4% | 20.0% | 34.00 |
| 10 | Nordhagen Jørgen | 0.8% | 1.2% | 0.8% | 4.2% | 22.7% | 67.00 |
| 11 | Castrillo Pablo | 0.8% | 0.6% | 0.9% | 1.9% | 5.7% | 51.00 |
| 12 | Fisher-Black Finn | 0.8% | 0.4% | 0.9% | 1.4% | 10.1% | 67.00 |
| 13 | Bilbao Pello | 0.7% | 0.5% | 0.7% | 1.9% | 10.5% | 101.00 |
| 14 | Zana Filippo | 0.7% | 1.3% | 0.5% | 4.7% | 21.6% | 151.00 |
| 15 | Paret-Peintre Valentin | 0.7% | 1.2% | 0.5% | 4.3% | 19.1% | 41.00 |
| 16 | Fortunato Lorenzo | 0.6% | 0.1% | 0.8% | 2.9% | 10.9% | 19.00 |
| 17 | van Aert Wout | 0.6% | 0.7% | 0.6% | 3.5% | 7.9% | 67.00 |
| 18 | Omrzel Jakob | 0.5% | 0.6% | 0.5% | 3.2% | 31.6% | 67.00 |
| 19 | Tuckwell Luke | 0.5% | 0.9% | 0.4% | 3.4% | 21.1% | 151.00 |
| 20 | Laporte Christophe | 0.5% | 0.6% | 0.5% | 1.1% | 2.6% | n/a |
| 21 | Svestad-Bårdseng Embret | 0.5% | 0.7% | 0.4% | 1.9% | 22.3% | 151.00 |
| 22 | Landa Mikel | 0.4% | 0.1% | 0.5% | 0.9% | 14.5% | 81.00 |
| 23 | García Raúl | 0.4% | 0.2% | 0.5% | 1.1% | 4.9% | 126.00 |
| 24 | Rodriguez Cristian | 0.4% | 0.4% | 0.5% | 1.3% | 25.3% | 41.00 |
| 25 | Laurance Axel | 0.4% | 0.2% | 0.5% | 1.5% | 8.2% | 151.00 |
| 26 | Brenner Marco | 0.4% | 0.2% | 0.4% | 2.7% | 12.5% | 51.00 |
| 27 | Vansevenant Mauri | 0.4% | 0.2% | 0.4% | 1.1% | 8.3% | 301.00 |
| 28 | Vermaerke Kevin | 0.4% | 0.2% | 0.4% | 0.9% | 7.1% | 401.00 |
| 29 | Torres Pablo | 0.3% | 0.2% | 0.4% | 1.0% | 9.7% | 26.00 |
| 30 | Pickering Finlay | 0.3% | 0.2% | 0.4% | 0.9% | 11.4% | 126.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 62.0% | 57.7% | 68.0% | 76.6% | 89.2% | 2.75 |
| 2 | Gall Felix | 3.1% | 2.3% | 3.5% | 12.7% | 65.4% | 29.00 |
| 3 | Onley Oscar | 3.1% | 1.8% | 3.6% | 9.1% | 60.5% | 29.00 |
| 4 | Carapaz Richard | 1.9% | 1.4% | 2.2% | 7.5% | 53.3% | 67.00 |
| 5 | Mas Enric | 1.7% | 1.3% | 2.0% | 7.3% | 58.3% | 26.00 |
| 6 | Roglic Primoz | 1.6% | 1.5% | 1.8% | 7.0% | 58.2% | 41.00 |
| 7 | Vine Jay | 1.2% | 1.1% | 1.3% | 4.0% | 19.2% | 7.50 |
| 8 | Kuss Sepp | 1.1% | 1.7% | 1.0% | 6.7% | 47.2% | 81.00 |
| 9 | Skjelmose Mattias | 1.0% | 1.3% | 1.1% | 5.9% | 56.0% | 151.00 |
| 10 | Riccitello Matthew | 1.0% | 1.1% | 1.1% | 5.5% | 36.4% | 81.00 |
| 11 | Johannessen Tobias Halland | 0.9% | 0.8% | 1.0% | 4.1% | 23.6% | 19.00 |
| 12 | Romeo Ivan | 0.8% | 0.8% | 0.9% | 4.1% | 16.1% | 41.00 |
| 13 | Tejada Harold | 0.7% | 1.2% | 0.6% | 5.3% | 45.1% | 51.00 |
| 14 | Nordhagen Jørgen | 0.6% | 1.1% | 0.6% | 4.7% | 24.0% | 67.00 |
| 15 | Almeida Joao | 0.6% | 1.5% | 0.4% | 7.0% | 18.1% | 67.00 |
| 16 | Rodriguez Carlos | 0.6% | 0.7% | 0.6% | 3.9% | 20.1% | 126.00 |
| 17 | Tulett Ben | 0.5% | 0.7% | 0.5% | 2.7% | 13.9% | 29.00 |
| 18 | Widar Jarno | 0.5% | 0.7% | 0.5% | 4.6% | 37.4% | 26.00 |
| 19 | Bisiaux Léo | 0.5% | 0.8% | 0.5% | 4.2% | 23.8% | 15.00 |
| 20 | Castrillo Pablo | 0.4% | 0.4% | 0.5% | 1.6% | 5.2% | 51.00 |
| 21 | Buitrago Santiago | 0.4% | 0.3% | 0.5% | 2.1% | 16.8% | 34.00 |
| 22 | Fisher-Black Finn | 0.4% | 0.3% | 0.4% | 1.1% | 7.6% | 67.00 |
| 23 | Bilbao Pello | 0.4% | 0.6% | 0.3% | 2.2% | 10.5% | 101.00 |
| 24 | Omrzel Jakob | 0.4% | 0.8% | 0.3% | 4.3% | 37.6% | 67.00 |
| 25 | Berthet Clément | 0.4% | 0.5% | 0.4% | 2.8% | 37.0% | 67.00 |
| 26 | Fortunato Lorenzo | 0.3% | 0.1% | 0.4% | 3.7% | 9.8% | 19.00 |
| 27 | Mühlberger Gregor | 0.3% | 0.8% | 0.2% | 4.0% | 35.5% | 126.00 |
| 28 | Landa Mikel | 0.3% | 0.1% | 0.4% | 1.4% | 13.5% | 81.00 |
| 29 | Svestad-Bårdseng Embret | 0.3% | 0.6% | 0.2% | 1.9% | 23.5% | 151.00 |
| 30 | Tuckwell Luke | 0.2% | 0.5% | 0.2% | 1.1% | 9.3% | 151.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 53.1% | 52.6% | 54.7% | 67.7% | 82.2% | 2.75 |
| 2 | Gall Felix | 4.9% | 2.5% | 5.6% | 12.8% | 60.8% | 29.00 |
| 3 | Onley Oscar | 4.1% | 2.0% | 4.7% | 9.9% | 53.8% | 29.00 |
| 4 | Mas Enric | 2.5% | 1.3% | 2.9% | 7.2% | 52.1% | 26.00 |
| 5 | Roglic Primoz | 2.2% | 1.5% | 2.5% | 6.4% | 52.7% | 41.00 |
| 6 | Carapaz Richard | 1.8% | 1.3% | 2.0% | 6.2% | 48.5% | 67.00 |
| 7 | Vine Jay | 1.8% | 1.8% | 1.9% | 4.9% | 18.6% | 7.50 |
| 8 | Johannessen Tobias Halland | 1.3% | 0.8% | 1.5% | 3.3% | 21.1% | 19.00 |
| 9 | Skjelmose Mattias | 1.2% | 1.1% | 1.3% | 7.5% | 55.0% | 151.00 |
| 10 | Romeo Ivan | 1.2% | 1.5% | 1.1% | 4.8% | 16.6% | 41.00 |
| 11 | Kuss Sepp | 1.0% | 1.4% | 1.0% | 5.7% | 42.3% | 81.00 |
| 12 | Riccitello Matthew | 1.0% | 0.4% | 1.2% | 2.8% | 34.3% | 81.00 |
| 13 | Nordhagen Jørgen | 0.9% | 1.7% | 0.7% | 4.9% | 23.0% | 67.00 |
| 14 | Bisiaux Léo | 0.9% | 1.1% | 0.8% | 4.0% | 23.3% | 15.00 |
| 15 | Widar Jarno | 0.8% | 0.9% | 0.8% | 4.7% | 40.2% | 26.00 |
| 16 | Buitrago Santiago | 0.7% | 0.7% | 0.8% | 3.0% | 21.2% | 34.00 |
| 17 | Almeida Joao | 0.7% | 1.7% | 0.5% | 3.5% | 10.6% | 67.00 |
| 18 | Tejada Harold | 0.7% | 0.6% | 0.8% | 3.3% | 46.8% | 51.00 |
| 19 | Tulett Ben | 0.7% | 0.8% | 0.7% | 3.7% | 17.0% | 29.00 |
| 20 | Castrillo Pablo | 0.7% | 0.9% | 0.6% | 2.8% | 7.3% | 51.00 |
| 21 | Rodriguez Carlos | 0.6% | 0.8% | 0.6% | 3.5% | 17.7% | 126.00 |
| 22 | Fortunato Lorenzo | 0.6% | 0.8% | 0.6% | 4.8% | 23.5% | 19.00 |
| 23 | Berthet Clément | 0.6% | 0.8% | 0.6% | 3.1% | 37.0% | 67.00 |
| 24 | Bilbao Pello | 0.6% | 0.8% | 0.5% | 3.8% | 19.3% | 101.00 |
| 25 | Fisher-Black Finn | 0.6% | 0.4% | 0.6% | 1.4% | 8.9% | 67.00 |
| 26 | Omrzel Jakob | 0.5% | 0.8% | 0.5% | 4.8% | 35.3% | 67.00 |
| 27 | van Aert Wout | 0.5% | 1.3% | 0.3% | 4.3% | 10.7% | 67.00 |
| 28 | Landa Mikel | 0.5% | 0.8% | 0.4% | 4.6% | 26.4% | 81.00 |
| 29 | Paret-Peintre Valentin | 0.5% | 1.0% | 0.3% | 3.6% | 21.2% | 41.00 |
| 30 | Zana Filippo | 0.4% | 0.8% | 0.4% | 3.3% | 19.1% | 151.00 |
After the stage
| Pos | Rider | Team | GC summit win p | Mountain break win p | Pogačar solo win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|---|
| 1 | Leknessund Andreas | Uno-X Mobility | 0.1% | 0.3% | 0.1% | 0.3% |
| 2 | Johannessen Tobias Halland | Uno-X Mobility | 1.0% | 1.6% | 0.9% | 1.3% |
| 3 | van Aert Wout | Team Visma | Lease a Bike | 0.4% | 0.6% | 0.2% | 0.5% |
| 4 | Omrzel Jakob | Bahrain Victorious | 0.4% | 0.5% | 0.4% | 0.5% |
| 5 | Rodríguez Juan | EF Education-EasyPost | – | – | – | – |
| 6 | Sosa Ivan | Equipo Kern Pharma | 0.2% | 0.3% | 0.2% | 0.2% |
| 7 | Lutsenko Alexey | NSN Cycling Team | 0.1% | 0.1% | 0.1% | 0.1% |
| 8 | Dunbar Edward | Pinarello-Q36.5 Pro Cycling Team | 0.1% | 0.2% | 0.1% | 0.2% |
| 9 | Bisiaux Léo | Decathlon CMA CGM Team | 0.5% | 1.1% | 0.5% | 0.9% |
| 10 | García Raúl | Movistar Team | 0.2% | 0.4% | 0.2% | 0.3% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| GC summit | 0.15% | 0.42% |
| Mountain break | 0.32% | 0.42% |
| Pogačar solo | 0.15% | 0.42% |
| Hindsight (post-hoc) | 0.26% | 0.42% |
Reflection
Andreas Leknessund won alone from the escape, Uno-X went one-two with Johannessen at 34 seconds, van Aert took third at 47, and the GC group finished between 19th and 30th, nineteen minutes down. The break was conceded completely. This was the model's worst day of the campaign by a distance: the winner sat at #41-45 on the three boards at 0.1-0.4% against a book price of 151, and pool retrieval was 2, 4 and 2 of the actual top 15 against a production board that managed 1.
The key was wrong, and the way I got it wrong is the useful part. I keyed gc_day at 0.6 and the oracle returned res_2 (covered, weight 0.40). Two of my three stated reasons were sound and one was not. The summit-finish geometry argument — that removing the descent removes the reason a GC attack gets neutralised — turned out to be simply false here: a summit finish is not a reason the peloton chases, it is only a reason the chase would work if anyone wanted one, and nobody did. The market-has-been-wrong-twice argument was fair but was itself a two-sample claim. The third reason was the bad one: I corrected toward the macro item because it had won four judgment stages in a row, and a four-sample streak is not a prior. That correction fired on precisely the stage that broke it. The honest conclusion is not to swing back — it is that macro-frequency is not the right instrument at all, and the key should be driven by whether the peloton has a REASON to chase, which on stage 7 it plainly did not: Pogacar had three wins and 3:34 in hand, and the podium contenders were watching each other. Campaign record 2/6 exact, 5/6 covered, mean weight 0.45.
The break-card ledger has to be rewritten, and in the book's favour. After stages 4 and 6 the record read as two clean wins for the model's refusal to pay for escape membership; stage 7 is a clean win for the market. Its 19.0 shot Johannessen finished 2nd, its 15.0 shot Bisiaux 9th, and Paret-Peintre at 41.0 came 11th — all riders the model had at #8, #17 and #27 on its own break board. The market's card was still half wrong (Vine 85th at 8.5% devig, Fortunato 66th, Buitrago 92nd, Tulett 48th), so this is not a rout, but three tests now stand at two-one to the model rather than two-nil, and the one it lost it lost badly. The GT hard-day hole is exactly what it says on the tin: the model cannot represent 'this rider will be in the move on a day the bunch concedes', and on a day the bunch concedes completely that is the only thing that matters.
The retrieval channel had its best RELATIVE day of the campaign on the model's worst absolute one. Against a production board that found 1 of the actual top 15, the day-menu boards found 2, 4 and 2 — and the +3 came from `mountain_break`, the scenario keyed res_2 at 0.85, which is the item the oracle went on to assign. That is the retrieval-only architecture doing the one thing it was built for: when the composition of the front group is unlike the production ranking's default, the key moves the pool toward it. It also sharpens what the channel is for. On stages where the front is the obvious strong group it is worth roughly nothing (st4 level, st6 −1); on the day the front was made of riders the production ranking had no reason to surface, it quadrupled the retrieval. Running ledger: st2 −1, st4 level, st5 +1, st6 −1, st7 +3.
Carry-forward. (1) Replace the macro-frequency prior with a chase-incentive test: before keying, ask who specifically has a reason to spend, and price res_2 up when the answer is nobody. On stage 7 the answer was visibly nobody and I keyed against it anyway. (2) Van Aert finishing third from the move on a 3,572 m summit-finish day is a form signal worth carrying into the flat stages — the model had him #33 here. (3) The GC is now effectively decided at the top: Pogacar took no time from anyone, and the whole podium group finished together, so the standings still separate exactly as they did after Castellón.