Cycling race predictor Β· CRO Race

Stage 6 β€” 2026-09-27

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 100 riders priced models retrained 75c6e7af51 book snapshot no capture

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.

Main read

The main read β€” the day as the key says it goes
sprint0.48
mountain0.04
hilly0.39
rolling0.02
break0.07
TT0.00
keyed: bunch sprint 0.6 / survivor gallop 0.2 / split sprint 0.1 (written by the automated reader, not by a person) (board order by rider-type retrieval; prices unchanged)
The main board. It inherits the config-root day key and is priced on the reference set that key selects.
Top 5 (blend): Magnier Paul 57.8%; Teutenberg Tim Torn 4.9%; Kogut Oded 4.1%; Blikra Erlend 3.6%; Donati Davide 1.8%

Alt: res_3

The other branch β€” a reduced bunch sprint
sprint0.01
mountain0.12
hilly0.02
rolling0.45
break0.41
TT0.00
keyed: survivor gallop (written by the automated reader, not by a person) (board order by rider-type retrieval; prices unchanged)
The alternate branch, chosen by the driver because the day key carries weight in a second family (a sprint off a hard finale). It is priced as if that shape were certain, so the two boards bracket the read.
Top 5 (blend): Magnier Paul 33.0%; Tiberi Antonio 7.6%; Teutenberg Tim Torn 7.5%; Van Wilder Ilan 6.4%; Boichis Adrien 6.4%

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 Main read 87%, Alt: res_3 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.

