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 battle 95%, Irregular top 68%, Hindsight (post-hoc) 81% — 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 | Mountain break | GC battle | Irregular top | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|---|
| Roglic Primoz | Red Bull-BORA-hansgrohe | – | 13.2% | 7.2% | 11.6% | 19.00 | 3.4% | +9.7pp |
| Gall Felix | Decathlon CMA CGM Team | – | 13.1% | 8.7% | 10.6% | 6.50 | 10.1% | +3.0pp |
| Onley Oscar | Netcompany INEOS | – | 9.6% | 6.1% | 8.7% | 11.00 | 6.0% | +3.7pp |
| Mas Enric | Movistar Team | – | 7.5% | 4.0% | 7.0% | 6.50 | 10.1% | -2.6pp |
| Carapaz Richard | EF Education-EasyPost | – | 4.7% | 3.2% | 3.1% | 23.00 | 2.8% | +1.8pp |
| Skjelmose Mattias | Lidl-Trek | – | 3.4% | 1.8% | 3.2% | 34.00 | 1.9% | +1.4pp |
| Vine Jay | UAE Team Emirates-XRG | 7.3% | 2.9% | 2.3% | 2.5% | 12.00 | 5.5% | -2.5pp |
| Almeida Joao | UAE Team Emirates-XRG | 3.3% | 2.8% | 1.1% | 1.2% | 81.00 | 0.8% | +2.0pp |
| Romeo Ivan | Movistar Team | 4.2% | 2.6% | 1.4% | 2.1% | 501.00 | 0.1% | +2.5pp |
| Johannessen Tobias Halland | Uno-X Mobility | 7.3% | 2.5% | 2.2% | 2.4% | 8.00 | 8.2% | -5.7pp |
| Kuss Sepp | Team Visma | Lease a Bike | – | 2.2% | 1.4% | 1.7% | 41.00 | 1.6% | +0.6pp |
| Riccitello Matthew | Decathlon CMA CGM Team | 3.8% | 1.7% | 1.2% | 1.4% | 81.00 | 0.8% | +0.9pp |
| Nordhagen Jørgen | Team Visma | Lease a Bike | 3.8% | 1.6% | 1.4% | 1.6% | 151.00 | 0.4% | +1.2pp |
| Widar Jarno | Lotto-Intermarché | 3.5% | 1.4% | 1.3% | 1.6% | 19.00 | 3.4% | -1.9pp |
| Tejada Harold | XDS Astana Team | – | 1.5% | 1.5% | 1.2% | 51.00 | 1.3% | +0.3pp |
| Bisiaux Léo | Decathlon CMA CGM Team | 3.8% | 1.4% | 1.4% | 1.2% | 67.00 | 1.0% | +0.4pp |
| Rodriguez Carlos | Netcompany INEOS | 3.9% | 1.3% | 1.1% | 1.1% | 81.00 | 0.8% | +0.5pp |
| Bilbao Pello | Bahrain Victorious | 3.6% | 1.1% | 1.0% | 1.1% | 126.00 | 0.5% | +0.6pp |
| Buitrago Santiago | Bahrain Victorious | 3.0% | 1.1% | 1.0% | 1.0% | 11.00 | 6.0% | -4.9pp |
| Berthet Clément | Groupama-FDJ United | 3.0% | 1.1% | 1.0% | 1.0% | 81.00 | 0.8% | +0.3pp |
| Tulett Ben | Team Visma | Lease a Bike | 2.6% | 1.0% | 1.0% | 1.0% | 251.00 | 0.3% | +0.7pp |
| Fortunato Lorenzo | XDS Astana Team | 2.6% | 1.0% | 0.9% | 0.8% | 21.00 | 3.1% | -2.1pp |
| Rodriguez Cristian | XDS Astana Team | 1.3% | 0.3% | 0.4% | 0.3% | 21.00 | 3.1% | -2.7pp |
| Debruyne Ramses | Alpecin-Premier Tech | 0.8% | 0.2% | 0.2% | 0.2% | 17.00 | 3.9% | -3.6pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Vine Jay | 2.5% | 3.4% | 3.8% | 6.4% | 14.2% | 12.00 |
| 2 | Johannessen Tobias Halland | 2.5% | 1.6% | 4.2% | 7.2% | 30.8% | 8.00 |
| 3 | Romeo Ivan | 1.4% | 2.3% | 2.1% | 5.0% | 15.6% | 501.00 |
| 4 | Rodriguez Carlos | 1.3% | 0.9% | 2.3% | 4.3% | 16.5% | 81.00 |
| 5 | Bisiaux Léo | 1.3% | 2.5% | 1.8% | 5.7% | 29.4% | 67.00 |
| 6 | Riccitello Matthew | 1.3% | 1.5% | 2.0% | 4.7% | 30.9% | 81.00 |
| 7 | Nordhagen Jørgen | 1.3% | 1.7% | 2.0% | 5.0% | 17.9% | 151.00 |
| 8 | Bilbao Pello | 1.2% | 1.7% | 1.9% | 6.1% | 23.7% | 126.00 |
| 9 | Widar Jarno | 1.2% | 1.2% | 1.9% | 4.8% | 36.6% | 19.00 |
| 10 | van Aert Wout | 1.1% | 1.2% | 1.8% | 4.0% | 12.6% | 81.00 |
| 11 | Almeida Joao | 1.1% | 1.0% | 1.9% | 4.9% | 17.6% | 81.00 |
| 12 | Buitrago Santiago | 1.0% | 1.1% | 1.6% | 3.1% | 17.1% | 11.00 |
| 13 | Berthet Clément | 1.0% | 0.8% | 1.7% | 2.9% | 34.3% | 81.00 |
| 14 | Fortunato Lorenzo | 0.9% | 1.0% | 1.4% | 6.6% | 22.1% | 21.00 |
| 15 | Tulett Ben | 0.9% | 0.8% | 1.4% | 3.7% | 14.7% | 251.00 |
| 16 | Castrillo Pablo | 0.8% | 0.6% | 1.4% | 1.5% | 5.4% | 151.00 |
| 17 | Paret-Peintre Valentin | 0.7% | 1.1% | 1.0% | 5.0% | 15.8% | 41.00 |
| 18 | Svestad-Bårdseng Embret | 0.6% | 1.1% | 0.9% | 2.5% | 21.1% | 251.00 |
| 19 | Fisher-Black Finn | 0.6% | 0.9% | 0.9% | 4.1% | 13.9% | 601.00 |
| 20 | Laurance Axel | 0.5% | 0.9% | 0.7% | 2.5% | 12.8% | 801.00 |
| 21 | Vansevenant Mauri | 0.5% | 0.6% | 0.7% | 1.5% | 7.8% | 1001.00 |
| 22 | Vermaerke Kevin | 0.4% | 0.3% | 0.8% | 1.4% | 12.8% | 251.00 |
| 23 | Rodriguez Cristian | 0.4% | 0.5% | 0.7% | 1.6% | 20.9% | 21.00 |
| 24 | Zana Filippo | 0.4% | 0.2% | 0.8% | 1.0% | 18.1% | 51.00 |
| 25 | Kron Andreas | 0.4% | 0.3% | 0.7% | 1.4% | 13.0% | 201.00 |
| 26 | Landa Mikel | 0.4% | 0.2% | 0.6% | 1.7% | 11.2% | 151.00 |
| 27 | Leknessund Andreas | 0.3% | 0.4% | 0.5% | 1.1% | 6.6% | 101.00 |
| 28 | Martin Guillaume | 0.3% | 0.1% | 0.6% | 0.7% | 12.6% | 201.00 |
| 29 | Sosa Ivan | 0.3% | 0.3% | 0.5% | 2.0% | 10.3% | 67.00 |
| 30 | García Raúl | 0.3% | 0.3% | 0.5% | 0.9% | 6.6% | 301.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Roglic Primoz | 13.2% | 8.8% | 14.9% | 28.0% | 75.4% | 19.00 |
| 2 | Gall Felix | 13.1% | 10.0% | 14.5% | 36.1% | 84.9% | 6.50 |
| 3 | Onley Oscar | 9.6% | 7.2% | 10.7% | 32.3% | 80.8% | 11.00 |
| 4 | Mas Enric | 7.5% | 4.3% | 8.7% | 28.1% | 80.9% | 6.50 |
| 5 | Carapaz Richard | 4.7% | 3.5% | 5.2% | 17.0% | 76.9% | 23.00 |
| 6 | Skjelmose Mattias | 3.4% | 2.6% | 3.7% | 10.8% | 68.7% | 34.00 |
| 7 | Vine Jay | 2.9% | 3.3% | 3.0% | 6.7% | 15.4% | 12.00 |
| 8 | Almeida Joao | 2.8% | 9.2% | 1.4% | 11.9% | 22.5% | 81.00 |
| 9 | Romeo Ivan | 2.6% | 5.7% | 2.0% | 8.7% | 22.4% | 501.00 |
| 10 | Johannessen Tobias Halland | 2.5% | 1.6% | 2.9% | 7.2% | 29.6% | 8.00 |
| 11 | Kuss Sepp | 2.2% | 2.4% | 2.3% | 12.6% | 58.2% | 41.00 |
| 12 | Riccitello Matthew | 1.7% | 1.4% | 1.9% | 4.4% | 32.2% | 81.00 |
| 13 | Nordhagen Jørgen | 1.6% | 1.6% | 1.6% | 5.4% | 18.5% | 151.00 |
| 14 | Tejada Harold | 1.5% | 1.9% | 1.5% | 9.2% | 55.0% | 51.00 |
| 15 | Widar Jarno | 1.4% | 1.2% | 1.6% | 5.7% | 44.7% | 19.00 |
| 16 | Bisiaux Léo | 1.4% | 1.6% | 1.4% | 4.5% | 30.8% | 67.00 |
| 17 | Rodriguez Carlos | 1.3% | 1.0% | 1.4% | 2.8% | 15.7% | 81.00 |
| 18 | Bilbao Pello | 1.1% | 0.9% | 1.2% | 4.4% | 19.1% | 126.00 |
| 19 | Buitrago Santiago | 1.1% | 0.9% | 1.2% | 3.5% | 19.8% | 11.00 |
| 20 | Berthet Clément | 1.1% | 0.8% | 1.2% | 3.6% | 37.6% | 81.00 |
| 21 | Tulett Ben | 1.0% | 0.9% | 1.1% | 5.8% | 16.0% | 251.00 |
| 22 | Fortunato Lorenzo | 1.0% | 1.0% | 1.1% | 7.7% | 25.1% | 21.00 |
| 23 | Omrzel Jakob | 0.9% | 0.9% | 1.0% | 4.3% | 45.5% | 81.00 |
| 24 | van Aert Wout | 0.8% | 2.6% | 0.4% | 5.6% | 13.3% | 81.00 |
| 25 | Castrillo Pablo | 0.8% | 0.6% | 0.9% | 1.4% | 7.0% | 151.00 |
| 26 | Svestad-Bårdseng Embret | 0.8% | 1.0% | 0.7% | 2.3% | 21.6% | 251.00 |
| 27 | Fisher-Black Finn | 0.7% | 1.3% | 0.6% | 3.4% | 12.8% | 601.00 |
| 28 | Vansevenant Mauri | 0.7% | 1.1% | 0.6% | 2.7% | 12.1% | 1001.00 |
| 29 | Landa Mikel | 0.5% | 0.4% | 0.6% | 1.8% | 14.9% | 151.00 |
| 30 | Vermaerke Kevin | 0.5% | 0.5% | 0.5% | 1.9% | 14.3% | 251.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Gall Felix | 8.7% | 6.5% | 13.3% | 26.0% | 69.1% | 6.50 |
| 2 | Roglic Primoz | 7.2% | 4.4% | 11.3% | 18.7% | 58.3% | 19.00 |
| 3 | Onley Oscar | 6.1% | 5.5% | 9.1% | 20.1% | 67.5% | 11.00 |
| 4 | Mas Enric | 4.0% | 1.8% | 6.3% | 17.5% | 63.4% | 6.50 |
| 5 | Carapaz Richard | 3.2% | 1.7% | 5.0% | 10.1% | 60.4% | 23.00 |
| 6 | Vine Jay | 2.3% | 2.5% | 3.2% | 5.5% | 13.3% | 12.00 |
| 7 | Johannessen Tobias Halland | 2.2% | 1.6% | 3.4% | 7.4% | 31.5% | 8.00 |
| 8 | Skjelmose Mattias | 1.8% | 2.0% | 2.5% | 8.6% | 53.4% | 34.00 |
| 9 | Tejada Harold | 1.5% | 2.0% | 2.1% | 8.3% | 50.4% | 51.00 |
| 10 | Kuss Sepp | 1.4% | 1.8% | 2.0% | 8.3% | 44.6% | 41.00 |
| 11 | Nordhagen Jørgen | 1.4% | 2.1% | 1.9% | 5.5% | 18.7% | 151.00 |
| 12 | Romeo Ivan | 1.4% | 2.4% | 1.8% | 4.9% | 16.7% | 501.00 |
| 13 | Bisiaux Léo | 1.4% | 2.2% | 1.8% | 5.2% | 31.3% | 67.00 |
| 14 | Widar Jarno | 1.3% | 1.2% | 1.9% | 5.1% | 41.6% | 19.00 |
| 15 | Riccitello Matthew | 1.2% | 1.5% | 1.8% | 4.4% | 32.4% | 81.00 |
| 16 | Almeida Joao | 1.1% | 1.0% | 1.7% | 4.4% | 16.7% | 81.00 |
| 17 | Rodriguez Carlos | 1.1% | 0.9% | 1.6% | 3.2% | 13.9% | 81.00 |
| 18 | Bilbao Pello | 1.0% | 1.3% | 1.5% | 5.8% | 22.8% | 126.00 |
| 19 | Tulett Ben | 1.0% | 0.9% | 1.5% | 5.3% | 15.1% | 251.00 |
| 20 | Buitrago Santiago | 1.0% | 0.8% | 1.5% | 3.0% | 18.8% | 11.00 |
| 21 | Berthet Clément | 1.0% | 0.7% | 1.5% | 3.6% | 36.5% | 81.00 |
| 22 | Fortunato Lorenzo | 0.9% | 1.1% | 1.2% | 7.3% | 24.6% | 21.00 |
| 23 | Castrillo Pablo | 0.8% | 0.6% | 1.3% | 1.4% | 6.5% | 151.00 |
| 24 | van Aert Wout | 0.8% | 2.5% | 0.8% | 5.7% | 13.5% | 81.00 |
| 25 | Omrzel Jakob | 0.8% | 0.9% | 1.1% | 4.7% | 40.7% | 81.00 |
| 26 | Svestad-Bårdseng Embret | 0.7% | 0.9% | 0.9% | 2.6% | 21.7% | 251.00 |
| 27 | Vansevenant Mauri | 0.6% | 1.3% | 0.8% | 2.5% | 10.9% | 1001.00 |
| 28 | Paret-Peintre Valentin | 0.6% | 1.0% | 0.8% | 5.1% | 17.6% | 41.00 |
| 29 | Vermaerke Kevin | 0.5% | 0.4% | 0.8% | 2.1% | 12.7% | 251.00 |
| 30 | Fisher-Black Finn | 0.5% | 0.9% | 0.7% | 3.5% | 12.0% | 601.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Roglic Primoz | 11.6% | 7.0% | 15.3% | 24.1% | 66.0% | 19.00 |
| 2 | Gall Felix | 10.6% | 8.7% | 13.5% | 29.6% | 76.7% | 6.50 |
| 3 | Onley Oscar | 8.7% | 6.9% | 11.2% | 28.5% | 74.3% | 11.00 |
| 4 | Mas Enric | 7.0% | 4.0% | 9.3% | 22.4% | 72.7% | 6.50 |
| 5 | Skjelmose Mattias | 3.2% | 2.0% | 4.2% | 8.9% | 56.5% | 34.00 |
| 6 | Carapaz Richard | 3.1% | 1.8% | 4.2% | 10.3% | 59.6% | 23.00 |
| 7 | Vine Jay | 2.5% | 3.0% | 3.0% | 7.0% | 15.4% | 12.00 |
| 8 | Johannessen Tobias Halland | 2.4% | 1.6% | 3.1% | 7.8% | 32.6% | 8.00 |
| 9 | Romeo Ivan | 2.1% | 5.5% | 1.8% | 8.6% | 19.4% | 501.00 |
| 10 | Kuss Sepp | 1.7% | 1.8% | 2.0% | 9.0% | 47.3% | 41.00 |
| 11 | Nordhagen Jørgen | 1.6% | 1.9% | 1.9% | 5.6% | 18.5% | 151.00 |
| 12 | Widar Jarno | 1.6% | 1.4% | 2.0% | 5.8% | 42.9% | 19.00 |
| 13 | Riccitello Matthew | 1.4% | 1.4% | 1.7% | 4.4% | 32.5% | 81.00 |
| 14 | Almeida Joao | 1.2% | 1.0% | 1.6% | 4.7% | 17.1% | 81.00 |
| 15 | Bisiaux Léo | 1.2% | 2.1% | 1.3% | 5.1% | 29.2% | 67.00 |
| 16 | Tejada Harold | 1.2% | 1.4% | 1.4% | 7.0% | 43.7% | 51.00 |
| 17 | Rodriguez Carlos | 1.1% | 1.1% | 1.4% | 3.3% | 16.4% | 81.00 |
| 18 | Bilbao Pello | 1.1% | 1.1% | 1.3% | 5.4% | 22.4% | 126.00 |
| 19 | Buitrago Santiago | 1.0% | 1.1% | 1.2% | 3.8% | 19.6% | 11.00 |
| 20 | Berthet Clément | 1.0% | 0.7% | 1.3% | 3.1% | 37.5% | 81.00 |
| 21 | Tulett Ben | 1.0% | 1.0% | 1.2% | 4.2% | 15.3% | 251.00 |
| 22 | Omrzel Jakob | 0.9% | 1.0% | 1.1% | 5.0% | 49.4% | 81.00 |
| 23 | van Aert Wout | 0.8% | 2.5% | 0.6% | 5.9% | 13.7% | 81.00 |
| 24 | Fortunato Lorenzo | 0.8% | 1.0% | 1.0% | 7.5% | 24.0% | 21.00 |
| 25 | Castrillo Pablo | 0.7% | 1.1% | 0.8% | 1.9% | 7.2% | 151.00 |
| 26 | Svestad-Bårdseng Embret | 0.7% | 1.1% | 0.8% | 2.7% | 23.7% | 251.00 |
| 27 | Fisher-Black Finn | 0.6% | 1.4% | 0.5% | 3.6% | 13.5% | 601.00 |
| 28 | Vansevenant Mauri | 0.5% | 0.7% | 0.6% | 2.2% | 12.5% | 1001.00 |
| 29 | Landa Mikel | 0.5% | 0.4% | 0.6% | 1.6% | 15.4% | 151.00 |
| 30 | Paret-Peintre Valentin | 0.5% | 0.9% | 0.5% | 4.4% | 17.1% | 41.00 |
After the stage
| Pos | Rider | Team | Mountain break win p | GC battle win p | Irregular top win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|---|
| 1 | Omrzel Jakob | Bahrain Victorious | 0.6% | 0.9% | 0.8% | 0.9% |
| 2 | Berrade Urko | Equipo Kern Pharma | 0.1% | 0.1% | 0.1% | 0.1% |
| 3 | Buitrago Santiago | Bahrain Victorious | 1.0% | 1.1% | 1.0% | 1.0% |
| 4 | Lutsenko Alexey | NSN Cycling Team | 0.2% | 0.1% | 0.2% | 0.1% |
| 5 | Vansevenant Mauri | Soudal Quick-Step | 0.5% | 0.7% | 0.6% | 0.5% |
| 6 | Mas Enric | Movistar Team | 2.3% | 7.5% | 4.0% | 7.0% |
| 7 | Gall Felix | Decathlon CMA CGM Team | 5.3% | 13.1% | 8.7% | 10.6% |
| 8 | Roglic Primoz | Red Bull-BORA-hansgrohe | 5.9% | 13.2% | 7.2% | 11.6% |
| 9 | Carapaz Richard | EF Education-EasyPost | 2.8% | 4.7% | 3.2% | 3.1% |
| 10 | Mühlberger Gregor | Decathlon CMA CGM Team | 0.3% | 0.3% | 0.3% | 0.2% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Mountain break | 0.61% | 0.81% |
| GC battle | 0.93% | 0.81% |
| Irregular top | 0.78% | 0.81% |
| Hindsight (post-hoc) | 0.90% | 0.81% |
Reflection
The break won and the model missed the winner, but this was a far better day than Valdelinares. Jakob Omrzel — twenty years old — went clear and held 1:56 on Berrade and 2:13 on Buitrago, with Mas the first GC man home in 6th at 2:56, taking 27 seconds out of Roglic, Gall and Carapaz. The boards had Omrzel at #23-25 (1.0-1.1%) and Berrade at #57-62, so the podium of the stage was not found. What the model DID get right was everything behind it: on 'mountain break' Roglic was #1, Gall #2, Carapaz #4 and Mas #6, and they finished 8th, 7th, 9th and 6th. Pool retrieval was level with production on all three boards (6/6, 7/7, 6/6), which is the honest verdict — the key neither helped nor hurt on a day whose front was half escape and half GC.
The key scored covered at 0.45, and the reason it was not exact is a labelling artifact worth recording. By any human reading this was a mountain escape: a breakaway rider soloed, the GC group conceded three minutes, and the realized top-15 composition came back mountain .47 / rolling .40 / time_trial .13 — a pure climbers' front that sits close to res_2's canonical mountain .42 / tt .24 / rolling .20. But Omrzel happened to sit 10th on GC overnight at +8:05, so the oracle's 'winner inside morning GC top-10' clause fired and stamped the day gc_day. This is the inverse of the stage 2-4 problem: back then the GC top-10 was contaminated by sprinters who would never contest a mountain; now it is contaminated by a breakaway rider who banked time earlier in the race and is, functionally, still a break rider. The composition half of our read (res_2 at 0.55) was correct and the score does not credit it.
The chase-incentive test was right that the GC teams would race, and wrong about what that would buy them. Going in, the argument for holding gc_day at 0.45 was that four teams had a live claim on the win and Movistar were obliged to defend — the most incentive this Vuelta has had. They did race: Mas attacked and took 27 seconds on his three nearest rivals, which is a real GC day inside the stage. But the escape had gone up the road on the early slopes and the racing behind never threatened it. The refinement the day suggests: chase incentive predicts whether the GC group RACES, not whether the break is CAUGHT. Those are different questions, and on a 4,568 m day with the climbing starting at km 7.7, the second one is mostly settled before the first one starts.
The parcours read held up in its specifics. The final climb's irregular upper half did limit the damage — the GC selection was 27 seconds, not minutes, exactly the 'less room for a big explosion' the pre-race note argued for, and much less than Aitana produced. Mas is now 1:45 clear of Roglic with Gall at 2:06 and Carapaz 3:53; the state-aware GC outlook head has him at 47.0% against Roglic 27.0%, essentially unchanged from before the stage despite the day going his way.