The same production stack priced under 2 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 Specialist ITT 90%, GC engine 88% — 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 | Specialist ITT | GC engine | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|
| Roglic Primoz | Red Bull-BORA-hansgrohe | 19.5% | 18.3% | 13.00 | 5.6% | +13.9pp |
| van Aert Wout | Team Visma | Lease a Bike | 10.9% | 10.5% | 2.50 | 29.3% | -18.3pp |
| Romeo Ivan | Movistar Team | 8.0% | 7.4% | 19.00 | 3.8% | +4.2pp |
| Almeida Joao | UAE Team Emirates-XRG | 6.3% | 6.5% | 34.00 | 2.2% | +4.3pp |
| Fisher-Black Finn | Red Bull-BORA-hansgrohe | 4.6% | 4.6% | 101.00 | 0.7% | +3.9pp |
| Küng Stefan | Tudor Pro Cycling Team | 4.5% | 4.3% | 4.50 | 16.3% | -11.8pp |
| Chamberlain Oscar | Decathlon CMA CGM Team | 3.3% | 4.0% | 101.00 | 0.7% | +3.3pp |
| Skjelmose Mattias | Lidl-Trek | 3.4% | 3.1% | 26.00 | 2.8% | +0.6pp |
| Thornley Callum | Red Bull-BORA-hansgrohe | 3.2% | 3.2% | 34.00 | 2.2% | +1.0pp |
| Hayter Ethan | Soudal Quick-Step | 2.3% | 2.8% | 3.50 | 20.9% | -18.1pp |
| Armirail Bruno | Team Visma | Lease a Bike | 2.4% | 2.4% | 8.00 | 9.1% | -6.7pp |
| Onley Oscar | Netcompany INEOS | 1.7% | 1.6% | 1501.00 | 0.0% | +1.7pp |
| Mas Enric | Movistar Team | 1.5% | 1.3% | 501.00 | 0.1% | +1.4pp |
| Brenner Marco | Tudor Pro Cycling Team | 1.4% | 1.3% | 301.00 | 0.2% | +1.2pp |
| Gall Felix | Decathlon CMA CGM Team | 1.3% | 1.3% | 2001.00 | 0.0% | +1.3pp |
| Oliveira Ivo | UAE Team Emirates-XRG | 1.3% | 1.1% | 151.00 | 0.5% | +0.8pp |
| Castrillo Pablo | Movistar Team | 1.2% | 1.2% | 67.00 | 1.1% | +0.1pp |
| Nordhagen Jørgen | Team Visma | Lease a Bike | 1.1% | 0.9% | 2001.00 | 0.0% | +1.1pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Roglic Primoz | 19.5% | 17.5% | 22.2% | 46.2% | 83.4% | 13.00 |
| 2 | van Aert Wout | 10.9% | 8.7% | 12.6% | 23.5% | 57.1% | 2.50 |
| 3 | Romeo Ivan | 8.0% | 14.1% | 7.4% | 26.9% | 60.1% | 19.00 |
| 4 | Almeida Joao | 6.3% | 2.9% | 7.8% | 12.8% | 45.7% | 34.00 |
| 5 | Fisher-Black Finn | 4.6% | 5.6% | 4.9% | 19.1% | 54.6% | 101.00 |
| 6 | Küng Stefan | 4.5% | 3.0% | 5.3% | 10.6% | 58.1% | 4.50 |
| 7 | Skjelmose Mattias | 3.4% | 2.5% | 4.0% | 11.3% | 70.1% | 26.00 |
| 8 | Chamberlain Oscar | 3.3% | 3.6% | 3.6% | 9.4% | 48.9% | 101.00 |
| 9 | Thornley Callum | 3.2% | 3.3% | 3.5% | 13.6% | 49.3% | 34.00 |
| 10 | Armirail Bruno | 2.4% | 3.0% | 2.6% | 12.5% | 55.2% | 8.00 |
| 11 | Hayter Ethan | 2.3% | 1.8% | 2.7% | 6.4% | 28.8% | 3.50 |
| 12 | Onley Oscar | 1.7% | 1.3% | 2.0% | 5.4% | 48.3% | 1501.00 |
| 13 | Mas Enric | 1.5% | 2.1% | 1.5% | 11.0% | 55.3% | 501.00 |
| 14 | Brenner Marco | 1.4% | 1.0% | 1.6% | 5.4% | 25.1% | 301.00 |
| 15 | Gall Felix | 1.3% | 1.8% | 1.3% | 7.7% | 49.2% | 2001.00 |
| 16 | Oliveira Ivo | 1.3% | 0.7% | 1.6% | 5.4% | 34.1% | 151.00 |
| 17 | Castrillo Pablo | 1.2% | 0.8% | 1.5% | 1.8% | 18.4% | 67.00 |
| 18 | Nordhagen Jørgen | 1.1% | 1.6% | 1.1% | 6.1% | 32.0% | 2001.00 |
| 19 | Bisiaux Léo | 0.9% | 0.8% | 1.0% | 3.8% | 27.7% | 801.00 |
| 20 | Rodriguez Carlos | 0.9% | 0.6% | 1.0% | 2.1% | 13.8% | n/a |
| 21 | Brennan Matthew | 0.9% | 2.4% | 0.6% | 4.5% | 12.1% | 401.00 |
| 22 | Buitrago Santiago | 0.7% | 2.1% | 0.5% | 3.6% | 16.2% | n/a |
| 23 | Riccitello Matthew | 0.7% | 0.6% | 0.8% | 1.8% | 22.8% | n/a |
| 24 | Leknessund Andreas | 0.6% | 0.5% | 0.6% | 2.8% | 14.8% | 151.00 |
| 25 | Tuckwell Luke | 0.5% | 0.3% | 0.6% | 2.4% | 13.8% | 2001.00 |
| 26 | García Raúl | 0.4% | 0.3% | 0.5% | 2.9% | 21.4% | 401.00 |
| 27 | Barta William | 0.4% | 0.2% | 0.5% | 2.9% | 21.6% | n/a |
| 28 | Tejada Harold | 0.4% | 0.6% | 0.4% | 1.8% | 20.9% | 801.00 |
| 29 | De Pestel Sander | 0.4% | 0.3% | 0.4% | 2.3% | 20.3% | 301.00 |
| 30 | De Schuyteneer Steffen | 0.3% | 0.5% | 0.4% | 2.2% | 11.3% | n/a |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Roglic Primoz | 18.3% | 17.1% | 21.1% | 44.4% | 82.4% | 13.00 |
| 2 | van Aert Wout | 10.5% | 8.5% | 12.5% | 23.7% | 58.7% | 2.50 |
| 3 | Romeo Ivan | 7.4% | 11.0% | 7.6% | 24.1% | 61.6% | 19.00 |
| 4 | Almeida Joao | 6.5% | 3.2% | 8.2% | 12.6% | 45.0% | 34.00 |
| 5 | Fisher-Black Finn | 4.6% | 5.6% | 5.0% | 19.6% | 56.1% | 101.00 |
| 6 | Küng Stefan | 4.3% | 2.8% | 5.3% | 10.3% | 58.8% | 4.50 |
| 7 | Chamberlain Oscar | 4.0% | 4.9% | 4.4% | 12.2% | 58.0% | 101.00 |
| 8 | Thornley Callum | 3.2% | 3.3% | 3.6% | 12.3% | 51.0% | 34.00 |
| 9 | Skjelmose Mattias | 3.1% | 2.1% | 3.8% | 9.1% | 63.1% | 26.00 |
| 10 | Hayter Ethan | 2.8% | 2.5% | 3.3% | 7.4% | 31.7% | 3.50 |
| 11 | Armirail Bruno | 2.4% | 3.0% | 2.5% | 11.5% | 57.0% | 8.00 |
| 12 | Onley Oscar | 1.6% | 1.3% | 1.9% | 5.5% | 46.9% | 1501.00 |
| 13 | Mas Enric | 1.3% | 2.1% | 1.3% | 9.9% | 54.5% | 501.00 |
| 14 | Brenner Marco | 1.3% | 1.6% | 1.5% | 5.5% | 31.5% | 301.00 |
| 15 | Gall Felix | 1.3% | 1.8% | 1.4% | 7.8% | 48.3% | 2001.00 |
| 16 | Castrillo Pablo | 1.2% | 0.7% | 1.5% | 1.8% | 16.5% | 67.00 |
| 17 | Oliveira Ivo | 1.1% | 0.6% | 1.4% | 5.3% | 35.9% | 151.00 |
| 18 | Rodriguez Carlos | 0.9% | 0.6% | 1.2% | 2.6% | 13.1% | n/a |
| 19 | Bisiaux Léo | 0.9% | 0.7% | 1.1% | 3.1% | 28.2% | 801.00 |
| 20 | Nordhagen Jørgen | 0.9% | 0.8% | 1.0% | 4.9% | 22.6% | 2001.00 |
| 21 | Brennan Matthew | 0.8% | 2.2% | 0.5% | 4.4% | 12.2% | 401.00 |
| 22 | Buitrago Santiago | 0.7% | 2.0% | 0.5% | 3.7% | 16.5% | n/a |
| 23 | Riccitello Matthew | 0.6% | 0.6% | 0.7% | 1.8% | 22.3% | n/a |
| 24 | Leknessund Andreas | 0.5% | 0.5% | 0.6% | 3.0% | 15.6% | 151.00 |
| 25 | Tuckwell Luke | 0.5% | 0.2% | 0.6% | 2.6% | 14.2% | 2001.00 |
| 26 | Barta William | 0.5% | 0.2% | 0.6% | 3.0% | 22.4% | n/a |
| 27 | García Raúl | 0.4% | 0.5% | 0.5% | 3.2% | 21.8% | 401.00 |
| 28 | De Schuyteneer Steffen | 0.4% | 0.5% | 0.4% | 2.1% | 10.6% | n/a |
| 29 | Tejada Harold | 0.4% | 0.5% | 0.4% | 1.6% | 20.3% | 801.00 |
| 30 | De Pestel Sander | 0.4% | 0.3% | 0.4% | 2.4% | 20.8% | 301.00 |
After the stage
| Pos | Rider | Team | Specialist ITT win p | GC engine win p |
|---|---|---|---|---|
| 1 | Küng Stefan | Tudor Pro Cycling Team | 4.5% | 4.3% |
| 2 | Thornley Callum | Red Bull-BORA-hansgrohe | 3.2% | 3.2% |
| 3 | Almeida João | UAE Team Emirates-XRG | – | – |
| 4 | Roglic Primoz | Red Bull-BORA-hansgrohe | 19.5% | 18.3% |
| 5 | van Aert Wout | Team Visma | Lease a Bike | 10.9% | 10.5% |
| 6 | Fisher-Black Finn | Red Bull-BORA-hansgrohe | 4.6% | 4.6% |
| 7 | Armirail Bruno | Team Visma | Lease a Bike | 2.4% | 2.4% |
| 8 | Oliveira Ivo | UAE Team Emirates-XRG | 1.3% | 1.1% |
| 9 | Hayter Ethan | Soudal Quick-Step | 2.3% | 2.8% |
| 10 | Azparren Xabier | Pinarello-Q36.5 Pro Cycling Team | – | – |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Specialist ITT | 4.48% | 16.25% |
| GC engine | 4.34% | 16.25% |
Reflection
The road picked the specialist branch, and picked it cleanly. Stefan Kung won in 35:22, three seconds ahead of Callum Thornley, with Joao Almeida third at nine seconds. Wout van Aert, the devigged favourite at 29.3%, was fifth at twenty seconds. The book had read the day correctly as a time trial engines' day: van Aert, Hayter, Kung and Armirail held 0.756 of the market between them and the winner came from inside that group.
The classification moved, but less than the terrain threatened. Primoz Roglic was the best of the general classification men, fourth at nineteen seconds, and took thirty-three seconds out of Enric Mas to cut the lead from 2:10 to 1:37. Felix Gall lost enough to drop from second to third. That is the whole of the day's effect on the race: a tighter top two going into the queen stage, and a podium order settled one place lower down.
The read that was never logged is the one worth recording. The shadow agent keyed the day {itt: 1.0} at confidence 0.97 on the evening before, routing the macro mechanically off the road book rather than off the market, and the oracle returned itt. That is the second time this race that a time trial has been keyed at full weight and come back exact. The cost of the missed cycle is not a bad read; it is the absence of a priced board to compare against a book that, on this evidence, had the day right.