Transparency
How accurate is TrainingFlow?
Every pace, split, time and fuelling number is computed by a deterministic engine — peer-reviewed sports science, never an AI guess. Here is the proof, in two parts: the engine reproduces the published science to within 0.08%, and we publish real predicted-vs-actual results from runners — good or bad.
Part 1 · Validated against the science
The engine reproduces the textbooks
The pacing model implements Jack Daniels' own VO₂/%VO₂max equations. Below are the engine's predicted equivalent times — computed live on this page — next to Daniels' published reference values. No numbers are hard-coded; if the maths drifted, this table would show it.
| VDOT | 5K | 10K | Half | Marathon |
|---|---|---|---|---|
| 38 | 25:10 | 52:15 | 1:55:51 | 3:59:30 |
| 45 | 21:49 | 45:13 | 1:40:14 | 3:28:16 |
| 50 | 19:56 | 41:20 | 1:31:31 | 3:10:40 |
| 55 | 18:22 | 38:06 | 1:24:16 | 2:55:55 |
| 60 | 17:03 | 35:22 | 1:18:08 | 2:43:22 |
A “VDOT” of 50 is roughly a 3:10 marathoner; 60 is roughly 2:43. The table is generated by the same function that powers every strategy.
Cross-check vs Daniels' Running Formula
Worst-case deviation across every anchor: 0.08%. The engine is Daniels — by construction.
Grade-adjusted pace
Hills cost what the physiology says
Strava's GAP / Minetti cost-of-running model: roughly +12 s/km per 1% of climb at a 5:00/km base, with climbs costing more than descents give back.
| Grade | Pace | Δ vs flat |
|---|---|---|
| +1% | 5:12/km | +12 s |
| +2% | 5:24/km | +24 s |
| +3% | 5:38/km | +38 s |
| +5% | 6:13/km | +73 s |
| -1% | 4:53/km | −7 s |
| -3% | 4:46/km | −14 s |
| -5% | 4:45/km | −15 s |
Heat penalty
Warm, humid air slows you predictably
Thermoregulation models (Maughan & Shirreffs; Noakes): an unacclimatised runner loses roughly 4–8% at 25 °C / 70% RH. The engine sits inside that range and scales with both temperature and humidity.
| Conditions | Slowdown |
|---|---|
| 15 °C · 50% RH | 0.7% |
| 20 °C · 60% RH | 2.6% |
| 25 °C · 70% RH | 5.5% |
| 30 °C · 75% RH | 9.1% |
Part 2 · Validated against real races
What runners actually ran
Matching the textbook is necessary but not sufficient — race day is messy. After every race, runners log their actual finish on their strategy page. We aggregate those here, anonymously, and publish the numbers exactly as they fall.
No race results logged yet.
This section fills in automatically as runners record their actual finish times. We commit to publishing the real numbers here — median error, how often we land within five minutes, and whether the engine runs optimistic or conservative — whatever they turn out to be. Built your plan? Log your result after race day →
Methodology & sources
- VDOT & race prediction — Jack Daniels, Daniels' Running Formula (VO₂ demand and %VO₂max-vs-duration equations).
- Grade-adjusted pace — Strava GAP, grounded in Minetti et al. on the energy cost of gradient running.
- Heat — Maughan & Shirreffs and Noakes thermoregulation work; penalty scales with temperature, humidity and acclimatisation.
- Fuelling — ISSN 2018 position stand (carbohydrate, fluid and sodium for endurance events), capped to what an athlete can train their gut to absorb.
The AI layer only turns these computed numbers into readable prose, and every narrative is rejected if a number in it does not match the engine's output. Predictions are estimates from models, not guarantees — race day always has the final say.
See it on your race.
Your first full strategy is free — real pacing, fuelling and a race-week plan, computed for your fitness and the forecast.