Skip to content

jeff3388/endurance-running-science

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Endurance Running Science

Mathematical reference for VO₂ max estimation, race time prediction, running economy, lactate threshold, and training load quantification — derived from peer-reviewed exercise physiology literature.

This repository documents the key formulas and physiological models used in endurance running performance. It covers field-test methods, race prediction algorithms, training prescription frameworks, and the biomechanical factors that determine performance beyond raw aerobic capacity.

Last updated: 2026-04-01 · Changelog


Contents


Quick Reference

Cooper VO₂ max  = (distance_metres − 504.9) / 44.73
1.5-mile VO₂ max = 3.5 + 483 / time_minutes
Riegel race time = T2 = T1 × (D2/D1)^1.06
Jack Daniels VDOT from 5K: VDOT ≈ −4.6 + 0.182258 × velocity + 0.000104 × velocity²
Lactate threshold ≈ 85–90% max HR (field estimate)

VO₂ Max Estimation

What is VO₂ Max?

VO₂ max (maximal oxygen uptake) is the upper limit of the oxygen transport and utilisation system during incremental exhaustive exercise. It is measured in mL of O₂ per kg body weight per minute (mL/kg/min) and represents the ceiling of aerobic energy production.

VO₂ max sets the theoretical upper bound on endurance performance, but actual race performance depends on three interacting factors:

Race Performance ≈ VO₂ max × Lactate Threshold Fraction × Running Economy Factor

A runner sustaining 85% of VO₂ max at the marathon lactate threshold, with good economy, will outperform a higher-VO₂-max runner who can only sustain 75%.


Cooper 12-Minute Run Test

Run as far as possible in exactly 12 minutes on a flat, measured course. Suitable for all fitness levels.

VO₂ max (mL/kg/min) = (distance_metres − 504.9) / 44.73

VO₂ max by distance covered:

Distance (m) VO₂ max
1,600 24.6
1,800 29.1
2,000 33.6
2,200 38.1
2,400 42.6
2,600 47.1
2,800 51.6
3,000 56.0
3,200 60.5

Source: Cooper KH (1968). A means of assessing maximal oxygen intake. JAMA, 203(3), 201–204.


1.5-Mile (2.4 km) Time Trial

Run 1.5 miles (2.414 km) as fast as possible. Record total time in decimal minutes.

VO₂ max = 3.5 + 483 / time_minutes

Example: 1.5 miles in 11:30 (11.5 min) → VO₂ max = 3.5 + 483/11.5 = 3.5 + 42.0 = 45.5 mL/kg/min

Source: George JD et al. (1993). VO₂ max estimation from a submaximal 1-mile track jog for fit college-age individuals. Medicine & Science in Sports & Exercise, 25(3), 401–406.


Rockport Walk Test (Low-Intensity)

Walk 1 mile (1.609 km) at maximum walking pace (no running). Record completion time and heart rate at the finish.

VO₂ max = 132.853 − (0.0769 × weight_lbs) − (0.3877 × age)
          + (6.315 × gender_code) − (3.2649 × time_min) − (0.1565 × HR_finish)

Where: gender_code = 1 for male, 0 for female; HR_finish = heart rate in bpm at completion.

Source: Kline GM et al. (1987). Estimation of VO₂ max from a one-mile track walk. Medicine & Science in Sports & Exercise, 19(3), 253–259.


VO₂ Max Norms by Age and Sex

Males (mL/kg/min):

Age Poor Fair Good Excellent Superior
20–29 < 34 34–42 43–52 53–60 > 60
30–39 < 32 32–40 41–49 50–57 > 57
40–49 < 30 30–38 39–47 48–54 > 54
50–59 < 25 25–33 34–42 43–49 > 49
60–69 < 21 21–29 30–37 38–44 > 44

Females (mL/kg/min):

Age Poor Fair Good Excellent Superior
20–29 < 29 29–35 36–44 45–51 > 51
30–39 < 27 27–33 34–41 42–47 > 47
40–49 < 24 24–30 31–38 39–44 > 44
50–59 < 20 20–26 27–34 35–40 > 40
60–69 < 16 16–22 23–29 30–35 > 35

Source: ACSM (2022). ACSM's Guidelines for Exercise Testing and Prescription. 11th ed. Wolters Kluwer.


Elite VO₂ Max Reference Points

