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.
Classified finishes 2015–2026, all three races. Hover a bar for its count.
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.
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.
| Band | Triathlon L | Triathlon M | Duathlon |
|---|---|---|---|
| Under 20 | 9:36:54 · 15 | 2:36:19 · 296 | 2:08:31 · 419 |
| 20–24 | 8:24:56 · 367 | 2:41:52 · 1,018 | 2:06:31 · 378 |
| 25–29 | 8:28:22 · 1,351 | 2:59:36 · 2,249 | 2:03:41 · 721 |
| 30–34 | 8:36:17 · 1,888 | 3:02:25 · 2,526 | 2:14:55 · 737 |
| 35–39 | 8:44:49 · 1,859 | 3:05:08 · 1,897 | 2:16:55 · 661 |
| 40–44 | 9:05:22 · 1,987 | 3:09:45 · 1,731 | 2:24:36 · 594 |
| 45–49 | 9:13:46 · 1,824 | 3:14:38 · 1,464 | 2:24:08 · 509 |
| 50–54 | 9:34:59 · 1,376 | 3:19:27 · 1,180 | 2:28:34 · 389 |
| 55–59 | 10:01:22 · 659 | 3:36:24 · 748 | 2:39:41 · 250 |
| 60 and over | 10:42:25 · 267 | 3:34:44 · 546 | 2: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