Physical Fitness Stack Exchange is a question and answer site for physical fitness professionals, athletes, trainers, and those providing health-related needs. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking for an implementation (or a document that describes the actual algorithm) for the energy expenditure/VO2/EPOC calculation from the heart rate variability.

A few white papers about

  • Oxygen consumption estimation
  • Energy expenditure estimation
  • EPOC (Excess post-exercise oxygen consumption)
  • Training effect
  • Athlete's recovery analysis

can be downloaded here.

According to Garmin's webpage, the error is about 50% smaller than for the generic method.

While these are fascinating to read, they don't tell us much about how to actually calculate these values from heart rate data. All it says:

Neural networks were used to construct a model that derives VO2 from R-R intervals (time between successive heart beats), using respiration rate and on/off-response information.

Even though the normal heart rate monitors don't make the data available, there are cheap receivers for polar and ANT+ around that allow beat by beat monitoring, like this one (for polar) or (for ant+) (program)

The conventional estimation of caloric expenditure as a function of the heart rate can be found in this paper: Prediction of Energy Expenditure from Heart Rate Monitoring During Submaximal Exercise.

share|improve this question
Given that they use neural networks as the main technology component, it might be difficult to scientifically explain the mapping (see "Disadvantages" in – FredrikD Nov 21 '12 at 13:40
Agreed, NNs are unpredictable. Either they work or they don't, but explaining why is another story. – Baarn Nov 21 '12 at 15:23
I found the thesis of one of the Firstbeat people… – Dan Nov 22 '12 at 2:46
From reading his thesis it seems they use sigmoid/logistic units, which are non-linear. However, he uses the neural network to extract the respiratory frequency from the heart rate time series. Which means they didn't use it to directly create the linear regression formula, but instead used it as basis for the model on which the linear regression is based. So could you perhaps explain what your goal would really be? Probably you don't have to bother with the same data processing if you have access to cleaned up heart rate data, you could simply use the formula you found. – Ivo Flipse Nov 22 '12 at 6:56
I posted the question here because I am interested in an algorithm that I can run on my own HR data. The NN is nothing but a black box that gives more or less unverifiable and maybe unstable output after training with a huge dataset. As I don't have access to this training dataset, understanding the NN is not too useful for me. I am more interested in the physiological model + usable algorithm that depends only on a few coefficients. It is easier to understand the limitations of such a model, too. – Dan Dec 1 '12 at 22:04

While I don't have the algorithm, I do have a pretty decent sized library of .sdf files of exercises. From which someone could almost certainly reverse engineer something very close to the energy expenditure model. I have a strong suspicion it is mostly exponential smoothing.

share|improve this answer

Some of the information contained in this post requires additional references. Please edit to add citations to reliable sources that support the assertions made here. Unsourced material may be disputed or deleted.

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.