ANDYVDS.COM
THE SEASON IN 41 SECONDS — animated from the official scores, not a re-enactment
TOUR DE FRANCE 2026 · DE BRUG OFFICE POOL · AI-MANAGED TEAM

Twenty-one days,
twenty-one decisions.

Every stage, an optimiser re-picked twelve riders from sixteen and chose a captain — against three humans playing the same game. This page is the record of those calls, and what each one was worth.

8 082final points · 1st of 4
+1 370margin over the runner-up
10 / 21days as the pool's best team
top 29%of 93 902 players in Belgium
the season as a skyline — synapse's 21 stage scores, to scale

How the lead was built

SynapseModderstoempersWie er het eerste boven is!De pedaltrappers
02 0004 0006 00015101521Synapse 6 506Modderstoempers 5 477Wie er het eerste… 4 683De pedaltrappers 4 416stage →
Cumulative stage points after each stage — the gap opens in the first mountains and never closes. The end-of-Tour classification bonuses (Synapse 1 576, then 1 235 / 948 / 731) are awarded after stage 21 and take the totals to the final standings below.

The lead, stage by stage — SYNAPSE vs the best rival

-25002505007501 0001 25015101521behind by 76 after the team time trial+1 029stage →
The margin over whichever rival was closest at the time — not always the same team: the lead was defended against both De pedaltrappers and Modderstoempers at different points. It starts negative: the team time trial on day one left SYNAPSE last of the four. The lead was taken on stage 2 and never given back, and the two Alpine weeks did the rest.
positionTeamPointsGap Stage winsRank of 93 902
1 SynapseAndy — the AI's team 8 082 10 27 478top 29%
2 ModderstoempersBjorn 6 712 −1 370 4 61 965top 66%
3 Wie er het eerste boven is!Sarah 5 631 −2 451 4 81 368top 87%
4 De pedaltrappersTania 5 147 −2 935 3 86 415top 92%

Where the 1 370-point margin came from

Riders only the AI picked+1 485
Shared riders, transfer timing+155
Captain calls+3
Bench calls — they were better−273
Winning margin+1 370
Measured against Modderstoempers — the only rival who managed their team all three weeks, and therefore the only fair comparison. Most of the margin is squad selection: the race was won on the day the team was picked.

The decisions, measured

Picking the squad is one decision. The other twenty-one are made every morning: who rides, who sits out, who takes the armband. These are all four managers' actual calls, scored against what was available to them on the day.

Captain points banked

Each stage you name one rider captain. If he finishes in the top six it pays a bonus on top of his points — 30 for a win, down to 5 for sixth.

Synapse
360
Modderstoempers
357
Wie er het eerste boven is!
175
De pedaltrappers
50
Captain points missed

The bonus a better captain choice from the same starting twelve would have paid. Lower is better — and this is the one metric the AI does not win.

Modderstoempers
113
Synapse
155
Wie er het eerste boven is!
245
De pedaltrappers
440
Points left on the bench

Four of your sixteen sit out each stage. This is what those four scored anyway — points you owned and did not collect.

Modderstoempers
135
Synapse
408
Wie er het eerste boven is!
535
De pedaltrappers
562
Stages as the pool's best team

How often each team out-scored the other three on the day, across all 21 stages.

Synapse
10
Modderstoempers
4
Wie er het eerste boven is!
4
De pedaltrappers
3
Measured across all 21 stages from the official line-ups. The app's own version of this panel could only use the eight stages it had real team sheets for, and showed a dash for the rivals — which is why the numbers here differ from the ones in the dashboard.

The edge: cheap riders nobody else saw

Synapse

1 688pts from 10 riders nobody else had
  • Mattias Skjelmose€5M490
  • Mauro Schmid€4M288
  • Tobias Johannessen€6M268
  • Juan Ayuso€7M203

Modderstoempers

203pts from 6 riders nobody else had
  • Kévin Vauquelin€6M133
  • Filippo Ganna€5M31
  • Cees Bol€3M15
  • Silvan Dillier€2M14

Wie er het eerste boven is!

662pts from 6 riders nobody else had
  • Olav Kooij€7M387
  • Valentin Paret-Peintre€4M153
  • Matej Mohoric€3M70
  • Jonas Abrahamsen€4M29

De pedaltrappers

760pts from 8 riders nobody else had
  • Biniam Girmay€5M383
  • Tiesj Benoot€4M122
  • Maxim Van Gils€4M120
  • Quinten Hermans€4M33
