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%, Aledo thins it 95%, Sprinters ground out 100%, Hindsight (post-hoc) 96% — 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 | Aledo thins it | Sprinters ground out | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|---|
| Brennan Matthew | Team Visma | Lease a Bike | 53.1% | 57.2% | 46.3% | 57.3% | 1.90 | 34.2% | +23.1pp |
| van Aert Wout | Team Visma | Lease a Bike | 5.3% | 7.6% | 11.7% | 7.4% | 9.00 | 7.2% | +4.5pp |
| Meeus Jordi | Red Bull-BORA-hansgrohe | 7.9% | 7.1% | 3.2% | 7.5% | 6.00 | 10.8% | -2.9pp |
| Pedersen Mads | Lidl-Trek | 2.7% | 4.3% | 6.6% | 4.5% | 12.00 | 5.4% | +1.2pp |
| Laporte Christophe | Team Visma | Lease a Bike | 1.6% | 2.6% | 6.1% | 2.3% | 34.00 | 1.9% | +4.2pp |
| De Schuyteneer Steffen | Lotto-Intermarché | 2.8% | 1.9% | 0.8% | 2.4% | 126.00 | 0.5% | +2.3pp |
| Laurance Axel | Netcompany INEOS | 1.0% | 1.7% | 2.7% | 1.5% | 51.00 | 1.3% | +1.5pp |
| Fisher-Black Finn | Red Bull-BORA-hansgrohe | 0.0% | 0.2% | 1.8% | 0.1% | 126.00 | 0.5% | +1.3pp |
| Dainese Alberto | Soudal Quick-Step | 1.5% | 1.4% | 0.3% | 1.8% | 51.00 | 1.3% | +0.5pp |
| Hofstetter Hugo | NSN Cycling Team | 0.8% | 1.1% | 0.7% | 1.1% | 41.00 | 1.6% | -0.5pp |
| Canal Carlos | Movistar Team | 0.3% | 0.4% | 1.0% | 0.4% | 401.00 | 0.2% | +0.9pp |
| Coquard Bryan | Cofidis | 0.6% | 0.7% | 0.4% | 0.9% | 12.00 | 5.4% | -4.5pp |
| Cort Magnus | Uno-X Mobility | 0.5% | 0.3% | 0.4% | 0.3% | 17.00 | 3.8% | -3.3pp |
| Tronchon Bastien | Groupama-FDJ United | 0.1% | 0.1% | 0.1% | 0.1% | 26.00 | 2.5% | -2.4pp |
| Romele Alessandro | XDS Astana Team | 0.0% | 0.0% | 0.0% | 0.0% | 23.00 | 2.8% | -2.8pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 53.1% | 42.4% | 65.7% | 64.9% | 87.2% | 1.90 |
| 2 | Meeus Jordi | 7.9% | 10.3% | 8.8% | 36.0% | 78.4% | 6.00 |
| 3 | van Aert Wout | 5.3% | 4.4% | 6.6% | 19.0% | 57.4% | 9.00 |
| 4 | De Schuyteneer Steffen | 2.8% | 1.9% | 3.5% | 9.6% | 66.3% | 126.00 |
| 5 | Pedersen Mads | 2.7% | 3.7% | 2.9% | 14.2% | 65.0% | 12.00 |
| 6 | Laporte Christophe | 1.6% | 3.5% | 1.4% | 12.6% | 54.0% | 34.00 |
| 7 | Dainese Alberto | 1.5% | 1.6% | 1.7% | 8.9% | 56.7% | 51.00 |
| 8 | Laurance Axel | 1.0% | 1.5% | 1.1% | 8.8% | 55.6% | 51.00 |
| 9 | Macias Cesar | 0.9% | 1.0% | 1.0% | 6.1% | 58.5% | 301.00 |
| 10 | Hofstetter Hugo | 0.8% | 1.0% | 0.8% | 7.1% | 77.7% | 41.00 |
| 11 | Brustenga Marc | 0.7% | 0.8% | 0.8% | 5.3% | 56.2% | 251.00 |
| 12 | Coquard Bryan | 0.6% | 0.8% | 0.7% | 6.4% | 58.1% | 12.00 |
| 13 | Cort Magnus | 0.5% | 2.7% | 0.1% | 3.7% | 22.4% | 17.00 |
| 14 | Govekar Matevz | 0.5% | 0.9% | 0.5% | 6.1% | 51.3% | 151.00 |
| 15 | Miquel Delgado Pau | 0.5% | 0.7% | 0.5% | 5.3% | 56.3% | 67.00 |
| 16 | Aular Orluis | 0.4% | 0.4% | 0.5% | 2.9% | 56.8% | 81.00 |
| 17 | González David | 0.3% | 0.7% | 0.3% | 4.3% | 44.3% | 201.00 |
| 18 | Oliveira Ivo | 0.3% | 0.5% | 0.3% | 4.1% | 21.6% | 126.00 |
| 19 | Renard Alexis | 0.3% | 0.6% | 0.2% | 4.0% | 45.9% | 251.00 |
| 20 | Canal Carlos | 0.3% | 0.4% | 0.3% | 1.8% | 21.7% | 401.00 |
| 21 | Braet Vito | 0.2% | 0.5% | 0.2% | 4.6% | 57.1% | 151.00 |
| 22 | Tronchon Bastien | 0.1% | 0.5% | 0.1% | 1.6% | 15.9% | 26.00 |
| 23 | Nys Thibau | 0.1% | 0.4% | 0.1% | 1.1% | 18.1% | 81.00 |
| 24 | Sentjens Sente | 0.1% | 0.0% | 0.1% | 1.2% | 25.9% | 126.00 |
| 25 | Camprubí Marcel | 0.1% | 0.1% | 0.1% | 1.3% | 11.4% | 151.00 |
| 26 | Hayter Ethan | 0.1% | 0.2% | 0.1% | 2.4% | 16.5% | 251.00 |
| 27 | Albanese Vincenzo | 0.1% | 0.1% | 0.1% | 1.0% | 26.9% | 126.00 |
| 28 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 0.9% | 10.9% | 401.00 |
| 29 | Brenner Marco | 0.1% | 0.1% | 0.1% | 1.3% | 8.0% | 501.00 |
| 30 | Mulubrhan Henok | 0.1% | 0.1% | 0.1% | 0.4% | 8.0% | 201.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 57.2% | 45.2% | 63.2% | 63.5% | 83.2% | 1.90 |
| 2 | van Aert Wout | 7.6% | 5.6% | 8.4% | 22.7% | 54.4% | 9.00 |
| 3 | Meeus Jordi | 7.1% | 9.4% | 6.9% | 33.8% | 77.5% | 6.00 |
| 4 | Pedersen Mads | 4.3% | 7.0% | 3.9% | 19.1% | 65.2% | 12.00 |
| 5 | Laporte Christophe | 2.6% | 4.1% | 2.3% | 13.0% | 51.8% | 34.00 |
| 6 | De Schuyteneer Steffen | 1.9% | 1.8% | 2.0% | 7.6% | 52.4% | 126.00 |
| 7 | Laurance Axel | 1.7% | 2.6% | 1.6% | 11.2% | 56.4% | 51.00 |
| 8 | Dainese Alberto | 1.4% | 1.3% | 1.4% | 7.9% | 48.0% | 51.00 |
| 9 | Hofstetter Hugo | 1.1% | 1.5% | 1.1% | 8.4% | 67.9% | 41.00 |
| 10 | Govekar Matevz | 0.8% | 1.2% | 0.7% | 7.2% | 51.7% | 151.00 |
| 11 | Coquard Bryan | 0.7% | 0.8% | 0.8% | 5.8% | 53.3% | 12.00 |
| 12 | Miquel Delgado Pau | 0.6% | 1.0% | 0.6% | 7.4% | 52.1% | 67.00 |
| 13 | Renard Alexis | 0.5% | 1.1% | 0.4% | 4.3% | 45.0% | 251.00 |
| 14 | Macias Cesar | 0.5% | 1.2% | 0.4% | 6.3% | 40.9% | 301.00 |
| 15 | González David | 0.5% | 1.0% | 0.4% | 4.6% | 37.7% | 201.00 |
| 16 | Aular Orluis | 0.5% | 0.3% | 0.6% | 4.3% | 58.4% | 81.00 |
| 17 | Canal Carlos | 0.4% | 0.5% | 0.4% | 2.7% | 28.2% | 401.00 |
| 18 | Brustenga Marc | 0.4% | 1.0% | 0.3% | 4.8% | 42.2% | 251.00 |
| 19 | Oliveira Ivo | 0.3% | 0.6% | 0.3% | 5.8% | 23.9% | 126.00 |
| 20 | Braet Vito | 0.3% | 0.6% | 0.2% | 5.2% | 58.5% | 151.00 |
| 21 | Cort Magnus | 0.3% | 1.0% | 0.1% | 1.7% | 20.4% | 17.00 |
| 22 | Tulett Ben | 0.2% | 0.6% | 0.1% | 2.7% | 12.6% | 501.00 |
| 23 | Fisher-Black Finn | 0.2% | 0.4% | 0.2% | 4.3% | 14.0% | 126.00 |
| 24 | Mulubrhan Henok | 0.2% | 0.2% | 0.2% | 1.0% | 14.0% | 201.00 |
| 25 | Garofoli Gianmarco | 0.2% | 0.1% | 0.2% | 1.1% | 18.9% | 401.00 |
| 26 | Brenner Marco | 0.2% | 0.2% | 0.1% | 1.0% | 13.9% | 501.00 |
| 27 | Nys Thibau | 0.1% | 0.3% | 0.1% | 2.1% | 20.2% | 81.00 |
| 28 | Hayter Ethan | 0.1% | 0.4% | 0.1% | 3.7% | 17.1% | 251.00 |
| 29 | Cobo Ivan | 0.1% | 0.2% | 0.1% | 1.1% | 17.1% | 601.00 |
| 30 | Albanese Vincenzo | 0.1% | 0.1% | 0.1% | 1.7% | 43.9% | 126.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 46.3% | 38.5% | 48.2% | 53.5% | 66.8% | 1.90 |
| 2 | van Aert Wout | 11.7% | 8.6% | 12.5% | 30.1% | 53.8% | 9.00 |
| 3 | Pedersen Mads | 6.6% | 9.3% | 5.9% | 23.9% | 54.9% | 12.00 |
| 4 | Laporte Christophe | 6.1% | 8.5% | 5.5% | 25.1% | 56.9% | 34.00 |
| 5 | Meeus Jordi | 3.2% | 5.0% | 2.7% | 22.6% | 45.7% | 6.00 |
| 6 | Laurance Axel | 2.7% | 3.3% | 2.6% | 13.4% | 55.6% | 51.00 |
| 7 | Fisher-Black Finn | 1.8% | 2.8% | 1.5% | 10.1% | 32.0% | 126.00 |
| 8 | Canal Carlos | 1.0% | 0.6% | 1.1% | 3.0% | 25.8% | 401.00 |
| 9 | Onley Oscar | 0.9% | 0.2% | 1.1% | 1.2% | 21.4% | 501.00 |
| 10 | Renard Alexis | 0.8% | 1.2% | 0.7% | 4.8% | 28.8% | 251.00 |
| 11 | De Schuyteneer Steffen | 0.8% | 0.9% | 0.7% | 5.2% | 26.8% | 126.00 |
| 12 | Aular Orluis | 0.7% | 1.1% | 0.6% | 6.4% | 33.3% | 81.00 |
| 13 | Johannessen Tobias Halland | 0.7% | 0.7% | 0.7% | 2.2% | 15.8% | 126.00 |
| 14 | Brenner Marco | 0.7% | 0.9% | 0.7% | 2.5% | 20.3% | 501.00 |
| 15 | Tulett Ben | 0.7% | 0.8% | 0.7% | 4.7% | 21.4% | 501.00 |
| 16 | Miquel Delgado Pau | 0.7% | 1.4% | 0.5% | 7.3% | 40.4% | 67.00 |
| 17 | Hofstetter Hugo | 0.7% | 1.3% | 0.5% | 7.1% | 38.8% | 41.00 |
| 18 | Cobo Ivan | 0.6% | 0.5% | 0.6% | 2.8% | 27.2% | 601.00 |
| 19 | Debruyne Ramses | 0.5% | 0.9% | 0.5% | 6.2% | 28.2% | 401.00 |
| 20 | Garofoli Gianmarco | 0.5% | 0.8% | 0.4% | 3.7% | 35.8% | 401.00 |
| 21 | Skjelmose Mattias | 0.5% | 0.4% | 0.5% | 0.9% | 13.4% | 751.00 |
| 22 | Roglic Primoz | 0.4% | 0.4% | 0.4% | 1.0% | 11.9% | 601.00 |
| 23 | Albanese Vincenzo | 0.4% | 1.1% | 0.2% | 5.7% | 40.1% | 126.00 |
| 24 | González David | 0.4% | 0.7% | 0.3% | 4.2% | 26.2% | 201.00 |
| 25 | Carapaz Richard | 0.4% | 0.1% | 0.5% | 0.8% | 13.1% | 601.00 |
| 26 | Coquard Bryan | 0.4% | 0.4% | 0.4% | 3.0% | 35.5% | 12.00 |
| 27 | Cort Magnus | 0.4% | 1.5% | 0.1% | 5.8% | 23.2% | 17.00 |
| 28 | Govekar Matevz | 0.4% | 0.8% | 0.3% | 4.2% | 22.9% | 151.00 |
| 29 | Mulubrhan Henok | 0.4% | 0.3% | 0.4% | 1.5% | 17.8% | 201.00 |
| 30 | Berthet Clément | 0.3% | 0.1% | 0.4% | 1.1% | 11.8% | n/a |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 57.3% | 45.2% | 62.8% | 63.7% | 84.1% | 1.90 |
| 2 | Meeus Jordi | 7.5% | 10.0% | 7.2% | 34.9% | 77.8% | 6.00 |
| 3 | van Aert Wout | 7.4% | 5.5% | 8.2% | 22.9% | 57.7% | 9.00 |
| 4 | Pedersen Mads | 4.5% | 7.6% | 3.9% | 20.2% | 67.1% | 12.00 |
| 5 | De Schuyteneer Steffen | 2.4% | 2.1% | 2.5% | 8.8% | 54.6% | 126.00 |
| 6 | Laporte Christophe | 2.3% | 4.1% | 1.9% | 13.0% | 53.2% | 34.00 |
| 7 | Dainese Alberto | 1.8% | 1.5% | 1.9% | 8.7% | 51.0% | 51.00 |
| 8 | Laurance Axel | 1.5% | 2.5% | 1.3% | 10.9% | 58.7% | 51.00 |
| 9 | Hofstetter Hugo | 1.1% | 1.4% | 1.0% | 8.1% | 72.2% | 41.00 |
| 10 | Coquard Bryan | 0.9% | 0.9% | 0.9% | 6.5% | 54.0% | 12.00 |
| 11 | Govekar Matevz | 0.8% | 1.3% | 0.7% | 7.0% | 51.0% | 151.00 |
| 12 | Macias Cesar | 0.7% | 1.4% | 0.5% | 6.5% | 45.8% | 301.00 |
| 13 | Miquel Delgado Pau | 0.6% | 1.0% | 0.6% | 7.5% | 54.7% | 67.00 |
| 14 | Aular Orluis | 0.6% | 0.4% | 0.6% | 4.7% | 54.5% | 81.00 |
| 15 | Renard Alexis | 0.5% | 1.1% | 0.4% | 4.4% | 46.8% | 251.00 |
| 16 | Brustenga Marc | 0.5% | 0.8% | 0.5% | 5.3% | 45.6% | 251.00 |
| 17 | González David | 0.5% | 1.0% | 0.4% | 4.9% | 40.9% | 201.00 |
| 18 | Oliveira Ivo | 0.5% | 0.9% | 0.4% | 5.1% | 24.4% | 126.00 |
| 19 | Canal Carlos | 0.4% | 0.5% | 0.4% | 2.3% | 27.7% | 401.00 |
| 20 | Braet Vito | 0.3% | 0.6% | 0.3% | 5.5% | 60.1% | 151.00 |
| 21 | Cort Magnus | 0.3% | 1.1% | 0.1% | 2.0% | 22.1% | 17.00 |
| 22 | Nys Thibau | 0.2% | 0.4% | 0.1% | 1.9% | 22.1% | 81.00 |
| 23 | Camprubí Marcel | 0.1% | 0.2% | 0.1% | 1.6% | 17.0% | 151.00 |
| 24 | Mulubrhan Henok | 0.1% | 0.1% | 0.1% | 0.8% | 13.6% | 201.00 |
| 25 | Tronchon Bastien | 0.1% | 0.3% | 0.1% | 2.0% | 18.5% | 26.00 |
| 26 | Hayter Ethan | 0.1% | 0.2% | 0.1% | 2.8% | 15.2% | 251.00 |
| 27 | Brenner Marco | 0.1% | 0.2% | 0.1% | 0.8% | 12.7% | 501.00 |
| 28 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 1.1% | 17.2% | 401.00 |
| 29 | Albanese Vincenzo | 0.1% | 0.1% | 0.1% | 1.6% | 40.8% | 126.00 |
| 30 | Tulett Ben | 0.1% | 0.3% | 0.1% | 1.5% | 8.3% | 501.00 |
After the stage
| Pos | Rider | Team | Bunch sprint win p | Aledo thins it win p | Sprinters ground out win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | Team Visma | Lease a Bike | 53.1% | 57.2% | 46.3% | 57.3% |
| 2 | Coquard Bryan | Cofidis | 0.6% | 0.7% | 0.4% | 0.9% |
| 3 | Meeus Jordi | Red Bull-BORA-hansgrohe | 7.9% | 7.1% | 3.2% | 7.5% |
| 4 | Cort Magnus | Uno-X Mobility | 0.5% | 0.3% | 0.4% | 0.3% |
| 5 | van Aert Wout | Team Visma | Lease a Bike | 5.3% | 7.6% | 11.7% | 7.4% |
| 6 | Hofstetter Hugo | NSN Cycling Team | 0.8% | 1.1% | 0.7% | 1.1% |
| 7 | Tronchon Bastien | Groupama-FDJ United | 0.1% | 0.1% | 0.1% | 0.1% |
| 8 | Romele Alessandro | XDS Astana Team | 0.0% | 0.0% | 0.0% | 0.0% |
| 9 | Govekar Matevz | Bahrain Victorious | 0.5% | 0.8% | 0.4% | 0.8% |
| 10 | Aular Orluis | Movistar Team | 0.4% | 0.5% | 0.7% | 0.6% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Bunch sprint | 53.12% | 34.17% |
| Aledo thins it | 57.24% | 34.17% |
| Sprinters ground out | 46.35% | 34.17% |
| Hindsight (post-hoc) | 57.27% | 34.17% |
Reflection
Brennan won again from a 96-rider bunch, 57% of the field, and the base board called it cleanly: he was #1 at 65.7% against a 34.2% book, Meeus #2 finished 3rd, van Aert #3 finished 5th. The key scored EXACT at weight 0.65 — the highest weight-on-truth of the campaign after stage 1 — and the campaign record moves to 6/10 exact, 9/10 covered, mean 0.55.
The stage-10 lesson was applied and it worked in both directions. Yesterday's failure was a correct SHAPE key with a wrong composition: a big group arrived and the sprinters were not in it, realized shares sprint .40 / mountain .20 / time_trial .27. So this key kept bunch as a clear majority but moved the residual weight to res_3 (survivor gallop) and res_1 (the stage-10 repeat) rather than res_7, explicitly pricing the possibility that Aledo's twenty-minute drag in 35°C would grind the fast men out again. It did not: realized shares came back sprint .60 / mountain .13 / hilly .13 / tt .13, a textbook res_3 composition, and the sprinters were all present. Getting the composition question right mattered as much as the shape one — the same 0.65 bunch weight with res_7 filling the remainder would have produced a materially different board.
The retrieval channel again ordered the scenarios correctly, which is now a repeatable observation rather than a one-off. `sprinters_ground_out` — the most selective board, built from hilly days won by puncheurs from large groups — retrieved 8 of the actual top 15 against production's 5, while the two sprint-flavoured boards tied production at 7/15. On stage 10 the same pattern held (selective board 5/15 vs production 3/15) and the day went the selective way; here it held and the day went the sprinters' way. So the signal is not 'the selective board wins' but 'the selective board's key surfaces riders production's ranking systematically under-rates', which pays off on retrieval regardless of which branch the road takes. Ledger: st2 −1, st4 level, st5 +1, st6 −1, st7 +3, st10 level/+2, st11 level/+3.
Where the board still missed: Coquard finished 2nd at 12.0 and sat #12 at 0.7%, Cort 4th at 17.0 and #25, Tronchon 7th and #29, Romele 8th and #42. Those are four of the top eight the model had essentially nowhere, and three of them (Cort, Tronchon, Romele) were the same names that filled the front of stage 10. There is a small group of riders on this Vuelta who keep finishing in the front of reduced-to-large groups and whom the model does not rate; with Pogacar, Groves and Turner gone and seventeen abandons, the field's effective depth has changed faster than the rider-quality features can track.
Race context going into the mountains. Mas holds red from Roglic at 1:18, Gall 1:39, Onley 2:20, Carapaz 3:26, Skjelmose 3:55, Kuss 4:09, Tejada 4:39 — four teams with a genuine claim on the podium and one, Movistar, obliged to defend. Pedersen abandoned during stage 11, taking another of the fast men out.