Athlete VO₂ Max Sport Context
Oskar Svendsen 97.5 mL/kg/min Cycling Highest reliably recorded
Bjørn Dæhlie 96 mL/kg/min Cross-country skiing Olympic champion
Eliud Kipchoge ~92 mL/kg/min Marathon Sub-2hr attempt; world record holder
Joan Benoit Samuelson ~78 mL/kg/min Marathon 1984 Olympic marathon champion
Average recreational runner 45–55 mL/kg/min Running 5–10 hrs/week training
Sedentary adult (male, 35) 35–40 mL/kg/min General population

VO₂ Max Improvement Rates

VO₂ max is ~50% heritable. Trained athletes have less room for improvement than beginners.

Population Expected Gain Timeframe Protocol
Previously sedentary +15–25% 12–16 weeks Any consistent aerobic training
Recreational runner +10–15% 8–12 weeks High-intensity interval training
Well-trained (VO₂ max > 55) +5–8% 12 weeks 4×4 Helgerud protocol
Highly trained (VO₂ max > 65) +2–4% Entire season Periodised polarised training

Most effective single protocol: 4 × 4-minute intervals at 90–95% max HR, 3-minute active recovery, 3×/week.

Source: Helgerud J et al. (2007). Aerobic high-intensity intervals improve VO₂ max more than moderate training. Medicine & Science in Sports & Exercise, 39(4), 665–671.


Race Time Prediction

Riegel Formula (1977)

The foundational endurance race prediction formula. Uses a fatigue exponent derived from world record progressions across distances.

T2 = T1 × (D2 / D1)^1.06

Where T1 = known race time at distance D1, T2 = predicted time at distance D2. Distances in any consistent unit.

Example: 5K in 22:00 → predict marathon (42.195 km) time: T2 = 22 × (42.195 / 5)^1.06 = 22 × 8.439^1.06 = 22 × 9.496 = 208.9 min ≈ 3:28:54

Source: Riegel PS (1977). Athletic records and human endurance. American Scientist, 65, 285–290.

Limitation: The 1.06 exponent assumes perfect pacing and sustained aerobic capacity. For runners with strong ultra-endurance capacity, a lower exponent (1.04–1.05) may be more accurate. For short-range extrapolation (5K→10K), accuracy is typically ±2–3%. For 5K→marathon extrapolation, expect ±5–10%.


Pete Riegel Extended Table

Predicted times from a 20:00 5K using Riegel's 1.06 exponent:

Distance Predicted Time
5K 20:00 (reference)
10K 41:38
Half marathon 1:33:10
Marathon 3:15:04
50K 4:02:31
50 miles 6:55:00 (approx)

Jack Daniels VDOT System

VDOT is a practical equivalent of VO₂ max derived from race performance. It predicts training paces more accurately than raw field-test VO₂ max because it captures running economy and lactate threshold simultaneously.

VDOT from race performance:

Velocity (m/min) = distance / time_minutes

% VO₂ max = 0.8 + 0.1894393 × e^(−0.012778 × time_min)
           + 0.2989558 × e^(−0.1932605 × time_min)

VO₂ at race pace = −4.60 + 0.182258 × velocity + 0.000104 × velocity²

VDOT = VO₂ at race pace / % VO₂ max

VDOT-based training paces:

VDOT Easy (E) Marathon (M) Threshold (T) Interval (I) Repetition (R)
35 7:33/km 6:48/km 6:15/km 5:54/km 5:30/km
40 6:49/km 6:04/km 5:33/km 5:12/km 4:51/km
45 6:11/km 5:27/km 4:59/km 4:38/km 4:19/km
50 5:41/km 5:00/km 4:33/km 4:13/km 3:57/km
55 5:17/km 4:37/km 4:13/km 3:54/km 3:39/km
60 4:56/km 4:18/km 3:56/km 3:38/km 3:24/km
65 4:40/km 4:03/km 3:42/km 3:25/km 3:11/km

Source: Daniels J (2014). Daniels' Running Formula. 3rd ed. Human Kinetics.


Marathon Race Prediction (Advanced)

More accurate marathon time prediction accounts for lactate threshold fraction and training mileage, not just VO₂ max.

Noakes marathon formula:

Marathon time (min) = 0.533 × body_mass (kg)^0.413 × (VO2max + 5.72)^(−0.67)

Cameron formula:

