Nicolas Sitter
The Alpe d’Huez archive

Generations

Who races it, by age

30,146 classified finishes across eleven editions and three races, placed in the age band the organiser filed each athlete under. A further 994 carry no age class at all — relay teams, handisport entries and elite fields, which are a standard rather than a generation.

This is harder than it sounds, and it is why the archive did not have this page before. The timekeeper respelled its categories five times in eleven years: M45-49, M4549, MV2, V2H and VETERAN 2 HOMME are all “men, 45 to 49”, and grouping by the raw code leaves 2015 sharing no bucket with 2026.

The whole archive, by band

Classified finishes 2015–2026, all three races. Hover a bar for its count.

02,0004,0006,000<2020–2425–2930–3435–3940–4445–4950–5455–5960+
How the age structure moved, 2015 to 2026

Each band’s share of the classified field that year, all three races pooled, young at the bottom. Hover a year for its make-up.

Under 2020–2425–2930–3435–3940–4445–4950–5455–5960 and over
0%25%50%75%100%20152016201720182019202120222023202420252026

2020 is absent because the edition was cancelled, not because the data is missing. The bands sum to the whole classified field each year, so this is composition — it says nothing about whether the race grew.

Is the mapping right?

The numeric bands say their own ages. The class codes do not — MV3 has to be looked up — so the mapping is the French federation’s published age classes, and it is checkable against the archive itself rather than taken on trust. If it were off by one class, anyone racing either side of a vocabulary change would appear to jump five years in a season.

Across 4,783 pairs of consecutive editions by the same person, the band moves backwards 32 times and skips more than one bucket 17 times — 99.0% consistent, and the residue is the size you would expect from name collisions alone. Shifting the mapping deliberately by one class drops it to 90.4%.

Median finish by band

Pooled over every edition, per race. The Duathlon and the two triathlons are different distances and are never compared here on the clock.

BandTriathlon LTriathlon MDuathlon
Under 209:36:54 · 152:36:19 · 2962:08:31 · 419
20–248:24:56 · 3672:41:52 · 1,0182:06:31 · 378
25–298:28:22 · 1,3512:59:36 · 2,2492:03:41 · 721
30–348:36:17 · 1,8883:02:25 · 2,5262:14:55 · 737
35–398:44:49 · 1,8593:05:08 · 1,8972:16:55 · 661
40–449:05:22 · 1,9873:09:45 · 1,7312:24:36 · 594
45–499:13:46 · 1,8243:14:38 · 1,4642:24:08 · 509
50–549:34:59 · 1,3763:19:27 · 1,1802:28:34 · 389
55–5910:01:22 · 6593:36:24 · 7482:39:41 · 250
60 and over10:42:25 · 2673:34:44 · 5462:44:50 · 240

Each cell is the median of that band’s per-edition medians, with the number of classified finishes behind it.

About this project and its data. The results are ChronoRace’s — the official timekeeper of the event. They were fetched once after the event and republished here with segment times, recomputed leaderboards and a page per athlete that the official results do not offer. The timing is their work; the analysis is mine, and any mistake in it is mine too. Course details come from Alpe d’Huez Triathlon, the organiser. Athletes who asked to be anonymous in the official results stay anonymous here.

Computed from public_dashboard.race_* over all 33 rosters · built 2026-09-07