🚴 Tour de France 2026: The Machine Learning Grand Tour

Tour de France 2026 dashboard — real standings and stage results so far, with ML predictions for the remaining stages, the final GC and the jersey competitions. Data refreshes several times a day during the race.

Real results through of 21 stages — and model predictions for everything still to come.

Stages Completed
Total Route
Riders Still Racing
Teams
🟡 Yellow Jersey
🟢 Green Jersey
🔴 Polka Dot
⚪ White Jersey

📊 Data: Wikipedia (cites letour.fr / Tissot timing), refreshed each morning and again after each stage finishes | 🤖 ML: trained on 2020-2025 + this year's form | ✨ AI commentary: baked at build time


🏆 The Battle for Yellow — GC after Stage #


📋 The Story So Far — Stage Results #


🔮 Next Up: Stage #

Date
Stage Type
Distance

The table ranks the full startlist for this stage — page through or search for any rider. The chart shows the first page's top 10. Rank, win % and podium % all come from one model: a LambdaMART ranker whose scores are calibrated into probabilities on held-out years — see the methodology. Ties in the percentages are real (the calibration is deliberately coarse); the rank breaks them by the model's raw score.


🎯 Stage-by-Stage Predictions for the Rest of the Tour #

Every rider's win probability (%) on every remaining stage — one column per stage, shaded per column so each stage's favourites stand out. Search for any rider, or sort by a stage's column.

💡 Click any row for the full per-stage breakdown — every rider's rank, win and podium probability. Once a stage is raced it drops out of this list, but its page keeps the model's pre-stage prediction next to the official result.


👑 Final Podium Forecast #

⚠️ Honest caveat: with only six Tours of training data, beating the "standings stay as they are" baseline on exact positions is genuinely hard — see the methodology for the numbers. The podium probabilities are the more reliable signal.


👕 Jersey Projections — Who Wins in Paris? #

📊 Each bar reads left to right: the first segment is points already scored; the two "Projected:" segments are the forecast for the stages still to race, so the bar's full length is the projected Paris total. The projection is split by source — expected stage-podium points from the model, and the points the model can't see (intermediate sprints and minor placings for green; breakaway climb points for the polka dot), added from each rider's observed rate this Tour. The intermediate sprint pays 20-17-…-1 every road stage, which is why it dominates the current green leader's projection.


🔍 Rider Analysis — Form vs Expectation #


📜 Historical Context (2020-2025) #


🎲 Model Scorecard — Honest Numbers #

Winner picked correctly
Winner in model top-3
Ranking AUC

🧪 Tour de France stages are genuinely hard to predict — long breakaways decide many of them. These numbers are cross-validated on held-out years, not cherry-picked. The headline KPIs belong to whichever model currently supplies the published stage ranking — the classifier and a LambdaMART ranker compete for that role on every retrain. Full details on the methodology page.


📡 Data Freshness & Sources #

⏰ Last refreshed: — pipeline: scripts/fetch_tdf_data.py (Wikipedia wikitext → Parquet) then scripts/train_predictions.py (train + predict). Built with Dashdown.

Generated · built in 32.6s