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 Hard-men sprint 96%, Pogacar kicks 114%, Sprint survives 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 | Hard-men sprint | Pogacar kicks | Sprint survives | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|
| Pogacar Tadej | UAE Team Emirates-XRG | 11.5% | 48.2% | 2.4% | 15.00 | 4.5% | +43.7pp |
| Brennan Matthew | Team Visma | Lease a Bike | 22.9% | 3.7% | 45.5% | 5.50 | 12.3% | +33.2pp |
| van Aert Wout | Team Visma | Lease a Bike | 6.2% | 5.6% | 10.2% | 3.50 | 19.3% | -9.1pp |
| Meeus Jordi | Red Bull-BORA-hansgrohe | 2.5% | 0.3% | 10.0% | 15.00 | 4.5% | +5.5pp |
| Laporte Christophe | Team Visma | Lease a Bike | 8.8% | 5.1% | 5.7% | 41.00 | 1.6% | +7.1pp |
| Pedersen Mads | Lidl-Trek | 7.9% | 2.9% | 5.1% | 3.50 | 19.3% | -11.4pp |
| Turner Ben | Netcompany INEOS | 5.0% | 0.2% | 3.8% | 15.00 | 4.5% | +0.5pp |
| Laurance Axel | Netcompany INEOS | 4.5% | 1.5% | 2.7% | 51.00 | 1.3% | +3.2pp |
| Onley Oscar | Netcompany INEOS | 0.8% | 3.4% | 0.1% | 301.00 | 0.2% | +3.2pp |
| Gall Felix | Decathlon CMA CGM Team | 0.1% | 2.6% | 0.0% | n/a | – | – |
| De Schuyteneer Steffen | Lotto-Intermarché | 1.1% | 0.2% | 2.4% | 101.00 | 0.7% | +1.7pp |
| Fisher-Black Finn | Red Bull-BORA-hansgrohe | 2.2% | 1.8% | 0.2% | 51.00 | 1.3% | +0.9pp |
| Roglic Primoz | Red Bull-BORA-hansgrohe | 0.5% | 2.0% | 0.0% | 201.00 | 0.3% | +1.6pp |
| Vine Jay | UAE Team Emirates-XRG | 0.1% | 1.7% | 0.0% | 401.00 | 0.2% | +1.6pp |
| Romeo Ivan | Movistar Team | 0.3% | 1.6% | 0.0% | 301.00 | 0.2% | +1.4pp |
| Widar Jarno | Lotto-Intermarché | 0.2% | 1.6% | 0.0% | 201.00 | 0.3% | +1.2pp |
| Carapaz Richard | EF Education-EasyPost | 0.6% | 1.6% | 0.1% | 301.00 | 0.2% | +1.3pp |
| Aular Orluis | Movistar Team | 1.5% | 0.2% | 1.3% | 51.00 | 1.3% | +0.1pp |
| Renard Alexis | Cofidis | 1.4% | 0.2% | 1.2% | 151.00 | 0.4% | +1.0pp |
| Dainese Alberto | Soudal Quick-Step | 0.2% | 0.0% | 1.4% | 101.00 | 0.7% | +0.8pp |
| Bisiaux Léo | Decathlon CMA CGM Team | 0.2% | 1.4% | 0.0% | 101.00 | 0.7% | +0.7pp |
| Canal Carlos | Movistar Team | 1.4% | 0.3% | 0.5% | 301.00 | 0.2% | +1.1pp |
| Mas Enric | Movistar Team | 0.1% | 1.3% | 0.0% | n/a | – | – |
| Groves Kaden | Alpecin-Premier Tech | 0.4% | 0.0% | 1.3% | 17.00 | 4.0% | -2.7pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 22.9% | 20.8% | 24.3% | 36.2% | 51.5% | 5.50 |
| 2 | Pogacar Tadej | 11.5% | 18.4% | 10.3% | 40.8% | 62.1% | 15.00 |
| 3 | Laporte Christophe | 8.8% | 10.2% | 8.8% | 29.7% | 55.5% | 41.00 |
| 4 | Pedersen Mads | 7.9% | 10.4% | 7.7% | 25.3% | 52.7% | 3.50 |
| 5 | van Aert Wout | 6.2% | 6.0% | 6.5% | 22.2% | 47.0% | 3.50 |
| 6 | Turner Ben | 5.0% | 3.9% | 5.5% | 13.9% | 41.5% | 15.00 |
| 7 | Laurance Axel | 4.5% | 3.0% | 5.1% | 13.2% | 45.6% | 51.00 |
| 8 | Meeus Jordi | 2.5% | 2.6% | 2.6% | 11.3% | 25.7% | 15.00 |
| 9 | Fisher-Black Finn | 2.2% | 3.4% | 2.1% | 10.5% | 38.3% | 51.00 |
| 10 | Aular Orluis | 1.5% | 1.6% | 1.5% | 5.8% | 30.5% | 51.00 |
| 11 | Renard Alexis | 1.4% | 1.1% | 1.6% | 4.5% | 21.9% | 151.00 |
| 12 | Canal Carlos | 1.4% | 0.9% | 1.5% | 3.8% | 25.5% | 301.00 |
| 13 | De Schuyteneer Steffen | 1.1% | 1.3% | 1.1% | 4.6% | 20.8% | 101.00 |
| 14 | Onley Oscar | 0.8% | 0.3% | 1.0% | 4.5% | 23.2% | 301.00 |
| 15 | Tulett Ben | 0.8% | 1.5% | 0.7% | 5.5% | 25.6% | 151.00 |
| 16 | Miquel Delgado Pau | 0.8% | 0.7% | 0.8% | 3.9% | 25.4% | 101.00 |
| 17 | Carapaz Richard | 0.6% | 0.1% | 0.8% | 1.7% | 14.6% | 301.00 |
| 18 | Mulubrhan Henok | 0.6% | 0.3% | 0.6% | 1.6% | 30.7% | n/a |
| 19 | Johannessen Tobias Halland | 0.5% | 0.2% | 0.6% | 2.4% | 21.2% | 501.00 |
| 20 | Roglic Primoz | 0.5% | 0.4% | 0.6% | 1.9% | 12.3% | 201.00 |
| 21 | Cobo Ivan | 0.5% | 0.2% | 0.6% | 2.7% | 25.3% | 301.00 |
| 22 | Skjelmose Mattias | 0.5% | 0.7% | 0.5% | 3.4% | 23.2% | 301.00 |
| 23 | Debruyne Ramses | 0.5% | 0.2% | 0.6% | 1.1% | 17.4% | 301.00 |
| 24 | Brenner Marco | 0.5% | 0.3% | 0.6% | 1.1% | 19.3% | 401.00 |
| 25 | Berthet Clément | 0.4% | 0.1% | 0.5% | 1.0% | 15.0% | n/a |
| 26 | Groves Kaden | 0.4% | 0.5% | 0.3% | 2.8% | 12.7% | 17.00 |
| 27 | Garofoli Gianmarco | 0.3% | 0.1% | 0.4% | 1.0% | 23.6% | n/a |
| 28 | Kron Andreas | 0.3% | 0.1% | 0.4% | 1.0% | 16.9% | 126.00 |
| 29 | González David | 0.3% | 0.1% | 0.4% | 0.8% | 13.1% | 401.00 |
| 30 | Romeo Ivan | 0.3% | 0.1% | 0.3% | 0.8% | 10.9% | 301.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 48.2% | 55.1% | 40.5% | 72.7% | 86.3% | 15.00 |
| 2 | van Aert Wout | 5.6% | 4.8% | 5.1% | 14.9% | 41.5% | 3.50 |
| 3 | Laporte Christophe | 5.1% | 5.4% | 4.4% | 13.2% | 33.6% | 41.00 |
| 4 | Brennan Matthew | 3.7% | 6.4% | 2.5% | 14.1% | 28.1% | 5.50 |
| 5 | Onley Oscar | 3.4% | 1.5% | 3.5% | 6.0% | 33.7% | 301.00 |
| 6 | Pedersen Mads | 2.9% | 3.7% | 2.3% | 8.8% | 25.9% | 3.50 |
| 7 | Gall Felix | 2.6% | 1.3% | 2.6% | 5.9% | 30.0% | n/a |
| 8 | Roglic Primoz | 2.0% | 1.3% | 1.9% | 4.5% | 31.4% | 201.00 |
| 9 | Fisher-Black Finn | 1.8% | 2.4% | 1.4% | 7.4% | 35.0% | 51.00 |
| 10 | Vine Jay | 1.7% | 1.3% | 1.6% | 4.0% | 26.3% | 401.00 |
| 11 | Romeo Ivan | 1.6% | 1.8% | 1.4% | 6.5% | 30.5% | 301.00 |
| 12 | Widar Jarno | 1.6% | 0.8% | 1.6% | 4.0% | 33.6% | 201.00 |
| 13 | Carapaz Richard | 1.6% | 1.0% | 1.5% | 5.6% | 37.2% | 301.00 |
| 14 | Laurance Axel | 1.5% | 1.1% | 1.4% | 4.3% | 25.8% | 51.00 |
| 15 | Bisiaux Léo | 1.4% | 1.3% | 1.2% | 4.6% | 37.3% | 101.00 |
| 16 | Mas Enric | 1.3% | 0.7% | 1.3% | 8.4% | 35.9% | n/a |
| 17 | Skjelmose Mattias | 1.1% | 2.3% | 0.7% | 5.5% | 38.8% | 301.00 |
| 18 | Johannessen Tobias Halland | 0.9% | 0.8% | 0.9% | 5.5% | 37.1% | 501.00 |
| 19 | Tejada Harold | 0.8% | 0.3% | 0.9% | 2.0% | 18.4% | 401.00 |
| 20 | Kuss Sepp | 0.8% | 0.7% | 0.7% | 4.8% | 17.8% | n/a |
| 21 | Bilbao Pello | 0.8% | 0.7% | 0.7% | 1.8% | 15.8% | 501.00 |
| 22 | Berthet Clément | 0.8% | 0.4% | 0.8% | 2.6% | 22.2% | n/a |
| 23 | Almeida Joao | 0.8% | 0.9% | 0.7% | 5.1% | 17.2% | 301.00 |
| 24 | Tulett Ben | 0.8% | 1.1% | 0.6% | 3.4% | 23.5% | 151.00 |
| 25 | Vansevenant Mauri | 0.7% | 0.2% | 0.8% | 0.8% | 11.8% | 801.00 |
| 26 | Nordhagen Jørgen | 0.7% | 1.5% | 0.4% | 3.3% | 18.4% | n/a |
| 27 | Beloki Markel | 0.7% | 1.1% | 0.5% | 4.4% | 26.4% | 801.00 |
| 28 | Castrillo Pablo | 0.7% | 0.8% | 0.5% | 2.1% | 13.1% | 501.00 |
| 29 | Riccitello Matthew | 0.6% | 0.4% | 0.6% | 2.1% | 20.7% | n/a |
| 30 | Brenner Marco | 0.6% | 0.2% | 0.6% | 2.7% | 16.7% | 401.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Brennan Matthew | 45.5% | 41.0% | 44.9% | 60.4% | 80.5% | 5.50 |
| 2 | van Aert Wout | 10.2% | 9.0% | 10.2% | 29.6% | 63.2% | 3.50 |
| 3 | Meeus Jordi | 10.0% | 10.2% | 9.6% | 31.9% | 63.1% | 15.00 |
| 4 | Laporte Christophe | 5.7% | 8.2% | 4.8% | 29.4% | 63.8% | 41.00 |
| 5 | Pedersen Mads | 5.1% | 6.3% | 4.7% | 21.6% | 57.6% | 3.50 |
| 6 | Turner Ben | 3.8% | 2.8% | 4.0% | 12.0% | 48.3% | 15.00 |
| 7 | Laurance Axel | 2.7% | 2.6% | 2.6% | 8.8% | 49.9% | 51.00 |
| 8 | Pogacar Tadej | 2.4% | 5.6% | 1.5% | 13.6% | 33.9% | 15.00 |
| 9 | De Schuyteneer Steffen | 2.4% | 2.2% | 2.3% | 8.4% | 44.9% | 101.00 |
| 10 | Dainese Alberto | 1.4% | 0.9% | 1.5% | 4.8% | 29.3% | 101.00 |
| 11 | Aular Orluis | 1.3% | 1.4% | 1.3% | 5.6% | 38.5% | 51.00 |
| 12 | Groves Kaden | 1.3% | 1.2% | 1.3% | 4.8% | 27.7% | 17.00 |
| 13 | Renard Alexis | 1.2% | 1.5% | 1.0% | 6.3% | 36.8% | 151.00 |
| 14 | Govekar Matevz | 1.2% | 2.3% | 0.8% | 8.5% | 38.3% | 101.00 |
| 15 | Coquard Bryan | 0.9% | 0.5% | 1.0% | 2.4% | 38.9% | 81.00 |
| 16 | Hofstetter Hugo | 0.9% | 1.1% | 0.8% | 6.0% | 49.5% | 101.00 |
| 17 | Miquel Delgado Pau | 0.7% | 0.8% | 0.7% | 4.1% | 41.0% | 101.00 |
| 18 | González David | 0.5% | 0.1% | 0.6% | 1.2% | 31.2% | 401.00 |
| 19 | Canal Carlos | 0.5% | 0.4% | 0.5% | 2.3% | 27.4% | 301.00 |
| 20 | Brustenga Marc | 0.3% | 0.1% | 0.4% | 1.4% | 28.9% | 201.00 |
| 21 | Cort Magnus | 0.3% | 0.2% | 0.3% | 0.6% | 9.2% | 41.00 |
| 22 | Braet Vito | 0.2% | 0.0% | 0.3% | 0.6% | 25.7% | 81.00 |
| 23 | Macias Cesar | 0.2% | 0.2% | 0.2% | 1.9% | 22.1% | 301.00 |
| 24 | Mulubrhan Henok | 0.2% | 0.2% | 0.2% | 1.1% | 10.7% | n/a |
| 25 | Albanese Vincenzo | 0.2% | 0.3% | 0.2% | 0.8% | 19.4% | 81.00 |
| 26 | Garofoli Gianmarco | 0.2% | 0.2% | 0.2% | 0.8% | 13.6% | n/a |
| 27 | Oliveira Ivo | 0.2% | 0.2% | 0.2% | 1.3% | 11.0% | 126.00 |
| 28 | Fisher-Black Finn | 0.2% | 0.2% | 0.2% | 3.3% | 17.2% | 51.00 |
| 29 | Tulett Ben | 0.2% | 0.2% | 0.1% | 1.0% | 8.8% | 151.00 |
| 30 | Nys Thibau | 0.2% | 0.2% | 0.1% | 0.7% | 8.6% | 67.00 |
After the stage
| Pos | Rider | Team | Hard-men sprint win p | Pogacar kicks win p | Sprint survives win p |
|---|---|---|---|---|---|
| 1 | Brennan Matthew | Team Visma | Lease a Bike | 22.9% | 3.7% | 45.5% |
| 2 | Miquel Delgado Pau | Bahrain Victorious | 0.8% | 0.1% | 0.7% |
| 3 | Pogacar Tadej | UAE Team Emirates-XRG | 11.5% | 48.2% | 2.4% |
| 4 | Pedersen Mads | Lidl-Trek | 7.9% | 2.9% | 5.1% |
| 5 | Hofstetter Hugo | NSN Cycling Team | 0.3% | 0.1% | 0.9% |
| 6 | Johannessen Tobias Halland | Uno-X Mobility | 0.5% | 0.9% | 0.1% |
| 7 | Fisher-Black Finn | Red Bull-BORA-hansgrohe | 2.2% | 1.8% | 0.2% |
| 8 | Laurance Axel | Netcompany INEOS Cycling Team | 4.5% | 1.5% | 2.7% |
| 9 | Onley Oscar | Netcompany INEOS Cycling Team | 0.8% | 3.4% | 0.1% |
| 10 | Aular Orluis | Movistar Team | 1.5% | 0.2% | 1.3% |
| Scenario | Blend win p | Book devig |
|---|---|---|
| Hard-men sprint | 22.85% | 12.30% |
| Pogacar kicks | 3.66% | 12.30% |
| Sprint survives | 45.46% | 12.30% |
Reflection
Matthew Brennan won it, and the model out-priced the book on the winner by the biggest margin of the campaign so far. The 'hard men's sprint' base read made Brennan its outright #1 at 24.3% on the book-preserving head against a market that had him third-choice at 12.3% devig (5.50) behind Pedersen and van Aert at 3.50 each. It also had Pogacar #2 at 10.3% against 4.5% devig, and Axel Laurance #7 at 5.1% against 1.3% (51.0). Those three finished 1st, 3rd and 8th. Pedersen, the book's co-favourite, was 4th and sat 4th on our board; van Aert, its other co-favourite at 19.3% devig, was faded to 6.5% and came 22nd. On the two names where model and market disagreed hardest, the model was right in both directions.
The read of WHO would contest was close to exact; the read of HOW MANY was not, and that is the whole story of the day. The archived top-15 composition came back sprint .40 / rolling .27 / hilly .13 / time_trial .13 / mountain .07 — set that beside res_7's canonical signature (sprint .37 / time_trial .21 / hilly .16 / breakaway .14 / mountain .07) and the family and grade we keyed were essentially the right point in composition space. What we missed was group size: 41 riders finished on Brennan's time, 22.3% of the field, which trips the macro rule's 20% bar and routes the day to `bunch` before the residual analogs are ever consulted. Four riders the other way and the key scores exact. Tier-3 therefore records stage 2 as exact=False, covered=False, weight_on_true=0.00 (running 1/2, 1/2, mean 0.50) — an honest miss on the scoring rule, but a miss of shape by four bodies, not a miss of archetype. It is a live instance of the menu's own stated asymmetry: composition is roughly twice as forward-predictable as finishing-time shape (r .739 vs .452), and this is what the .452 half feels like.
The retrieval channel did exactly the thing it was built to do and also paid exactly the price it was warned to pay. It promoted Pau Miquel from production rank 17 onto the published board at 11 — and Pau Miquel finished SECOND at 101.0. That is the retrieval-only architecture earning its keep in public: a rider the untouched production ranking left outside the top 15 was surfaced by the key, priced by the unmodified heads, and ran second. But the same key dropped Onley (9th) and Tulett (11th) to make room, so the day-menu board held 7 of the actual top 15 against the production board's 8. Net pool retrieval was one worse. The mechanism is the same mis-sizing as above: keying a fractured finish sheds climbers, and in a bunch that arrived 41-strong the climbers did not get shed. Prices were structurally untouched throughout, as gate 6 promises — the cost landed entirely in pool composition, which is the only place it can land.
Carry-forward. (1) The `bunch`/res_7 boundary is the live risk on this race, not the family question — on a Vuelta full of drag finishes we will keep landing near the 20% line, and the honest response is to keep keying composition and accept that shape-driven macro routing will sometimes overrule a correct read rather than to start hedging keys toward `bunch` for scoring cosmetics. Menu v1 stands; this is a scoring-rule interaction, not evidence of item drift. (2) The pre-registered gc_day worry did NOT materialise — the oracle routed on group size, not on the prologue-contaminated GC top-10 — so that caveat can be retired for flat days and kept only for genuinely selective ones. (3) The model's three worst calls were Laporte (#3 at 8.8%, finished 57th), Turner (#6, 113th) and Meeus (#8, 129th): all three are riders whose case rested on being fast in a group that stayed together, and all three were simply not there at the end. Watch whether Laporte in particular keeps being over-ranked on drag finishes now that his stage-1 form reading is carrying weight.