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 84%, Reduced sprint 96%, Hills stick 116%, Hindsight (post-hoc) 104% — 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 | Hills stick | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|---|
| Brennan Matthew | Team Visma | Lease a Bike | 51.6% | 55.6% | 40.0% | 50.4% | 2.75 | 24.7% | +30.9pp |
| van Aert Wout | Team Visma | Lease a Bike | 5.6% | 7.7% | 14.5% | 10.4% | 4.00 | 17.0% | -2.5pp |
| Pedersen Mads | Lidl-Trek | 2.7% | 4.5% | 11.4% | 7.1% | 7.00 | 9.7% | +1.7pp |
| Laporte Christophe | Team Visma | Lease a Bike | 1.6% | 2.6% | 8.4% | 4.9% | 34.00 | 2.0% | +6.4pp |
| Meeus Jordi | Red Bull-BORA-hansgrohe | 8.2% | 7.6% | 2.4% | 5.6% | 19.00 | 3.6% | +4.6pp |
| Turner Ben | Netcompany INEOS | 1.3% | 2.2% | 4.5% | 3.0% | 34.00 | 2.0% | +2.5pp |
| Laurance Axel | Netcompany INEOS | 1.0% | 1.8% | 3.9% | 2.6% | 23.00 | 3.0% | +0.9pp |
| De Schuyteneer Steffen | Lotto-Intermarché | 3.0% | 1.9% | 0.9% | 0.9% | 401.00 | 0.2% | +2.8pp |
| Fisher-Black Finn | Red Bull-BORA-hansgrohe | 0.0% | 0.2% | 2.6% | 1.3% | 67.00 | 1.0% | +1.6pp |
| Dainese Alberto | Soudal Quick-Step | 1.5% | 1.4% | 0.3% | 0.5% | 301.00 | 0.2% | +1.3pp |
| Canal Carlos | Movistar Team | 0.3% | 0.4% | 1.5% | 0.9% | 401.00 | 0.2% | +1.3pp |
| Onley Oscar | Netcompany INEOS | 0.0% | 0.1% | 1.2% | 0.6% | 301.00 | 0.2% | +1.0pp |
| Hofstetter Hugo | NSN Cycling Team | 0.8% | 1.1% | 0.6% | 0.9% | 67.00 | 1.0% | +0.1pp |
| Tulett Ben | Team Visma | Lease a Bike | 0.1% | 0.2% | 1.1% | 0.5% | 201.00 | 0.3% | +0.8pp |
| Aular Orluis | Movistar Team | 0.4% | 0.5% | 1.0% | 0.5% | 81.00 | 0.8% | +0.2pp |
| Miquel Delgado Pau | Bahrain Victorious | 0.5% | 0.6% | 0.9% | 0.6% | 26.00 | 2.6% | -1.8pp |
| Coquard Bryan | Cofidis | 0.6% | 0.7% | 0.5% | 0.3% | 26.00 | 2.6% | -1.9pp |
| Romele Alessandro | XDS Astana Team | 0.0% | 0.0% | 0.1% | 0.0% | 26.00 | 2.6% | -2.6pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 51.6% | 42.5% | 63.3% | 65.2% | 87.5% | 2.75 |
| 2 | Meeus Jordi | 8.2% | 10.9% | 9.1% | 36.6% | 78.2% | 19.00 |
| 3 | van Aert Wout | 5.6% | 5.1% | 6.7% | 20.8% | 58.8% | 4.00 |
| 4 | De Schuyteneer Steffen | 3.0% | 1.9% | 3.8% | 9.6% | 65.5% | 401.00 |
| 5 | Pedersen Mads | 2.7% | 3.4% | 3.0% | 14.1% | 64.0% | 7.00 |
| 6 | Laporte Christophe | 1.6% | 3.4% | 1.5% | 12.3% | 54.6% | 34.00 |
| 7 | Dainese Alberto | 1.5% | 1.6% | 1.8% | 9.2% | 56.8% | 301.00 |
| 8 | Turner Ben | 1.3% | 1.9% | 1.5% | 10.2% | 53.1% | 34.00 |
| 9 | Laurance Axel | 1.0% | 1.3% | 1.1% | 8.1% | 55.1% | 23.00 |
| 10 | Macias Cesar | 0.8% | 1.0% | 1.0% | 6.4% | 58.8% | 501.00 |
| 11 | Hofstetter Hugo | 0.8% | 1.0% | 0.9% | 6.9% | 78.7% | 67.00 |
| 12 | Brustenga Marc | 0.7% | 0.9% | 0.8% | 6.0% | 56.8% | 401.00 |
| 13 | Coquard Bryan | 0.6% | 0.6% | 0.7% | 5.6% | 84.8% | 26.00 |
| 14 | Govekar Matevz | 0.5% | 0.9% | 0.5% | 6.0% | 52.5% | 301.00 |
| 15 | Miquel Delgado Pau | 0.5% | 0.7% | 0.5% | 5.1% | 59.1% | 26.00 |
| 16 | Aular Orluis | 0.4% | 0.3% | 0.5% | 2.5% | 52.5% | 81.00 |
| 17 | González David | 0.4% | 0.7% | 0.3% | 4.4% | 45.5% | 251.00 |
| 18 | Renard Alexis | 0.3% | 0.7% | 0.2% | 4.2% | 49.9% | 401.00 |
| 19 | Canal Carlos | 0.3% | 0.4% | 0.3% | 1.8% | 21.8% | 401.00 |
| 20 | Oliveira Ivo | 0.3% | 0.3% | 0.3% | 3.4% | 21.4% | 51.00 |
| 21 | Braet Vito | 0.2% | 0.4% | 0.2% | 4.5% | 57.2% | 151.00 |
| 22 | Tronchon Bastien | 0.2% | 0.8% | 0.1% | 2.0% | 17.8% | 101.00 |
| 23 | Sentjens Sente | 0.1% | 0.1% | 0.2% | 1.5% | 25.1% | 251.00 |
| 24 | Cort Magnus | 0.1% | 0.3% | 0.1% | 0.8% | 10.6% | 51.00 |
| 25 | Camprubí Marcel | 0.1% | 0.2% | 0.1% | 1.3% | 10.7% | 151.00 |
| 26 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 0.9% | 11.0% | 401.00 |
| 27 | Albanese Vincenzo | 0.1% | 0.1% | 0.1% | 1.1% | 27.5% | 67.00 |
| 28 | Hayter Ethan | 0.1% | 0.2% | 0.1% | 1.7% | 15.6% | 301.00 |
| 29 | Brenner Marco | 0.1% | 0.1% | 0.1% | 1.2% | 7.5% | 201.00 |
| 30 | Nys Thibau | 0.1% | 0.1% | 0.1% | 1.2% | 15.9% | 51.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 55.6% | 45.4% | 60.2% | 64.2% | 83.8% | 2.75 |
| 2 | van Aert Wout | 7.7% | 5.8% | 8.5% | 22.8% | 54.9% | 4.00 |
| 3 | Meeus Jordi | 7.6% | 10.8% | 7.1% | 35.0% | 77.7% | 19.00 |
| 4 | Pedersen Mads | 4.5% | 6.9% | 4.1% | 19.4% | 64.8% | 7.00 |
| 5 | Laporte Christophe | 2.6% | 4.0% | 2.3% | 12.5% | 51.5% | 34.00 |
| 6 | Turner Ben | 2.2% | 2.6% | 2.1% | 12.1% | 51.4% | 34.00 |
| 7 | De Schuyteneer Steffen | 1.9% | 1.9% | 2.0% | 7.9% | 49.0% | 401.00 |
| 8 | Laurance Axel | 1.8% | 2.5% | 1.6% | 11.1% | 58.6% | 23.00 |
| 9 | Dainese Alberto | 1.4% | 1.3% | 1.5% | 8.1% | 49.2% | 301.00 |
| 10 | Hofstetter Hugo | 1.1% | 1.5% | 1.1% | 8.4% | 69.5% | 67.00 |
| 11 | Govekar Matevz | 0.8% | 1.2% | 0.8% | 7.4% | 51.6% | 301.00 |
| 12 | Coquard Bryan | 0.7% | 0.8% | 0.8% | 5.3% | 54.6% | 26.00 |
| 13 | Miquel Delgado Pau | 0.6% | 1.0% | 0.6% | 7.4% | 55.0% | 26.00 |
| 14 | González David | 0.6% | 1.0% | 0.5% | 4.8% | 39.2% | 251.00 |
| 15 | Renard Alexis | 0.5% | 1.0% | 0.4% | 4.3% | 49.5% | 401.00 |
| 16 | Aular Orluis | 0.5% | 0.2% | 0.6% | 3.4% | 55.0% | 81.00 |
| 17 | Canal Carlos | 0.4% | 0.5% | 0.5% | 2.6% | 27.8% | 401.00 |
| 18 | Macias Cesar | 0.3% | 0.2% | 0.4% | 3.8% | 40.7% | 501.00 |
| 19 | Oliveira Ivo | 0.3% | 0.4% | 0.3% | 5.1% | 21.3% | 51.00 |
| 20 | Braet Vito | 0.3% | 0.6% | 0.2% | 5.0% | 58.0% | 151.00 |
| 21 | Brustenga Marc | 0.2% | 0.2% | 0.3% | 2.2% | 49.0% | 401.00 |
| 22 | Fisher-Black Finn | 0.2% | 0.4% | 0.2% | 3.5% | 14.1% | 67.00 |
| 23 | Tulett Ben | 0.2% | 0.6% | 0.1% | 2.6% | 13.2% | 201.00 |
| 24 | Mulubrhan Henok | 0.2% | 0.2% | 0.2% | 1.1% | 14.4% | 151.00 |
| 25 | Cort Magnus | 0.2% | 0.5% | 0.1% | 0.9% | 9.5% | 51.00 |
| 26 | Brenner Marco | 0.2% | 0.2% | 0.2% | 1.0% | 13.4% | 201.00 |
| 27 | Garofoli Gianmarco | 0.2% | 0.1% | 0.2% | 1.2% | 19.4% | 401.00 |
| 28 | Tronchon Bastien | 0.1% | 0.3% | 0.1% | 1.7% | 18.6% | 101.00 |
| 29 | Hayter Ethan | 0.1% | 0.3% | 0.1% | 3.4% | 16.6% | 301.00 |
| 30 | Sentjens Sente | 0.1% | 0.1% | 0.1% | 1.4% | 28.1% | 251.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 40.0% | 39.9% | 34.5% | 55.5% | 68.6% | 2.75 |
| 2 | van Aert Wout | 14.5% | 10.1% | 13.5% | 32.1% | 54.0% | 4.00 |
| 3 | Pedersen Mads | 11.4% | 14.5% | 9.1% | 28.9% | 53.1% | 7.00 |
| 4 | Laporte Christophe | 8.4% | 10.3% | 6.8% | 25.8% | 55.2% | 34.00 |
| 5 | Turner Ben | 4.5% | 4.3% | 3.9% | 15.8% | 36.3% | 34.00 |
| 6 | Laurance Axel | 3.9% | 4.5% | 3.2% | 17.7% | 55.1% | 23.00 |
| 7 | Fisher-Black Finn | 2.6% | 3.3% | 2.1% | 10.3% | 31.6% | 67.00 |
| 8 | Meeus Jordi | 2.4% | 3.7% | 1.8% | 15.6% | 34.9% | 19.00 |
| 9 | Canal Carlos | 1.5% | 1.0% | 1.4% | 4.9% | 27.7% | 401.00 |
| 10 | Onley Oscar | 1.2% | 0.3% | 1.3% | 1.7% | 24.4% | 301.00 |
| 11 | Tulett Ben | 1.1% | 1.3% | 0.9% | 7.0% | 23.7% | 201.00 |
| 12 | Aular Orluis | 1.0% | 1.5% | 0.7% | 6.4% | 29.8% | 81.00 |
| 13 | Johannessen Tobias Halland | 1.0% | 0.9% | 0.9% | 3.0% | 18.3% | 101.00 |
| 14 | De Schuyteneer Steffen | 0.9% | 1.3% | 0.7% | 4.9% | 19.8% | 401.00 |
| 15 | Renard Alexis | 0.9% | 1.1% | 0.7% | 3.8% | 22.1% | 401.00 |
| 16 | Miquel Delgado Pau | 0.9% | 1.3% | 0.6% | 7.7% | 36.5% | 26.00 |
| 17 | Skjelmose Mattias | 0.8% | 0.6% | 0.8% | 1.3% | 19.0% | 801.00 |
| 18 | Garofoli Gianmarco | 0.8% | 1.1% | 0.6% | 4.1% | 31.2% | 401.00 |
| 19 | Cobo Ivan | 0.7% | 0.5% | 0.7% | 2.7% | 27.5% | 601.00 |
| 20 | Roglic Primoz | 0.7% | 0.6% | 0.6% | 1.3% | 13.6% | 501.00 |
| 21 | Debruyne Ramses | 0.7% | 0.8% | 0.5% | 3.2% | 33.4% | 301.00 |
| 22 | Brenner Marco | 0.6% | 0.7% | 0.5% | 2.0% | 21.1% | 201.00 |
| 23 | Hofstetter Hugo | 0.6% | 1.1% | 0.4% | 5.4% | 34.0% | 67.00 |
| 24 | Berthet Clément | 0.6% | 0.2% | 0.6% | 1.5% | 15.8% | n/a |
| 25 | Carapaz Richard | 0.6% | 0.2% | 0.6% | 1.2% | 15.7% | 401.00 |
| 26 | Albanese Vincenzo | 0.5% | 1.1% | 0.3% | 6.9% | 35.6% | 67.00 |
| 27 | Kron Andreas | 0.5% | 0.1% | 0.5% | 1.3% | 12.0% | 34.00 |
| 28 | Mulubrhan Henok | 0.5% | 0.4% | 0.4% | 1.6% | 20.2% | 151.00 |
| 29 | Coquard Bryan | 0.5% | 0.3% | 0.4% | 3.5% | 29.5% | 26.00 |
| 30 | González David | 0.4% | 0.6% | 0.3% | 4.1% | 20.6% | 251.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 50.4% | 44.8% | 50.0% | 60.1% | 74.9% | 2.75 |
| 2 | van Aert Wout | 10.4% | 6.8% | 10.9% | 22.4% | 50.5% | 4.00 |
| 3 | Pedersen Mads | 7.1% | 8.8% | 6.4% | 23.5% | 59.9% | 7.00 |
| 4 | Meeus Jordi | 5.6% | 9.0% | 4.6% | 27.8% | 53.9% | 19.00 |
| 5 | Laporte Christophe | 4.9% | 6.4% | 4.3% | 19.8% | 53.3% | 34.00 |
| 6 | Turner Ben | 3.0% | 2.9% | 3.0% | 12.0% | 37.1% | 34.00 |
| 7 | Laurance Axel | 2.6% | 2.9% | 2.4% | 11.6% | 56.3% | 23.00 |
| 8 | Fisher-Black Finn | 1.3% | 2.1% | 1.1% | 7.8% | 29.0% | 67.00 |
| 9 | De Schuyteneer Steffen | 0.9% | 1.2% | 0.8% | 5.3% | 29.0% | 401.00 |
| 10 | Canal Carlos | 0.9% | 0.4% | 1.0% | 2.5% | 28.7% | 401.00 |
| 11 | Hofstetter Hugo | 0.9% | 1.6% | 0.7% | 8.2% | 48.7% | 67.00 |
| 12 | Renard Alexis | 0.8% | 1.2% | 0.6% | 4.9% | 33.3% | 401.00 |
| 13 | Miquel Delgado Pau | 0.6% | 1.1% | 0.5% | 6.9% | 44.2% | 26.00 |
| 14 | Onley Oscar | 0.6% | 0.2% | 0.6% | 1.2% | 16.4% | 301.00 |
| 15 | Johannessen Tobias Halland | 0.5% | 0.6% | 0.5% | 1.7% | 11.8% | 101.00 |
| 16 | Govekar Matevz | 0.5% | 0.9% | 0.4% | 4.6% | 26.7% | 301.00 |
| 17 | Tulett Ben | 0.5% | 0.6% | 0.5% | 3.5% | 19.9% | 201.00 |
| 18 | Dainese Alberto | 0.5% | 0.8% | 0.4% | 4.7% | 26.6% | 301.00 |
| 19 | Aular Orluis | 0.5% | 0.3% | 0.5% | 2.8% | 53.0% | 81.00 |
| 20 | Brenner Marco | 0.5% | 0.7% | 0.4% | 1.8% | 17.8% | 201.00 |
| 21 | González David | 0.5% | 0.8% | 0.4% | 4.4% | 29.7% | 251.00 |
| 22 | Cobo Ivan | 0.4% | 0.3% | 0.5% | 1.9% | 32.3% | 601.00 |
| 23 | Skjelmose Mattias | 0.4% | 0.4% | 0.4% | 0.8% | 13.3% | 801.00 |
| 24 | Debruyne Ramses | 0.4% | 0.6% | 0.3% | 2.2% | 25.3% | 301.00 |
| 25 | Albanese Vincenzo | 0.4% | 1.0% | 0.2% | 5.5% | 41.0% | 67.00 |
| 26 | Coquard Bryan | 0.3% | 0.4% | 0.3% | 3.6% | 43.8% | 26.00 |
| 27 | Mulubrhan Henok | 0.3% | 0.2% | 0.3% | 1.1% | 18.4% | 151.00 |
| 28 | Garofoli Gianmarco | 0.3% | 0.1% | 0.4% | 1.4% | 26.9% | 401.00 |
| 29 | Cort Magnus | 0.3% | 1.1% | 0.1% | 4.8% | 28.8% | 51.00 |
| 30 | Carapaz Richard | 0.3% | 0.1% | 0.3% | 0.7% | 11.7% | 401.00 |
After the stage
| Pos | Rider | Team | Bunch sprint win p | Reduced sprint win p | Hills stick win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|---|
| 1 | Tronchon Bastien | Groupama-FDJ United | 0.2% | 0.1% | 0.2% | 0.1% |
| 2 | Cort Magnus | Uno-X Mobility | 0.1% | 0.2% | 0.2% | 0.3% |
| 3 | Nys Thibau | Lidl-Trek | 0.1% | 0.1% | 0.1% | 0.1% |
| 4 | van Aert Wout | Team Visma | Lease a Bike | 5.6% | 7.7% | 14.5% | 10.4% |
| 5 | Romele Alessandro | XDS Astana Team | 0.0% | 0.0% | 0.1% | 0.0% |
| 6 | Azparren Xabier | Pinarello-Q36.5 Pro Cycling Team | 0.0% | 0.0% | 0.0% | 0.0% |
| 7 | Fisher-Black Finn | Red Bull-BORA-hansgrohe | 0.0% | 0.2% | 2.6% | 1.3% |
| 8 | Aular Orluis | Movistar Team | 0.4% | 0.5% | 1.0% | 0.5% |
| 9 | Labrosse Jordan | Decathlon CMA CGM Team | 0.0% | 0.1% | 0.2% | 0.1% |
| 10 | Hofstetter Hugo | NSN Cycling Team | 0.8% | 1.1% | 0.6% | 0.9% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Bunch sprint | 0.19% | 0.67% |
| Reduced sprint | 0.14% | 0.67% |
| Hills stick | 0.15% | 0.67% |
| Hindsight (post-hoc) | 0.13% | 0.67% |
Reflection
Bastien Tronchon won from a 68-rider group — 40% of the field on the same time — with Cort 2nd, Nys 3rd and van Aert 4th, while the three fastest men in the race finished 90th, 111th and 163rd. The day key scored EXACT: keyed bunch at 0.50 against an oracle of `bunch`, with the winner group comfortably over the macro bar. The board was another matter entirely. 'Bunch sprint' had Brennan #1 at 63.3% against a book price of 24.7% and he came 90th; Meeus #2 finished 111th, Pedersen #5 finished 163rd. Only van Aert, #3 at 6.7% against a 17.0% book, was anywhere near right at 4th.
This is the exact mirror image of stage 2, and putting the two side by side is the most useful thing this race has produced about the menu's two axes. At Manosque the composition read was near-exact — realized shares sprint .40 / rolling .27 / hilly .13 / tt .13 against res_7's canonical .37/.21/.16 — and the SHAPE was wrong by four riders over the 20% bar, so the key scored zero while the board went 1-3-4-8 through its top seven. Here the shape was right and the COMPOSITION was wrong: realized shares came back sprint .40, mountain .20, time_trial .27, hilly .07 — a fast-finisher-power signature much closer to res_1 (.24/.21/.17/.17) than to anything a `bunch` key surfaces — so the key scored exact and the board was a disaster. The two axes are genuinely independent, this race has now produced a clean error of each type, and the tier-3 number captures only one of them. A key can be exact and the board still worthless.
The retrieval channel said so at the time, and we did not listen to it. Of the three boards, the one that retrieved best was `hills_stick` — the most selective read, 5 of the actual top 15 against production's 3 — while the base `bunch_sprint` board managed 2/15 against production's 2. The channel's ordering across the three scenarios was a live signal that the front group would not be a sprinters' group, and it pointed the right way before the stage. Running ledger: st2 −1, st4 level, st5 +1, st6 −1, st7 +3, st10 base level / selective +2.
A process failure worth recording plainly. This config was written on the rest day and its own note called the key PROVISIONAL, to be confirmed on Tuesday morning against the road book and a fresh odds capture before standing as the tier-3 archive entry. That confirmation never happened — the odds attached are the rest-day snapshot from 30 August, and no capture was taken on the morning of the stage. The key scored exact anyway, which is luck rather than vindication: the boards were run against two-day-old prices on a day when the market had moved. Any key written before the road book is available must be re-run in the morning, or it should not be treated as the archive entry.
Race context. Pogacar abandoned on stage 8 while leading by 3:34, so the Vuelta now has a real GC: Mas leads, Roglic at 1:18, Gall 1:39, Onley 2:20, Carapaz 3:26. That changes the incentive landscape the chase-incentive test depends on — for the first time this race there are four teams with something to defend and something to gain, which should make transitional stages more controlled and breakaway days harder to come by than they were while one rider had the race in hand.