This page documents how each Endurometry calculator produces its numbers: the formula or published model it uses, the inputs it needs, the assumptions it makes and where it stops being reliable. Every calculator page links to the relevant section here, and every section links to the sources it relies on.
How a calculator gets built: we choose a documented method, implement it, check the output against reference examples, test edge cases such as zero, negative and extreme inputs, and publish. When a method changes, the calculator, this page and the changelog are updated together.
Each calculator is labelled with one of three method types:
- Exact calculation — a definition or unit conversion; the only error is rounding for display.
- Published model — a model from the sports-science literature (for example Riegel or Daniels–Gilbert). The arithmetic is exact, but the model itself is an estimate of real performance.
- Endurometry approximation — our own simplified implementation of a published method. Results are indicative and must not be read as official values.
Pace, speed and distance
Pace is elapsed time divided by distance. Every pace is held internally as seconds per kilometre and converted only at the end:
pace (s/km) = time (s) ÷ distance (km) pace (s/mile) = pace (s/km) × 1.609344 speed (km/h) = 3600 ÷ pace (s/km) speed (mph) = speed (km/h) ÷ 1.609344
- min/km and min/mile. The international mile is defined as exactly 1,609.344 m, so kilometre ↔ mile conversions are exact.
- Speed. Speed is the reciprocal of pace; km/h and mph are derived from the same seconds-per-kilometre value, so they always agree with the displayed pace.
- Race distances. Preset distances follow the standard road-race distances: marathon 42.195 km, half marathon 21.0975 km; 10 miles = 16.09344 km.
- Splits. Even-pace splits are cumulative: split n = pace per split × n. When the distance is not a whole number of split units, the final row is the finish line and shows the full finish time.
Because these are definitions rather than models, results are exact apart from display rounding. What they cannot capture is how a real race unfolds — terrain, weather and pacing decisions change the splits, not the average.
Speed and unit conversion
Speed is the reciprocal of pace. The converter keeps one internal value — seconds per kilometre — and derives every other unit from it:
km/h = 3600 ÷ pace (s/km) mph = km/h ÷ 1.609344 400 m = pace (s/km) × 0.4
- km/h ↔ mph. 1 mph = 1.609344 km/h, the same exact international-mile factor used for pace.
- 400 m. Treated as exactly 0.4 km (2.5 laps per kilometre). This is a road-style conversion, not a World Athletics lane measurement.
- Finish-time table. time = pace × official 5K / 10K / half / marathon distance. Linear only: no fatigue term.
Use this when you already have a pace or a speed and need the other units. To obtain pace from a distance and a finish time, use the pace calculator; to convert treadmill incline, use the treadmill converter.
Race time prediction
Endurometry reports three scaling estimates from a known race (distance D₁, time T₁) to a target distance D₂.
Riegel power law
Peter Riegel (1981) fitted world-best performances with
T2 = T1 × (D2 / D1)^k
The default exponent k = 1.06 is the value commonly used for road racing. A second column uses k = 1.10, which penalises longer distances more (and shortens shorter ones). A single exponent cannot describe how the sustainable fraction of VO2max changes with duration, which is why two k values are shown rather than treated as competing “truths”.
Daniels–Gilbert
Jack Daniels and Jimmy Gilbert (1979, Oxygen Power) related running speed to oxygen cost and to the fraction of VO2max that can be held for a given time:
VO2 (ml/kg/min) = −4.60 + 0.182258 v + 0.000104 v² // v in m/min
%VO2max = 0.8 + 0.1894393 e^(−0.012778 t)
+ 0.2989558 e^(−0.1932605 t) // t in minutes
VDOT = VO2 / %VO2maxA known race fixes VDOT. The target time is the duration T₂ at which the oxygen cost of D₂ / T₂ equals VDOT × %VO2max(T₂). Endurometry finds T₂ with a damped numerical search (Riegel 1.06 as the starting guess, up to 60 iterations). VDOT here is an endurance index, not a laboratory VO2max.
Predictions assume comparable conditions and training for the target distance. They are not a finish-time guarantee.
Training paces (VDOT zones)
Training paces start from the same VDOT as race prediction (Daniels–Gilbert 1979 oxygen-cost equations). Each session type is a fraction of that VDOT; Endurometry converts the fraction to pace with the inverse curve:
v (m/min) = velocityFromVo2(VDOT × p) pace = 1000 / v × 60 // s/km
The fractions used here follow Daniels’ published intensity bands:
- Easy / Long 59–74%
- Marathon 75–84%
- Threshold 83–88%
- Interval 95–100%
- Repetition 105–120%
These are equation-solved paces, not a transcription of the printed VDOT tables in Daniels’ Running Formula. Expect small differences from the book. Marathon and Threshold overlap by design.
Optional heart-rate zones on the same page use Tanaka (2001) HRmax = 208 − 0.7 × age and Karvonen (1957) heart-rate reserve. They are independent of VDOT; a measured max HR is entered on the heart-rate calculator, not here.
Heart-rate zones
Running heart-rate zones on Endurometry use Karvonen (1957) heart-rate reserve, not a flat percentage of maximum heart rate:
HR = (HRmax − HRrest) × % + HRrest
HRmax is a measured value when one is entered (120–230 bpm). Otherwise it is estimated from age:
- Tanaka (2001, default): 208 − 0.7 × age
- Fox (1971 / common rule of thumb): 220 − age
- Gellish (2007): 191.5 − 0.007 × age²
The five named zones are a common 10%-wide split of reserve (Z1 50–60% through Z5 90–100%). Karvonen described the reserve method; the zone labels are Endurometry’s mapping for runners, not a table printed in that paper. Age formulas have a large individual error; a measured max replaces them. Resting HR must be at least 5 bpm below max.
Running calories (ACSM)
Session energy cost uses the ACSM running metabolic equation from ACSM’s Guidelines for Exercise Testing and Prescription:
VO2 (ml/kg/min) = 0.2 v + 0.9 v × grade + 3.5 // v in m/min, grade as decimal gross kcal = VO2 × mass(kg) / 1000 × 5 × minutes net kcal = (VO2 − 3.5) × mass / 1000 × 5 × minutes
The 3.5 ml/kg/min term is resting oxygen uptake (1 MET). Gross calories include it; net calories are the horizontal and vertical running cost only. 5 kcal per litre of oxygen is ACSM’s conventional conversion.
The equation is for running, not walking (typically around 8 km/h and faster). Grade is an average over the session. Individual running economy, wind, surface and heat are not modelled. The same VO₂ surface is reused on the treadmill pace converter.
Age grading (Endurometry approximation)
This is not an official World Masters Athletics (WMA) result. Endurometry does not copy or license WMA factor tables. Official WMA grading is sex-specific and event-specific. What follows is our own simplified road-style curve, labelled Endurometry approximation.
graded time = finish time × f(age) knots (all events, men and women) 20–25 1.0000 · 30 0.9930 · 35 0.9822 · 40 0.9676 · 45 0.9490 50 0.9259 · 55 0.8986 · 60 0.8665 · 65 0.8292 · 70 0.7866 75 0.7396 · 80 0.6896 · 85 0.6378 · 90 0.5848 between knots: linear interpolation
Open class is 20–29 (factor 1.0000 through age 25). The distance input does not select a table. No age-grade percentage versus a world record is computed. Do not use these figures for records, rankings or prize eligibility; use official WMA tables for that.
Treadmill and outdoor pace
Treadmill conversions invert the same ACSM running equation used for calories:
VO2 = 0.2 v + 0.9 v × grade + 3.5 treadmill → outdoor: v_flat = (VO2 − 3.5) / 0.2 outdoor → treadmill: v_belt = (VO2_flat − 3.5) / (0.2 + 0.9 × grade)
Only running cost is matched (the 3.5 rest term cancels). At 0% both directions are identities.
Jones & Doust (1996) reported that a 1% treadmill grade at the same displayed speed best matched outdoor energetic cost in still air. Endurometry cites that paper as the reason 1% is a common indoor setting. The calculator itself does not keep speed constant: it reports the ACSM-equal pace, so 10 km/h @ 1% is not 6:00/km outdoors.
No belt calibration, wind, heat or walking equation. Speeds 8–22 km/h, grades 0–15%.
Course cutoffs
Cutoff checks are definitions, not a performance model:
estimated finish = start delay + pace × distance buffer = cutoff − estimated finish sweep pace = cutoff / distance checkpoint (f) = cutoff × f // linear sketch only
Distance presets are the World Athletics road distances (marathon 42.195 km, half marathon 21.0975 km). The checkpoint table at 25 / 50 / 75 / 100% interpolates the finish cutoff. It is not an official gate list.
Start delay is always added to the runner’s projected times. Set it to 0 when the race uses chip-time cutoffs; enter gun-to-mat seconds when the race uses gun time. Official manuals override every number on the page.
Body mass and race time
This is an Endurometry approximation. Race time is rescaled as
t2 = t1 × (m2 / m1)^0.67
The 2/3 exponent is an allometric rule of thumb. It is not copied from a Daniels table and not an ACSM metabolic equation. Composition, fuelling and training changes are ignored. Do not use it as a weight-loss prescription.
Average finish-time seeds
In-browser “average” times are a recreational seed at age 30, stretched with Endurometry age factors (not official WMA):
median = seed_30 × f(30) / f(age) faster sketch = 0.85 × median slower sketch = 1.18 × median
Male 10K seed is 55:00; female 10K 1:05:00. Generated /average-times/ articles may blend this seed with submissions; thresholds live on /data/ (n<8 seed, 8–24 mixed, ≥25 live). This calculator always evaluates the seed in the browser.
Rounding and displayed precision
- Times and paces are calculated in seconds at full floating-point precision and rounded to the nearest whole second only when displayed — a pace of 482.8 s is shown as 8:03.
- Times of one hour or more are shown as h:mm:ss; shorter times as m:ss.
- Speeds are shown to two decimals. Distances are shown to up to three decimals.
- Heart rates are rounded to the nearest whole beat when displayed. Reserve is shown as a whole number of bpm.
- Kilocalories are rounded to the nearest whole kcal. Oxygen uptake (VO₂) is shown to one decimal (ml/kg/min).
- Age factors are shown to four decimals. Graded times are rounded to the nearest second when displayed.
- Treadmill belt speed is shown to one decimal (km/h). Equivalent paces are rounded to the nearest second.
- Cutoff buffer is shown as a whole minute in the result row and to one decimal in the tip line. Checkpoint times round to the nearest second; table distances to one decimal.
- Weight-scaled times round to the nearest second. Seconds per km to one decimal; per kg to two decimals.
- Seed benchmark times round to the nearest second. The percent versus your time is a whole number.
- Each figure is rounded independently, so recomputing one displayed value from another (for example rounded pace × distance) can differ from the displayed total by a second or so. The underlying values are consistent.
Endurometry Sources & References
Want a new tool or fix?
Tell us which calculator, pace chart or fix would help — we build what runners ask for. Replies usually come back in 1–2 days.