Cycling race predictor Β· Vuelta a EspaΓ±a 2026

GC tracker β€” the favourites, stage by stage

After every stage the race-aware GC outlook head re-prices the final general classification from the standings, the gaps and the stages left. It is the one part of the model that watches the race, so it leads this page; the pre-race blend, which only knows what happened before the start, is shown beside it for contrast. Each column is one evening's logged opinion; the current board sits on top.

state through stage 21 classification through stage 21 142 riders still in the race 19 checkpoints logged updated 2026-09-17

The current top 10

#RiderTeam GC gap
after s21
Outlook
sees the race
Pre-race blend
form + references only
Book devig
1Mas EnricMovistar Team0:0065.8%8.6%82.9%
2Roglic PrimozRed Bull-BORA-hansgrohe+2:1522.6%28.6%7.3%
3Gall FelixDecathlon CMA CGM Team+2:441.1%13.1%4.1%
4Kuss SeppTeam Visma | Lease a Bike+8:450.6%1.7%0.2%
5Carapaz RichardEF Education-EasyPost+6:540.4%3.7%3.3%
6Onley OscarNetcompany INEOS+9:280.3%10.6%1.1%
7Omrzel JakobBahrain Victorious+10:380.2%1.8%0.3%
8Skjelmose MattiasLidl-Trek+25:430.2%3.5%0.1%
9Aparicio MarioBurgos Burpellet BH+42:170.1%0.1%–
10Bisiaux LΓ©oDecathlon CMA CGM Team+25:030.1%1.3%0.1%
Ordered by the outlook head, the one head that sees the race state: standings, gaps and stages remaining. It scores contenders only (a rider it never priced shows a dash) and its per-rider numbers do not sum to exactly one book, so read a row as "how safe is this position" rather than as a like-for-like price. The pre-race blend is the main heads with live form and the DNF-adjusted active field: it prices the final GC from what happened before the race and never sees the standings, which is why it barely moves from one evening to the next and why a rider who has already lost an hour can still carry his pre-race price there. It sums to 109% over the field, so compare it with the book column directionally only.

How the race has actually gone

