Cycling race predictor · Vuelta a España 2026

Stage 18 — 2026-09-10

The same production stack priced under 2 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.

2 scenarios 148 riders priced models retrained d911de60f7 book snapshot markets_1558.json

The fork

2 readings of the same road

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.

Specialist ITT

Specialist's drag — a pure time trial rewards the pure rouleur
sprint0.00
mountain0.00
hilly0.00
rolling0.00
break0.00
TT1.00
Five flat individual time trials of the same length and the same shape as Jerez, won by a rouleur rather than a general-classification rider: Giro 2024 stage 14 (Ganna, winning time 35:02), Giro 2021 stage 21 (Ganna, 33:48), Dauphine 2022 stage 4 (Ganna, 35:32), Tour 2025 stage 5 (Evenepoel, 36:42) and Algarve 2022 stage 4 (Evenepoel, 37:49). Tenth place lost 47 to 132 seconds on these days. Time trial terrain profiles are one-hot in model space (time_trial 1.0, everything else 0.0), so a scenario fork on a time trial is a fork on FIELD-SPREAD SHAPE, not terrain. This is the read where 32 virtually flat kilometres with only three real interruptions - the bends out of El Puerto de Santa Maria, the corner at El Portal after 12.7 km and the twists around Estella del Marques - let sustained power decide and put the specialists clear of the race's own contenders.
Top 5 (blend): Roglic Primoz 19.5%; van Aert Wout 10.9%; Romeo Ivan 8.0%; Almeida Joao 6.3%; Fisher-Black Finn 4.6%

GC engine

The GC engine takes it — the men fighting for the podium own the day
sprint0.00
mountain0.00
hilly0.00
rolling0.00
break0.00
TT1.00
Five flat grand tour time trials won by the race leader or by a rider in the general classification fight rather than by a specialist: Vuelta 2022 stage 10 (Evenepoel in red, 33:18), Tour 2021 stage 20 (van Aert, 35:53), Tour 2021 stage 5 (Pogacar, 32:00), Tour 2019 stage 13 (Alaphilippe in yellow, 35:00) and Vuelta 2021 stage 21 (Roglic in red, 44:02). The read where the third week has emptied the field of fresh specialists, the stage is the last chance to move the classification before the Estepona and Alguacil weekend, and the podium contenders are the strongest men left on the road.
Top 5 (blend): Roglic Primoz 18.3%; van Aert Wout 10.5%; Romeo Ivan 7.4%; Almeida Joao 6.5%; Fisher-Black Finn 4.6%

The board

Win probabilities, scenario by scenario

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 Specialist ITT 90%, GC engine 88% — 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.

