- A watch can't measure oxygen, so it infers VO₂max in three steps.
- In some users, two models put VO₂max 30 ml/kg/min apart.
- Try it on your own data. Below you'll find our own VO₂max calculator:
Cookie Preferences
Crunch Time: Embrace the Cookie Monster Within!
We use cookies to enhance your browsing experience and analyse our traffic. By clicking “Accept All”, you consent to our use of cookies according to our Cookie Policy. You can change your mind any time by visiting out cookie policy.
VO2 Max
A sports watch turns power, pace and heart rate into a Vo2 Max through a chain of estimates. Here's each step, and where it can go wrong.
17 September 2026
I spend a lot of time looking at wearable data. The athlete and consumer in me looks at a number and thinks about whether it is interesting or useful. The researcher in me increasingly asks a different question: how did we actually get that number?
VO₂max is a good example. It is one of the most familiar metrics on a sports watch, but until I started looking into how I could calculate it myself from wearable data, I had never really thought about what sits between the raw signals and the number on the screen.
The basic idea turns out to be surprisingly simple. Estimate how much oxygen a particular workload requires, use heart rate to estimate how hard that workload is relative to someone's maximum, and extrapolate from there. The difficult bit is making that work with people exercising in the real world.
GPS is noisy, gradient matters a lot, heart rate takes time to respond, maximum heart rate may be wrong, and two people can use different amounts of oxygen to perform exactly the same external workload.
That tension between a simple physiological principle and messy real-world data is what I found most interesting.
VO₂max is the highest rate at which the body can take in, transport and use oxygen during exercise. It is normally expressed as milliliters of oxygen per kilogram of body weight per minute.
In a laboratory, we can actually measure it. An athlete exercises progressively harder, towards their maximum, while wearing a mask, and a metabolic cart analyses the gases they breathe in and out. VO₂max matters because it captures a large part of the aerobic system in a single number: oxygen has to enter the lungs, pass into the blood, be pumped around the body and ultimately be used by working muscle.
It is strongly associated with endurance performance and, at a population level, with long-term health. It certainly is not the only determinant of endurance performance. Threshold, economy and durability matter enormously too. We can use it to predict endurance performance; Joyner's classic model of marathon performance combines VO₂max, the fraction of it an athlete can sustain, and running economy.
In very simple terms, VO₂max describes the size of the aerobic engine while the other variables help determine how effectively it can be used.
The important distinction is that a watch does not measure VO₂max in the same way as a metabolic cart. It has no gas analyzer on your wrist. It has to infer it.
Get the latest Terra Research reports and insights every week as soon as they're published.
By continuing, I agree to the Privacy Policy and Terms of Service.
The first part of that inference is converting external workload into an estimate of metabolic demand.
Cycling provides the easiest example. A power meter tells us how much mechanical power is reaching the pedals. If a rider produces 250 watts, they are delivering 250 joules of mechanical energy every second.
The body has to generate considerably more energy than this because human muscle is not perfectly efficient. Gross efficiency describes the proportion of metabolic energy that ends up as useful mechanical work. In trained cycling, gross efficiency is often somewhere in the low-to-mid 20% range, although there are meaningful differences between individuals.
If a rider were 23% efficient, producing 250 watts at the pedals would require about 1,087 watts of metabolic power. Converting that energy demand into its oxygen equivalent gives us an estimate of oxygen consumption.
The commonly used ACSM (American College of Sports Medicine) cycling equation is:
Estimated VO₂ = 10.8 × watts per kilogram + 7
For a 70 kg rider producing 250 watts, this gives an estimated oxygen requirement of about 46 ml/kg/min.
Running follows the same principle, but external work is harder to measure directly. Instead, laboratory studies have established relationships between running speed, gradient and oxygen demand. The ACSM running equation uses speed and gradient to estimate how much oxygen a particular running workload should require.
This is the first important layer of inference. The wearable is not measuring oxygen consumption. It is measuring the external workload and using a population relationship to estimate its likely metabolic cost.
Those relationships are not identical between people. Cycling gross efficiency varies, just as running economy does. Two runners traveling at exactly the same speed can require different amounts of oxygen to do it. The equations are useful estimates, not direct measurements.
The second part of the calculation comes from heart rate.
I use heart-rate reserve, which positions the current heart rate between resting and maximum heart rate:
HR reserve = (current HR − resting HR) / (maximum HR − resting HR)
The important physiological finding is that percentage heart-rate reserve corresponds reasonably closely to percentage VO₂ reserve during aerobic exercise. VO₂ reserve is the difference between resting oxygen consumption and maximum oxygen consumption.
Resting oxygen consumption is conventionally approximated as about 3.5 ml/kg/min. This means that if someone is exercising at a workload requiring an estimated 35 ml/kg/min of oxygen while sitting at 70% of their heart-rate reserve, we can extrapolate from that towards their likely VO₂max.
Importantly, the calculation needs to include resting VO₂ rather than simply dividing workload VO₂ by heart-rate reserve.
That is essentially the whole physiological idea: estimate the oxygen requirement of the workload, use heart rate to estimate where that workload sits between rest and maximum, then extrapolate towards maximum.
My first running model looked for clean periods within a workout, estimated oxygen demand from speed and gradient, calculated heart-rate reserve, and produced a VO₂max estimate from each period.
I have since changed the approach. A single period gives too much influence to any small error in GPS, gradient or heart rate. Instead, I now build the relationship between estimated oxygen demand and heart-rate reserve across multiple suitable periods and workouts, then extrapolate that relationship towards maximum.
This should be more robust because one slightly poor observation becomes a noisy point rather than determining the answer.
The difficult part is deciding which observations are trustworthy. Heart rate does not react instantly to changes in workload. If someone accelerates up a hill, the metabolic demand rises quickly while heart rate takes time to catch up. Pair the new high workload with the old lower heart rate and the model can conclude that the athlete is considerably fitter than they really are.
I therefore want both workload and heart rate to be reasonably stable before using a section of data. Maximum heart rate is another important input. If someone's true maximum is 190 bpm but the model assumes 175, every heart-rate-reserve calculation is distorted.
Where possible, I therefore want the model to learn HRmax from the person's own data: a genuine measured maximum, repeated high values during hard efforts, or a tested value entered by the user.
An age-predicted maximum is useful when nothing else exists, but it should be a fallback rather than automatically being treated as ground truth.
Cycling has one major advantage: if someone has a good power meter, external workload itself is measured much more cleanly.
GPS speed is a poor proxy for cycling workload. Thirty kilometers per hour could mean freewheeling downhill, sitting in a bunch, riding with a strong tailwind or pushing hard into a headwind. Two hundred and fifty watts has a much clearer meaning.
Power therefore gives us an excellent starting point for estimating oxygen demand, which can then be related to heart-rate reserve in much the same way as running.
The difficulty is that outdoor cycling is often highly variable. Power repeatedly changes through hills, corners, descents, drafting and coasting, while heart rate is still responding to what happened several seconds earlier.
Cycling therefore gives us a cleaner measurement of external work but not necessarily a cleaner physiological observation.
There is also genuine variation in cycling efficiency. Two athletes producing the same wattage can consume different amounts of oxygen because their gross efficiency differs.
Again, power is an excellent measurement of work, but it is not itself a measurement of metabolism.
What happens if somebody has not done a suitable run or a ride with power?
Resting heart rate also contains some information about aerobic fitness. Uth and colleagues developed a simple equation using the ratio between maximum and resting heart rate:
VO₂max ≈ 15.3 × HRmax / HRrest
It worked surprisingly well in the relatively narrow population in which it was developed, but the limitations are obvious. Resting heart rate is influenced by sleep, illness, stress, medication, alcohol, genetics and accumulated training fatigue as well as aerobic fitness.
I therefore think of a rest-based estimate as a useful starting point rather than an equivalent replacement for an exercise-derived score. If I know someone's age, sex, resting heart rate and some information about their activity, I can make an informed initial estimate.
As actual exercise data accumulates, better evidence should progressively replace it.
Increasingly, I do not think of run, ride and rest as three competing VO₂max scores. They are different sources of evidence about the same underlying physiological quantity, with very different levels of reliability.
Some of my early results showed just how quickly those sources of uncertainty can accumulate. In a few users, my running and cycling estimates differed by around 30 ml/kg/min.
There are genuine differences between running and cycling VO₂max, but normally nothing approaching that magnitude. Rather than concluding that those people were extraordinarily good runners and poor cyclists, the discrepancy is much more likely to be telling me something about the models.
This is an important lesson in itself. When two models disagree dramatically, the answer is not necessarily to pick whichever result looks more believable. Sometimes the disagreement is telling you that one or both inference chains are not working properly.
The famous treadmill '1% rule' is another good example of how seemingly simple physiology becomes complicated in the real world. Jones and Doust found that setting a treadmill to approximately a 1% gradient could better reproduce the energetic cost of outdoor running at certain speeds.
That does not mean we should simply add 1% to the measured gradient of every outdoor run. I therefore use the measured outdoor gradient while accepting that applying treadmill-derived metabolic equations outdoors introduces some uncertainty.
Each of my models is accompanied by a confidence score, which we plan to display simply using traffic-light colors. I think this is important because two identical VO₂max estimates can be supported by very different amounts of evidence.
A running estimate based on months of good-quality workouts, a well-established HRmax and a broad range of stable intensities should carry much more confidence than one extrapolated from a handful of easy runs using an age-predicted maximum heart rate.
Similarly, cycling power gives us a stronger measure of workload than cycling speed, while a rest-based estimate should generally carry less confidence than one supported by suitable exercise data.
The confidence score therefore considers the quality and amount of the underlying evidence: whether HRmax has actually been observed, how many useful periods are available, the range of exercise intensities covered, how recent the data is, and how consistently the relationship between workload and heart rate appears across sessions.
I like this because it starts to expose something wearable scores often hide. A number can look precise without being particularly certain.
Proper validation requires laboratory VO₂max measurements.
The experiment I would really like to run is straightforward in principle: take a reasonably large group of people with good CPET measurements, look at their wearable histories without using the laboratory result, and see what the model predicts.
I would also want to know more than the average error. Can the model rank people correctly? Can it detect genuine improvements in fitness? Does it remain stable when fitness has not changed? And how much confidence should we place in each estimate?
That last question is particularly important. Someone with months of running data, power-meter rides, hard efforts and a well-established maximum heart rate gives us far more information than someone with a week of resting-heart-rate data.
Yet wearable products often present both results with the same apparent precision.
The more I have worked on this, the more I have come back to the same conclusion. The basic physiology behind wearable VO₂max estimation is not especially complicated. External workload gives us an estimate of metabolic demand.
Heart rate tells us approximately where that demand sits relative to the person's aerobic range. From there, we extrapolate towards maximum.
The complexity comes from the assumptions hidden inside each of those steps. The external workload might be wrong. Its conversion into oxygen demand is based on population averages.
Heart rate may not yet have responded to the workload, and resting and maximum heart rate may themselves only be estimates. Heat, fatigue, dehydration and caffeine can all change the relationship further.
None of this makes wearable VO₂max useless. In fact, I find almost the opposite. It is remarkable that we can take signals collected passively from a watch and get anywhere close to a physiological measurement that traditionally requires somebody exercising to exhaustion while wearing a mask in a laboratory.
But working through the calculation has changed the way I look at the number on the screen. A wearable VO₂max is not simply a measurement. It is the end of a chain of estimates, assumptions and decisions about which data to trust.
That probably applies to many wearable scores. The challenge is not just producing a number; it is understanding how much evidence sits behind it, where the uncertainty comes from, and how much confidence we should place in the answer.

We analyzed 340,889 nights that followed a nap. Before 11 AM a nap costs nothing, but after 5pm it moves bedtime by 80 minutes.
15 September 2026

What 266 pregnancies reveal about how temperature, heart rate, and breathing change from the first days after conception.
8 September 2026

What 1,045 altitude nights reveal about why the same mountain hits people differently.
4 September 2026

What 17,775 shift nights reveal about how night work changes sleep, REM, and recovery.
1 September 2026