Four riders were on all four squads (Pogačar, Vingegaard, Philipsen, Lipowitz) and cancel each other out. The pool was decided by the other twelve — and by finding value at €4–6M rather than spending up.
An honest asterisk. Two of the four managers stopped playing. De pedaltrappers changed their line-up once in twenty-one stages — after stage 2 the team was never touched again. Wie er het eerste boven is! stayed with it until stage 13, then stopped. Neither made a single transfer all Tour. Their scores are real, but they are not a fair test — which is why the margin above is measured against Modderstoempers, who played every day.

Who was still managing their team

13579111315171921SynapseModderstoempersWie er het eerste…De pedaltrappers
A filled dot = the manager changed their starting twelve for that stage. A ring marks a day the squad itself changed — one or more transfers coming in. Small grey dots are days the team was left exactly as it was. The bottom two rows are why the final gap should be read with care.

Working with hindsight, what could have been done better

TeamScoredLeft on the bus Captain bonusPerfect-management ceiling TransfersLine-up changes
Synapse 8 082 +408 360 8 490 4 16last: st 21
Modderstoempers 6 712 +135 357 6 847 4 14last: st 21
Wie er het eerste boven is! 5 631 +535 175 6 166 0 8last: st 13
De pedaltrappers 5 147 +562 50 5 709 0 1last: st 2
"Perfect-management ceiling" = what each squad would have scored with hindsight-perfect line-ups every day. Even at that ceiling, the three rivals finish on 6 847, 6 166 and 5 709 — all below Synapse's actual 8 082. No amount of better daily management would have changed the result.

The transfers they never made

Twenty-five riders abandoned the 2026 Tour, and the two teams that stopped playing left the dead ones in their squad — Vingegaard from stage 15, Lipowitz from 16, Merlier from 13, scoring nothing for the rest of the race. Both had all three free transfers still banked. This is the best use they could have made of them.

Wie er het eerste boven is!

  • st 4 Cian Uijtdebroeks €5M Lenny Martinez €5M +477
  • st 13 Tim Merlier €9M Remco Evenepoel €9M +609
  • st 15 Jonas Vingegaard €10M Isaac Del Toro €7M +508
Finished on 5 631 Would have finished on 7 225 +1 594 Still 857 behind Synapse
Without hindsight — swapping in the most widely-owned rider they could afford each time — they land on 7 163. Same conclusion.

De pedaltrappers

  • st 13 Tim Merlier €9M Remco Evenepoel €9M +609
  • st 15 Jonas Vingegaard €10M Richard Carapaz €5M +559
  • st 16 Florian Lipowitz €8M Lenny Martinez €5M +344
Finished on 5 147 Would have finished on 6 659 +1 512 Still 1 423 behind Synapse
Without hindsight — swapping in the most widely-owned rider they could afford each time — they land on 6 447. Same conclusion.
Each swap takes effect at the first stage after the rider abandoned, and counts every point the replacement went on to score — stage points plus the end-of-Tour classification bonus, which is paid to whoever is in your sixteen at the finish. It assumes they would then also have fielded him. The gap closes a long way, but it does not close: neither team reaches Synapse's 8 082.

Day by day — what the AI did

