Every morning of the Vuelta we published the model's prices next to the bookmaker's, chose a "day key" that said what kind of stage we expected, and let the road settle it. This is the full accounting: where the model held its own, where it lost, whether the fix we built after the Tour worked, and how the whole thing compares with July.
← System overview & season boards · Vuelta stage-by-stage diary · Vuelta GC tracker · The Tour review
The verdict, in six sentences. On picking stage winners the model finished the Vuelta level with the market: 2.919 against 2.942 in average log loss, where the Tour had ended −0.46 against us. It was ahead on 11 of 17 scored days, and on the ten days decided by the peloton or the GC group it was clearly better than the market, not just level. The losses came where they always come, on days a breakaway decided the stage, but this time the market could not see those winners either, so they cost us far less than in July. Deeper down the result the picture reversed: the model was behind the market at five, ten and fifteen riders deep, the one place it had been ahead at the Tour. The day-key channel we built after the Tour named the right kind of day two times in three but kept under-weighting the escape on mountain days, and it changed the published boards very little. And in the GC, once Pogačar abandoned, the main board sat on 8% for the rider wearing the red jersey for two weeks, while the side head we call the "GC outlook" matched the market on the winner and beat it on the podium. That head should be pricing the GC page.
This is written for someone who follows cycling and has no reason to know how a forecasting model or a betting market works. The market's odds are used here as a yardstick for information, not as advice: they are the best public summary of what everyone paying attention thinks will happen, so matching them means the model is capturing about as much as the crowd, and beating them means it knows something the crowd has not priced. Six terms carry the page.
Unibet's odds via the Kambi feed, captured the evening before each stage. We use it as the benchmark forecast because it aggregates the views of everyone willing to stake money on the outcome.
Bookmaker odds are inflated so the book profits whatever happens; the implied chances add to 140–150%, not 100%. Devigging strips that margin out. Every market number on this page is devigged, and both boards are rescaled over the same riders so they add to exactly one winner.
The standard score for a probability forecast. You are charged for how surprised you were by what happened. Confidently right scores near zero, confidently wrong scores badly. Lower is better. Nats is the unit. A rule of thumb: giving the winner 10% instead of 20% costs 0.69 nats. ±0.1 per stage is small, ±1.0 is a badly missed day.
Each morning we published two to four "reads": alternative stories about how the day might go, each with its own priced board. The honest way to score us is to average across those reads, because we never said which one to believe. "Best read" numbers are shown as an upper bound only.
A ranking check with no probabilities in it. Of the riders who actually finished in the top ten, how many were in your own top ten? Reported as percentage points of model minus market.
Project terms, new since the Tour. The day key is a morning guess at what kind of stage it will be, as weights over a fixed menu (bunch sprint, GC day, time trial, or several kinds of "residual" day where an escape or a hard selection decides it). The oracle labels the same day afterwards from the actual result. A key is exact when its heaviest item is the oracle's, covered when the oracle's item got any weight at all.
What is and is not in the count. Stage 3 was cancelled in a hailstorm on the Col de Mont-Louis and is not scored. Stages 13, 18 and 19 were missed mornings: no key was chosen and no board was published before the start, so they are excluded rather than reconstructed. That leaves 17 scored stages and 50 published reads. Hidden calibration anchors and after-the-fact "hindsight" runs are never in a settlement number.
The fairest single comparison is the winner market: how much probability each board put on the rider who actually won, averaged over the 17 scored stages, with the model scored the way it was published (equal weight across that morning's reads).
| Frame | Vuelta: model | Vuelta: market | Tour: model | Tour: market |
|---|---|---|---|---|
| Equal weight across published reads (honest, ex-ante) | 2.919 | 2.942 | 2.407 | 1.944 |
| Best read per stage, picked after the fact (upper bound) | 2.636 | 2.942 | 2.129 | 1.944 |
| Favourite won: reads where our top pick won / market's top pick won | 22 of 50 | 19 of 50 | 22 of 57 | 34 of 57 |
Average winner-market log loss per stage, lower is better. At the Tour the market beat us by 0.46 nats a stage. At the Vuelta the gap is +0.023 in the model's favour, which is a tie. Our favourite won on 22 reads to the market's 19.
Notice the second thing in that table before the first. The market's own score was 2.942 at the Vuelta against 1.944 at the Tour. This was a much harder race to forecast for everyone: the overwhelming favourite left it on stage 8, five stages went to escapes, and three were won by riders the market had at under 1%. So "level with the market" here is level with a market that was itself struggling. That matters for how much credit to take, and it comes back in the section on hard days.
Here is the whole race, day by day: how far above or below the market the model priced each actual winner.
Per-stage winner-market difference in nats: how much more (green) or less (red) probability the model put on the actual winner than the market did, equal weight across that day's published reads. Tags mark the stage classes discussed below. Each stage links to its preview page.
Two things stand out. The good days are big: the model's four best days (stage 1, stage 6, stage 21, stage 2) are each worth more than half a nat, and only one stage all Tour had done that. And the bad days are smaller than the Tour's. The worst day here is −1.40; the Tour had four days worse than that.
The market made Joshua Tarling a 42% favourite for a 9.4 km city prologue and had Pogačar at 10.5%. The model, which cannot tell a short technical prologue from a long flat time trial and simply prices class, had Pogačar first at 37%. Pogačar won; Tarling was third. This was the first of a pattern: on days the market typecast a rider by discipline, the model's "quality transfers" default won.
The market priced Pogačar at 21% and spread the rest of its probability across a card of breakaway specialists: Tulett, Johannessen, Fortunato, Vine, Bisiaux, Bilbao. Not one of them finished in the top twenty. The model refused the whole card and had Pogačar at 52%. Stage 4 in Andorra was the same story in miniature: Vine and Fortunato were the market's second and third choices and finished 11th and 40th, and our board had the whole GC group home in nearly the right order.
The market made Wout van Aert a 37% favourite for the cobbled city circuit. He finished 65th. Our published boards were wrong too: two of the three reads had Brennan first. But the third, the "late move" read, had van Aert, Debruyne and Johannessen as its top three. Johannessen won and Debruyne was third, and that read priced the winner at 4.2% against the market's 0.8%. The scenario fork carried knowledge the model itself does not have.
Matthew Brennan was the market's third choice at 12.3% behind Pedersen and van Aert. The model had him first at 23.6% and Pogačar second; they finished first and third, and the faded van Aert was 22nd. The day key also promoted Pau Miquel from 17th on the production board to 11th on the published one, and he finished second at odds of 101.
The same pattern shows up in the small print. Among riders who finished on a stage podium, these are the ones where the model had been furthest above the market:
| Stage | Rider | Finished | Model | Market | Ratio |
|---|---|---|---|---|---|
| St 2 | Pogacar Tadej | 3 | 18.8% | 4.5% | ×4.2 |
| St 20 | Debruyne Ramses | 3 | 2.6% | 0.7% | ×4.0 |
| St 20 | Johannessen Tobias Halland | 2 | 4.8% | 1.3% | ×3.7 |
| St 1 | Pogacar Tadej | 1 | 36.7% | 10.5% | ×3.5 |
| St 9 | Roglic Primoz | 3 | 13.2% | 3.8% | ×3.5 |
| St 21 | Debruyne Ramses | 3 | 2.8% | 1.0% | ×2.8 |
| St 6 | Pogacar Tadej | 1 | 52.3% | 20.6% | ×2.5 |
| St 21 | Johannessen Tobias Halland | 1 | 2.0% | 0.8% | ×2.5 |
Win probability on the rider, model (equal weight across reads) against the devigged market, for podium finishers. Roglič third at Aitana, Johannessen and Debruyne second and third from the escape on stage 20, Gall third in Andorra: the model kept finding the right riders in the places behind the winner, especially on GC days.
The worst day. The model had Brennan first at 51%, twice the market's price, with Meeus second and Pedersen fifth. They finished 90th, 111th and 163rd: the hills after the rest day shed every pure sprinter and Bastien Tronchon won from a 68-rider group of everyone else. The day key said "bunch" and was graded exact, because 68 riders is a bunch. The board was still useless, because it was the wrong bunch. This is the cleanest example in the race of the two questions a day key has to answer, how big the front group is and who is in it, coming apart.
Mikel Landa won alone from the escape. Every read, and the hindsight run given the day's real shape, had him around 0.3% and 50th on the board; the market had him at 0.8%. His best result of 2026 before this was 14th, and he had not won a race since 2021. Some winners are not mispriced so much as unpriceable from a results record. The consolation was real: the model had Johannessen and Debruyne, second and third, at three to five times the market's price.
The model's worst day in absolute terms. Pogačar had 3:34 in hand and no reason to race; the bunch conceded the break twenty minutes, and Andreas Leknessund won at odds of 151. Our official read put 60% on a GC day and had Pogačar at 59%; the production board found one of the actual top fifteen. Nobody priced Leknessund, but the market at least had the day's shape right, with a full card of break riders behind Pogačar.
Two different failures. On the heat-shortened stage 15 the model had Brennan first at 44% and van Aert third; van Aert's own team rode the last climb to launch him instead of setting up Brennan, and he won from a five-man escape. At Aitana the model got the right four riders in its top four and simply put too little on the one who won: Mas at 5.1% against the market's 10.0%, behind Roglič, Gall and Onley.
And the mirror image of the table above: podium finishers where the market had been furthest above the model.
| Stage | Rider | Finished | Model | Market | Ratio |
|---|---|---|---|---|---|
| St 15 | Romele Alessandro | 2 | 0.1% | 2.8% | ×0.03 |
| St 15 | Nys Thibau | 3 | 0.1% | 1.9% | ×0.07 |
| St 10 | Nys Thibau | 3 | 0.1% | 1.3% | ×0.08 |
| St 10 | Cort Magnus | 2 | 0.1% | 1.3% | ×0.11 |
| St 11 | Coquard Bryan | 2 | 0.6% | 5.4% | ×0.12 |
| St 6 | Debruyne Ramses | 3 | 0.2% | 1.6% | ×0.14 |
| St 14 | Buitrago Santiago | 2 | 1.4% | 10.0% | ×0.14 |
| St 14 | Rodriguez Cristian | 3 | 0.6% | 3.4% | ×0.17 |
Almost every name here is a rider who finishes at the front of reduced or escape groups: Romele, Nys, Cort, Coquard, Buitrago, Cristian Rodríguez. The market rates them from watching races; the model's features, built on results, kept leaving them outside its top fifteen. This group is the Vuelta's version of the Tour's "hard-man" problem, and it is where the depth deficit below comes from.
At the Tour the pattern was clear: the model was behind the market on the winner and the podium, level by ten riders deep and slightly ahead by fifteen. The Vuelta flipped it. For each depth, count how many of the actual top-k finishers each board had in its own top k, summed over the scored stages:
| Depth | Model | Market | Vuelta delta | Tour delta |
|---|---|---|---|---|
| Top 3 | 16.3 / 51 (32%) | 15 / 51 (29%) | +2.6pp | −9.6pp |
| Top 5 | 28.7 / 85 (34%) | 35 / 85 (41%) | −7.4pp | −4.9pp |
| Top 10 | 66.3 / 170 (39%) | 71 / 170 (42%) | −2.7pp | −0.2pp |
| Top 15 | 103.0 / 255 (40%) | 119 / 255 (47%) | −6.3pp | +0.3pp |
Actual top-k riders captured inside each board's own top k, summed over 17 stages (Tour: 20). Model = its published reads averaged per stage. Rank correlation over the whole field: model 0.445, market 0.465 (Tour: 0.507 against 0.532). On the podium market, priced on 8 stages, the two were level: 0.0520 against 0.0524 mean per-rider log loss.
So the Tour's diagnosis, "we read the race as well as the market but will not commit to our favourite", does not describe the Vuelta. Here the model committed, and was often right to. What it lost was the middle of the board: the 16-rider deficit at fifteen deep is concentrated on the escape days: on stages 7, 14 and 15 the market's card of break specialists found three to six of the top fifteen and our production board found one or two. The next two sections split that out.
The Tour's most fixable defect was under-confidence: when the model said 38% it happened 40% of the time, when it said 60% on a top-five place it happened 82%. Here is the same table for the Vuelta. Each cell reads probability we stated → rate it actually happened, and bold marks a gap of more than eight points.
| Head | Stated 0.10–0.20 | 0.20–0.30 | 0.30–0.50 | 0.50–0.75 | 0.75+ |
|---|---|---|---|---|---|
| Winner | 0.12 → 0.00 (n34) | 0.24 → 0.33 (n6) | 0.42 → 0.60 (n15) | 0.60 → 0.65 (n17) | — |
| Podium | 0.13 → 0.12 (n150) | 0.25 → 0.15 (n66) | 0.36 → 0.44 (n34) | 0.63 → 0.64 (n22) | 0.80 → 0.64 (n11) |
| Top 5 | 0.14 → 0.12 (n483) | 0.24 → 0.19 (n99) | 0.39 → 0.28 (n104) | 0.62 → 0.80 (n25) | 0.84 → 0.62 (n16) |
| Top 15 | 0.14 → 0.15 (n807) | 0.24 → 0.25 (n367) | 0.40 → 0.38 (n461) | 0.59 → 0.49 (n299) | 0.82 → 0.67 (n52) |
| Market, winner (for contrast) | 0.13 → 0.15 (n20) | 0.24 → 0.20 (n5) | 0.40 → 0.62 (n8) | — | — |
Calibration of the published boards over all visible reads. The winner head is still a little shy in the 0.30–0.50 band, on a small sample, and is roughly honest above 0.50. The depth heads have gone the other way: when we said 83% for a top-five place it happened 62% of the time. That is over-confidence, not shyness, and it tracks the thinning field: with Pogačar, Pedersen, Groves and twenty others gone, the riders the model kept rating highly for the places were not all there at the end.
We also re-ran the Tour's cheapest fix, a one-parameter "sharpening" of the board fitted leave-one-stage-out. At the Tour it was worth about 0.08 nats a stage on ordinary days. At the Vuelta it is worth nothing: the best fitted setting on all 17 stages is "leave the board alone", and on the ten peloton-settled days sharpening made the held-out score slightly worse (1.444 → 1.495). One race said sharpen, the next said do not. The honest reading is that the miscalibration is not a stable constant to correct but depends on the race and the state of the field, which is an argument for a calibration that watches the current race rather than one number fitted in July.
After the Tour we named one class of day as the model's structural hole: a shattered, non-mountain stage won by a punchy non-climber from a break, a late move, or a reduced hard-men sprint. The broader version was any day a breakaway decided the stage. The same carves, drawn the same way (by day shape and winner type, never by how we scored), applied to the Vuelta:
| Panel | n | Win LL model / market | Podium LL | Top 3 | Top 5 | Top 10 | Top 15 |
|---|---|---|---|---|---|---|---|
| All scored stages | 17 | 2.919 / 2.942 (+0.023) | 0.0520 / 0.0524 | +3 | −7 | −3 | −6 |
| Minus hard-man days {10, 15, 21} | 14 | 2.619 / 2.732 (+0.112) | 0.0520 / 0.0524 | +2 | −7 | −2 | −5 |
| Minus all break-won days {7, 12, 14, 15, 20} | 12 | 2.062 / 2.272 (+0.210) | 0.0473 / 0.0485 | +7 | −5 | +1 | −4 |
| Peloton / GC-settled days only | 10 | 1.444 / 1.745 (+0.301) | 0.0473 / 0.0485 | +7 | −5 | +0 | −4 |
| Hard-man days alone | 3 | 4.315 / 3.923 (−0.391) | — | +4 | −11 | −4 | −13 |
| Break-won days alone | 5 | 4.974 / 4.549 (−0.425) | 0.0853 / 0.0798 | −9 | −12 | −11 | −12 |
| The Tour, same carves | |||||||
| Tour: all stages | 20 | 2.407 / 1.944 (−0.463) | 0.0521 / 0.0459 | −10 | −5 | −0 | +0 |
| Tour: peloton / GC-settled only | 13 | 1.722 / 1.754 (+0.033) | 0.0405 / 0.0398 | −0 | +5 | +3 | +4 |
| Tour: hard-man days alone | 5 | 3.532 / 2.530 (−1.002) | 0.0700 / 0.0592 | −24 | −16 | −9 | −10 |
| Tour: break-won and hard-man days | 7 | 3.679 / 2.296 (−1.383) | 0.0702 / 0.0556 | −27 | −23 | −6 | −6 |
Win LL = average winner log loss, model / market, with the difference in brackets (+ means the model was closer). Podium LL where the market priced a podium. Top-k columns are model-minus-market percentage points of the actual top k captured.
Three things to take from that.
So the summary sentence from July still stands, with one amendment: we price a bike race at or above market level whenever it is decided by the group we can see, and we lose ground on the days a breakaway decides it, in proportion to how well the market can see the escape.
The Tour review ended with a priority list, and the top item was day-class detection: know what kind of stage it is before it starts, so the model can pull the right kind of rider into its shortlist and so we can say in advance which days to trust. Between the races we built that as a menu of eight day types plus three "macro" types (bunch sprint, GC day, time trial), a labeller that grades each finished stage against the menu, and a serving channel that takes a morning key and uses it to re-rank the shortlist of riders the model considers. Two design decisions matter for reading the results. The key only changes who is in the top fifteen and in what order; the prices still come from the untouched production model, so a wrong key cannot corrupt a probability. And the key is chosen by judgment each morning, from the road book, the news and the market card, then graded that evening. The Vuelta was the first live test.
Of 17 keyed stages the key's heaviest item matched the oracle on 8, the oracle's item had some weight on 15, and the average weight on the true item was 0.49. The oracle's own labels across the twenty raced stages were: bunch 8, gc_day 4, res_2 3, res_4 3, itt 2.
| Stage | Winner | Model | Market | Δ nats | Winner's rank m / b | Top-15 found m / b | Day key | Oracle | Graded |
|---|---|---|---|---|---|---|---|---|---|
| St 1 Monaco ITT | Pogačar | 36.7% | 10.5% | +1.26 | 1 / 3 | 10.0 / 11 | itt 1.00 | itt | exact 1.00 |
| St 2 Manosque | Brennan | 23.6% | 12.3% | +0.65 | 2 / 3 | 7.0 / 7 | res_7 0.55 res_1 0.45 | bunch | missed 0.00 |
| St 4 Andorra | Pogačar | 53.0% | 49.2% | +0.08 | 1 / 1 | 9.3 / 10 | gc_day 0.60 res_2 0.40 | gc_day | exact 0.60 |
| St 5 Roquetes | Brennan | 38.3% | 35.9% | +0.06 | 1 / 1 | 6.0 / 8 | res_7 0.50 bunch 0.35 res_3 0.15 | bunch | covered 0.35 |
| St 6 Castellón | Pogačar | 52.3% | 20.6% | +0.93 | 1 / 1 | 8.5 / 4 | res_2 0.65 gc_day 0.35 | gc_day | covered 0.35 |
| St 7 Valdelinares | Leknessund | 0.2% | 0.4% | −0.70 | 46 / 41 | 1.3 / 3 | gc_day 0.60 res_2 0.40 | res_2 | covered 0.40 |
| St 8 Xeraco | Coquard | 0.9% | 1.0% | −0.09 | 20 / 12 | 6.0 / 8 | bunch 0.60 res_3 0.25 res_7 0.15 | bunch | exact 0.60 |
| St 9 Alto de Aitana | Mas | 5.1% | 10.0% | −0.67 | 6 / 3 | 8.5 / 9 | gc_day 1.00 | gc_day | exact 1.00 |
| St 10 Vinaròs | Tronchon | 0.2% | 0.7% | −1.40 | 36 / 22 | 3.0 / 5 | bunch 0.50 res_3 0.30 res_7 0.20 | bunch | exact 0.50 |
| St 11 Lorca | Brennan | 56.5% | 34.3% | +0.50 | 1 / 1 | 6.0 / 9 | bunch 0.65 res_3 0.20 res_1 0.15 | bunch | exact 0.65 |
| St 12 Calar Alto | Omrzel | 1.0% | 0.8% | +0.23 | 25 / 22 | 5.7 / 6 | res_2 0.55 gc_day 0.45 | gc_day | covered 0.45 |
| St 14 La Pandera | Brenner | 0.3% | 0.3% | +0.03 | 41 / 41 | 1.0 / 5 | gc_day 0.60 res_2 0.40 | res_2 | covered 0.40 |
| St 15 Córdoba | van Aert | 7.2% | 14.2% | −0.68 | 3 / 2 | 2.0 / 6 | bunch 0.55 res_3 0.30 res_1 0.15 | res_4 | missed 0.00 |
| St 16 La Rábida | Brennan | 37.0% | 36.3% | +0.02 | 16 / 1 | 6.0 / 7 | bunch 0.55 res_3 0.30 res_1 0.15 | bunch | exact 0.55 |
| St 17 Sevilla | Brennan | 59.5% | 45.1% | +0.28 | 1 / 1 | 9.3 / 9 | bunch 1.00 | bunch | exact 1.00 |
| St 20 Collado del Alguacil | Landa | 0.3% | 0.8% | −1.00 | 46 / 21 | 7.0 / 6 | res_2 0.45 gc_day 0.40 res_4 0.15 | res_4 | covered 0.15 |
| St 21 Granada | Johannessen | 2.0% | 0.8% | +0.91 | 13 / 21 | 6.3 / 6 | res_7 0.40 bunch 0.35 res_1 0.25 | bunch | covered 0.35 |
One row per scored stage. Model and market columns are the win probability on the actual winner; Δ is the log-loss difference (+ = model closer). "Winner's rank" is where the winner sat on each board. "Top-15 found" is how many of the actual top fifteen each board had in its own top fifteen. The key is the morning's weights; "graded" is the evening verdict with the weight placed on the true item.
The misses have a shape, and it was visible by the first week. On stages 2, 5 and 6 the key put the "interesting" residual item ahead of the boring macro one, and the road went the boring way each time. Corrected for that, stage 7 went the interesting way and the key had 60% on a GC day. From there the rule became a question, "who has a reason to chase?", and it worked on the sprint stages: 8, 9, 10, 11, 16 and 17 were all exact. It did not work on the mountain escapes. Stages 7, 12, 14 and 20 all went to the break; on two of them (7 and 14) the key's majority was still the GC day, and on the other two the GC day still carried 40–45%. The written lesson from La Pandera was the sharpest: a breakaway with the leader's own team in it will not be chased, however good the launchpad, and the market had read that by lunchtime. There was also a labelling quirk: three consecutive escape wins (stages 15, 19 and 20) were graded as the "hard puncheur" item rather than the "mountain escape" one, even on stage 20 where the front fifteen were nearly all climbers. That cost stage 20 its grade.
This is the question the whole program turns on, and it can be measured cleanly because every prediction file carries both rankings: the production model's order and the key-adjusted order that was actually published. Count the actual top fifteen found by each.
| Stage | Production board | Published (keyed) board | Δ | Best single read | Market | Hindsight run |
|---|---|---|---|---|---|---|
| St 1 Monaco ITT | 10.0 | 11.0 | +1.0 | 11 | 11 | — |
| St 2 Manosque | 7.0 | 6.3 | −0.7 | 7 | 7 | — |
| St 4 Andorra | 9.7 | 10.0 | +0.3 | 10 | 10 | 10 |
| St 5 Roquetes | 6.3 | 7.3 | +1.0 | 8 | 8 | 7 |
| St 6 Castellón | 9.0 | 8.0 | −1.0 | 9 | 4 | 9 |
| St 7 Valdelinares | 1.0 | 2.7 | +1.7 | 4 | 3 | 4 |
| St 8 Xeraco | 6.3 | 6.0 | −0.3 | 7 | 8 | 6 |
| St 9 Alto de Aitana | 9.0 | 10.0 | +1.0 | 10 | 9 | — |
| St 10 Vinaròs | 3.0 | 3.3 | +0.3 | 5 | 5 | 4 |
| St 11 Lorca | 6.3 | 7.3 | +1.0 | 8 | 9 | 7 |
| St 12 Calar Alto | 6.3 | 6.3 | +0.0 | 7 | 6 | 5 |
| St 14 La Pandera | 1.3 | 3.0 | +1.7 | 5 | 5 | 5 |
| St 15 Córdoba | 2.0 | 1.7 | −0.3 | 3 | 6 | 4 |
| St 16 La Rábida | 6.7 | 6.7 | +0.0 | 10 | 7 | 10 |
| St 17 Sevilla | 11.0 | 10.0 | −1.0 | 11 | 9 | — |
| St 20 Collado del Alguacil | 7.3 | 8.0 | +0.7 | 8 | 6 | 7 |
| St 21 Granada | 7.0 | 6.7 | −0.3 | 9 | 6 | 7 |
| Total, 17 stages | 109 / 255 | 114 / 255 | +5 | 132 | 119 | 85 on 13 stages |
Actual top-fifteen riders inside each board's top fifteen, averaged across that morning's reads (production and published are the same riders priced the same way; only the order differs). These use the model's published ranking, which is a separate ranking head; the depth table earlier orders riders by their win price, as the Tour review did, and that ordering finds fewer of the top fifteen (103) than the ranking head does. "Best single read" is the highest of the morning's reads. The hindsight run re-ran the day afterwards knowing its real shape; on the 13 stages that have one it found 85 against the published boards' 77, the best single read's 93 and the market's 83.
Read plainly: the key moved the shortlist by +5 riders in 255 over the whole race. That is a small positive, and at ten deep it was a small negative (−3). The gains came exactly where the theory said they would, on the two mountain escapes (stages 7 and 14, +1.7 and +1.7) where the front group looked nothing like the production ranking's default, and the losses came on days where the key was wrong and pushed the right riders out (stage 6, −1.0). The market still found more of the top fifteen than either of our boards.
The more encouraging number is the "best single read" column. Across the race the best of our own morning reads found 132 of the actual top fifteen, against the market's 119. The information is inside our own scenario structure. What we could not do, yet, was say in the morning which read to trust. That is the same finding the Tour produced about scenario weighting, now with a mechanism attached.
At the Tour the days we had flagged in advance as hard-man days were the days we lost most heavily, which suggested a simple rule: publish with less confidence on flagged days. The Vuelta's version of a flag is a key that puts most of its weight on a residual item. Six days were keyed that way (stages 2, 5, 6, 12, 20, 21); eleven were keyed macro-majority.
| Days where the key said… | n | Win LL model / market | Top 10 | Top 15 |
|---|---|---|---|---|
| …mostly a residual (unusual) day | 6 | 2.889 / 3.187 (+0.298) | +10 | +4 |
| …mostly a bunch sprint, GC day or time trial | 11 | 2.935 / 2.808 (−0.126) | −10 | −12 |
The Tour's rule inverted. The days we flagged as unusual were our better days against the market; the days we called ordinary were where we lost. The reason is recall: of the seven escape and hard-man days, the key put its majority on an unusual item on only three (12, 20 and 21). Stages 7, 10, 14 and 15 were all keyed as ordinary days and were not.
So the honest verdict on the fix: the machinery works as designed (the prices were never touched, the re-ranking helped exactly where the key was right about an unusual front), the keying rules improved measurably through the race, and neither yet catches the days that matter most. The mountain-escape question, "will the bunch let it go?", turned out to be about team incentives rather than terrain, and that is now written down as a rule rather than a feeling.
From stage 16 an automated agent chose its own key each morning, blind to the human one, as a rehearsal for running the daily cycle unattended. It produced 4 live keys. It also replayed the stages before it went live from frozen morning bundles after the fact (a calibration exercise, not a live record), where it was exact on nine of eleven graded stages against the human's five on the same days.
| Stage | Agent key | Human key | Oracle | Agent graded | Human graded | Agent confidence |
|---|---|---|---|---|---|---|
| St 16 | bunch 0.60 res_3 0.25 res_1 0.15 | bunch 0.55 res_3 0.30 res_1 0.15 | bunch | exact 0.60 | exact 0.55 | 0.60 ⚑ |
| St 18 | itt 1.00 | no human key (missed morning) | itt | exact 1.00 | — | 0.97 |
| St 20 | gc_day 0.42 res_2 0.35 res_4 0.23 | res_2 0.45 gc_day 0.40 res_4 0.15 | res_4 | covered 0.23 | covered 0.15 | 0.42 ⚑ |
| St 21 | res_7 0.45 res_1 0.30 bunch 0.25 | res_7 0.40 bunch 0.35 res_1 0.25 | bunch | covered 0.25 | covered 0.35 | 0.40 ⚑ |
Live, blind keys only. ⚑ marks a key the agent flagged for human review itself. On stage 18 there was no human key at all, because the morning was missed; the agent's key was the only prospective read of the day and it was exact.
For seven stages this was a procession. Pogačar won the prologue, Andorra and Castellón and led by 3:34. Then he crashed on the flat run into Xeraco and abandoned, and the Vuelta became a four-man race that Enric Mas won from Roglič and Gall. That makes the GC boards a test of one thing above all: does the board respond to the race? We had two answers running side by side all month. The main blend, which prices riders from their history and form and does not look at the standings, and the state-aware "GC outlook" head, which does.
Rank correlation with the final classification, board by board
After each stage: model blend, outlook head, devigged market
Left: the market's board converges on the final order as the race resolves; the blend's stays flat near 0.71, exactly the Tour's frozen-board defect again; the outlook head sits between them. Right: the same story in the price on the winner. From the morning after Aitana, when Mas took red, the blend had him at 7% and never moved; the outlook head had him at 44% that day and 58% going into the last mountain stage; the market went from 33% to 83%. The market's GC prices closed after stage 19, so its line stops there.
| After Pogačar's abandon (10 boards, stages 8–19) | Model blend | GC outlook head | Market |
|---|---|---|---|
| Log loss on the eventual winner (lower is better) | 2.542 | 0.664 | 0.661 |
| Podium, mean per-rider log loss | 0.0354 | 0.0076 | 0.0121 |
| Actual top 15 inside the board's top 15 (of 15) | 7.6 | 12.4 | 12.3 |
| Actual top 5 inside the board's top 5 (of 5) | 3.0 | 4.0 | 4.0 |
| Rank correlation with the final GC | 0.73 | 0.74 | 0.89 |
Boards paired with the market snapshot that knew the same stages (the market closed its GC prices after stage 19, so the board after stage 20 is not in this table). The outlook head matched the market on the winner, beat it on the podium and at fifteen deep, and trailed it on whole-field ordering because it collapses to near zero on the chasers once it has picked its two leaders.
The last board with a market price to compare against, going into the final mountain stage:
| Final GC | Rider | Model blend | GC outlook head | Market |
|---|---|---|---|---|
| 1 | Mas Enric | 8.6% | 58.2% | 82.9% |
| 2 | Roglic Primoz | 21.6% | 38.2% | 7.3% |
| 3 | Gall Felix | 12.1% | 1.0% | 4.1% |
| 4 | Carapaz Richard | 3.6% | 0.4% | 3.3% |
| 5 | Kuss Sepp | 1.2% | 0.1% | 0.2% |
| 6 | Onley Oscar | 9.8% | 0.5% | 1.1% |
GC win probability after stage 19. The blend had the race leader fourth on its own board, behind Roglič, Gall and Onley, because it never saw the standings and Mas's history is that of a rider who finishes second. The outlook head knew who was winning. Neither head is right alone: the outlook over-concentrates on the leaders and gives third-placed Gall a 1% chance; the blend knows who is good and ignores the race. The Tour review said this needed a corrector over the shared board rather than either head on its own, and the Vuelta says it twice as loudly.
| GC, whole race | Vuelta: blend | Vuelta: market | Tour: blend | Tour: market |
|---|---|---|---|---|
| Log loss on the eventual winner, mean over boards | 2.967 | 1.790 | 0.969 | 0.205 |
| Rank correlation with the final GC | 0.71 | 0.80 | 0.77 | 0.88 |
| Actual top 15 inside the board's top 15 | 7.4 | 10.9 | 10.0 | 11.5 |
| Podium log loss: blend / outlook head / market | 0.0392 / 0.0165 / 0.0220 | 0.0343 / 0.0202 / 0.0299 | ||
Same defect, two races. The blend's ordering of the GC does not learn from the race in either; the market's does. The outlook head was the best podium estimator on the board at both Grand Tours, market included, and both times it was displayed as a caption rather than used as the price.
| Tour | Vuelta | Reading | |
|---|---|---|---|
| Winner market, model minus market (nats per stage) | −0.463 | +0.023 | From clearly behind to level. |
| …on peloton / GC-settled days | +0.033 | +0.301 | From level to clearly ahead. |
| …on break-won and hard-man days | −1.38 | −0.43 / −0.39 | Still behind; a third of the cost, because the market was blind too. |
| Market's own winner log loss | 1.944 | 2.942 | A far less predictable race for everyone. |
| Top-15 overlap, model minus market | +0.3pp | −6.3pp | Depth advantage lost, mostly on escape days. |
| Top-end shyness on the winner head | yes | mostly gone | Depth heads now over-confident instead. |
| Days the model beat the market | 6 of 20 | 11 of 17 | |
| Best single day | +2.77 (Evenepoel, st 15) | +1.26 (Pogačar, st 1) | Both: the market typecast a rider by discipline, and class won. |
| Worst single day | −2.62 (Carapaz, st 20) | −1.40 (Tronchon, st 10) | Both: an escape the model could not see. |
| GC blend, rank correlation with the final GC (market) | 0.77 (0.88) | 0.71 (0.80) | The frozen GC board, twice. |
| Mornings missed | none (the stage 1 team time trial was not previewed by design) | 3 of 20 raced | The process, not the model, cost three days of evidence. |
In priority order, with the priority argued by the numbers above.
Two Grand Tours, same result: the blend's GC board does not move with the race, and the state-aware head that does was the best podium forecaster on the board both times, market included. After the abandon it matched the market on the winner (0.66 against 0.66) while the blend sat at 2.54. Its weakness is over-concentration on two leaders, which is what the blend is good at. This is the clearest, most repeatable finding we have and the cheapest to act on. The first step was taken with this review: the GC tracker now leads with the outlook head and shows the pre-race blend beside it for contrast. The corrector that combines the two is still to build.
The channel worked where the key was right and did nothing where it was wrong, and it was wrong on three of four mountain escapes. The rules that would have fixed those days are now written: ask who has a reason to chase, weight the composition of the move over the terrain, and treat the leader's own team in the break as the deciding fact. They need to be applied before a stage, not discovered after one.
The best of our morning reads found 132 of the actual top fifteen across the race, more than the market's 119; the published average found 114. The Tour said the same thing in probability terms. The scenario structure holds more information than we publish, and the missing piece is a weighting over reads that can be set in the morning and scored in the evening, which is what the day key was supposed to become.
The Tour said sharpen; the Vuelta said leave it alone. The depth heads went from shy to over-confident as the field thinned. A fixed temperature fitted on one race is the wrong instrument. What is needed is a calibration that sees the state of the field it is pricing, starting with who has already left the race.
Every break-won day this race had the same signature: the winner at or near 50th on every board, including the hindsight run given the day's real shape, and the market not much better. Handing the model the day's shape has now failed to find the escape winner on 12 of 13 hindsight runs against the best morning read. Course knowledge is not the constraint; a model of who gets in the move is. The Vuelta added five labelled instances with full gap curves and prices to the Tour's four.
Three of twenty raced stages have no scored read because the daily cycle was not run. The shadow agent kept its key on one of them and was exact. The agent's live record is short but clean, and the cost of a missed day is a day of evidence that cannot be recovered. The unattended cycle exists; the next campaign should run on it.
A closing note in the same spirit as July's. The story we expected to tell coming into this race was that the day key would show up as a measurable improvement on the hard days. It did not, and the same records that would have shown the improvement show exactly why not. The story we did not expect was that the model would be level with the market on winners and ahead on ordinary days by a clear margin, and that our best single days would come from refusing the market's breakaway cards on stages where the strongest rider simply rode away. We only know either of those things because every read, every board and every key was written down before the road answered.