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.
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 showdown 88%, Summit shatters 93% — 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 showdown | Mountain break | Summit shatters | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|
| Gall Felix | Decathlon CMA CGM Team | 10.9% | – | 11.8% | n/a | – | – |
| Mas Enric | Movistar Team | 7.6% | – | 7.4% | n/a | – | – |
| Onley Oscar | Netcompany INEOS | 6.5% | – | 7.5% | n/a | – | – |
| Roglic Primoz | Red Bull-BORA-hansgrohe | 7.4% | – | 4.8% | n/a | – | – |
| Johannessen Tobias Halland | Uno-X Mobility | 4.4% | 7.3% | 4.4% | n/a | – | – |
| Carapaz Richard | EF Education-EasyPost | 3.0% | – | 4.1% | n/a | – | – |
| Bisiaux Léo | Decathlon CMA CGM Team | 3.0% | 7.6% | 3.9% | n/a | – | – |
| Riccitello Matthew | Decathlon CMA CGM Team | 3.5% | 4.8% | 2.9% | n/a | – | – |
| Buitrago Santiago | Bahrain Victorious | 2.6% | 5.9% | 2.8% | n/a | – | – |
| Skjelmose Mattias | Lidl-Trek | 2.6% | – | 2.0% | n/a | – | – |
| Kuss Sepp | Team Visma | Lease a Bike | 2.2% | 2.7% | 2.5% | n/a | – | – |
| Tejada Harold | XDS Astana Team | 1.9% | – | 2.5% | n/a | – | – |
| Widar Jarno | Lotto-Intermarché | 2.0% | 3.8% | 2.2% | n/a | – | – |
| Almeida Joao | UAE Team Emirates-XRG | 1.9% | 3.2% | 2.1% | n/a | – | – |
| Omrzel Jakob | Bahrain Victorious | 2.0% | – | 2.0% | n/a | – | – |
| Berthet Clément | Groupama-FDJ United | 1.3% | – | 1.8% | n/a | – | – |
| Paret-Peintre Valentin | Soudal Quick-Step | 1.1% | 3.2% | 1.5% | n/a | – | – |
| Tuckwell Luke | Red Bull-BORA-hansgrohe | 1.1% | 2.8% | 1.5% | n/a | – | – |
| Nordhagen Jørgen | Team Visma | Lease a Bike | 1.2% | 3.3% | 1.5% | n/a | – | – |
| Debruyne Ramses | Alpecin-Premier Tech | 1.4% | 3.2% | 1.3% | n/a | – | – |
| Romeo Ivan | Movistar Team | 1.3% | 2.5% | 1.3% | n/a | – | – |
| Rodriguez Cristian | XDS Astana Team | 0.9% | – | 1.3% | n/a | – | – |
| van Aert Wout | Team Visma | Lease a Bike | 1.2% | 3.3% | 1.2% | n/a | – | – |
| Vermaerke Kevin | UAE Team Emirates-XRG | 1.0% | 1.9% | 1.1% | n/a | – | – |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Gall Felix | 10.9% | 9.8% | 12.6% | 32.2% | 84.8% | n/a |
| 2 | Mas Enric | 7.6% | 5.6% | 9.1% | 27.4% | 83.1% | n/a |
| 3 | Roglic Primoz | 7.4% | 7.6% | 8.3% | 27.9% | 77.1% | n/a |
| 4 | Onley Oscar | 6.5% | 5.8% | 7.6% | 17.9% | 77.8% | n/a |
| 5 | Johannessen Tobias Halland | 4.4% | 4.6% | 4.9% | 17.2% | 51.2% | n/a |
| 6 | Riccitello Matthew | 3.5% | 2.2% | 4.3% | 7.3% | 46.4% | n/a |
| 7 | Carapaz Richard | 3.0% | 2.5% | 3.6% | 10.7% | 79.1% | n/a |
| 8 | Bisiaux Léo | 3.0% | 2.0% | 3.7% | 6.9% | 31.5% | n/a |
| 9 | Buitrago Santiago | 2.6% | 1.7% | 3.2% | 6.0% | 26.0% | n/a |
| 10 | Skjelmose Mattias | 2.6% | 2.1% | 3.0% | 7.7% | 65.9% | n/a |
| 11 | Kuss Sepp | 2.2% | 3.7% | 2.2% | 9.1% | 49.9% | n/a |
| 12 | Widar Jarno | 2.0% | 2.6% | 2.1% | 8.7% | 41.7% | n/a |
| 13 | Omrzel Jakob | 2.0% | 1.3% | 2.4% | 6.3% | 60.7% | n/a |
| 14 | Almeida Joao | 1.9% | 1.8% | 2.2% | 5.9% | 21.2% | n/a |
| 15 | Tejada Harold | 1.9% | 3.3% | 1.8% | 9.8% | 62.0% | n/a |
| 16 | Debruyne Ramses | 1.4% | 3.4% | 1.1% | 9.5% | 31.8% | n/a |
| 17 | Berthet Clément | 1.3% | 0.4% | 1.7% | 4.8% | 56.3% | n/a |
| 18 | Romeo Ivan | 1.3% | 2.0% | 1.3% | 2.9% | 7.6% | n/a |
| 19 | van Aert Wout | 1.2% | 3.1% | 0.9% | 10.1% | 19.3% | n/a |
| 20 | Nordhagen Jørgen | 1.2% | 2.3% | 1.0% | 8.3% | 21.5% | n/a |
| 21 | Paret-Peintre Valentin | 1.1% | 3.0% | 0.8% | 5.4% | 22.9% | n/a |
| 22 | Tuckwell Luke | 1.1% | 0.4% | 1.4% | 2.4% | 11.6% | n/a |
| 23 | Vermaerke Kevin | 1.0% | 0.7% | 1.2% | 3.3% | 20.7% | n/a |
| 24 | Rodriguez Cristian | 0.9% | 0.3% | 1.2% | 3.0% | 51.7% | n/a |
| 25 | Rodriguez Carlos | 0.9% | 0.8% | 1.1% | 2.4% | 13.3% | n/a |
| 26 | Zana Filippo | 0.9% | 0.8% | 1.0% | 2.8% | 16.7% | n/a |
| 27 | Svestad-Bårdseng Embret | 0.8% | 0.5% | 1.0% | 1.9% | 12.8% | n/a |
| 28 | Berrade Urko | 0.8% | 1.7% | 0.6% | 3.5% | 16.2% | n/a |
| 29 | Leknessund Andreas | 0.7% | 0.5% | 0.9% | 3.5% | 15.3% | n/a |
| 30 | Martin Guillaume | 0.6% | 0.3% | 0.8% | 1.6% | 19.4% | n/a |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Bisiaux Léo | 3.6% | 3.7% | 4.6% | 11.4% | 48.2% | n/a |
| 2 | Johannessen Tobias Halland | 3.5% | 3.7% | 4.4% | 12.4% | 42.9% | n/a |
| 3 | Buitrago Santiago | 2.8% | 1.9% | 3.8% | 6.6% | 27.5% | n/a |
| 4 | Riccitello Matthew | 2.3% | 2.4% | 2.9% | 6.7% | 40.9% | n/a |
| 5 | Widar Jarno | 1.8% | 2.1% | 2.2% | 6.9% | 37.8% | n/a |
| 6 | Nordhagen Jørgen | 1.6% | 4.1% | 1.4% | 9.3% | 25.3% | n/a |
| 7 | van Aert Wout | 1.6% | 3.3% | 1.5% | 8.0% | 13.9% | n/a |
| 8 | Paret-Peintre Valentin | 1.5% | 2.6% | 1.7% | 8.0% | 30.8% | n/a |
| 9 | Debruyne Ramses | 1.5% | 4.8% | 1.1% | 11.8% | 39.8% | n/a |
| 10 | Almeida Joao | 1.5% | 2.0% | 1.8% | 8.9% | 17.6% | n/a |
| 11 | Tuckwell Luke | 1.3% | 0.5% | 1.9% | 3.1% | 9.8% | n/a |
| 12 | Kuss Sepp | 1.3% | 1.1% | 1.7% | 5.1% | 25.0% | n/a |
| 13 | Romeo Ivan | 1.2% | 1.6% | 1.4% | 2.2% | 5.9% | n/a |
| 14 | Zana Filippo | 1.1% | 0.4% | 1.6% | 1.5% | 20.1% | n/a |
| 15 | Brenner Marco | 1.1% | 2.0% | 1.2% | 6.7% | 17.7% | n/a |
| 16 | Vermaerke Kevin | 0.9% | 0.5% | 1.3% | 2.4% | 18.4% | n/a |
| 17 | Sosa Ivan | 0.9% | 0.6% | 1.2% | 1.8% | 8.2% | n/a |
| 18 | Svestad-Bårdseng Embret | 0.9% | 0.6% | 1.1% | 1.9% | 14.6% | n/a |
| 19 | Martin Guillaume | 0.8% | 0.3% | 1.1% | 1.5% | 24.1% | n/a |
| 20 | Rodriguez Carlos | 0.8% | 1.1% | 0.9% | 2.6% | 12.1% | n/a |
| 21 | Leknessund Andreas | 0.8% | 0.4% | 1.0% | 2.4% | 9.8% | n/a |
| 22 | Fortunato Lorenzo | 0.7% | 0.4% | 1.0% | 2.1% | 17.3% | n/a |
| 23 | Berrade Urko | 0.7% | 0.8% | 0.9% | 2.0% | 11.9% | n/a |
| 24 | Vansevenant Mauri | 0.7% | 0.4% | 0.9% | 1.1% | 6.6% | n/a |
| 25 | Pickering Finlay | 0.7% | 0.4% | 0.9% | 1.4% | 13.8% | n/a |
| 26 | Castrillo Pablo | 0.6% | 0.5% | 0.9% | 1.1% | 6.4% | n/a |
| 27 | Dunbar Edward | 0.6% | 0.5% | 0.8% | 1.3% | 14.1% | n/a |
| 28 | García Raúl | 0.6% | 0.5% | 0.8% | 2.0% | 9.7% | n/a |
| 29 | Fisher-Black Finn | 0.6% | 0.3% | 0.8% | 1.5% | 6.3% | n/a |
| 30 | Kron Andreas | 0.5% | 0.3% | 0.7% | 0.8% | 5.8% | n/a |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Gall Felix | 11.8% | 10.9% | 12.8% | 29.1% | 81.2% | n/a |
| 2 | Onley Oscar | 7.5% | 5.2% | 8.6% | 16.8% | 74.6% | n/a |
| 3 | Mas Enric | 7.4% | 6.3% | 8.2% | 26.7% | 80.7% | n/a |
| 4 | Roglic Primoz | 4.8% | 4.3% | 5.2% | 20.6% | 69.3% | n/a |
| 5 | Johannessen Tobias Halland | 4.4% | 3.8% | 4.8% | 14.0% | 45.0% | n/a |
| 6 | Carapaz Richard | 4.1% | 3.4% | 4.5% | 13.4% | 77.6% | n/a |
| 7 | Bisiaux Léo | 3.9% | 3.9% | 4.2% | 10.1% | 36.8% | n/a |
| 8 | Riccitello Matthew | 2.9% | 2.8% | 3.2% | 8.1% | 46.9% | n/a |
| 9 | Buitrago Santiago | 2.8% | 3.3% | 2.9% | 8.5% | 30.0% | n/a |
| 10 | Kuss Sepp | 2.5% | 4.2% | 2.3% | 9.8% | 53.5% | n/a |
| 11 | Tejada Harold | 2.5% | 4.3% | 2.2% | 10.6% | 58.5% | n/a |
| 12 | Widar Jarno | 2.2% | 3.0% | 2.1% | 9.8% | 41.4% | n/a |
| 13 | Almeida Joao | 2.1% | 3.4% | 1.9% | 10.7% | 21.2% | n/a |
| 14 | Omrzel Jakob | 2.0% | 2.3% | 2.1% | 8.2% | 69.8% | n/a |
| 15 | Skjelmose Mattias | 2.0% | 1.2% | 2.4% | 6.5% | 58.9% | n/a |
| 16 | Berthet Clément | 1.8% | 0.6% | 2.3% | 5.0% | 62.0% | n/a |
| 17 | Paret-Peintre Valentin | 1.5% | 2.4% | 1.3% | 7.4% | 24.2% | n/a |
| 18 | Tuckwell Luke | 1.5% | 0.9% | 1.7% | 3.2% | 11.4% | n/a |
| 19 | Nordhagen Jørgen | 1.5% | 3.1% | 1.1% | 7.4% | 24.0% | n/a |
| 20 | Romeo Ivan | 1.3% | 1.8% | 1.3% | 2.5% | 6.7% | n/a |
| 21 | Debruyne Ramses | 1.3% | 4.3% | 0.6% | 9.7% | 31.1% | n/a |
| 22 | Rodriguez Cristian | 1.3% | 0.5% | 1.6% | 4.0% | 55.6% | n/a |
| 23 | van Aert Wout | 1.2% | 2.6% | 1.0% | 6.8% | 11.8% | n/a |
| 24 | Vermaerke Kevin | 1.1% | 0.7% | 1.3% | 2.4% | 15.2% | n/a |
| 25 | Zana Filippo | 1.1% | 0.6% | 1.2% | 1.7% | 20.2% | n/a |
| 26 | Svestad-Bårdseng Embret | 0.9% | 0.4% | 1.1% | 1.7% | 15.3% | n/a |
| 27 | Berrade Urko | 0.8% | 1.4% | 0.7% | 2.7% | 13.3% | n/a |
| 28 | Sosa Ivan | 0.8% | 0.5% | 1.0% | 1.7% | 8.1% | n/a |
| 29 | Rodriguez Carlos | 0.8% | 0.6% | 0.9% | 2.2% | 12.2% | n/a |
| 30 | Martin Guillaume | 0.7% | 0.2% | 0.9% | 1.4% | 28.0% | n/a |
After the stage
| Pos | Rider | Team | GC showdown win p | Mountain break win p | Summit shatters win p |
|---|---|---|---|---|---|
| 1 | Dunbar Edward | Pinarello-Q36.5 Pro Cycling Team | 0.6% | 0.6% | 0.6% |
| 2 | Buitrago Santiago | Bahrain Victorious | 2.6% | 2.8% | 2.8% |
| 3 | Gloag Thomas | Pinarello-Q36.5 Pro Cycling Team | 0.1% | 0.1% | 0.1% |
| 4 | Berrade Urko | Equipo Kern Pharma | 0.8% | 0.7% | 0.8% |
| 5 | Camprubí Marcel | Pinarello-Q36.5 Pro Cycling Team | 0.1% | 0.1% | 0.0% |
| 6 | Leknessund Andreas | Uno-X Mobility | 0.7% | 0.8% | 0.7% |
| 7 | Martin-Guyonnet Guillaume | Groupama-FDJ United | – | – | – |
| 8 | Hamilton Chris | Team Picnic PostNL | 0.0% | 0.0% | 0.0% |
| 9 | Vermaerke Kevin | UAE Team Emirates-XRG | 1.0% | 0.9% | 1.1% |
| 10 | Samitier Sergio | Cofidis | 0.0% | 0.1% | 0.0% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| GC showdown | 0.55% | – |
| Mountain break | 0.60% | – |
| Summit shatters | 0.56% | – |
Reflection
The escape branch was right about the day and the oracle still graded it a miss. Eddie Dunbar won alone in 5:00:54 from a move the classification never tried to hold, with Santiago Buitrago at fourteen seconds and his own teammate Thomas Gloag at twenty-three. Dunbar started the day 35th overall. The front five had a general-classification median of 35th, so nothing about this finish belonged to the men racing for red.
The grade inside the family is the interesting part. The label came back res_4, the hard-puncheur neighbour, rather than res_2. Realised top-15 composition was mountain .40, rolling .267, breakaway .20 — a front of climber-rouleurs rather than pure climbers, which is exactly the signature that separates the two items. That is the second time in five settled stages that a break-won mountain finish at this Vuelta has landed on res_4 rather than res_2, after stage 15.
Nothing moved at the top of the race. Mas, Roglic, Gall, Carapaz and Onley all came in together, holding 1:37, 3:01, 5:17 and 6:03, so the whole classification question rolled into the queen stage unchanged. Mattias Skjelmose was the only man inside the top ten to lose ground, dropping from eighth to below Cristian Rodriguez.
The watch item is the cost of the missed cycle itself, not the read. Two consecutive stages went unkeyed and unpriced, and stage 19 then contaminated the tier-3 card by letting a scenario-level key stand in for a morning read. The guard that stops that exists and works; it only fires when the config is marked post_hoc, which a backfilled config has to be from the moment it is written, not after someone notices.