RiderTeamSpecialist ITTGC engineBook oddsBook devigMax edge
Roglic PrimozRed Bull-BORA-hansgrohe19.5%18.3%13.005.6%+13.9pp
van Aert WoutTeam Visma | Lease a Bike10.9%10.5%2.5029.3%-18.3pp
Romeo IvanMovistar Team8.0%7.4%19.003.8%+4.2pp
Almeida JoaoUAE Team Emirates-XRG6.3%6.5%34.002.2%+4.3pp
Fisher-Black FinnRed Bull-BORA-hansgrohe4.6%4.6%101.000.7%+3.9pp
Küng StefanTudor Pro Cycling Team4.5%4.3%4.5016.3%-11.8pp
Chamberlain OscarDecathlon CMA CGM Team3.3%4.0%101.000.7%+3.3pp
Skjelmose MattiasLidl-Trek3.4%3.1%26.002.8%+0.6pp
Thornley CallumRed Bull-BORA-hansgrohe3.2%3.2%34.002.2%+1.0pp
Hayter EthanSoudal Quick-Step2.3%2.8%3.5020.9%-18.1pp
Armirail BrunoTeam Visma | Lease a Bike2.4%2.4%8.009.1%-6.7pp
Onley OscarNetcompany INEOS1.7%1.6%1501.000.0%+1.7pp
Mas EnricMovistar Team1.5%1.3%501.000.1%+1.4pp
Brenner MarcoTudor Pro Cycling Team1.4%1.3%301.000.2%+1.2pp
Gall FelixDecathlon CMA CGM Team1.3%1.3%2001.000.0%+1.3pp
Oliveira IvoUAE Team Emirates-XRG1.3%1.1%151.000.5%+0.8pp
Castrillo PabloMovistar Team1.2%1.2%67.001.1%+0.1pp
Nordhagen JørgenTeam Visma | Lease a Bike1.1%0.9%2001.000.0%+1.1pp
Specialist's drag — a pure time trial rewards the pure rouleur — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Roglic Primoz19.5%17.5%22.2%46.2%83.4%13.00
2van Aert Wout10.9%8.7%12.6%23.5%57.1%2.50
3Romeo Ivan8.0%14.1%7.4%26.9%60.1%19.00
4Almeida Joao6.3%2.9%7.8%12.8%45.7%34.00
5Fisher-Black Finn4.6%5.6%4.9%19.1%54.6%101.00
6Küng Stefan4.5%3.0%5.3%10.6%58.1%4.50
7Skjelmose Mattias3.4%2.5%4.0%11.3%70.1%26.00
8Chamberlain Oscar3.3%3.6%3.6%9.4%48.9%101.00
9Thornley Callum3.2%3.3%3.5%13.6%49.3%34.00
10Armirail Bruno2.4%3.0%2.6%12.5%55.2%8.00
11Hayter Ethan2.3%1.8%2.7%6.4%28.8%3.50
12Onley Oscar1.7%1.3%2.0%5.4%48.3%1501.00
13Mas Enric1.5%2.1%1.5%11.0%55.3%501.00
14Brenner Marco1.4%1.0%1.6%5.4%25.1%301.00
15Gall Felix1.3%1.8%1.3%7.7%49.2%2001.00
16Oliveira Ivo1.3%0.7%1.6%5.4%34.1%151.00
17Castrillo Pablo1.2%0.8%1.5%1.8%18.4%67.00
18Nordhagen Jørgen1.1%1.6%1.1%6.1%32.0%2001.00
19Bisiaux Léo0.9%0.8%1.0%3.8%27.7%801.00
20Rodriguez Carlos0.9%0.6%1.0%2.1%13.8%n/a
21Brennan Matthew0.9%2.4%0.6%4.5%12.1%401.00
22Buitrago Santiago0.7%2.1%0.5%3.6%16.2%n/a
23Riccitello Matthew0.7%0.6%0.8%1.8%22.8%n/a
24Leknessund Andreas0.6%0.5%0.6%2.8%14.8%151.00
25Tuckwell Luke0.5%0.3%0.6%2.4%13.8%2001.00
26García Raúl0.4%0.3%0.5%2.9%21.4%401.00
27Barta William0.4%0.2%0.5%2.9%21.6%n/a
28Tejada Harold0.4%0.6%0.4%1.8%20.9%801.00
29De Pestel Sander0.4%0.3%0.4%2.3%20.3%301.00
30De Schuyteneer Steffen0.3%0.5%0.4%2.2%11.3%n/a
The GC engine takes it — the men fighting for the podium own the day — top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Roglic Primoz18.3%17.1%21.1%44.4%82.4%13.00
2van Aert Wout10.5%8.5%12.5%23.7%58.7%2.50
3Romeo Ivan7.4%11.0%7.6%24.1%61.6%19.00
4Almeida Joao6.5%3.2%8.2%12.6%45.0%34.00
5Fisher-Black Finn4.6%5.6%5.0%19.6%56.1%101.00
6Küng Stefan4.3%2.8%5.3%10.3%58.8%4.50
7Chamberlain Oscar4.0%4.9%4.4%12.2%58.0%101.00
8Thornley Callum3.2%3.3%3.6%12.3%51.0%34.00
9Skjelmose Mattias3.1%2.1%3.8%9.1%63.1%26.00
10Hayter Ethan2.8%2.5%3.3%7.4%31.7%3.50
11Armirail Bruno2.4%3.0%2.5%11.5%57.0%8.00
12Onley Oscar1.6%1.3%1.9%5.5%46.9%1501.00
13Mas Enric1.3%2.1%1.3%9.9%54.5%501.00
14Brenner Marco1.3%1.6%1.5%5.5%31.5%301.00
15Gall Felix1.3%1.8%1.4%7.8%48.3%2001.00
16Castrillo Pablo1.2%0.7%1.5%1.8%16.5%67.00
17Oliveira Ivo1.1%0.6%1.4%5.3%35.9%151.00
18Rodriguez Carlos0.9%0.6%1.2%2.6%13.1%n/a
19Bisiaux Léo0.9%0.7%1.1%3.1%28.2%801.00
20Nordhagen Jørgen0.9%0.8%1.0%4.9%22.6%2001.00
21Brennan Matthew0.8%2.2%0.5%4.4%12.2%401.00
22Buitrago Santiago0.7%2.0%0.5%3.7%16.5%n/a
23Riccitello Matthew0.6%0.6%0.7%1.8%22.3%n/a
24Leknessund Andreas0.5%0.5%0.6%3.0%15.6%151.00
25Tuckwell Luke0.5%0.2%0.6%2.6%14.2%2001.00
26Barta William0.5%0.2%0.6%3.0%22.4%n/a
27García Raúl0.4%0.5%0.5%3.2%21.8%401.00
28De Schuyteneer Steffen0.4%0.5%0.4%2.1%10.6%n/a
29Tejada Harold0.4%0.5%0.4%1.6%20.3%801.00
30De Pestel Sander0.4%0.3%0.4%2.4%20.8%301.00

