Skip to content

Nova-O2/ironman-data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Validated, Population-Scale Dataset of 2.7 Million IRONMAN® Triathlon Records with Separated Transition Times (2002–2026)

Companion repository (data-collection pipeline, notebooks, and figures) for the IRONMAN® triathlon dataset described in the accompanying manuscript (under review).

Authors

Aldo Seffrin¹, Pantelis Theodoros Nikolaidis², Marilia Santos Andrade³, Elias Villiger⁴, Daniel Ferreira¹, Beat Knechtle⁴ˌ⁵*

¹ Nova O2 Sports Science, São Paulo, Brazil ² School of Health and Caring Sciences, University of West Attica, Athens, Greece ³ Department of Physiology, Federal University of São Paulo (UNIFESP), São Paulo, Brazil ⁴ Institute of Primary Care, University of Zurich, Zurich, Switzerland ⁵ Medbase St. Gallen Am Vadianplatz, St. Gallen, Switzerland

* Corresponding author: beat.knechtle@hispeed.ch

Dataset

Metric Value
Records 2,706,922
Races >1,500 events
Years 2002–2026
Full-distance (IRONMAN®) 1,340,799 (49.5%)
Half-distance (IRONMAN® 70.3) 1,366,123 (50.5%)
Source: official 2,041,743 (75.4%)
Source: supplement 665,179 (24.6%)
T1/T2 coverage 84.2%
Cross-source agreement 99.7–99.9%

Data availability

The de-identified dataset (athlete names removed) is openly deposited on Zenodo under a Creative Commons Attribution 4.0 International (CC BY 4.0) license: https://doi.org/10.5281/zenodo.19284674. The data were derived from publicly available race results (the official IRONMAN® results platform and the CoachCox aggregator). The full dataset can also be reproduced from source with the collection scripts below.

Reproduction

All collection scripts are provided in data/collection/. See data/README.md for step-by-step instructions.

pip install -r requirements.txt

cd data/collection
python scrape_official.py      # ~2-4h, official IRONMAN® platform
python combine_official.py     # JSON to CSV

python scrape_coachcox.py      # ~30min, supplementary source
python combine_coachcox.py     # JSON to CSV

python merge_sources.py        # Merge into unified dataset

Structure

data/
├── collection/
│   ├── scrape_official.py       # Official IRONMAN® platform scraper
│   ├── scrape_coachcox.py       # Supplementary source scraper
│   ├── combine_official.py      # Official JSON to CSV consolidation
│   ├── combine_coachcox.py      # Supplementary JSON to CSV consolidation
│   ├── merge_sources.py         # Deterministic merge procedure
│   ├── event_uuids_full.csv     # Event UUIDs (official platform)
│   ├── all_subevents.csv        # Subevent index
│   └── race_metadata.csv        # Supplementary race metadata
└── README.md                    # Reproduction instructions

notebooks/
├── 01_DESCRIPTIVES.ipynb        # Dataset statistics and validation
└── 02_FIGURES.ipynb             # Publication figures

figures/
├── Figure1.tiff                 # Dataset composition by source and race type
├── Figure2.tiff                 # Split time distributions
├── Figure3.tiff                 # Transition time (T1) coverage analysis
└── Figure4.tiff                 # Temporal trends in participation and performance

License

MIT — Copyright (c) 2026 Nova O2 Sports Science

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors