Using VO2 Scores to Benchmark Performance

The task of testing is integral to the whole training process. After all, training is a means to an end and that end is better performance on race day.

There are many ways to test to see if your training is making you better. There are lab tests that use lactate curves or VO2 curves to assess improvement, there are field tests, such as Joe Friel’s 30 minute TT or Coggan’s CP5/CP20 tests to approximate the athlete’s “Functional Threshold” and there are races! All of these tests have one thing in common: they hurt.

In fact, these tests hurt enough that the athlete is quite restricted in how frequently they can perform them. You may naturally think that isn’t such a bad thing. After all, how quickly do we expect an athlete to improve? And that is true, a test that is truly representative of performance potential performed every month or so is sufficiently frequent to mark changes in performance. However…

Imagine for a moment that we were presenting the results of our testing to a journal for publishing. How frequently would we have to test for them to deem the results statistically significant? Once a month? Once every two weeks? Try a minimum of every fourth day!

That’s right, in order to deem the relationship between the training that we did and the performance that was achieved, “statistically significant” would require that we throw down a max effort test at least every fourth day. Let’s think about the reason for this. This frequency is not merely a function of the general bureaucracy of research studies, but rather it is an indicator of the true variability of day-to-day performance that can be attributed to factors other than training load. In other words, your standard once-a-month testing may exhibit performance changes that may be just as attributable to day-to-day fluctuations as they are to true performance changes induced by training. This presents a real problem for the psychologically fragile athlete.

Add to this problem the significant issue of validity — is a 20 minute field test truly indicating changes in performance that are specific to ironman racing? And we have to truly question the benefit of infrequent short duration testing as a means of assessing whether the training program is working or not. So, are we left to merely go on faith that the training program is working, or is there another way?

An effective benchmark for an ironman athlete would need to be:

  • Indicative of ironman fitness.
  • Sufficiently mild that it can be repeated frequently (at least every fourth day).

While I still use the short duration tests and lab tests as a semi-regular check in on the power-duration curve with the athletes I coach, for the reasons given above, my primary indicator of improved fitness has become an adaptation of Jack Daniels VDOT formula that enables me to use practically every workout to benchmark performance. Here’s how it works:

Formula for Benchmarking Performance
Jack Daniels’ Running Formula uses race data to infer an athletes’ VO2max based on the race performance along with certain economy assumptions. He calls this score a VDOT. He then uses this subsequent VDOT to prescribe training paces based on a given percentage of max. I have simply flipped this on its head (and modified the economy assumptions based on data that is more specific to triathletes), instead of inferring training paces from performance. I infer performance from training paces.

Here are the formulae that I use to calculate a VO2 score from a given training session.

Bike: (W/75*1000/BW)/((THR-RHR)/(MHR-RHR))
Run: (210/P)/((THR-RHR)/(MHR-RHR))


  • W = Power of the session in watts (norm.)
  • P = Pace of the session in min/km (flat/norm.)
  • BW = Bodyweight in kg
  • THR = Training heart rate in bpm
  • MHR = Max heart rate in bpm
  • RHR = Resting heart rate in bpm

Here’s an example, showing the working, that Gordo gave from his own data:
HR = Max 175, resting 40
BW = 73 kg
275w, 150 bpm (30 mins, training)

(275/75*1000/73) / ((150-40)/(175-40))
50.22 / .815

When Elite:
74 kg
300w (2 hrs, half ironman race)
54.05 / .815

The numbers that Gordo arrived at are pretty representative of what I’ve seen so far.

  • Elite: 65-75
  • Top AG: 60-70
  • MOP: 50-60
  • BOP: 40-50
  • Untrained: 30-40

Couple of notes that will assist with analysis of your data samples:

* Usually, run will be marginally higher than bike. 67/73 would be a typical split.

* Data is only valid if sufficiently long/aerobic, i.e. increases in power are accompanied by a proportional increase in HR (efforts of 60-90min or more in duration)

In addition to the advantages outlined above, this number has some contextual advantages that make it very useful as a benchmark when comparing across time, across sports and across athletes:

  • It takes weight into account, this can be an issue when assessing fitness by looking at pure power numbers between athletes of different sizes or the same athlete at different sizes!
  • It takes individual max and resting heart rate into account. This can be an issue when assessing fitness by looking at power at a fixed HR or even percentage of max HR data as a benchmark between athletes
  • It allows some level of assessment of “global” bike/run fitness and allows one to compare relative fitness between the two sports.

And, as mentioned, most importantly it offers the coach/athlete sufficient data points to be confident of the significance of the results — that the test data is not purely the result of a good or bad day.

Once you have all of these benchmark numbers what do you do with them? Well, you could use them to get a journal article published or you can average them to get a sense of how your fitness changes by week, month (as the chart below indicates) or year in response to different training loads and methods to help to learn what it takes, for you, to reach a given performance level.

Overall, you’ll be left with a solid output variable to go with all of the “input” training metrics that you track on a daily basis.

Train Smart.

Categories: Training

About Author

Alan Couzens

You can contact Alan at