Riderafter s1after s2s3
cancelled
after s4after s5after s6after s7after s8after s9after s10after s11after s12after s13after s14after s15after s16after s17after s18after s19after s20after s21
Mas Enric50+0:3324+0:37β€”3+3:323+3:322+3:342+3:5010:0010:0010:0010:0010:0010:0010:0010:0010:0010:0010:0010:0010:0010:00
Roglic Primoz24+0:229+0:26β€”2+3:212+3:213+4:213+4:502+1:002+1:182+1:182+1:182+1:452+1:453+2:103+2:103+2:103+2:102+1:372+1:372+2:152+2:15
Gall Felix91+0:4663+1:08β€”7+3:577+3:575+4:554+5:013+1:113+1:393+1:393+1:393+2:063+2:062+2:062+2:062+2:062+2:063+3:013+3:013+2:443+2:44
Carapaz Richard52+0:3325+0:37β€”6+3:506+3:504+4:507+6:126+2:225+3:265+3:265+3:264+3:534+3:534+4:244+4:244+4:244+4:244+5:174+5:174+6:544+6:54
Kuss Sepp89+0:4538+0:49β€”4+3:444+3:446+5:365+6:054+2:157+4:097+4:097+4:098+7:588+7:5810+8:5510+8:5510+8:5510+8:5511+10:3411+11:045+8:455+8:45
Onley Oscar106+0:5043+0:54β€”5+3:455+3:457+5:376+6:065+2:164+2:204+2:204+2:205+4:295+4:295+5:445+5:445+5:445+5:445+6:035+6:036+9:286+9:28
Omrzel Jakob72+0:4053+1:02β€”20+9:1720+9:1715+13:1911+9:5410+6:0410+8:0510+8:0510+8:056+4:596+4:596+6:146+6:146+6:146+6:146+7:006+7:067+10:387+10:38
Berthet ClΓ©ment77+0:4335+0:47β€”16+7:3216+7:3213+9:2412+11:2111+7:3111+9:3211+9:3211+9:3211+13:2110+11:069+7:199+7:199+7:199+7:197+7:477+7:578+11:418+11:41
Rodriguez Cristian143+1:0080+1:22β€”24+9:5124+9:5114+11:4316+13:0215+9:1213+9:4213+9:4213+9:4212+13:2911+11:108+7:018+7:018+7:018+7:019+7:518+8:219+11:599+11:59
Tejada Harold59+0:3627+0:40β€”14+5:3014+5:3010+6:309+7:468+3:568+4:398+4:398+4:3910+8:339+8:3311+9:4811+9:4811+9:4811+9:4810+9:5710+10:2710+14:4010+12:51
Bisiaux LΓ©o6+0:084+0:12β€”18+8:4418+8:4418+14:4314+12:1313+8:2315+13:5115+13:5115+13:5113+16:0812+13:3612+16:2512+16:2512+16:2512+16:2512+18:3613+19:1712+26:5212+25:03
Skjelmose Mattias40+0:2921+0:33β€”8+4:068+4:069+5:588+7:177+3:276+3:556+3:556+3:557+7:427+5:327+6:497+6:497+6:497+6:498+7:519+9:0613+27:3213+25:43
Widar Jarno129+0:5577+1:17β€”9+4:069+4:0611+8:0815+12:4914+8:5912+9:3412+9:3412+9:3415+20:2114+17:4518+37:0021+43:4522+49:2623+51:1223+57:1928+81:0023+80:4123+78:52
Debruyne Ramses112+0:5015+0:31β€”12+4:4412+4:448+5:4018+15:2421+14:5618+16:5718+23:2318+23:2326+49:4430+62:0639+90:3136+87:4336+88:4839+90:1839+94:1444+117:5532+112:2032+110:31
van Aert Wout8+0:092+0:09β€”95+25:0076+24:5675+41:2440+37:3835+33:4246+55:5345+55:5342+55:5145+82:1240+79:0255+107:2747+104:3347+104:3346+104:3346+104:0150+127:4244+137:2444+135:35
Fisher-Black Finn9+0:105+0:14β€”54+23:3048+23:3093+48:17108+66:52106+63:02104+87:0496+87:0488+87:0492+121:2483+118:4883+134:5975+133:1372+133:1372+134:0870+133:3769+148:1054+158:1252+156:23
Brennan Matthew16+0:163+0:10β€”96+25:0175+24:51109+53:56127+72:44121+68:54124+104:25122+105:45113+105:35119+143:07102+140:21106+168:29101+167:3299+167:2299+167:1299+170:27102+199:29110+241:53108+240:02
Chamberlain Oscar7+0:0993+1:54β€”139+26:45159+37:24163+68:00157+83:57157+83:07155+120:55155+131:27156+139:26150+172:11136+177:12132+197:16133+207:02133+207:02133+207:02129+207:04126+230:45113+248:22114+248:22
Thornley Callum4+0:05150+3:36β€”166+28:27171+39:13126+55:41133+74:29127+70:39139+111:22135+117:48132+117:48131+155:20127+167:42131+197:12136+214:03137+216:33137+218:07136+217:18129+234:52125+268:20128+272:20
Hayter Ethan20:0013+0:29β€”71+23:54138+34:34153+65:10146+78:44139+74:54150+115:37151+127:55154+137:28152+175:06152+208:51148+238:21148+243:09145+243:41145+243:41142+243:21140+273:15139+313:18139+317:18
Pogacar Tadej10:0010:00β€”10:0010:0010:0010:00outoutoutoutoutoutoutoutoutoutoutoutoutout
Tarling Joshua3+0:0491+1:49β€”136+26:40160+37:26outoutoutoutoutoutoutoutoutoutoutoutoutoutoutout
Laporte Christophe5+0:0612+0:28β€”100+25:1982+25:19112+54:24128+73:12122+69:22112+92:46112+100:15106+100:15113+137:47132+171:32outoutoutoutoutoutoutout
Kluckers Arthur10+0:11170+5:15β€”174+31:25174+42:11172+71:16167+89:41161+85:51164+126:34159+137:06160+146:45outoutoutoutoutoutoutoutoutout
KΓΌng Stefan12+0:146+0:18β€”51+23:1946+23:1986+44:1281+54:2379+50:3362+65:3357+65:3356+65:3365+97:4659+99:2264+118:4359+116:5759+116:5759+116:5756+116:05outoutout
Vine Jay13+0:147+0:18β€”10+4:1110+4:1119+14:4526+26:2837+34:1169+69:4279+80:1495+90:47outoutoutoutoutoutoutoutoutout
Pedersen Mads15+0:168+0:20β€”58+23:36136+34:22143+61:22136+74:56130+71:00127+106:31140+118:49outoutoutoutoutoutoutoutoutoutout
Labrosse Jordan25+0:2310+0:27β€”52+23:28102+27:2874+40:5889+57:3985+53:4975+73:4866+73:4866+73:4877+106:0174+107:34outoutoutoutoutoutoutout
MΓΌhlberger Gregor70+0:3952+1:01β€”11+4:3411+4:3412+8:3610+9:299+5:399+7:339+7:339+7:339+8:27outoutoutoutoutoutoutoutout
The official classification after each stage, from the FirstCycling results archive β€” place, with the gap to the leader beneath it. Every rider who has held a top-10 place, ordered by the current standing; "out" = no longer classified. Stage 3 was cancelled and never raced: it adds no time to anyone, so it is skipped rather than treated as a missing result, and every later classification still lines up.