T_marathon = a / (velocity_LT × b)

Where velocity at lactate threshold (vLT) is the primary determinant, not VO₂ max directly. vLT is approximately 83–87% of vVO₂ max for trained runners.


Lactate Threshold and Running Economy

Lactate Threshold (LT) Definition

The lactate threshold is the exercise intensity above which blood lactate accumulates faster than it is cleared. It marks the transition from predominantly oxidative to mixed oxidative/glycolytic metabolism.

Term Lactate Level Intensity Field Estimate
Aerobic threshold (LT1) ~2 mmol/L "Comfortable hard" ~77–80% max HR
Lactate threshold (LT) ~2.5–3.5 mmol/L "Comfortably uncomfortable" ~83–87% max HR
Lactate turnpoint (LT2 / OBLA) ~4 mmol/L "Uncomfortably hard" ~88–92% max HR

OBLA (Onset of Blood Lactate Accumulation) at 4 mmol/L is widely used as the anaerobic threshold. This is the basis of most threshold running paces.


Velocity at VO₂ Max (vVO₂ max)

The slowest running speed that elicits VO₂ max. A key variable for interval training prescription.

vVO₂ max (m/min) = VO₂ max / running_economy

Where running economy is expressed in mL O₂/kg/km.

Typical running economy values:

Runner Type Economy (mL/kg/km)
Untrained 260–290
Recreational 225–260
Sub-elite 200–225
Elite marathon runner 185–210
Eliud Kipchoge (est.) ~175–185

Running Economy Improvement

Running economy (RE) can be improved 2–8% through structured training. Key methods:

Method RE Improvement Timeframe Evidence Level
Plyometric training 3–8% 6–12 weeks High (RCT meta-analysis)
Strength training (heavy) 3–5% 8–12 weeks High
High-volume low-intensity 2–4% Months–years High
Altitude training 1–3% (sea-level) 3–4 week block Moderate
Foam rolling / mobility Negligible Low

Source: Blagrove RC, Howatson G, Hayes PR (2018). Effects of strength training on the physiological determinants of middle- and long-distance running performance. Sports Medicine, 48(5), 1117–1149.


Heart Rate and Pace Zones

Max Heart Rate Formulas

Fox (1971):   HRmax = 220 − age                     (most cited, ±12 bpm SD)
Tanaka (2001): HRmax = 208 − 0.7 × age               (more accurate for adults 40+)
Gulati (2010): HRmax = 206 − 0.88 × age              (validated in women)
Gellish (2007): HRmax = 207 − 0.7 × age              (large validation, n=3,320)

Source: Tanaka H et al. (2001). Age-predicted maximal heart rate revisited. JACC, 37(1), 153–156.


5-Zone Heart Rate System (% Max HR)

Standard 5-zone model used in most GPS watch platforms:

Zone % Max HR Name Primary Fuel RPE
Z1 50–60% Recovery Fat (> 90%) 1–2
Z2 60–70% Aerobic base Fat (70–90%) 3–4
Z3 70–80% Aerobic power Fat/carb (50/50) 5–6
Z4 80–90% Threshold Carb (60–80%) 7–8
Z5 90–100% VO₂ max Carb (> 80%) 9–10

Heart Rate Reserve (Karvonen Method)

Uses resting HR to personalise training zones. More accurate than % max HR alone.

Heart Rate Reserve (HRR) = HRmax − HRrest
Target HR = HRrest + (%intensity × HRR)

Example: HRmax = 185, HRrest = 55. For Zone 2 (60–70%): Low: 55 + 0.60 × 130 = 55 + 78 = 133 bpm High: 55 + 0.70 × 130 = 55 + 91 = 146 bpm

Source: Karvonen MJ, Kentala E, Mustala O (1957). The effects of training on heart rate. Annales Medicinae Experimentalis et Biologiae Fenniae, 35(3), 307–315.


Training Load Formulas

Training Stress Score (TSS) — Running (rTSS)

Adapts cycling TSS for running using pace as a proxy for power.

rTSS = (duration_seconds × NGP × IF²) / (FTP_pace × 3600) × 100

Where:

  • NGP = Normalized Graded Pace (adjusts for elevation)
  • IF = Intensity Factor = NGP / Functional Threshold Pace
  • FTP_pace = pace at lactate threshold (sustainable for ~60 min)