1
285 pts · 4th overall · FLAT
The AI captained Pogacar +10 (+15 was on the table) · best rider Vingegaard (70) · left 66 on the bus (Skjelmose)
2
520 pts best in pool · ▲ 4th → 1st · HILLY
The AI captained Pogacar +25 (+30 was on the table) · had the stage winner Del Toro (115, P1) · left 54 on the bus (Johannessen)
3
421 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +30 — the best call available · had the stage winner Pogacar (130, P1) · left 58 on the bus (Johannessen)
4
107 pts · 1st overall · HILLY
The AI captained Pogacar for nothing — +25 was on the table · best rider Simmons (90, P2) · left 10 on the bus (Skujinš)
5
110 pts · 1st overall · FLAT
The AI captained Philipsen +10 — the best call available · best rider Philipsen (48, P5)
6
518 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +30 — the best call available · had the stage winner Pogacar (140, P1)
7
123 pts · 1st overall · FLAT
The AI captained Philipsen +10 — the best call available · best rider Philipsen (48, P5)
8
159 pts · 1st overall · FLAT
The AI captained Philipsen +15 — the best call available · best rider Philipsen (55, P4) · left 7 on the bus (Schmid)
9
219 pts · 1st overall · HILLY
The AI captained Pogacar for nothing — +20 was on the table · best rider Pidcock (65, P3) · left 80 on the bus (Johannessen)
10
490 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +30 — the best call available · had the stage winner Pogacar (130, P1)
11
131 pts · 1st overall · FLAT
The AI captained Philipsen +20 — the best call available · best rider Philipsen (65, P3)
12
132 pts · 1st overall · FLAT
The AI captained Philipsen +20 — the best call available · best rider Philipsen (65, P3) · left 7 on the bus (Schmid)
13
208 pts best in pool · 1st overall · HILLY
The AI captained Pogacar for nothing — +30 was on the table · had the stage winner Schmid (100, P1) · left 48 on the bus (McNulty)
14
514 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +30 — the best call available · had the stage winner Pogacar (130, P1)
15
488 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +25 (+30 was on the table) · had the stage winner Evenepoel · best rider Pogacar (110, P2) · left 40 on the bus (Simmons)
16
467 pts best in pool · 1st overall · HILLY
The AI captained Evenepoel +30 — the best call available · had the stage winner Evenepoel · best rider Pogacar (110, P2)
17
152 pts · 1st overall · FLAT
The AI captained Evenepoel for nothing — +25 was on the table · best rider Schmid (80, P2) · left 8 on the bus (Simmons)
18
321 pts · 1st overall · MOUNTAIN
The AI captained Pogacar for nothing — +25 was on the table · best rider Schmid (80, P2) · left 4 on the bus (Simmons)
19
473 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +30 — the best call available · had the stage winner Pogacar (120, P1) · left 16 on the bus (Simmons)
20
488 pts best in pool · 1st overall · MOUNTAIN
The AI captained Pogacar +15 (+30 was on the table) · had the stage winner Carapaz (110, P1) · left 10 on the bus (Simmons)
21
180 pts · 1st overall · FLAT
The AI captained van der Poel +30 — the best call available · had the stage winner van der Poel (100, P1)
Every stage, with the captain's armband as it was actually set, the bonus it paid, and the best bonus the same starting twelve could have paid. Nothing here is estimated — the old dashboard marked thirteen of these stages as guesswork.

How it works

1 · Start from the betting marketBookmaker odds are the most honest forecast in sport. The engine strips out the bookmaker's margin and uses what's left as its base view of every rider.
2 · Race the Tour 4 000 timesA simulation runs all three weeks thousands of times — crashes and abandons included — to put a value and a risk on each rider.
3 · Solve, don't guessAn optimiser searches every legal 16-rider team inside the €100M budget and returns the mathematically best one. Not a hunch — a proof.
4 · Decide again every morningEach stage it re-picks who rides, who sits on the bus, and who wears the captain's armband, based on that day's terrain.
5 · Read the newsA scraper watches the cycling press and pulls crashed, ill or disqualified riders out of the plan before the deadline.
6 · Show its workingEvery stage is re-scored against the official points tables. This page is generated from that data, not written by hand.

What's next

A model that only reports its wins is a press release. This is the season review the AI wrote about itself — what worked, what didn't, and what changes before the rematch.

✓ What worked

  • The draft won the race. Odds → 4 000 simulations → optimiser: the sixteen it picked held 10 riders no rival had, worth 1 688 points — more than the whole winning margin.
  • Value over stars. Skjelmose (€5M → 490), Schmid (€4M → 288) and Johannessen (€6M → 268) out-scored rivals' €9–10M picks.
  • Relentless fielding. Best team in the pool on 10 of 21 days; 360 captain points banked, the most of any manager.
  • Discipline. It held its free transfers as crash insurance all race instead of chasing points — the 2025 backtest said that was the biggest lever, and it obeyed its own finding.

✗ What didn't

  • Captaincy was not an edge. 155 bonus points missed — more than the runner-up's 113. Stage 13 is the emblem: it captained Pogačar for nothing while its own rider, Schmid, won the stage.
  • 408 points left on the bus. Johannessen scored 80 from the bench on stage 9 alone. The model over-trusts season-long quality and under-reads a rider in form.
  • Its one transfer got burned. Lipowitz, bought after stage 15, abandoned on stage 16 — 58 points from an expected 285.
  • Mid-race data went stale. The app's standings froze at stage 18 while the race moved on; the final truth had to be re-harvested after Paris.

∞ The learning loop

  • Every decision above is now a labelled example: 21 days × line-up, captain, outcome, and the best alternative that was available. That ledger is next year's training set.
  • The counterfactuals are computed, not guessed: this same squad, managed with perfect hindsight — line-ups and captain calls — scores 8 645. The 563-point gap between that and the real 8 082 is the roadmap.
  • Same pool, same rules, July 2027. The rematch is the experiment.