How the race-aware board moved

Riderafter s1
🟑 Pogacar
after s2
🟑 Pogacar
after s4
🟑 Pogacar
after s5
🟑 Pogacar
after s6
🟑 Pogacar
after s7
🟑 Pogacar
after s8
🟑 Mas
after s9
🟑 Mas
after s10
🟑 Mas
after s11
🟑 Mas
after s12
🟑 Mas
after s13
🟑 Mas
after s14
🟑 Mas
after s15
🟑 Mas
after s16
🟑 Mas
after s17
🟑 Mas
after s19
🟑 Mas
after s20
🟑 Mas
after s21
🟑 Mas
Mas Enric1.4%1.9%2.1%2.1%3.3%2.8%19.4%33.9%48.5%46.7%47.0%34.1%34.5%36.6%56.2%57.1%59.1%77.9%65.8%
Roglic Primoz22.5%28.8%24.0%22.4%21.2%20.7%27.9%29.7%25.0%25.1%27.0%27.4%26.2%24.3%29.4%28.2%38.8%31.2%22.6%
Gall Felix1.3%0.9%0.9%0.8%0.9%0.9%4.0%4.2%3.8%3.6%3.2%3.4%3.0%2.9%1.1%1.0%1.0%1.1%1.1%
Kuss Sepp0.9%1.0%1.4%1.4%0.7%1.0%2.2%0.6%0.6%0.6%0.5%0.5%0.4%0.4%0.2%0.2%0.1%0.6%0.6%
Carapaz Richard1.5%1.4%1.1%1.1%1.9%0.8%1.1%1.3%1.3%1.3%1.6%1.0%1.0%0.9%0.5%0.4%0.4%0.4%0.4%
Onley Oscar0.8%0.7%2.4%2.4%0.8%0.9%1.7%2.1%1.9%1.9%0.8%0.8%0.8%0.8%0.6%0.6%0.5%0.3%0.3%
Omrzel Jakob–––––0.4%0.4%0.4%0.4%0.4%0.5%0.5%0.5%0.5%0.4%0.4%0.3%0.2%0.2%
Skjelmose Mattias1.4%2.0%0.9%0.9%0.9%0.8%1.0%0.8%0.7%0.7%0.7%0.7%0.6%0.6%0.3%0.3%0.2%0.2%0.2%
Aparicio Mario–––––––––––––––––0.1%0.1%
Bisiaux LΓ©o–––––––––––0.4%–0.4%0.2%0.2%0.1%0.1%0.1%
Berthet ClΓ©ment–––––0.4%–0.4%0.4%0.4%0.4%0.3%0.4%0.3%0.2%0.1%0.1%0.1%0.1%
Martin Guillaume––––0.3%0.4%0.4%0.3%0.3%0.3%0.3%0.3%0.3%0.3%0.2%0.2%0.1%0.1%0.1%
Tejada Harold––0.6%0.6%0.5%0.6%0.7%0.7%0.6%0.6%0.4%0.5%0.4%0.3%0.2%0.1%0.1%0.1%0.1%
Pogacar Tadej80.3%80.7%89.0%88.7%88.8%88.5%outoutoutoutoutoutoutoutoutoutoutoutout
Almeida Joao4.9%6.0%–––––––––––––––––
Johannessen Tobias Halland2.0%1.5%–––––––––––––––––
Vine Jay1.6%1.6%0.6%0.6%––––––outoutoutoutoutoutoutoutout
Nordhagen JΓΈrgen1.3%0.8%0.6%––––––––––––––––
Rodriguez Carlos1.1%1.0%–––––––––––––––––
Widar Jarno0.9%0.6%0.6%0.6%0.5%0.5%0.5%0.5%0.4%0.4%0.4%0.4%0.5%––––––
Riccitello Matthew0.9%0.7%––0.6%0.7%0.6%0.6%0.6%0.6%0.5%0.5%0.5%0.4%0.2%0.2%0.2%outout
Pickering Finlay––––––0.5%––––––––––––
MΓΌhlberger Gregor––0.5%0.5%0.4%–0.4%0.4%0.4%0.4%0.5%outoutoutoutoutoutoutout
Rodriguez Juan Felipe––––––––––––0.4%0.4%0.2%0.2%0.1%––
The GC outlook head at each checkpoint β€” every rider who has appeared in its top-10, ordered by the current board. Bold = inside that evening's top-10; "out" = no longer in the race when that opinion was logged. 🟑 names the actual race leader at each checkpoint. Columns are labelled by the stage the road had reached, which is what the state was built from. This head sees the standings, the gaps and the stages remaining, so it is the row that should move when the race does; it scores contenders only, so a rider it never priced shows a dash.