Source: Allen H, Coggan A (2010). Training and Racing with a Power Meter. VeloPress.


TRIMP (Training Impulse)

Session-level load metric combining duration and heart rate.

TRIMP = duration_min × ΔHR_ratio × e^(b × ΔHR_ratio)

Where ΔHR_ratio = (HRsession − HRrest) / (HRmax − HRrest), and b = 1.92 (male), 1.67 (female).

Source: Banister EW et al. (1975). A systems model of training for athletic performance. Australian Journal of Sports Medicine, 7, 57–61.


Acute:Chronic Workload Ratio (ACWR)

ACWR = (7-day rolling load) / (28-day rolling load average)
ACWR Injury Risk
< 0.8 Undertraining
0.8–1.3 Optimal (low risk)
1.3–1.5 Caution
> 1.5 High injury risk

Source: Gabbett TJ (2016). The training—injury prevention paradox. BJSM, 50(5), 273–280.


Environmental Adjustments

Heat Adjustment (Pace Slowing)

Performance degrades in heat due to cardiovascular strain from thermoregulation competing with working muscles for cardiac output.

Approximate pace adjustments:

Wet Bulb Globe Temperature (WBGT) Pace Adjustment
< 10°C (50°F) No adjustment
10–18°C (50–65°F) No adjustment
18–23°C (65–73°F) +2–5% slower
23–28°C (73–82°F) +5–10% slower
> 28°C (82°F) +10–20% slower (extreme risk)

Source: Ely MR et al. (2007). Impact of weather on marathon-running performance. Medicine & Science in Sports & Exercise, 39(3), 487–493.


Altitude and Heat Correction

Altitude Effect on VO₂ Max

ΔVO₂ max ≈ −6.3% per 1,000 m above 1,500 m
Altitude Example Location Approx VO₂ max Reduction
1,500 m Denver, CO Baseline (< 1% effect)
2,000 m Mexico City −3.2%
2,500 m Nairobi −6.3%
3,600 m Altitude training camps ~−13%

Acclimatisation timeline: Most VO₂ max deficit recovers within 2–3 weeks at altitude. After returning to sea level, elevated EPO and haematocrit temporarily boost sea-level performance for 2–3 weeks — the basis of altitude training camps.

Source: Chapman RF et al. (1998). Individual variation in response to altitude training. Journal of Applied Physiology, 85(4), 1448–1456.


Worked Examples

Example 1: Predict Marathon Time from 10K

Known: 10K in 47:30.

T1 = 47.5 min, D1 = 10 km, D2 = 42.195 km

T2 = 47.5 × (42.195 / 10)^1.06
   = 47.5 × 4.2195^1.06
   = 47.5 × 4.533
   = 215.3 min
   ≈ 3:35:18

Interpretation: Achievable if trained specifically for the marathon, well-hydrated, and running in cool conditions. Add 5–10 min for first-time marathoners due to pacing inexperience.


Example 2: Karvonen Zone Calculation

Known: Age 38, resting HR 52 bpm.

HRmax (Tanaka) = 208 − 0.7 × 38 = 208 − 26.6 = 181.4 ≈ 181 bpm
HRR = 181 − 52 = 129 bpm

Zone 2 (60–70% HRR):
Lower = 52 + 0.60 × 129 = 52 + 77 = 129 bpm
Upper = 52 + 0.70 × 129 = 52 + 90 = 142 bpm

Zone 4 (80–90% HRR):
Lower = 52 + 0.80 × 129 = 52 + 103 = 155 bpm
Upper = 52 + 0.90 × 129 = 52 + 116 = 168 bpm

Example 3: VO₂ Max from Cooper Test

Known: Cooper test distance = 2,550 m.

VO₂ max = (2550 − 504.9) / 44.73
         = 2045.1 / 44.73
         = 45.7 mL/kg/min

Age 35, male → Good category (41–49 range for 30–39 age group).


Code Implementations

Python: Riegel Race Predictor

def riegel_predict(known_time_min: float, known_dist_km: float, target_dist_km: float, exponent: float = 1.06) -> float:
    """Predict race time using Riegel's fatigue formula."""
    predicted = known_time_min * (target_dist_km / known_dist_km) ** exponent
    return predicted