After the stage

Results — won by Küng Stefan

PosRiderTeamSpecialist ITT win pGC engine win p
1Küng StefanTudor Pro Cycling Team4.5%4.3%
2Thornley CallumRed Bull-BORA-hansgrohe3.2%3.2%
3Almeida JoãoUAE Team Emirates-XRG––
4Roglic PrimozRed Bull-BORA-hansgrohe19.5%18.3%
5van Aert WoutTeam Visma | Lease a Bike10.9%10.5%
6Fisher-Black FinnRed Bull-BORA-hansgrohe4.6%4.6%
7Armirail BrunoTeam Visma | Lease a Bike2.4%2.4%
8Oliveira IvoUAE Team Emirates-XRG1.3%1.1%
9Hayter EthanSoudal Quick-Step2.3%2.8%
10Azparren XabierPinarello-Q36.5 Pro Cycling Team––

Scenario scoring — probability given to the actual winner

ScenarioBlend win pBook devig
Specialist ITT4.48%16.25%
GC engine4.34%16.25%

Reflection

What we make of it

The road picked the specialist branch, and picked it cleanly. Stefan Kung won in 35:22, three seconds ahead of Callum Thornley, with Joao Almeida third at nine seconds. Wout van Aert, the devigged favourite at 29.3%, was fifth at twenty seconds. The book had read the day correctly as a time trial engines' day: van Aert, Hayter, Kung and Armirail held 0.756 of the market between them and the winner came from inside that group.

The classification moved, but less than the terrain threatened. Primoz Roglic was the best of the general classification men, fourth at nineteen seconds, and took thirty-three seconds out of Enric Mas to cut the lead from 2:10 to 1:37. Felix Gall lost enough to drop from second to third. That is the whole of the day's effect on the race: a tighter top two going into the queen stage, and a podium order settled one place lower down.

The read that was never logged is the one worth recording. The shadow agent keyed the day {itt: 1.0} at confidence 0.97 on the evening before, routing the macro mechanically off the road book rather than off the market, and the oracle returned itt. That is the second time this race that a time trial has been keyed at full weight and come back exact. The cost of the missed cycle is not a bad read; it is the absence of a priced board to compare against a book that, on this evidence, had the day right.