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 102%, Barx thins it 103%, Barx sticks 107%, Hindsight (post-hoc) 105% — 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 | Barx thins it | Barx sticks | Hindsight (post-hoc) | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|---|
| Brennan Matthew | Team Visma | Lease a Bike | 40.5% | 45.7% | 27.1% | 41.3% | 1.65 | 40.8% | +4.9pp |
| Meeus Jordi | Red Bull-BORA-hansgrohe | 18.6% | 11.6% | 3.2% | 21.7% | 5.50 | 12.2% | +9.4pp |
| Pogacar Tadej | UAE Team Emirates-XRG | 1.3% | 2.0% | 12.7% | 0.9% | 81.00 | 0.8% | +11.9pp |
| Laporte Christophe | Team Visma | Lease a Bike | 4.7% | 5.5% | 10.0% | 5.2% | 34.00 | 2.0% | +8.0pp |
| Pedersen Mads | Lidl-Trek | 5.3% | 5.7% | 9.5% | 4.3% | 19.00 | 3.5% | +5.9pp |
| van Aert Wout | Team Visma | Lease a Bike | 6.6% | 9.1% | 6.8% | 7.3% | 7.50 | 9.0% | +0.1pp |
| Turner Ben | Netcompany INEOS | 2.4% | 3.5% | 4.8% | 2.3% | 51.00 | 1.3% | +3.4pp |
| De Schuyteneer Steffen | Lotto-Intermarché | 4.4% | 2.6% | 1.3% | 4.0% | 101.00 | 0.7% | +3.8pp |
| Dainese Alberto | Soudal Quick-Step | 3.2% | 1.5% | 0.2% | 4.1% | 81.00 | 0.8% | +3.2pp |
| Laurance Axel | Netcompany INEOS | 1.1% | 1.9% | 3.9% | 1.2% | 81.00 | 0.8% | +3.1pp |
| Fisher-Black Finn | Red Bull-BORA-hansgrohe | 0.0% | 0.2% | 3.1% | 0.0% | 151.00 | 0.4% | +2.7pp |
| Groves Kaden | Alpecin-Premier Tech | 2.1% | 1.1% | 0.3% | 1.8% | 19.00 | 3.5% | -1.4pp |
| Canal Carlos | Movistar Team | 0.3% | 0.4% | 1.6% | 0.2% | 401.00 | 0.2% | +1.5pp |
| Coquard Bryan | Cofidis | 1.5% | 1.1% | 0.3% | 1.2% | 67.00 | 1.0% | +0.5pp |
| Aular Orluis | Movistar Team | 0.8% | 1.0% | 1.3% | 0.8% | 67.00 | 1.0% | +0.3pp |
| Renard Alexis | Cofidis | 0.6% | 1.0% | 1.2% | 0.6% | 201.00 | 0.3% | +0.9pp |
| Brustenga Marc | Equipo Kern Pharma | 1.1% | 0.3% | 0.1% | 0.7% | 201.00 | 0.3% | +0.8pp |
| Govekar Matevz | Bahrain Victorious | 1.0% | 1.0% | 0.2% | 1.1% | 201.00 | 0.3% | +0.8pp |
| Tulett Ben | Team Visma | Lease a Bike | 0.0% | 0.2% | 1.0% | 0.0% | 251.00 | 0.3% | +0.7pp |
| Romele Alessandro | XDS Astana Team | 0.0% | 0.0% | 0.0% | 0.0% | 29.00 | 2.3% | -2.3pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 40.5% | 41.3% | 39.4% | 62.5% | 88.0% | 1.65 |
| 2 | Meeus Jordi | 18.6% | 15.9% | 18.9% | 46.9% | 86.0% | 5.50 |
| 3 | van Aert Wout | 6.6% | 5.8% | 6.7% | 22.9% | 63.3% | 7.50 |
| 4 | Pedersen Mads | 5.3% | 6.1% | 4.9% | 22.7% | 72.4% | 19.00 |
| 5 | Laporte Christophe | 4.7% | 6.9% | 4.1% | 21.5% | 71.0% | 34.00 |
| 6 | De Schuyteneer Steffen | 4.4% | 2.9% | 4.7% | 13.5% | 73.5% | 101.00 |
| 7 | Dainese Alberto | 3.2% | 1.9% | 3.5% | 10.8% | 60.8% | 81.00 |
| 8 | Turner Ben | 2.4% | 3.0% | 2.2% | 14.9% | 60.0% | 51.00 |
| 9 | Groves Kaden | 2.1% | 2.2% | 2.0% | 8.2% | 46.5% | 19.00 |
| 10 | Coquard Bryan | 1.5% | 1.0% | 1.6% | 5.6% | 67.3% | 67.00 |
| 11 | Pogacar Tadej | 1.3% | 1.3% | 1.3% | 3.4% | 14.4% | 81.00 |
| 12 | Brustenga Marc | 1.1% | 1.1% | 1.1% | 7.2% | 61.4% | 201.00 |
| 13 | Laurance Axel | 1.1% | 1.4% | 1.0% | 5.9% | 53.9% | 81.00 |
| 14 | Govekar Matevz | 1.0% | 1.7% | 0.8% | 9.4% | 58.4% | 201.00 |
| 15 | Macias Cesar | 0.9% | 1.2% | 0.9% | 7.5% | 56.0% | 301.00 |
| 16 | Hofstetter Hugo | 0.8% | 0.9% | 0.8% | 5.9% | 69.6% | 51.00 |
| 17 | Aular Orluis | 0.8% | 0.4% | 0.9% | 3.8% | 58.5% | 67.00 |
| 18 | Miquel Delgado Pau | 0.6% | 0.9% | 0.6% | 3.3% | 42.0% | 41.00 |
| 19 | Renard Alexis | 0.6% | 1.0% | 0.5% | 5.6% | 49.6% | 201.00 |
| 20 | González David | 0.6% | 0.1% | 0.7% | 2.2% | 62.8% | 201.00 |
| 21 | Sentjens Sente | 0.4% | 1.5% | 0.2% | 4.4% | 50.3% | 301.00 |
| 22 | Cort Magnus | 0.3% | 0.1% | 0.3% | 1.1% | 11.9% | 81.00 |
| 23 | Oliveira Ivo | 0.3% | 0.5% | 0.2% | 4.3% | 21.7% | 251.00 |
| 24 | Canal Carlos | 0.3% | 0.2% | 0.3% | 1.5% | 23.9% | 401.00 |
| 25 | Nys Thibau | 0.2% | 0.2% | 0.2% | 1.1% | 12.4% | 151.00 |
| 26 | Braet Vito | 0.2% | 0.1% | 0.2% | 1.5% | 51.9% | 101.00 |
| 27 | Albanese Vincenzo | 0.1% | 0.2% | 0.1% | 1.1% | 28.2% | 51.00 |
| 28 | Tronchon Bastien | 0.1% | 0.1% | 0.1% | 1.6% | 15.1% | 251.00 |
| 29 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 0.6% | 10.2% | 601.00 |
| 30 | Hayter Ethan | 0.1% | 0.2% | 0.1% | 0.9% | 13.8% | 301.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 45.7% | 39.0% | 46.1% | 60.1% | 82.9% | 1.65 |
| 2 | Meeus Jordi | 11.6% | 13.7% | 10.8% | 38.6% | 76.9% | 5.50 |
| 3 | van Aert Wout | 9.1% | 6.8% | 9.4% | 27.1% | 59.4% | 7.50 |
| 4 | Pedersen Mads | 5.7% | 7.8% | 5.0% | 25.1% | 67.5% | 19.00 |
| 5 | Laporte Christophe | 5.5% | 7.1% | 4.9% | 27.7% | 69.2% | 34.00 |
| 6 | Turner Ben | 3.5% | 3.4% | 3.4% | 15.2% | 56.5% | 51.00 |
| 7 | De Schuyteneer Steffen | 2.6% | 2.6% | 2.5% | 13.4% | 57.7% | 101.00 |
| 8 | Pogacar Tadej | 2.0% | 3.3% | 1.6% | 10.2% | 28.5% | 81.00 |
| 9 | Laurance Axel | 1.9% | 2.6% | 1.7% | 8.8% | 54.5% | 81.00 |
| 10 | Dainese Alberto | 1.5% | 1.1% | 1.6% | 6.6% | 40.9% | 81.00 |
| 11 | Groves Kaden | 1.1% | 1.3% | 1.1% | 5.1% | 31.3% | 19.00 |
| 12 | Coquard Bryan | 1.1% | 0.7% | 1.1% | 3.5% | 66.2% | 67.00 |
| 13 | Renard Alexis | 1.0% | 1.8% | 0.8% | 7.8% | 46.1% | 201.00 |
| 14 | Aular Orluis | 1.0% | 1.1% | 1.0% | 5.9% | 47.2% | 67.00 |
| 15 | Govekar Matevz | 1.0% | 1.8% | 0.7% | 9.3% | 49.8% | 201.00 |
| 16 | Hofstetter Hugo | 0.9% | 1.3% | 0.8% | 7.0% | 59.4% | 51.00 |
| 17 | Miquel Delgado Pau | 0.8% | 0.9% | 0.7% | 4.0% | 52.8% | 41.00 |
| 18 | Sentjens Sente | 0.5% | 1.8% | 0.2% | 4.7% | 35.8% | 301.00 |
| 19 | González David | 0.5% | 0.1% | 0.6% | 1.9% | 57.2% | 201.00 |
| 20 | Canal Carlos | 0.4% | 0.2% | 0.5% | 2.0% | 29.7% | 401.00 |
| 21 | Brustenga Marc | 0.3% | 0.1% | 0.3% | 3.2% | 39.4% | 201.00 |
| 22 | Cort Magnus | 0.3% | 0.2% | 0.3% | 0.9% | 12.2% | 81.00 |
| 23 | Braet Vito | 0.2% | 0.0% | 0.3% | 2.1% | 51.7% | 101.00 |
| 24 | Macias Cesar | 0.2% | 0.2% | 0.2% | 3.7% | 44.5% | 301.00 |
| 25 | Mulubrhan Henok | 0.2% | 0.1% | 0.2% | 1.3% | 12.9% | 301.00 |
| 26 | Albanese Vincenzo | 0.2% | 0.2% | 0.2% | 1.4% | 36.5% | 51.00 |
| 27 | Garofoli Gianmarco | 0.2% | 0.1% | 0.2% | 0.9% | 18.0% | 601.00 |
| 28 | Nys Thibau | 0.2% | 0.2% | 0.2% | 1.1% | 13.2% | 151.00 |
| 29 | Fisher-Black Finn | 0.2% | 0.1% | 0.2% | 2.1% | 11.0% | 151.00 |
| 30 | Oliveira Ivo | 0.2% | 0.2% | 0.2% | 2.8% | 14.1% | 251.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 27.1% | 27.1% | 25.3% | 46.7% | 65.5% | 1.65 |
| 2 | Pogacar Tadej | 12.7% | 16.3% | 11.0% | 35.0% | 57.8% | 81.00 |
| 3 | Laporte Christophe | 10.0% | 11.1% | 9.1% | 31.6% | 60.6% | 34.00 |
| 4 | Pedersen Mads | 9.5% | 11.9% | 8.3% | 29.5% | 60.2% | 19.00 |
| 5 | van Aert Wout | 6.8% | 7.2% | 6.3% | 23.6% | 47.6% | 7.50 |
| 6 | Turner Ben | 4.8% | 4.4% | 4.5% | 17.0% | 46.6% | 51.00 |
| 7 | Laurance Axel | 3.9% | 3.8% | 3.7% | 13.4% | 51.5% | 81.00 |
| 8 | Meeus Jordi | 3.2% | 2.8% | 3.1% | 15.0% | 34.4% | 5.50 |
| 9 | Fisher-Black Finn | 3.1% | 6.0% | 2.2% | 18.5% | 45.2% | 151.00 |
| 10 | Canal Carlos | 1.6% | 1.2% | 1.6% | 4.8% | 33.9% | 401.00 |
| 11 | Aular Orluis | 1.3% | 1.5% | 1.2% | 6.3% | 37.7% | 67.00 |
| 12 | De Schuyteneer Steffen | 1.3% | 1.5% | 1.1% | 5.4% | 23.0% | 101.00 |
| 13 | Renard Alexis | 1.2% | 1.3% | 1.1% | 5.7% | 26.5% | 201.00 |
| 14 | Tulett Ben | 1.0% | 1.8% | 0.8% | 5.4% | 23.7% | 251.00 |
| 15 | Miquel Delgado Pau | 0.9% | 1.0% | 0.8% | 5.4% | 35.6% | 41.00 |
| 16 | Onley Oscar | 0.8% | 0.2% | 0.9% | 2.7% | 21.1% | 601.00 |
| 17 | Roglic Primoz | 0.7% | 0.3% | 0.7% | 1.4% | 11.7% | 1001.00 |
| 18 | Carapaz Richard | 0.7% | 0.1% | 0.8% | 0.8% | 14.6% | 801.00 |
| 19 | Johannessen Tobias Halland | 0.6% | 0.2% | 0.7% | 1.6% | 14.8% | 401.00 |
| 20 | Mulubrhan Henok | 0.6% | 0.2% | 0.7% | 1.6% | 24.5% | 301.00 |
| 21 | Cobo Ivan | 0.6% | 0.2% | 0.6% | 3.9% | 19.3% | 501.00 |
| 22 | Debruyne Ramses | 0.6% | 0.3% | 0.6% | 2.3% | 25.7% | 301.00 |
| 23 | Brenner Marco | 0.5% | 0.1% | 0.5% | 1.8% | 24.1% | 801.00 |
| 24 | Skjelmose Mattias | 0.5% | 0.3% | 0.5% | 2.2% | 16.6% | 801.00 |
| 25 | Berthet Clément | 0.5% | 0.1% | 0.5% | 0.9% | 11.6% | 1501.00 |
| 26 | Garofoli Gianmarco | 0.4% | 0.2% | 0.5% | 1.6% | 27.1% | 601.00 |
| 27 | Kron Andreas | 0.4% | 0.0% | 0.4% | 1.0% | 15.6% | 151.00 |
| 28 | Tejada Harold | 0.3% | 0.1% | 0.4% | 0.7% | 11.1% | 401.00 |
| 29 | Groves Kaden | 0.3% | 0.4% | 0.3% | 1.4% | 7.2% | 19.00 |
| 30 | Cort Magnus | 0.3% | 0.8% | 0.2% | 3.9% | 22.1% | 81.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 41.3% | 41.2% | 39.4% | 60.2% | 86.1% | 1.65 |
| 2 | Meeus Jordi | 21.7% | 18.8% | 21.4% | 44.0% | 82.8% | 5.50 |
| 3 | van Aert Wout | 7.3% | 5.8% | 7.3% | 25.4% | 67.0% | 7.50 |
| 4 | Laporte Christophe | 5.2% | 7.3% | 4.5% | 22.2% | 71.2% | 34.00 |
| 5 | Pedersen Mads | 4.3% | 5.7% | 3.7% | 20.3% | 69.8% | 19.00 |
| 6 | Dainese Alberto | 4.1% | 2.0% | 4.4% | 10.5% | 59.6% | 81.00 |
| 7 | De Schuyteneer Steffen | 4.0% | 2.4% | 4.3% | 11.5% | 67.5% | 101.00 |
| 8 | Turner Ben | 2.3% | 3.1% | 2.0% | 14.0% | 59.0% | 51.00 |
| 9 | Groves Kaden | 1.8% | 1.9% | 1.7% | 7.3% | 40.1% | 19.00 |
| 10 | Coquard Bryan | 1.2% | 1.0% | 1.2% | 5.1% | 68.2% | 67.00 |
| 11 | Laurance Axel | 1.2% | 1.4% | 1.1% | 5.7% | 53.3% | 81.00 |
| 12 | Govekar Matevz | 1.1% | 1.7% | 0.9% | 9.3% | 57.6% | 201.00 |
| 13 | Hofstetter Hugo | 0.9% | 1.1% | 0.8% | 6.2% | 70.4% | 51.00 |
| 14 | Pogacar Tadej | 0.9% | 2.5% | 0.5% | 3.8% | 15.2% | 81.00 |
| 15 | Aular Orluis | 0.8% | 0.4% | 0.9% | 4.5% | 59.2% | 67.00 |
| 16 | Macias Cesar | 0.8% | 1.1% | 0.6% | 7.6% | 49.1% | 301.00 |
| 17 | González David | 0.7% | 0.7% | 0.7% | 3.8% | 45.0% | 201.00 |
| 18 | Miquel Delgado Pau | 0.7% | 0.9% | 0.6% | 3.0% | 46.7% | 41.00 |
| 19 | Brustenga Marc | 0.7% | 0.2% | 0.8% | 9.6% | 58.2% | 201.00 |
| 20 | Renard Alexis | 0.6% | 1.1% | 0.5% | 6.0% | 50.3% | 201.00 |
| 21 | Cort Magnus | 0.4% | 0.9% | 0.3% | 5.6% | 35.5% | 81.00 |
| 22 | Canal Carlos | 0.2% | 0.2% | 0.2% | 1.6% | 24.7% | 401.00 |
| 23 | Oliveira Ivo | 0.2% | 0.3% | 0.1% | 4.2% | 22.6% | 251.00 |
| 24 | Braet Vito | 0.2% | 0.0% | 0.2% | 1.3% | 58.5% | 101.00 |
| 25 | Nys Thibau | 0.2% | 0.2% | 0.1% | 1.8% | 14.3% | 151.00 |
| 26 | Sentjens Sente | 0.1% | 0.1% | 0.1% | 2.7% | 44.9% | 301.00 |
| 27 | Albanese Vincenzo | 0.1% | 0.2% | 0.1% | 1.2% | 33.5% | 51.00 |
| 28 | Tronchon Bastien | 0.1% | 0.1% | 0.1% | 1.5% | 16.5% | 251.00 |
| 29 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 0.6% | 11.5% | 601.00 |
| 30 | Hayter Ethan | 0.1% | 0.3% | 0.1% | 1.0% | 14.3% | 301.00 |
After the stage
| Pos | Rider | Team | Bunch sprint win p | Barx thins it win p | Barx sticks win p | Hindsight (post-hoc) win p |
|---|---|---|---|---|---|---|
| 1 | Coquard Bryan | Cofidis | 1.5% | 1.1% | 0.3% | 1.2% |
| 2 | Pedersen Mads | Lidl-Trek | 5.3% | 5.7% | 9.5% | 4.3% |
| 3 | Meeus Jordi | Red Bull-BORA-hansgrohe | 18.6% | 11.6% | 3.2% | 21.7% |
| 4 | Turner Ben | Netcompany INEOS Cycling Team | 2.4% | 3.5% | 4.8% | 2.3% |
| 5 | Labrosse Jordan | Decathlon CMA CGM Team | 0.0% | 0.1% | 0.1% | 0.0% |
| 6 | Romele Alessandro | XDS Astana Team | 0.0% | 0.0% | 0.0% | 0.0% |
| 7 | Tronchon Bastien | Groupama-FDJ United | 0.1% | 0.1% | 0.1% | 0.1% |
| 8 | Hofstetter Hugo | NSN Cycling Team | 0.8% | 0.9% | 0.3% | 0.9% |
| 9 | Aular Orluis | Movistar Team | 0.8% | 1.0% | 1.3% | 0.8% |
| 10 | Brennan Matthew | Team Visma | Lease a Bike | 40.5% | 45.7% | 27.1% | 41.3% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Bunch sprint | 1.50% | 1.00% |
| Barx thins it | 1.07% | 1.00% |
| Barx sticks | 0.26% | 1.00% |
| Hindsight (post-hoc) | 1.20% | 1.00% |
Reflection
Bryan Coquard won a 148-rider mass sprint ahead of Mads Pedersen and Jordi Meeus. The crash and Pogačar's subsequent retirement defined the stage: the principal terrain feature was neutralised and the race reached Xeraco as the broad gallop the morning base case expected, though by an exceptional route rather than by ordinary control.
The official key was right. The oracle returned `bunch` from a mass-sprint finish with 148 riders on the winning time, 85.5% of the classified field; the morning read put 0.60 on `bunch`, so stage 8 scores exact and covered with weight-on-true 0.60. The campaign record moves to 3/7 exact and 6/7 covered, with mean weight 0.47.
The board read the macro shape better than the winner. The bunch scenario made Meeus #1, Brennan #2 and Pedersen #4; they finished third, tenth and second. Coquard was a near-pool miss at #19 on the production board and #16 on the day-menu board, priced at 1.5% against the book's 1.0% devigged line at 67.0. The top-15 retrieval count was 6 for the keyed board against 7 for production: the key cost one place on a day whose front already resembled the production sprint ranking.
Perfect finish-shape knowledge did not improve the result. The no-log hindsight profile, built from five broad pure sprints with winning groups around 85% of their fields, still placed Coquard #19 on production and #19 on the keyed board at 1.2%; it retrieved 6 of the actual top 15 against production's 7. This is the sixth consecutive post-hoc run that failed to add value: once the correct broad scenario was already represented, the remaining miss was rider ordering rather than course reading.
The hard-men branch was decisively wrong once the climb was neutralised: it placed Coquard #137 and centred Pogačar, Pedersen, van Aert and Brennan. That is not evidence against its terrain premise because the terrain was removed from the race, but it is evidence that the settled page must record disruptions explicitly rather than treating every result as an ordinary test of the course read.
Carry forward: Pogačar is DNF and must disappear from every live-state and GC output after stage 8. Enric Mas inherits the race lead, with Roglič at 1:00 and Gall at 1:11. Tomorrow's Aitana stage is therefore a genuine contest for an open GC rather than another day controlled by a leader already three and a half minutes clear.