Cycling race predictor Β· Tour of Taihu Lake

Stage 4 β€” 2026-09-15

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

1 scenarios 112 riders priced models retrained d911de60f7 book snapshot no capture

The fork

1 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.

Hindsight (post-hoc)

Hindsight (post-hoc) β€” oracle-matched references
sprint0.99
mountain0.01
hilly0.00
rolling0.00
break0.00
TT0.00
keyed: bunch sprint (board order by rider-type retrieval; prices unchanged)
RETROSPECTIVE ONLY β€” no pre-race prediction was made. This board uses the settled result as the oracle and the nearest historical realized race shapes. It is corpus completion, not evidence of forecasting skill.
Top 5 (blend): Rajovic Dusan 31.5%; Malucelli Matteo 26.2%; Salby Alexander 17.5%; Barbier Pierre 7.4%; Scott Cameron 3.9%

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 Hindsight (post-hoc) 117% β€” 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.

RiderTeamHindsight (post-hoc)Book oddsBook devigMax edge
Rajovic DusanSOLUTION TECH NIPPO RALI31.5%n/a––
Malucelli MatteoXDS ASTANA TEAM26.2%n/a––
Salby AlexanderLI NING STAR17.5%n/a––
Barbier PierreTERENGGANU CYCLING TEAM7.4%n/a––
Scott CameronLI NING STAR3.9%n/a––
Walsh LiamCCACHE X BODYWRAP3.5%n/a––
Munoz HodeiEUSKALTEL-EUSKADI3.0%n/a––
Oosterlinck JoesVAN RYSEL ROUBAIX2.2%n/a––
Rasch JesperCHINA ANTA - MENTECH CYCLING TEAM1.8%n/a––
Konychev AlexanderCHINA ANTA - MENTECH CYCLING TEAM1.5%n/a––
Pita CristianROOJAI INSURANCE WINSPACE1.3%n/a––
Nencini TommasoSOLUTION TECH NIPPO RALI1.3%n/a––
Finkst TilenSOLUTION TECH NIPPO RALI1.3%n/a––
Lopez JordiEUSKALTEL-EUSKADI1.3%n/a––
Syritsa GlebXDS ASTANA TEAM1.3%n/a––
Hindsight (post-hoc) β€” oracle-matched references β€” top 30, all heads
#RiderBlendCascade LambdaRankPodiumTop 15 Book odds
1Rajovic Dusan31.5%32.2%26.7%61.7%84.0%n/a
2Malucelli Matteo26.2%18.2%24.3%50.6%81.0%n/a
3Salby Alexander17.5%20.7%14.1%47.2%75.7%n/a
4Barbier Pierre7.4%13.1%4.9%31.6%68.9%n/a
5Scott Cameron3.9%3.6%3.4%14.5%58.9%n/a
6Walsh Liam3.5%4.3%2.8%14.2%58.6%n/a
7Munoz Hodei3.0%4.3%2.2%16.7%68.9%n/a
8Oosterlinck Joes2.2%1.3%2.1%5.7%53.3%n/a
9Rasch Jesper1.8%2.2%1.4%7.4%48.9%n/a
10Konychev Alexander1.5%1.0%1.4%4.3%42.7%n/a
11Pita Cristian1.3%1.0%1.2%4.3%35.5%n/a
12Nencini Tommaso1.3%0.7%1.3%3.2%39.3%n/a
13Finkst Tilen1.3%1.0%1.2%3.9%44.2%n/a
14Lopez Jordi1.3%0.9%1.2%3.4%28.6%n/a
15Syritsa Gleb1.3%2.8%0.7%12.3%44.6%n/a
16Vahtra Norman0.9%1.1%0.7%4.0%39.8%n/a
17Ugarte Gari0.9%0.4%0.9%1.5%41.7%n/a
18Hamdan Wan Abdul Rahman0.9%0.9%0.7%3.6%25.4%n/a
19Isasa Xabier0.8%0.3%0.8%1.9%25.6%n/a
20Rysbay Dias0.7%0.8%0.6%2.4%24.7%n/a
21Shnyrko Aliaksei0.7%0.5%0.6%2.0%17.2%n/a
22Wang Gustav0.6%0.2%0.7%1.1%19.7%n/a
23Bradac Adam0.5%0.9%0.4%6.2%42.7%n/a
24Da Silva Tiano0.5%0.4%0.4%2.3%40.7%n/a
25Sydor Serhii0.4%0.3%0.4%2.2%32.6%n/a
26Fox Matthew0.4%0.1%0.4%1.1%22.7%n/a
27Phonarjthan Patompob0.4%0.3%0.4%1.5%13.1%n/a
28RΓ€im Mihkel0.3%0.2%0.3%1.6%20.9%n/a
29Yelyubayev Ruslan0.3%0.1%0.3%1.1%11.5%n/a
30Hopkins Dylan0.3%0.3%0.2%1.5%18.8%n/a

After the stage

Results β€” won by Malucelli Matteo

PosRiderTeamHindsight (post-hoc) win p
1Malucelli MatteoXDS ASTANA TEAM26.2%
2Giddings JoshuaLOTTO INTERMARCHÉ0.2%
3Rajovic DusanSOLUTION TECH NIPPO RALI31.5%
4Salby AlexanderLI NING STAR17.5%
5Syritsa GlebXDS ASTANA TEAM1.3%
6Scott CameronLI NING STAR3.9%
7Bradac AdamFACTOR RACING0.5%
8Pita CristianROOJAI INSURANCE WINSPACE1.3%
9Rasch JesperCHINA ANTA - MENTECH CYCLING TEAM1.8%
10Eather KurtCCACHE X BODYWRAP0.1%

1 rider in the top 15 is shown under a provisional identity pending reconciliation: PITA BOLAΓ‘OS Alexander.

Scenario scoring β€” probability given to the actual winner

ScenarioBlend win pBook devig
Hindsight (post-hoc)26.17%–