NRCD: An Open Database of Collegiate Running with Unified Performance Standardization
Organizations: University of Notre Dame Notre Dame, Indiana, USA · National Running Club Database Michigan, USA · University of Virginia Charlottesville, Virginia, USA · Virginia Tech Blacksburg, Virginia, USA ·
Abstract
Collegiate running in the United States generates thousands of race results annually in cross country and track and field, yet no large-scale dataset has been publicly available for research. Existing websites such as Athletic.net, MileSplit, and TFRRS host results but do not support bulk download, restricting prior analyses to ~500 performances, often skewing studies toward male athletes. We introduce the National Running Club Database (NRCD), the first openly available collegiate running dataset at scale: 143,868 approved performances from 31,351 athletes across 1,423 meets in four sports (cross country (XC), indoor and outdoor track, and road races), 36.2% women, spanning 2003-2026. Meets from August 2023 onward carry comprehensive course distance, elevation gain and loss, weather at race time, and track venue metadata (99.9% of XC rows with weather fields). NRCD is community-governed through open submission and expert approval and is maintained as a live database whose meet volume has grown yearly. We release a unified performance standardization framework that operationalizes established distance, elevation, and heat adjustments in one pipeline; XC-only validation; heat is a Hadley-band heuristic. We recommend gender-stratified modeling. On XC, full standardization lowers median within-athlete cross-meet variability by 51.1% (women) and 35.4% (men) versus raw times. We release the dataset and pipeline with a Python package `nrcd' under FAIR principles, supporting longitudinal athlete modeling, environmental-confounder studies, and gender-equity research in collegiate sport.
Figures & tables
| Sport | Results | Athletes † | Meets |
|---|---|---|---|
| Cross Country | 75,489 | 23,565 | 546 |
| Indoor Track | 29,595 | 9,657 | 348 |
| Outdoor Track | 36,598 | 9,976 | 469 |
| Road Race | 2,186 | 1,630 | 60 |
| Total | 143,868 | 31,351 | 1,423 |
| Sport | Era | Results | Athletes † | Weather (%) | Alt. (%) | Course (%) |
|---|---|---|---|---|---|---|
| Cross Country | historical | 52,129 | 17,865 | 27.2 | 97.8 | 3.0 |
| Cross Country | comprehensive | 23,360 | 7,056 | 99.9 | 100.0 | 38.5 |
| Indoor Track | historical | 11,386 | 5,118 | — | 100.0 | — |
| Indoor Track | comprehensive | 18,209 | 5,174 | — | 99.4 | — |
| Outdoor Track | historical | 13,399 | 5,098 | 0.0 | 100.0 | — |
| Outdoor Track | comprehensive | 23,199 | 5,665 | 35.0 | 99.9 | — |
| Sport | Women | Men | Women (%) |
|---|---|---|---|
| Cross Country | 29,113 | 46,376 | 38.6 |
| Indoor Track | 9,965 | 19,630 | 33.7 |
| Outdoor Track | 11,967 | 24,631 | 32.7 |
| Road Race | 986 | 1,200 | 45.1 |
| Total | 52,031 | 91,837 | 36.2 |
| Unique athletes | 12,364 | 18,987 | 39.4 |
| Sport | Gender | Sprint | Mid | Dist. | Relay | Field | Total |
|---|---|---|---|---|---|---|---|
| Cross Country | F | 0 | 0 | 29,113 | 0 | 0 | 29,113 |
| Cross Country | M | 0 | 0 | 46,376 | 0 | 0 | 46,376 |
| Indoor Track | F | 2,851 | 1,018 | 3,453 | 1,129 | 1,514 | 9,965 |
| Indoor Track | M | 6,184 | 2,019 | 7,175 | 2,003 | 2,249 | 19,630 |
| Outdoor Track | F | 3,853 | 1,563 | 3,904 | 729 | 1,918 | 11,967 |
| Outdoor Track | M | 7,808 | 3,425 | 8,977 | 1,534 | 2,887 | 24,631 |
| Factor | Cross Country | In. track | Out. track | Road |
|---|---|---|---|---|
| Riegel distance | ✓ | ✓ | ✓ | ✓ |
| Heat ( ) | ✓ | — | mid+ | ✓ |
| Wind (per-result) | — | — | sprint | — |
| Elevation gain/loss | ✓ | — | — | ✓ |
| Course distance accuracy | ✓ | — | — | ✓ |
| AQI* | ✓ | — | ✓ | ✓ |
| Hadley (%) | Mid (%) | Quad. (%) | ||
|---|---|---|---|---|
| 110 | 0.0-0.5 | 0.25 | 0.16 | 0.9984 |
| 120 | 0.5-1.0 | 0.75 | 0.64 | 0.9936 |
| 145 | 3.0-4.5 | 3.75 | 3.24 | 0.9676 |
| 160 | 4.5-6.0 | 5.25 | 5.76 | 0.9424 |
| 175 | 8.0-10.0 | 9.00 | 9.00 | 0.9100 |
| W reduc. (%) | M reduc. (%) | W infl. (%) | M infl. (%) | |
|---|---|---|---|---|
| 0.0010 | 50.9 | 35.1 | 9 | 13 |
| 0.0016 | 51.1 | 35.4 | 15 | 20 |
| 0.0020 | 50.9 | 35.1 | 19 | 24 |
| Group | Raw | Conv. | Std. | Reduct. | |
|---|---|---|---|---|---|
| Women (6 km) | 2,201 | 108.09 | 54.66 | 52.86 | 51.1% |
| Men (8 km) | 3,984 | 85.56 | 59.12 | 55.27 | 35.4% |
| Group | Conv. only | Full std. | Inflat. (%) | |
|---|---|---|---|---|
| Women | 5,653 | 44.4 [41.7, 47.0] | 38.6 [35.5, 41.5] | 15 [11, 21] |
| Men | 9,130 | 41.0 [39.0, 43.3] | 34.2 [32.4, 36.5] | 20 [17, 24] |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Group | Raw | Conv. | Pre-wx | Full | Raw full | |
|---|---|---|---|---|---|---|
| Women (6 km) | 2,201 | 108.1 | 54.7 | 54.6 | 52.9 | 51.1% |
| Men (8 km) | 3,984 | 85.6 | 59.1 | 58.7 | 55.3 | 35.4% |
| Group | Dist. share | Env. share | Conv full | Infl. (%) |
|---|---|---|---|---|
| Women | 96.7% | 3.3% | 3.3% | 15 |
| Men | 87.3% | 12.7% | 6.5% | 20 |
| Factor subset | Median | Mean | P05 to P95 | % outside |
|---|---|---|---|---|
| Weather (all rows) | 0.993 | 0.990 | 0.967 to 1.000 | 0.5 |
| Weather ( only) | 0.990 | 0.988 | 0.966 to 1.000 | 0.6 |
| Elevation (grade) | 1.000 | 1.000 | 1.000 to 1.002 | 0.0 |
| Altitude (Péronnet) | 0.996 | 0.996 | 0.993 to 1.000 | 0.0 |
| Model | Gender | Conv. | Std. | 95% CI |
|---|---|---|---|---|
| RF | Men | 0.740 | 0.728 | |
| RF | Women | 0.712 | 0.715 | |
| GB | Men | 0.587 | 0.561 | |
| GB | Women | 0.592 | 0.516 |
| Riegel config | Men raw std | Women raw std | Max pp |
|---|---|---|---|
| Gender-specific (default) | 35.4% | 51.1% | 0.0 |
| Unified | 35.8% | 50.9% | 0.4 |
| Unified | 35.4% | 50.8% | 0.3 |
| Unified | 36.4% | 51.1% | 1.0 |
| Min races | Men | Men infl. | Women | Women infl. |
|---|---|---|---|---|
| 2 | 9,130 | 19.9% | 5,653 | 15.0% |
| 3 | 4,055 | 18.9% | 2,233 | 7.5% |
| 4 | 1,340 | 16.8% | 739 | 13.5% |
| Sport | Median factor | % outside | |
|---|---|---|---|
| Cross Country | 31,450 | 0.985 | 52.4 |
| Outdoor Track | 18,619 | 0.998 | 9.7 |
| Indoor Track | 14,693 | 1.000 | 0.1 |
| Road Race | 854 | 0.995 | 2.3 |
| Gender | both | Spearman | Med. XC best |
|---|---|---|---|
| Women | 598 | 0.538 | 26:13 |
| Men | 688 | 0.431 | 29:05 |
| Gender | conv. | std. | |
|---|---|---|---|
| Men | 0.720 | 0.720 | |
| Women | 0.771 | 0.727 |
| Gender | P1 | P5 | P10 | P25 | P50 | P75 | P90 | P95 | P99 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Men (8 km) | 13,962 | 25:03 | 26:09 | 26:49 | 28:16 | 30:20 | 33:02 | 36:16 | 38:54 | 47:02 |
| Women (6 km) | 9,603 | 21:53 | 23:07 | 23:52 | 25:21 | 27:19 | 29:43 | 32:32 | 34:30 | 40:13 |
| Cohort | Gender | P5 | P50 | P95 | |
|---|---|---|---|---|---|
| All athletes | Men | 13,962 | 26:09 | 30:20 | 38:54 |
| All athletes | Women | 9,603 | 23:07 | 27:19 | 34:30 |
| school years | Men | 5,336 | 25:35 | 28:54 | 34:54 |
| school years | Women | 3,321 | 22:30 | 25:54 | 31:16 |
| school years | Men | 2,596 | 25:19 | 28:16 | 33:27 |
| school years | Women | 1,479 | 22:10 | 25:15 | 30:04 |
| Benchmark | Men (8k) | Women (6k) |
|---|---|---|
| NCAA D1 All-American | 24:00 | 20:00 |
| NCAA D1 5th runner (top-15 teams) | 26:00 | 22:00 |
| NIRCA nationals 5th runner (NRCD fit) | 26:30 | 23:30 |
| NCAA D2 5th runner | 28:00 | 24:00 |
| NAIA 5th runner | 28:30 | 24:30 |
| NCAA D3 5th runner | 29:30 | 25:30 |
| Anchor § | Men | Women |
|---|---|---|
| NCAA D1 All-American | 0.1% | 0.0% |
| NCAA D1 5th runner | 4.2% | 1.3% |
| NCAA D2 5th runner | 21.6% | 11.0% |
| NCAA D3 5th runner | 40.2% | 26.9% |
| NAIA 5th runner | 27.7% | 15.4% |
| NJCAA 5th runner | 27.7% | 26.9% |
| Band (faster anchor slower) | Men | Women | Interpretation |
|---|---|---|---|
| D1 5th NIRCA 5th | 3.3% | 6.0% | NIRCA depth, not D1 |
| NIRCA 5th D2 5th | 14.1% | 3.7% | D2 depth, not NIRCA |
| NIRCA 5th D3 5th | 32.7% | 19.6% | D3 depth, not NIRCA |
| NIRCA 5th NAIA 5th | 20.2% | 8.1% | NAIA depth, not NIRCA |
| NIRCA 5th NJCAA 5th | 20.2% | 19.6% | NJCAA depth, not NIRCA |
| Sport | Era | Weather (%) | Course feat. (%) | ||
|---|---|---|---|---|---|
| Res. | Meet | Res. | Meet | ||
| XC | comprehensive | 99.9 | 99.3 | 38.5 | 18.2 |
| XC | historical | 27.2 | 14.3 | 3.0 | 0.8 |
| Out. track | comprehensive | 35.0 | 4.6 | — | — |
| Road | comprehensive | 100.0 | 100.0 | 33.4 | 43.2 |
| Sport | Athletes | 2 yr | P50 meets | P90 meets | P50 res. | P90 res. |
|---|---|---|---|---|---|---|
| Cross Country | 23,565 | 36.7% | 2 | 4 | 2 | 4 |
| Outdoor Track | 9,976 | 30.8% | 1 | 3 | 2 | 5 |
| Indoor Track | 9,657 | 33.4% | 1 | 2 | 1 | 4 |
| Road Race | 1,630 | 20.4% | 1 | 1 | 1 | 1 |
| All sports | 31,351 | 37.0% | n/a | n/a | n/a | n/a |
| Table | Primary key | Role |
|---|---|---|
| result.csv | result_id | Finisher time, athlete, meet, event |
| meet.csv | meet_id | Date, sport, venue altitude, nationals flag |
| athlete.csv | athlete_id | Gender; no names in public export |
| team.csv | team_id | Institution / club label |
| athlete_team_association.csv | ( athlete_id , team_id ) | Roster membership by season |
| running_event.csv | running_event_id | Event name and distance |
| File | Key fields |
|---|---|
| athlete.csv | athlete_id , gender |
| athlete_team_association.csv | athlete_id , team_id |
| meet.csv | meet_name , start_date , meet_city , meet_state , altitude , sport_id , nirca_only , regionals , nationals |
| result.csv | athlete_id , meet_id , running_event_id , result_time , grade , wind ; relay athlete_id_2 to 4 and splits |
| running_event.csv | event_name |
| sport.csv | sport_name |
| File | Key fields |
|---|---|
| course_details.csv | elevation_gain , elevation_loss , estimated_course_distance , date_of_event , temperature , dew_point , humidity , barometric_pressure , wind_speed , weather_conditions , altitude |
| joined.csv | Denormalized key fields from result, meet, team, athlete, and course tables; wind , result_time , grade , relay IDs/splits |