TL;DR
- For a 40:00 10K, the Riegel-based race-time predictor projects a half-marathon of 1:28:15 at a baseline pace of 4:00/km.[4]
- The VDOT engine returns VDOT 51.9 and a half-marathon equivalent of 1:28:33 — only about 18 seconds slower than the Riegel prediction.[2]
- The headline result is agreement, not disagreement. Over a 21 km race, two formulas built from completely different data land within 0.3% of each other.
- Where they diverge is the marathon, not the half. The spread grows to about 38 seconds at 42.195 km and keeps widening past it — the further you extrapolate, the less the two agree.
A 40-flat 10K is the most common "what next?" entry point in recreational running. The Riegel formula and Daniels' VDOT system both project a half-marathon time from it, and they are often assumed to disagree by a minute or more. This is the head-to-head comparison entry in our race-prediction series: it runs both engines on the same input and reads the actual gap — which turns out to be far smaller than the folklore suggests.
Engine outputs
A 40:00 10K through the Riegel-based Race Time Predictor and the Daniels Run Training Paces Calculator (VDOT):
# race-time-predictor (computed live from /engines/race-time-predictor.js)
Engine input
known_distance_km = 10
known_time_minutes = 40
Engine output
predictions[0].label = 5K
predictions[0].distanceKm= 5
predictions[0].timeMinutes= 19.185282
predictions[0].paceMinPerKm= 3.8370565
predictions[0].paceMinPerMile= 6.1751438
predictions[0].difficultyDelta= 0.95926412
predictions[1].label = 10K
predictions[1].distanceKm= 10
predictions[1].timeMinutes= 40
predictions[1].paceMinPerKm= 4
predictions[1].paceMinPerMile= 6.437376
predictions[1].difficultyDelta= 1
predictions[2].label = Half Marathon
predictions[2].distanceKm= 21.0975
predictions[2].timeMinutes= 88.256123
predictions[2].paceMinPerKm= 4.1832503
predictions[2].paceMinPerMile= 6.7322888
predictions[2].difficultyDelta= 1.0458126
predictions[3].label = Marathon
predictions[3].distanceKm= 42.195
predictions[3].timeMinutes= 184.00797
predictions[3].paceMinPerKm= 4.3608952
predictions[3].paceMinPerMile= 7.0181805
predictions[3].difficultyDelta= 1.0902238
baselinePaceMinPerKm = 4
baselinePaceMinPerMile= 6.437376 # run-training-paces-calculator (computed live from /engines/run-training-paces-calculator.js)
Engine input
distance = 10k
race_time_minutes = 40
race_time_seconds = 0
Engine output
vdot = 51.9
inputRaceDistanceMeters= 10000
inputRaceTimeSeconds = 2400
inputPacePerKmSeconds = 240
zones[0].zone = E
zones[0].label = Easy / Long Run
zones[0].description = Conversational pace for aerobic base and recovery. Use for most training volume.
zones[0].pacePerKmSeconds= 308
zones[0].pacePerMileSeconds= 496
zones[0].effortPercent= 67
zones[0].pacePerKmRangeSeconds[0]= 285
zones[0].pacePerKmRangeSeconds[1]= 341
zones[1].zone = M
zones[1].label = Marathon Pace
zones[1].description = Your predicted marathon race pace. Race-specific runs for marathon training.
zones[1].pacePerKmSeconds= 263
zones[1].pacePerMileSeconds= 423
zones[1].effortPercent= 82
zones[1].pacePerKmRangeSeconds[0]= 263
zones[1].pacePerKmRangeSeconds[1]= 263
zones[2].zone = T
zones[2].label = Threshold / Tempo
zones[2].description = Comfortably hard: about the pace you could race for an hour. Improves lactate threshold. Max 20 min continuous.
zones[2].pacePerKmSeconds= 247
zones[2].pacePerMileSeconds= 398
zones[2].effortPercent= 88
zones[2].pacePerKmRangeSeconds[0]= 247
zones[2].pacePerKmRangeSeconds[1]= 259
zones[3].zone = I
zones[3].label = Interval / VO₂max
zones[3].description = Hard 3–5 min repeats near VO₂max. Builds aerobic power. Typical rep: 800m–1200m.
zones[3].pacePerKmSeconds= 223
zones[3].pacePerMileSeconds= 359
zones[3].effortPercent= 100
zones[3].pacePerKmRangeSeconds[0]= 223
zones[3].pacePerKmRangeSeconds[1]= 227
zones[4].zone = R
zones[4].label = Repetition / Speed
zones[4].description = Short fast reps (200m–400m) with full recovery. Develops economy and speed.
zones[4].pacePerKmSeconds= 206
zones[4].pacePerMileSeconds= 332
zones[4].effortPercent= 110
zones[4].pacePerKmRangeSeconds[0]= 192
zones[4].pacePerKmRangeSeconds[1]= 214
equivalentRaceTimes[0].distance= 1,500m
equivalentRaceTimes[0].distanceMeters= 1500
equivalentRaceTimes[0].predictedSeconds= 313
equivalentRaceTimes[1].distance= 1 Mile
equivalentRaceTimes[1].distanceMeters= 1609.344
equivalentRaceTimes[1].predictedSeconds= 338
equivalentRaceTimes[2].distance= 5K
equivalentRaceTimes[2].distanceMeters= 5000
equivalentRaceTimes[2].predictedSeconds= 1158
equivalentRaceTimes[3].distance= 10K
equivalentRaceTimes[3].distanceMeters= 10000
equivalentRaceTimes[3].predictedSeconds= 2400
equivalentRaceTimes[4].distance= Half Marathon
equivalentRaceTimes[4].distanceMeters= 21097.5
equivalentRaceTimes[4].predictedSeconds= 5313
equivalentRaceTimes[5].distance= Marathon
equivalentRaceTimes[5].distanceMeters= 42195
equivalentRaceTimes[5].predictedSeconds= 11078 Riegel's T2 = T1 × (D2/D1)^1.06: 40 × (21.0975/10)^1.06 ≈ 88.26 minutes (1:28:15) for the half, 184.0 minutes (3:04:00) for the marathon, and 19.19 minutes (19:11) for the 5K.[1]
A 40:00 10K maps to VDOT 51.9, whose Daniels-table half-marathon equivalent is 1:28:33 (5313 s) and marathon equivalent 3:04:38 (11078 s). The VDOT pace zones come back as E 5:08/km, M 4:23/km (the predicted marathon pace), T 4:07/km, I 3:43/km, R 3:26/km.[2]
Reading the 18-second gap
The interesting result is how close these two engines land. Riegel projects 1:28:15; VDOT projects 1:28:33. The spread is 18 seconds over a 21.1 km race — roughly 0.3% of the total time. Two models built from entirely different source data (Riegel from world-record times across distances, Daniels from trained club and collegiate runners) converge almost exactly at the half-marathon distance for a runner in this fitness band.
That convergence is not an accident. The half-marathon sits close to the 10K input on a logarithmic distance scale, so both engines are doing a short, well-conditioned extrapolation. When the standard running-performance models are compared head to head on elite endurance runners, the power-law and logarithmic fits extrapolate to longer distances more accurately than the asymptotic critical-speed models do[3] — and Riegel's formula is exactly a power law.
Where the spread actually grows: the marathon
Extend the same input to 42.195 km and the agreement loosens. Riegel projects 3:04:00; VDOT projects 3:04:38. The spread widens from 18 seconds at the half to about 38 seconds at the full marathon. The pattern is consistent: the further past the input distance you extrapolate, the more the two models diverge, with VDOT trending slightly slower (more conservative) at long distances.
Distance Riegel VDOT Spread
──────────────────────────────────────────────
5K 19:11 19:18 +7 s (VDOT slower)
10K (input) 40:00 40:00 0 s
Half Marathon 1:28:15 1:28:33 +18 s
Marathon 3:04:00 3:04:38 +38 s This is the honest reading of the two engines: they agree closely near the input distance and drift apart as you extrapolate further. At the half-marathon — the most common target off a 10K — the practical difference is negligible, well inside the noise of race-day pacing, weather, and course profile.
When the small gap still matters
Eighteen seconds is inside the margin where the runner, not the formula, decides the outcome. Use the two predictions as a tight bracket rather than rival forecasts:
- VDOT (1:28:33) as the conservative anchor. Slightly slower, which makes it the safer pacing target for a first half-marathon attempt.
- Riegel (1:28:15) as the stretch target. For a well-trained 10K runner with consistent half-marathon mileage, the slightly faster figure is reachable on a good day.
- Either, for training zones. The difference is too small to change session prescription. Use VDOT's pace bands because it returns them directly.
How the two models differ in structure
The numbers agree, but the engines are built differently — worth knowing for cases where they don't:
- Continuous function vs table. Riegel is one scalable exponent (1.06), applicable to any distance. VDOT is a piecewise table-driven mapping. Inside the well-fitted range they track each other; far outside it they can drift apart.
- Pace zones vs single race time. VDOT returns training zones (Easy / Marathon / Threshold / Interval / Reps) plus race equivalents, which is more useful for actual training. Riegel returns equivalent times only.
- Extrapolation behaviour. Riegel's flat exponent applies the same fatigue assumption at every distance. VDOT's table bends slightly more at long distances, which is why the spread widens toward the marathon rather than the half.
When to use which
Practical guidance:
- For a half-marathon goal pace off a 10K personal best, treat the two outputs as one answer — they agree to within 18 seconds. Pick VDOT as the conservative pacing number and run.
- For setting training zones, use VDOT directly — the pace bands map cleanly onto session intensities. The Run Training Paces Calculator exposes them.
- For predicting a marathon from a 10K, expect the engines to start disagreeing (about 38 seconds here) and both to lose accuracy. Verify with a marathon-paced training block, not a 4× distance extrapolation.
- For hilly courses, neither tool handles elevation; pair them with the Marathon Pace Elevation tool which adds the slope correction.
The runner the engines were built for
Both are population models: Riegel a power law fit to athletic records, VDOT the Daniels–Gilbert oxygen-cost equations. The 40-minute 10K runner (VDOT 51.9) is a typical trained recreational runner, and here the two agree within 18 seconds at the half. A power law extrapolates cleanly over a modest distance range and loses accuracy as the gap widens,[3] so expect the two to drift apart further from the input distance.
The Race Time Predictor uses Riegel's standard 1.06 exponent. If you have two recent race results, solving ln(T2/T1) / ln(D2/D1) gives your own exponent, which is better founded than a guessed correction.
Related in this series
- Race Time Predictor — the prediction pillar: where the formula comes from.
- Predicting a Half-Marathon From a 40-Minute 10K — worked example through the Riegel engine.
- Training Paces From a 3:15 Marathon PR — turning a predicted time into VDOT/McMillan training zones.
Beyond the series: How To Train For A 5K covers the volume-vs-intensity framing that determines which engine wins on race day, and the Running Pace Calculator converts goal times back into per-kilometre paces.
FAQ
Which prediction should I aim for on race day?
For the half-marathon the two are 18 seconds apart, so it barely matters. Aim for the VDOT figure (1:28:33) as the conservative target; if the race goes well you'll naturally drift toward the Riegel time (1:28:15). The gap is smaller than the swing a single hill or a warm afternoon will cause.
What's the right Riegel exponent for me?
The default 1.06 produces a half-marathon prediction within 18 seconds of VDOT for a 40:00 10K. A power-law fit extrapolates cleanly over a modest distance range and loses accuracy as the gap widens,[3] so for longer extrapolations work out your own exponent from two recent races: ln(T2/T1) / ln(D2/D1). That is a fit to your own results, not a population constant.
Does heat change which engine wins?
Neither engine adjusts for heat — both were calibrated on temperate-condition races. Above 20°C, both over-predict by roughly 2–5%. A common pacing rule is to add about 1% to the predicted time per 5°C above 15°C, applied to whichever engine you picked.
Why does VDOT include training paces but Riegel doesn't?
Daniels designed VDOT explicitly as a training-prescription system; Riegel designed his formula as a race-time extrapolation tool. The difference reflects intent, not theoretical depth. Use VDOT when the next step is a training block, use Riegel when the next step is a goal time on the race calendar.
References
- 1 Athletic records and human endurance (Riegel) — American Scientist (PubMed PMID 7235349) (1981)
- 2 Daniels' Running Formula (4th Edition) — the VDOT tables — Human Kinetics (Jack Daniels) (2021)
- 3 Modelling of Running Performances: Comparisons of Power-Law, Hyperbolic, Logarithmic, and Exponential Models in Elite Endurance Runners — BioMed Research International (Vandewalle) (2018)
- 4 Methodology notes for the Race Time Predictor — AI Fit Hub (2026)