def format_time(minutes: float) -> str:
    h = int(minutes // 60)
    m = int(minutes % 60)
    s = int((minutes * 60) % 60)
    if h > 0:
        return f"{h}:{m:02d}:{s:02d}"
    return f"{m}:{s:02d}"

# Example: 5K in 22:00, predict marathon
t = riegel_predict(22.0, 5.0, 42.195)
print(format_time(t))  # → 3:28:54

Python: Multi-Formula VO₂ Max Estimator

import math

def vo2max_cooper(distance_m: float) -> float:
    """Cooper 12-min run test."""
    return (distance_m - 504.9) / 44.73

def vo2max_mile_and_half(time_min: float) -> float:
    """1.5-mile time trial."""
    return 3.5 + 483 / time_min

def vo2max_rockport(weight_lbs: float, age: float, time_min: float, hr_finish: float, male: bool) -> float:
    """Rockport 1-mile walk test."""
    gender = 1 if male else 0
    return (132.853 - 0.0769*weight_lbs - 0.3877*age
            + 6.315*gender - 3.2649*time_min - 0.1565*hr_finish)

# Example
print(vo2max_cooper(2550))           # 45.7
print(vo2max_mile_and_half(11.5))    # 45.5

External References

Academic Sources

Reference Key Contribution
Cooper KH (1968). JAMA, 203(3) 12-minute run VO₂ max field test
Kline GM et al. (1987). Med Sci Sports Exerc, 19(3) Rockport 1-mile walk test
Riegel PS (1977). American Scientist, 65 Race time prediction exponent (1.06)
Daniels J (2014). Daniels' Running Formula, 3rd ed. Human Kinetics VDOT system and training paces
Helgerud J et al. (2007). Med Sci Sports Exerc, 39(4) 4×4 interval superiority for VO₂ max gain
Tanaka H et al. (2001). JACC, 37(1) Revised age-predicted max HR formula
Ely MR et al. (2007). Med Sci Sports Exerc, 39(3) Heat and marathon performance degradation
Chapman RF et al. (1998). J Appl Physiol, 85(4) Altitude effect on VO₂ max; individual variability
Gabbett TJ (2016). BJSM, 50(5) ACWR injury risk model
Blagrove RC et al. (2018). Sports Med, 48(5) Strength training for running economy
Banister EW et al. (1975). Aust J Sports Med, 7 TRIMP training impulse model
ACSM (2022). Guidelines for Exercise Testing and Prescription, 11th ed VO₂ max norms by age and sex

PubMed-Indexed Periodisation and Recovery References

Reference Relevance
Mujika I & Padilla S (2003). Scientific bases for precompetition tapering in elite athletes. Med Sci Sports Exerc, 35(7). Taper duration and load reduction for race-peak performance
Bosquet L et al. (2007). Effects of tapering on performance: a meta-analysis. Med Sci Sports Exerc, 39(8). Optimal taper length (~2 weeks) and volume reduction (41–60%)
Foster C et al. (2001). A new approach to monitoring exercise training. J Sports Med Phys Fitness, 41(1). Session RPE for quantifying internal training load in runners
Issurin VB (2010). New horizons for the methodology and physiology of training periodization. Sports Med, 40(3). Block periodisation framework for endurance athletes

Tools and Calculators

Resource Description
WinSport — VO₂ Max Calculator Cooper, 1.5-mile, and Rockport inputs; percentile table by age/sex
WinSport — Running Pace Calculator VDOT-based training zones from any race distance and time
WinSport — Marathon Race Predictor Riegel-based race time prediction for 5K through marathon
McMillan Running Calculator Riegel-based race equivalency and VDOT training pace tool; widely used by coaches
World Athletics — Records Official world records for all track, road, and field events
RunSmart Project Evidence-based running injury prevention and training resources
TrainingPeaks — Running Analytics rTSS, CTL/ATL, and decoupling tracking for structured training
ACSM — Fitness Resources ACSM guidelines and position stands on aerobic exercise
PubMed — Exercise Physiology Primary literature on VO₂ max, lactate threshold, running economy

Contributing

Corrections and formula additions welcome. All claims must cite primary peer-reviewed sources. See CONTRIBUTING.md for guidelines.

License

MIT

About

A curated reference library for endurance running science — covering training periodisation, VO2max and lactate threshold research, pace zone frameworks, recovery protocols, and race-day nutrition. Includes PubMed-indexed studies, open datasets, and links to practical calculators for runners and coaches.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors