Run one maximal test —1 km, 2 km, 5 km, 6 minutes or the 12-minute Cooper test— and get your estimated VO2max, your vVO2max, your threshold pace, a full set of training paces by zone and your predicted times from 1,500 m to the marathon.
Your test
Fine tuning
1,06
Lower it towards 1.03 if you have deep endurance and little top-end speed; raise it towards 1.10 if you are explosive and your weekly mileage is low.
Your threshold pace
—min / km
Enter a test to see your paces.
VDOT
—
VO2max
—ml/kg/min
vVO2max
—km/h
Your paces by zone
Zone
Pace
400 m
Your predicted times
Two models on the same test. Daniels adjusts the percentage of VO2max you can hold according to how long the effort lasts; Riegel is a pure power law. When they diverge sharply at the marathon, the gap is measuring exactly how much endurance you are missing.
Distance
Daniels
Riegel
Pace
Both models assume you have done the mileage for that distance. A marathon predicted from a 5 km is the ceiling of what you could run after training for it, not what you would run next Sunday.
How your paces are calculated
A maximal effort of between 5 and 20 minutes estimates your maximal oxygen uptake fairly reliably, because in that range the effort is sustained very close to your aerobic ceiling. From there, every training pace is a percentage of that ceiling.
From the test to VO2max
This calculator uses the method of Jack Daniels and Jimmy Gilbert. First it works out the oxygen cost of the speed you ran, with speed in metres per minute:
VO₂ = −4.60 + 0.182258 · v + 0.000104 · v²
Then it estimates what percentage of your maximum you can hold for as long as the test lasted, with time in minutes:
Dividing the first by the second gives VDOT: an effective VO2max that already contains your running economy. That is why two runners with the same laboratory VO2max can have different VDOTs, and why VDOT predicts race times better than raw VO2max.
From VO2max to vVO2max
Velocity at VO2max is the speed at which you reach your maximum oxygen uptake. There is a widely repeated shortcut for it:
vVO₂max (km/h) ≈ VO₂max / 3.5 ← falls short
That shortcut falls short, and by a lot. For a VDOT 43 runner it gives 12.4 km/h, that is 4:50 per kilometre, which is not their vVO2max but very nearly their threshold pace. The problem is that it assumes a linear oxygen cost, and running is not linear: the cost rises faster than speed, which is exactly what the quadratic term in the equation above captures.
This calculator does not use the shortcut. It solves the equation backwards and looks for the speed at which the oxygen cost equals your VDOT. For that same VDOT 43 runner it returns 13.9 km/h, or 4:18 per kilometre, which really is a pace they could hold for about six minutes. It matches the VO2max interval pace in the published tables; the shortcut does not.
And from there to the zones
Zones come from applying percentages to your VDOT and converting oxygen cost back into speed, solving the first equation in reverse. They are not feelings translated into numbers: they are specific physiological intensities.
Zone
% of VO2max
What it trains
Typical duration
Easy
59 – 74 %
Volume, aerobic base, recovery
30 – 150 min
Marathon
75 – 84 %
Long distance race pace
60 – 180 min
Threshold
83 – 88 %
Raising the lactate threshold
20 – 60 min
VO2max
95 – 98 %
Raising the aerobic ceiling
3 – 8 min per rep
Repetition
103 – 112 %
Speed, economy, form
< 2 min per rep
Where the model stops working
The sustainable-percentage equation is fitted for efforts from a few minutes to a little over an hour. Outside that window it drifts, and always in the same direction: upwards.
Enter a 3 h 10 min marathon and the VDOT comes out around 50; the published tables assign that time a 46. The difference is not an error in the formula, it is what the formula does not look at: in a marathon glycogen runs out, muscle damage accumulates and the pace falls for reasons that are not aerobic. The same happens at the other end, in tests under five minutes, where part of the effort is paid for anaerobically and VDOT also reads high.
The practical consequence: for training paces, use a test between 5 and 60 minutes. A 5 km or a 10 km is the reference. If all you have is a recent marathon, the number gives you an idea, but do not build your intervals on it.
How to run the test properly
The mistake that inflates results the most is going out too fast. A well executed 5 km test is run at nearly constant pace, with the last kilometre slightly quicker; if your first kilometre is twenty seconds faster than your fourth, the test is measuring your impatience rather than your capacity, and the paces it produces will be unreachable in training.
Warm up for 15 to 20 minutes with a few strides, pick flat ground with no traffic —a track is ideal— and do it on a calm day. Above 25 degrees or in strong wind the result will read low: do not adjust the number, run the test again another day.
Reference table by level
Level
VDOT
5 km
10 km
Marathon
Beginner
30 – 35
30:40 – 26:40
63:45 – 55:55
4:49 – 4:16
Steady club runner
38 – 45
24:08 – 20:18
50:03 – 42:25
3:49 – 3:16
Fast club runner
48 – 54
19:00 – 17:03
39:35 – 35:42
3:03 – 2:45
Regional competitor
58 – 65
15:57 – 14:29
33:23 – 30:24
2:34 – 2:21
Elite
> 70
< 13:35
< 28:30
< 2:12
Why the test has to last between 5 and 60 minutes
The share of VO2max you can hold depends on how long the effort lasts. Outside the shaded band, the VDOT the test gives you stops being reliable.
Under 5 minutes part of what you run is not aerobic, and the test comes out inflated. Over 60 minutes the curve turns optimistic: it assumes you hold a share of VO2max that in practice takes serious training and good fuelling. That is why a 3:10 marathon comes out near VDOT 50 when Daniels’ tables give it 46. The calculator warns you when the test runs past an hour.
Frequently asked questions
Which test is best for working out my training paces?
The 5 km, if you are in shape to race it. It lasts long enough to reflect your aerobic capacity and short enough that dehydration and glycogen do not contaminate it. If you have never done a test, the 12-minute Cooper is easier to manage because there is no distance to pace, only a clock to survive.
How do you do the Cooper test?
Run for 12 minutes at the highest intensity you can sustain and measure the total distance covered, ideally on a track so you do not depend on GPS. Warm up for 15 minutes first. The result estimates your VO2max, and every pace in this calculator follows from it.
What is VDOT and how does it differ from VO2max?
VDOT is an effective VO2max, calculated from actual race performance, so it already contains your running economy. An efficient runner performs as though they had a higher uptake than the laboratory measures, and VDOT captures that. This is why it predicts race times better than a measured VO2max.
Why does my marathon prediction look too optimistic?
Because the models assume specific training for that distance. Predicting a marathon from a 5 km assumes endurance you may not have: the marathon is governed by glycogen, muscular endurance and fuelling, and none of the three is measured in a twenty-minute test.
Why is my VDOT higher when calculated from a marathon than from a 5 km?
Because the equation does not subtract glycogen depletion or muscle damage, which are what actually slow you down in a marathon. Beyond an hour of effort the model turns optimistic: a 3 h 10 min marathon gives a VDOT near 50, while the published tables assign it 46. Use a 5 km or 10 km test for training paces.
How often should I repeat the test?
Every six to eight weeks, and always at the end of a training block. Doing it fortnightly measures how fresh you are on the day rather than your fitness, and costs you a quality session each time.
Do these paces work the same on a treadmill?
On a treadmill the effort is slightly lower at the same speed, because there is no air resistance and no uneven ground. Setting a 1 % incline compensates reasonably well at paces under 4:30 per kilometre.
Do they work for trail or hilly races?
These paces are for flat ground. For a course with elevation they need converting, which is what the grade adjusted pace calculator is for.
# --- Diagrama del modelo (lo dibuja diagramas.py) ---