The pre-race view, for contrast

Riderafter s1
🟑 Pogacar
after s2
🟑 Pogacar
after s4
🟑 Pogacar
after s5
🟑 Pogacar
after s6
🟑 Pogacar
after s7
🟑 Pogacar
after s8
🟑 Mas
after s9
🟑 Mas
after s10
🟑 Mas
after s11
🟑 Mas
after s12
🟑 Mas
after s13
🟑 Mas
after s14
🟑 Mas
after s15
🟑 Mas
after s16
🟑 Mas
after s17
🟑 Mas
after s19
🟑 Mas
after s20
🟑 Mas
after s21
🟑 Mas
Roglic Primoz7.6%7.6%7.7%7.7%7.9%8.0%20.1%25.3%24.7%29.9%29.0%31.0%29.6%30.0%22.3%22.8%22.9%29.8%28.6%
Gall Felix6.8%6.9%6.9%6.8%6.8%7.0%15.1%14.9%14.8%15.6%16.3%16.8%17.9%16.9%13.8%13.3%12.8%13.5%13.1%
Onley Oscar7.7%7.5%7.6%7.3%7.2%7.3%14.9%15.1%15.0%15.9%15.4%15.9%16.1%16.2%9.7%10.1%10.4%11.4%10.6%
Mas Enric3.1%3.1%3.1%3.0%3.1%3.1%7.0%7.5%7.9%8.3%8.8%9.1%8.6%8.7%8.6%8.8%9.1%9.3%8.6%
Johannessen Tobias Halland1.0%1.0%1.0%1.0%0.8%1.0%1.6%2.1%2.0%2.1%2.1%2.1%1.9%1.9%3.7%4.1%4.2%3.7%5.6%
Carapaz Richard2.0%1.9%1.9%2.0%1.9%2.0%3.8%4.1%4.0%4.4%4.3%4.7%4.2%4.2%3.6%3.8%3.8%3.9%3.7%
Skjelmose Mattias3.4%3.3%3.3%3.4%3.3%3.3%6.5%6.9%6.8%7.1%7.3%7.5%7.4%7.5%3.5%3.6%3.3%4.0%3.5%
Almeida Joao2.6%2.6%2.4%2.4%2.3%2.4%4.5%2.9%3.1%3.2%3.4%3.5%3.5%3.5%4.5%4.5%4.4%3.4%3.2%
Buitrago Santiago0.4%0.4%0.4%0.4%0.4%0.4%0.7%0.7%0.7%0.8%0.7%0.8%0.7%0.7%1.7%1.8%1.9%3.3%3.2%
van Aert Wout1.0%1.0%0.8%0.8%0.8%0.8%1.2%2.0%2.0%2.2%2.1%2.4%2.3%2.3%1.6%1.7%1.7%1.7%2.1%
Omrzel Jakob0.3%0.3%0.3%0.3%0.3%0.3%0.5%0.6%0.6%0.6%0.6%0.6%0.6%0.6%2.3%2.4%2.4%1.7%1.8%
Romeo Ivan0.6%0.6%0.6%0.6%0.6%0.6%1.0%0.7%0.7%0.9%0.9%1.0%0.9%0.9%1.3%1.3%1.3%2.2%1.5%
Widar Jarno1.0%1.0%1.0%1.0%1.0%1.0%2.0%1.2%1.2%1.2%1.3%1.3%1.3%1.3%1.7%1.7%1.6%1.6%1.5%
Pogacar Tadej74.0%74.0%73.9%74.5%74.1%73.9%outoutoutoutoutoutoutoutoutoutoutoutout
Vine Jay1.0%1.0%1.0%1.1%1.1%1.1%2.9%1.3%1.4%1.4%outoutoutoutoutoutoutoutout
Riccitello Matthew0.8%0.8%0.8%0.8%0.8%0.8%2.0%1.4%1.4%1.6%1.6%1.6%1.9%1.9%2.4%2.4%2.3%outout
Model GC win probability (blend) at each checkpoint β€” every rider who has appeared in a top-10, ordered by the current board. Bold = inside that evening's top-10; "out" = no longer in the race when that opinion was logged. 🟑 names the actual race leader at each checkpoint. The row is close to flat by construction β€” these heads price the final GC from form and the reference editions, and never see the standings β€” so treat this table as the baseline the race-aware head above is moving against, not as a forecast of the race as it stands.