RiderTeamMain readAlt: res_3Book oddsBook devigMax edge
Magnier PaulSoudal Quick-Step57.8%33.0%n/a––
Tiberi AntonioBahrain Victorious0.3%7.6%n/a––
Teutenberg Tim TornLidl-Trek4.9%7.5%n/a––
Van Wilder IlanSoudal Quick-Step0.1%6.4%n/a––
Boichis AdrienRed Bull-BORA-hansgrohe1.4%6.4%n/a––
Zambanini EdoardoBahrain Victorious1.4%6.1%n/a––
Kogut OdedNSN Cycling Team4.1%2.2%n/a––
Blikra ErlendUno-X Mobility3.6%0.7%n/a––
Wellens TimUAE Team Emirates-XRG0.1%3.4%n/a––
Politt NilsUAE Team Emirates-XRG0.1%3.3%n/a––
Kulset JohannesUno-X Mobility0.1%2.0%n/a––
Donati DavideRed Bull-BORA-hansgrohe1.8%0.4%n/a––
Martinez DanielRed Bull-BORA-hansgrohe0.0%1.7%n/a––
Teuns DylanCofidis0.1%1.6%n/a––
Belletta DarioTeam Polti VisitMalta0.7%1.6%n/a––
Zanoncello EnricoBardiani-CSF 7 Saber1.5%0.6%n/a––
Oliveira RuiUAE Team Emirates-XRG1.3%1.3%n/a––
Bevort Carl-FrederikUno-X Mobility0.9%1.2%n/a––
The main read β€” the day as the key says it goes β€” top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Magnier Paul57.8%50.2%68.1%68.9%80.8%n/a
2Teutenberg Tim Torn4.9%5.8%5.3%20.0%66.1%n/a
3Kogut Oded4.1%4.8%4.5%16.8%46.2%n/a
4Blikra Erlend3.6%6.0%3.6%17.8%41.6%n/a
5Donati Davide1.8%3.1%1.7%9.4%42.4%n/a
6Zanoncello Enrico1.5%1.0%1.9%7.8%39.5%n/a
7Zambanini Edoardo1.4%0.9%1.7%4.8%41.1%n/a
8Boichis Adrien1.4%1.6%1.5%5.4%38.3%n/a
9Oliveira Rui1.3%1.4%1.5%8.1%38.9%n/a
10Darder Sergi1.0%1.1%1.1%7.3%58.3%n/a
11Bevort Carl-Frederik0.9%1.4%0.9%5.5%43.1%n/a
12Erzen Zak0.8%0.9%0.8%4.4%39.4%n/a
13Viviani Attilio0.7%0.6%0.8%3.5%23.9%n/a
14Belletta Dario0.7%0.5%0.8%2.3%42.7%n/a
15Buratti NicolΓ²0.4%0.9%0.4%3.6%32.7%n/a
16Theuns Edward0.3%0.2%0.4%2.5%23.2%n/a
17Gazzoli Michele0.3%0.7%0.3%3.9%26.3%n/a
18Skerl Daniel0.3%0.7%0.2%3.3%19.0%n/a
19McDonald Brody0.3%0.8%0.2%3.3%37.3%n/a
20MartΓ­n Gotzon0.3%0.1%0.3%1.4%26.7%n/a
21Tiberi Antonio0.3%0.1%0.3%1.5%17.8%n/a
22Pedersen Henrik0.2%0.1%0.3%1.2%23.7%n/a
23Maestri Mirco0.2%0.1%0.2%0.6%14.2%n/a
24De Longhi Lorenzo0.2%0.2%0.2%1.4%14.0%n/a
25Pesenti Thomas0.1%0.1%0.2%1.2%20.3%n/a
26BarcelΓ³ Fernando0.1%0.1%0.1%0.9%13.9%n/a
27Izquierdo Clement0.1%0.3%0.1%1.3%16.9%n/a
28Kulset Johannes0.1%0.1%0.1%0.6%12.8%n/a
29van Gestel Dries0.1%0.1%0.1%0.6%7.7%n/a
30Politt Nils0.1%0.1%0.1%0.4%7.4%n/a
The other branch β€” a reduced bunch sprint β€” top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Magnier Paul33.0%41.0%30.9%56.8%69.7%n/a
2Tiberi Antonio7.6%6.7%7.8%25.6%76.0%n/a
3Teutenberg Tim Torn7.5%7.6%7.5%20.6%57.6%n/a
4Van Wilder Ilan6.4%4.8%6.8%13.8%48.1%n/a
5Boichis Adrien6.4%6.3%6.4%21.1%64.2%n/a
6Zambanini Edoardo6.1%2.6%6.9%11.0%57.3%n/a
7Wellens Tim3.4%4.7%3.1%15.3%68.5%n/a
8Politt Nils3.3%2.2%3.6%7.7%36.4%n/a
9Kogut Oded2.2%1.6%2.3%5.9%17.7%n/a
10Kulset Johannes2.0%1.9%2.0%6.6%51.2%n/a
11Martinez Daniel1.7%2.2%1.5%9.5%40.8%n/a
12Teuns Dylan1.6%1.5%1.7%5.1%51.8%n/a
13Belletta Dario1.6%0.6%1.8%2.6%31.9%n/a
14Oliveira Rui1.3%1.6%1.2%8.2%32.5%n/a
15Bevort Carl-Frederik1.2%1.6%1.1%5.3%33.6%n/a
16Blikra Erlend0.7%0.8%0.7%4.2%14.4%n/a
17Theuns Edward0.7%0.7%0.7%4.4%28.3%n/a
18Izquierdo Clement0.7%0.9%0.6%3.2%26.4%n/a
19Zanoncello Enrico0.6%0.6%0.7%4.4%22.5%n/a
20Pedersen Henrik0.6%1.0%0.5%4.0%34.4%n/a
21Balmer Alexandre0.6%0.8%0.6%2.7%17.4%n/a
22Tolio Alex0.5%0.2%0.6%1.3%31.1%n/a
23Pesenti Thomas0.5%0.2%0.6%2.0%24.1%n/a
24MartΓ­n Gotzon0.5%0.2%0.5%1.6%21.0%n/a
25Cras Steff0.5%0.3%0.5%2.2%26.8%n/a
26Donati Davide0.4%1.3%0.2%4.1%18.1%n/a
27Darder Sergi0.4%0.4%0.4%3.0%23.6%n/a
28Nicolau Joel0.4%0.2%0.4%1.3%32.6%n/a
29BarcelΓ³ Fernando0.4%0.2%0.4%2.1%11.3%n/a
30Agirre Jon0.4%0.2%0.4%1.0%24.5%n/a

After the stage

Results β€” won by Donati Davide

PosRiderTeamMain read win pAlt: res_3 win p
1Donati DavideRed Bull-BORA-hansgrohe1.8%0.4%
2De Longhi LorenzoCofidis0.2%0.0%
3Magnier PaulSoudal Quick-Step57.8%33.0%
4Teutenberg Tim TornLidl-Trek4.9%7.5%
5Blikra ErlendUno-X Mobility3.6%0.7%
6Bevort Carl-FrederikUno-X Mobility0.9%1.2%
7Zanoncello EnricoBardiani-CSF 7 Saber1.5%0.6%
8McDonald BrodyModern Adventure Pro Cycling0.3%0.0%
9Petric BastianPogi Team Gusto Ljubljana0.0%0.0%
10Darder SergiCaja Rural-Seguros RGA1.0%0.4%

Scenario scoring β€” probability given to the actual winner

ScenarioBlend win pBook devig
Main read1.79%–
Alt: res_30.43%–