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 Pure speed 84%, Wind-strung sprint 95%, Shortened drag race 83% — 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 | Pure speed | Wind-strung sprint | Shortened drag race | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|
| Brennan Matthew | Team Visma | Lease a Bike | 52.2% | 50.1% | 52.8% | 1.50 | 45.0% | +7.9pp |
| van Aert Wout | Team Visma | Lease a Bike | 6.1% | 13.0% | 6.0% | 12.00 | 5.6% | +7.4pp |
| Meeus Jordi | Red Bull-BORA-hansgrohe | 9.0% | 10.9% | 7.7% | 7.00 | 9.6% | +1.3pp |
| Coquard Bryan | Cofidis | 2.0% | 2.6% | 2.2% | 8.00 | 8.4% | -5.8pp |
| De Schuyteneer Steffen | Lotto-Intermarché | 2.1% | 2.1% | 2.1% | 81.00 | 0.8% | +1.3pp |
| Dainese Alberto | Soudal Quick-Step | 1.2% | 0.6% | 0.9% | 34.00 | 2.0% | -0.7pp |
| Hofstetter Hugo | NSN Cycling Team | 0.9% | 1.2% | 0.9% | 81.00 | 0.8% | +0.3pp |
| Romele Alessandro | XDS Astana Team | 0.7% | 1.1% | 0.7% | 41.00 | 1.6% | -0.5pp |
| Cort Magnus | Uno-X Mobility | 0.5% | 1.1% | 0.5% | 19.00 | 3.5% | -2.5pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 52.2% | 40.1% | 65.3% | 65.4% | 85.8% | 1.50 |
| 2 | Meeus Jordi | 9.0% | 9.6% | 10.6% | 36.3% | 79.3% | 7.00 |
| 3 | van Aert Wout | 6.1% | 5.7% | 7.4% | 27.4% | 66.6% | 12.00 |
| 4 | De Schuyteneer Steffen | 2.1% | 1.9% | 2.6% | 8.1% | 62.9% | 81.00 |
| 5 | Coquard Bryan | 2.0% | 3.3% | 2.0% | 9.2% | 81.8% | 8.00 |
| 6 | Dainese Alberto | 1.2% | 1.4% | 1.5% | 8.6% | 50.3% | 34.00 |
| 7 | Hofstetter Hugo | 0.9% | 1.2% | 1.1% | 8.3% | 79.9% | 81.00 |
| 8 | Brustenga Marc | 0.9% | 0.9% | 1.0% | 6.1% | 48.2% | 151.00 |
| 9 | Aular Orluis | 0.8% | 0.6% | 1.1% | 5.7% | 67.7% | 81.00 |
| 10 | Nys Thibau | 0.8% | 2.8% | 0.5% | 9.0% | 35.1% | 81.00 |
| 11 | Laurance Axel | 0.8% | 2.4% | 0.5% | 7.2% | 48.1% | 101.00 |
| 12 | Romele Alessandro | 0.7% | 1.6% | 0.6% | 7.9% | 60.5% | 41.00 |
| 13 | Tronchon Bastien | 0.6% | 1.5% | 0.5% | 6.9% | 61.5% | 67.00 |
| 14 | Braet Vito | 0.6% | 1.0% | 0.6% | 8.1% | 62.2% | 41.00 |
| 15 | Govekar Matevz | 0.6% | 1.3% | 0.5% | 7.3% | 50.3% | 151.00 |
| 16 | Miquel Delgado Pau | 0.6% | 1.3% | 0.5% | 4.6% | 50.8% | 151.00 |
| 17 | Macias Cesar | 0.5% | 0.9% | 0.5% | 7.2% | 65.9% | 201.00 |
| 18 | Cort Magnus | 0.5% | 1.4% | 0.3% | 7.5% | 55.3% | 19.00 |
| 19 | Renard Alexis | 0.3% | 1.0% | 0.2% | 4.4% | 46.2% | 151.00 |
| 20 | Albanese Vincenzo | 0.3% | 0.2% | 0.4% | 3.2% | 53.5% | 126.00 |
| 21 | Canal Carlos | 0.2% | 0.2% | 0.3% | 2.4% | 20.0% | 401.00 |
| 22 | Oliveira Ivo | 0.2% | 0.2% | 0.2% | 2.5% | 25.7% | 151.00 |
| 23 | Camprubí Marcel | 0.1% | 0.1% | 0.1% | 2.3% | 38.8% | 301.00 |
| 24 | Mulubrhan Henok | 0.1% | 0.1% | 0.1% | 1.2% | 17.5% | 251.00 |
| 25 | Hayter Ethan | 0.1% | 0.3% | 0.0% | 1.5% | 15.7% | 301.00 |
| 26 | Debruyne Ramses | 0.1% | 0.1% | 0.1% | 1.0% | 11.8% | 201.00 |
| 27 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 0.9% | 9.5% | 501.00 |
| 28 | Brenner Marco | 0.1% | 0.2% | 0.1% | 1.4% | 9.0% | 501.00 |
| 29 | Vader Milan | 0.1% | 0.1% | 0.1% | 0.7% | 18.8% | 601.00 |
| 30 | Fedorov Yevgeniy | 0.1% | 0.2% | 0.0% | 0.6% | 21.0% | 301.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 50.1% | 37.4% | 55.9% | 63.1% | 84.2% | 1.50 |
| 2 | van Aert Wout | 13.0% | 10.4% | 14.4% | 42.9% | 72.6% | 12.00 |
| 3 | Meeus Jordi | 10.9% | 11.1% | 11.5% | 36.6% | 75.2% | 7.00 |
| 4 | Coquard Bryan | 2.6% | 4.8% | 2.2% | 12.3% | 77.7% | 8.00 |
| 5 | De Schuyteneer Steffen | 2.1% | 2.1% | 2.3% | 7.8% | 60.7% | 81.00 |
| 6 | Hofstetter Hugo | 1.2% | 1.6% | 1.1% | 8.1% | 71.6% | 81.00 |
| 7 | Romele Alessandro | 1.1% | 2.9% | 0.7% | 11.1% | 56.9% | 41.00 |
| 8 | Cort Magnus | 1.1% | 2.2% | 0.8% | 15.9% | 57.4% | 19.00 |
| 9 | Laurance Axel | 1.0% | 2.3% | 0.7% | 8.7% | 49.2% | 101.00 |
| 10 | Aular Orluis | 1.0% | 0.6% | 1.1% | 6.8% | 61.5% | 81.00 |
| 11 | Albanese Vincenzo | 1.0% | 1.5% | 0.9% | 8.9% | 62.2% | 126.00 |
| 12 | Nys Thibau | 0.9% | 2.5% | 0.6% | 8.8% | 47.3% | 81.00 |
| 13 | Govekar Matevz | 0.9% | 1.8% | 0.7% | 8.7% | 44.8% | 151.00 |
| 14 | Braet Vito | 0.8% | 1.4% | 0.7% | 9.9% | 59.0% | 41.00 |
| 15 | Tronchon Bastien | 0.8% | 1.9% | 0.5% | 7.6% | 54.5% | 67.00 |
| 16 | Dainese Alberto | 0.6% | 1.3% | 0.5% | 6.8% | 46.8% | 34.00 |
| 17 | Renard Alexis | 0.6% | 1.5% | 0.4% | 4.9% | 48.3% | 151.00 |
| 18 | Miquel Delgado Pau | 0.5% | 0.9% | 0.5% | 4.1% | 41.3% | 151.00 |
| 19 | Canal Carlos | 0.4% | 0.3% | 0.5% | 3.4% | 21.9% | 401.00 |
| 20 | Debruyne Ramses | 0.4% | 0.2% | 0.4% | 4.8% | 21.1% | 201.00 |
| 21 | Hayter Ethan | 0.3% | 1.1% | 0.1% | 2.3% | 12.2% | 301.00 |
| 22 | Brustenga Marc | 0.2% | 0.2% | 0.2% | 4.8% | 51.3% | 151.00 |
| 23 | Mulubrhan Henok | 0.2% | 0.2% | 0.2% | 1.8% | 20.6% | 251.00 |
| 24 | Fisher-Black Finn | 0.2% | 0.3% | 0.2% | 2.6% | 13.9% | 251.00 |
| 25 | Camprubí Marcel | 0.2% | 0.2% | 0.2% | 2.9% | 29.2% | 301.00 |
| 26 | Brenner Marco | 0.2% | 0.3% | 0.1% | 2.6% | 15.2% | 501.00 |
| 27 | Macias Cesar | 0.2% | 0.1% | 0.2% | 2.4% | 52.3% | 201.00 |
| 28 | Oliveira Ivo | 0.1% | 0.2% | 0.1% | 2.7% | 21.3% | 151.00 |
| 29 | Cobo Ivan | 0.1% | 0.2% | 0.1% | 1.6% | 12.6% | 501.00 |
| 30 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 1.1% | 16.2% | 501.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 52.8% | 38.9% | 67.0% | 65.1% | 86.1% | 1.50 |
| 2 | Meeus Jordi | 7.7% | 9.4% | 8.8% | 36.3% | 79.1% | 7.00 |
| 3 | van Aert Wout | 6.0% | 5.6% | 7.3% | 27.3% | 65.7% | 12.00 |
| 4 | Coquard Bryan | 2.2% | 3.5% | 2.3% | 9.9% | 78.9% | 8.00 |
| 5 | De Schuyteneer Steffen | 2.1% | 1.8% | 2.6% | 7.9% | 64.9% | 81.00 |
| 6 | Dainese Alberto | 0.9% | 1.4% | 1.0% | 8.7% | 50.1% | 34.00 |
| 7 | Hofstetter Hugo | 0.9% | 1.3% | 1.0% | 8.6% | 77.6% | 81.00 |
| 8 | Laurance Axel | 0.9% | 2.6% | 0.6% | 8.1% | 48.4% | 101.00 |
| 9 | Aular Orluis | 0.9% | 0.6% | 1.1% | 6.0% | 64.7% | 81.00 |
| 10 | Nys Thibau | 0.8% | 2.4% | 0.5% | 8.6% | 48.3% | 81.00 |
| 11 | Romele Alessandro | 0.7% | 1.8% | 0.5% | 7.3% | 57.9% | 41.00 |
| 12 | Govekar Matevz | 0.7% | 1.6% | 0.6% | 8.5% | 52.4% | 151.00 |
| 13 | Miquel Delgado Pau | 0.6% | 1.5% | 0.6% | 5.1% | 52.7% | 151.00 |
| 14 | Tronchon Bastien | 0.6% | 1.5% | 0.5% | 6.9% | 60.3% | 67.00 |
| 15 | Braet Vito | 0.6% | 1.0% | 0.6% | 8.3% | 61.2% | 41.00 |
| 16 | Cort Magnus | 0.5% | 1.4% | 0.4% | 8.2% | 54.7% | 19.00 |
| 17 | Macias Cesar | 0.5% | 0.9% | 0.5% | 6.8% | 66.4% | 201.00 |
| 18 | Brustenga Marc | 0.4% | 0.2% | 0.6% | 4.9% | 73.0% | 151.00 |
| 19 | Albanese Vincenzo | 0.4% | 0.3% | 0.5% | 3.4% | 50.7% | 126.00 |
| 20 | Renard Alexis | 0.3% | 1.1% | 0.2% | 4.3% | 46.5% | 151.00 |
| 21 | Canal Carlos | 0.2% | 0.2% | 0.3% | 2.4% | 17.3% | 401.00 |
| 22 | Oliveira Ivo | 0.2% | 0.3% | 0.2% | 2.7% | 23.0% | 151.00 |
| 23 | Camprubí Marcel | 0.1% | 0.2% | 0.2% | 2.3% | 36.0% | 301.00 |
| 24 | Mulubrhan Henok | 0.1% | 0.1% | 0.1% | 1.4% | 16.6% | 251.00 |
| 25 | Debruyne Ramses | 0.1% | 0.1% | 0.1% | 1.4% | 13.8% | 201.00 |
| 26 | Brenner Marco | 0.1% | 0.2% | 0.1% | 1.6% | 9.5% | 501.00 |
| 27 | Hayter Ethan | 0.1% | 0.3% | 0.1% | 1.5% | 15.6% | 301.00 |
| 28 | Garofoli Gianmarco | 0.1% | 0.1% | 0.1% | 0.9% | 8.8% | 501.00 |
| 29 | Küng Stefan | 0.1% | 0.2% | 0.1% | 0.6% | 7.9% | 301.00 |
| 30 | Vader Milan | 0.1% | 0.1% | 0.1% | 0.7% | 17.7% | 601.00 |
After the stage
| Pos | Rider | Team | Pure speed win p | Wind-strung sprint win p | Shortened drag race win p |
|---|---|---|---|---|---|
| 1 | Brennan Matthew | Team Visma | Lease a Bike | 52.2% | 50.1% | 52.8% |
| 2 | Meeus Jordi | Red Bull-BORA-hansgrohe | 9.0% | 10.9% | 7.7% |
| 3 | Cort Magnus | Uno-X Mobility | 0.5% | 1.1% | 0.5% |
| 4 | Romele Alessandro | XDS Astana Team | 0.7% | 1.1% | 0.7% |
| 5 | De Schuyteneer Steffen | Lotto-Intermarché | 2.1% | 2.1% | 2.1% |
| 6 | Laurance Axel | Netcompany INEOS Cycling Team | 0.8% | 1.0% | 0.9% |
| 7 | Miquel Delgado Pau | Bahrain Victorious | 0.6% | 0.5% | 0.6% |
| 8 | Macias Cesar | Burgos Burpellet BH | 0.5% | 0.2% | 0.5% |
| 9 | Hofstetter Hugo | NSN Cycling Team | 0.9% | 1.2% | 0.9% |
| 10 | Coquard Bryan | Cofidis | 2.0% | 2.6% | 2.2% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Pure speed | 52.16% | 44.96% |
| Wind-strung sprint | 50.11% | 44.96% |
| Shortened drag race | 52.82% | 44.96% |