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 GC summit 105%, Mountain break 105%, Hard selection 100% — 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 | GC summit | Mountain break | Hard selection | Book odds | Book devig | Max edge |
|---|---|---|---|---|---|---|---|
| Pogacar Tadej | UAE Team Emirates-XRG | 36.8% | 46.0% | 64.5% | 1.67 | 37.7% | +26.9pp |
| Onley Oscar | Netcompany INEOS | 6.6% | 3.9% | 3.9% | 21.00 | 3.0% | +3.6pp |
| Gall Felix | Decathlon CMA CGM Team | 3.1% | 4.4% | 3.5% | 101.00 | 0.6% | +3.7pp |
| Carapaz Richard | EF Education-EasyPost | 3.7% | 3.4% | 2.1% | 34.00 | 1.8% | +1.8pp |
| Roglic Primoz | Red Bull-BORA-hansgrohe | 3.7% | 2.4% | 1.6% | 67.00 | 0.9% | +2.7pp |
| van Aert Wout | Team Visma | Lease a Bike | 2.6% | 0.8% | 0.3% | 26.00 | 2.4% | +0.2pp |
| Mas Enric | Movistar Team | 2.1% | 2.3% | 1.9% | 201.00 | 0.3% | +2.0pp |
| Kuss Sepp | Team Visma | Lease a Bike | 1.1% | 2.3% | 1.3% | 201.00 | 0.3% | +2.0pp |
| Johannessen Tobias Halland | Uno-X Mobility | 2.1% | 1.7% | 1.0% | 67.00 | 0.9% | +1.1pp |
| Vine Jay | UAE Team Emirates-XRG | 2.0% | 2.0% | 1.1% | 23.00 | 2.7% | -0.7pp |
| Fisher-Black Finn | Red Bull-BORA-hansgrohe | 2.0% | 0.9% | 0.6% | 19.00 | 3.3% | -1.4pp |
| Romeo Ivan | Movistar Team | 1.9% | 2.0% | 0.9% | 29.00 | 2.2% | -0.2pp |
| Laporte Christophe | Team Visma | Lease a Bike | 1.8% | 0.7% | 0.2% | 301.00 | 0.2% | +1.6pp |
| Uijtdebroeks Cian | Movistar Team | 1.0% | 1.8% | 1.6% | 601.00 | 0.1% | +1.7pp |
| Skjelmose Mattias | Lidl-Trek | 1.6% | 1.4% | 1.2% | 81.00 | 0.8% | +0.8pp |
| Riccitello Matthew | Decathlon CMA CGM Team | 0.9% | 1.4% | 1.0% | 601.00 | 0.1% | +1.3pp |
| Tejada Harold | XDS Astana Team | 1.3% | 1.1% | 0.5% | 41.00 | 1.5% | -0.2pp |
| Almeida Joao | UAE Team Emirates-XRG | 1.2% | 0.9% | 0.5% | 126.00 | 0.5% | +0.7pp |
| Berthet Clément | Groupama-FDJ United | 1.2% | 0.7% | 0.4% | 301.00 | 0.2% | +1.0pp |
| Widar Jarno | Lotto-Intermarché | 1.2% | 1.0% | 0.5% | 126.00 | 0.5% | +0.7pp |
| Nordhagen Jørgen | Team Visma | Lease a Bike | 0.9% | 1.2% | 1.0% | 501.00 | 0.1% | +1.1pp |
| Castrillo Pablo | Movistar Team | 1.1% | 1.0% | 0.5% | 41.00 | 1.5% | -0.4pp |
| Bisiaux Léo | Decathlon CMA CGM Team | 1.0% | 1.1% | 0.6% | 34.00 | 1.8% | -0.7pp |
| Tulett Ben | Team Visma | Lease a Bike | 1.0% | 1.1% | 0.7% | 29.00 | 2.2% | -1.0pp |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 36.8% | 48.3% | 32.1% | 69.6% | 85.7% | 1.67 |
| 2 | Onley Oscar | 6.6% | 4.2% | 6.9% | 16.4% | 64.8% | 21.00 |
| 3 | Carapaz Richard | 3.7% | 2.1% | 3.9% | 10.7% | 56.5% | 34.00 |
| 4 | Roglic Primoz | 3.7% | 2.0% | 3.9% | 7.8% | 58.2% | 67.00 |
| 5 | Gall Felix | 3.1% | 2.2% | 3.2% | 8.9% | 45.5% | 101.00 |
| 6 | van Aert Wout | 2.6% | 2.2% | 2.5% | 10.6% | 24.1% | 26.00 |
| 7 | Mas Enric | 2.1% | 1.2% | 2.3% | 5.9% | 42.2% | 201.00 |
| 8 | Johannessen Tobias Halland | 2.1% | 1.2% | 2.2% | 5.1% | 47.4% | 67.00 |
| 9 | Vine Jay | 2.0% | 1.8% | 1.9% | 6.1% | 40.7% | 23.00 |
| 10 | Fisher-Black Finn | 2.0% | 2.6% | 1.7% | 9.3% | 36.5% | 19.00 |
| 11 | Romeo Ivan | 1.9% | 2.5% | 1.6% | 8.3% | 35.0% | 29.00 |
| 12 | Laporte Christophe | 1.8% | 2.3% | 1.6% | 5.8% | 17.4% | 301.00 |
| 13 | Skjelmose Mattias | 1.6% | 1.6% | 1.5% | 5.2% | 42.1% | 81.00 |
| 14 | Tejada Harold | 1.3% | 1.0% | 1.3% | 4.5% | 33.9% | 41.00 |
| 15 | Almeida Joao | 1.2% | 1.0% | 1.2% | 4.1% | 20.6% | 126.00 |
| 16 | Berthet Clément | 1.2% | 0.5% | 1.3% | 2.6% | 35.5% | 301.00 |
| 17 | Widar Jarno | 1.2% | 0.9% | 1.2% | 4.4% | 31.7% | 126.00 |
| 18 | Kuss Sepp | 1.1% | 0.7% | 1.2% | 3.6% | 36.8% | 201.00 |
| 19 | Castrillo Pablo | 1.1% | 1.0% | 1.1% | 2.2% | 8.6% | 41.00 |
| 20 | Pedersen Mads | 1.1% | 2.2% | 0.8% | 5.0% | 15.3% | 41.00 |
| 21 | Laurance Axel | 1.0% | 1.0% | 1.0% | 3.0% | 17.2% | 34.00 |
| 22 | Uijtdebroeks Cian | 1.0% | 1.0% | 1.0% | 4.7% | 34.3% | 601.00 |
| 23 | Bisiaux Léo | 1.0% | 1.2% | 0.9% | 4.7% | 42.2% | 34.00 |
| 24 | Tulett Ben | 1.0% | 1.2% | 0.9% | 4.1% | 32.3% | 29.00 |
| 25 | Vansevenant Mauri | 1.0% | 0.2% | 1.1% | 1.0% | 12.3% | 201.00 |
| 26 | Nordhagen Jørgen | 0.9% | 2.1% | 0.6% | 3.7% | 26.2% | 501.00 |
| 27 | Buitrago Santiago | 0.9% | 0.5% | 1.0% | 2.1% | 33.0% | 101.00 |
| 28 | Bilbao Pello | 0.9% | 0.5% | 1.0% | 1.9% | 14.3% | 126.00 |
| 29 | Rodriguez Carlos | 0.9% | 1.5% | 0.7% | 2.7% | 43.9% | 401.00 |
| 30 | Riccitello Matthew | 0.9% | 0.4% | 0.9% | 1.9% | 26.6% | 601.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 46.0% | 53.7% | 42.1% | 68.8% | 83.5% | 1.67 |
| 2 | Gall Felix | 4.4% | 2.9% | 4.5% | 10.7% | 45.9% | 101.00 |
| 3 | Onley Oscar | 3.9% | 2.5% | 4.1% | 9.7% | 44.3% | 21.00 |
| 4 | Carapaz Richard | 3.4% | 1.6% | 3.6% | 7.8% | 44.4% | 34.00 |
| 5 | Roglic Primoz | 2.4% | 1.5% | 2.6% | 5.1% | 45.0% | 67.00 |
| 6 | Mas Enric | 2.3% | 1.1% | 2.5% | 5.3% | 38.3% | 201.00 |
| 7 | Kuss Sepp | 2.3% | 2.9% | 2.0% | 8.5% | 37.2% | 201.00 |
| 8 | Vine Jay | 2.0% | 1.9% | 1.9% | 5.6% | 33.5% | 23.00 |
| 9 | Romeo Ivan | 2.0% | 2.5% | 1.7% | 8.0% | 30.2% | 29.00 |
| 10 | Uijtdebroeks Cian | 1.8% | 1.8% | 1.7% | 6.2% | 35.6% | 601.00 |
| 11 | Johannessen Tobias Halland | 1.7% | 1.1% | 1.7% | 4.5% | 41.7% | 67.00 |
| 12 | Riccitello Matthew | 1.4% | 0.4% | 1.6% | 2.8% | 36.0% | 601.00 |
| 13 | Skjelmose Mattias | 1.4% | 1.2% | 1.4% | 4.6% | 38.6% | 81.00 |
| 14 | Nordhagen Jørgen | 1.2% | 2.6% | 0.8% | 4.5% | 30.1% | 501.00 |
| 15 | Bisiaux Léo | 1.1% | 1.6% | 0.9% | 5.5% | 38.5% | 34.00 |
| 16 | Tulett Ben | 1.1% | 0.8% | 1.2% | 3.4% | 35.9% | 29.00 |
| 17 | Tejada Harold | 1.1% | 1.1% | 1.0% | 4.4% | 34.1% | 41.00 |
| 18 | Rodriguez Carlos | 1.1% | 1.1% | 1.0% | 4.2% | 35.4% | 401.00 |
| 19 | Widar Jarno | 1.0% | 0.9% | 1.0% | 4.0% | 25.6% | 126.00 |
| 20 | Castrillo Pablo | 1.0% | 1.0% | 0.9% | 3.6% | 17.8% | 41.00 |
| 21 | Almeida Joao | 0.9% | 1.3% | 0.8% | 5.5% | 27.1% | 126.00 |
| 22 | Buitrago Santiago | 0.9% | 0.4% | 1.0% | 2.1% | 31.6% | 101.00 |
| 23 | Fisher-Black Finn | 0.9% | 0.7% | 0.9% | 3.0% | 40.6% | 19.00 |
| 24 | van Aert Wout | 0.8% | 1.2% | 0.6% | 10.3% | 28.6% | 26.00 |
| 25 | Fortunato Lorenzo | 0.7% | 0.1% | 0.8% | 1.9% | 12.8% | 51.00 |
| 26 | Berthet Clément | 0.7% | 0.4% | 0.8% | 2.0% | 30.4% | 301.00 |
| 27 | Beloki Markel | 0.7% | 1.2% | 0.5% | 4.0% | 21.6% | 67.00 |
| 28 | Paret-Peintre Valentin | 0.7% | 0.8% | 0.6% | 3.4% | 17.5% | 34.00 |
| 29 | Laporte Christophe | 0.7% | 1.5% | 0.5% | 2.7% | 6.6% | 301.00 |
| 30 | Bilbao Pello | 0.6% | 0.3% | 0.7% | 1.6% | 13.6% | 126.00 |
| # | Rider | Blend | Cascade | LambdaRank | Podium | Top 15 | Book odds |
|---|---|---|---|---|---|---|---|
| 1 | Pogacar Tadej | 64.5% | 58.5% | 65.7% | 77.2% | 89.7% | 1.67 |
| 2 | Onley Oscar | 3.9% | 2.7% | 4.1% | 12.5% | 54.1% | 21.00 |
| 3 | Gall Felix | 3.5% | 2.9% | 3.6% | 11.0% | 51.6% | 101.00 |
| 4 | Carapaz Richard | 2.1% | 1.6% | 2.2% | 7.9% | 49.4% | 34.00 |
| 5 | Mas Enric | 1.9% | 1.2% | 2.0% | 7.1% | 46.6% | 201.00 |
| 6 | Roglic Primoz | 1.6% | 1.5% | 1.6% | 6.0% | 49.6% | 67.00 |
| 7 | Uijtdebroeks Cian | 1.6% | 1.9% | 1.5% | 6.5% | 40.2% | 601.00 |
| 8 | Kuss Sepp | 1.3% | 1.6% | 1.2% | 6.8% | 36.1% | 201.00 |
| 9 | Skjelmose Mattias | 1.2% | 1.5% | 1.2% | 6.1% | 45.8% | 81.00 |
| 10 | Vine Jay | 1.1% | 1.3% | 1.0% | 5.0% | 36.9% | 23.00 |
| 11 | Riccitello Matthew | 1.0% | 1.0% | 1.0% | 4.9% | 39.8% | 601.00 |
| 12 | Nordhagen Jørgen | 1.0% | 2.5% | 0.6% | 4.5% | 32.7% | 501.00 |
| 13 | Johannessen Tobias Halland | 1.0% | 1.0% | 1.0% | 4.6% | 45.8% | 67.00 |
| 14 | Romeo Ivan | 0.9% | 1.0% | 0.9% | 5.4% | 25.9% | 29.00 |
| 15 | Rodriguez Carlos | 0.7% | 1.4% | 0.5% | 3.1% | 46.0% | 401.00 |
| 16 | Tulett Ben | 0.7% | 1.3% | 0.6% | 5.4% | 29.2% | 29.00 |
| 17 | Fisher-Black Finn | 0.6% | 1.2% | 0.4% | 5.1% | 32.8% | 19.00 |
| 18 | Bisiaux Léo | 0.6% | 1.0% | 0.5% | 5.8% | 43.4% | 34.00 |
| 19 | Tejada Harold | 0.5% | 0.8% | 0.5% | 4.6% | 35.5% | 41.00 |
| 20 | Castrillo Pablo | 0.5% | 0.6% | 0.5% | 1.8% | 6.8% | 41.00 |
| 21 | Almeida Joao | 0.5% | 0.9% | 0.4% | 13.4% | 37.4% | 126.00 |
| 22 | Widar Jarno | 0.5% | 0.4% | 0.5% | 3.2% | 24.6% | 126.00 |
| 23 | Buitrago Santiago | 0.5% | 0.3% | 0.5% | 1.9% | 31.7% | 101.00 |
| 24 | Berthet Clément | 0.4% | 0.4% | 0.4% | 2.1% | 31.1% | 301.00 |
| 25 | Fortunato Lorenzo | 0.3% | 0.1% | 0.4% | 2.4% | 14.5% | 51.00 |
| 26 | van Aert Wout | 0.3% | 1.2% | 0.1% | 10.4% | 23.3% | 26.00 |
| 27 | Omrzel Jakob | 0.3% | 0.6% | 0.3% | 3.6% | 34.6% | 201.00 |
| 28 | Bilbao Pello | 0.3% | 0.3% | 0.3% | 1.5% | 12.9% | 126.00 |
| 29 | Landa Mikel | 0.3% | 0.1% | 0.4% | 0.9% | 14.5% | 151.00 |
| 30 | Svestad-Bårdseng Embret | 0.3% | 0.3% | 0.3% | 1.4% | 13.9% | 401.00 |
After the stage
The stage hasn't been settled yet — this section fills in once the results capture runs after the finish.
Reflection
STAGE CANCELLED — no result, and no verdict on this read. Riders were stopped by a heavy downpour and then a hailstorm on the Col de Mont-Louis with roughly 15 km left, took shelter, and the stage was abandoned on safety grounds before anyone reached Font-Romeu. The general classification stands exactly as it did in Manosque: Pogacar in red, van Aert +9s, Brennan +10s. The race resumes with stage 4 around Andorra la Vella.
The boards below were run and logged before the start and are preserved unchanged, but they are a prediction that never got tested — nothing here should be read as a hit or a miss. `score_day_keys.py` correctly declines to score a result-less stage, so the day key `{gc_day: 0.75, res_2: 0.25}` is NOT counted against the tier-3 record; the campaign scorecard stays at 1/2 exact over stages 1 and 2. That is the right behaviour and needed no intervention: the oracle labeller is driven off archived results, and there are none.
One thing the cancellation does carry forward. The reasoning that set this key — GC so compressed that no break is genuinely free — was written on standings that are now three days old and still unchanged, because no climbing has been raced. It therefore applies with MORE force to stage 4, not less: the field arrives in Andorra having done two flat-ish days, a 4-hour cancelled effort in the legs, and still no separation whatsoever between the GC men. Stage 4 inherits both the argument and the compressed standings intact.