Vo2max calculation

I have read several forum posts as well as the white paper from firstbeat regarding the vo2max calculation in garmin watches. I may have misunderstood something. I've been running with garmin fenix 5 and chest HRM for almost 7 months now. My vo2max has jumped from 51 in March to 57-58 at around June and it didnt move at all from then until now. I know there are limitations to this method and most notably I am fairly sure my HR max of 190 is not real (max recorded so far around 180 during runs), but I thought it would make sense to keep the 190 which was input at the very beginning, for consistency. The thing is that despite same vo2max being shown the last 3-4 months I know that my performance goes up, as evidenced by race results and what paces I can hit in training. To be a bit more concrete take a look at following runs:




Run 1: June 2, HM race 21.3k, time 1:38, avg pace 4:37 min/km, average HR 170, vo2max reported after the run 56




Run 2: September 15, HM race 21.2k, time 1:32, avg pace 4:20 min/km, average HR 169, vo2max reported after the run 56




Run 3: October 7, long run 20.6k, time 1:35, avg pace 4:38 min/km, average HR 152, vo2max reported after the run 57




The runs 1 and 2 are 3.5 months apart and show same vo2max. The HR is comparable as both were race level efforts. The improvement in time is huge at 6 min in the HM or 0:18 min/km. Both were flat / same elevation gain and loss. Then you can see the last run where in training I hit the same HM time as in the run 1 race, although the HR is significantly lower at 152 vs 170. This was a relatively easy run for me versus maximum effort at the race. Yet the vo2max differs only by 1 point.




Can anybody elaborate? Thanks.
  • What did your Performance Condition graph look like in each of those runs?

    It is well known that the watches make some kind of long time smoothing of the VO2Max calculations, so one very good or very bad run will not make a drastic change to VO2Max. I don't think any of us ordinary users know the exact smoothing algorithm. But this could be what you are seeing.

    Performance Condition is supposed to show how many percent your "un-smoothed" VO2Max right now deviates from the long term VO2Max indicated by the watch. So if the watch says that your VO2Max is 56, and you get a Performance Condition of +8 during a run, it actually means that the watch has calculated a VO2Max of 1,08 * 56 = 60 at that exact time.

    In other words: If you feel that the reported VO2Max is lagging behind your actual results, you should at least see a lot of runs with a very high, positive Performance Condition, indicating that the smoothing algorithm has not yet catched up.

    That is the theory, at least. In practice I have had some strange combinations of VO2Max and Performance Condition which did not really compare well to the improvement I could see in paces and HRs.
  • The performance condition for the runs was as follows: run 1 average -2 (estimates based on the graph, there is no reported average as far as I know), run 2 Average -1, run 3 average +1. I watch performance condition after every run and never see anything crazy, it's mostly within -2 to +2 range.
  • Ok. Then I agree. It sounds strange that the algorithm is ignoring that you have improved your pace / heart rate relationship so much.
  • I agree that it can sometimes take a few positive PC numbers for the VO2Max to change. Note also that VO2Max is in whole numbers, so there may be some changes there that haven't shown up because of rounding. Indeed those PC numbers suggest you were a little below stated VO2Max in your first run, and a little over it in your most recent run, so there probably is further improvement that is hidden by rounding.

    Also, VO2Max is measured per kg of bodyweight, so changes in your weight can affect VO2Max, even if your oxygen capacity hasn't changed.

    Finally, if you have read the Firstbeat white paper, you will know that the accuracy of the VO2Max assessment depends on having an accurate HRMax figure. If you know it is wrong, I'd recommend changing your HRMax, knowing that it will establish a new baseline VO2Max
  • Also, VO2Max is measured per kg of bodyweight, so changes in your weight can affect VO2Max, even if your oxygen capacity hasn't changed.


    ...which is supposed to cancel itself out when deriving VO2Max from HR and pace.

    Same pace at heigher weight = more work done = more total VO2Max
    More total VO2Max at heigher weight = same VO2Max per kg.
  • For fun, I put your run 1 and 2 into the Riegel equation, using an exponent of 1.06, and calculated the predictions for a 12 minutes Cooper test:
    Run 1: Cooper prediction 2937 meter.
    Run 2: Cooper prediction 3103 meter.

    Then I put these results into a formula which is supposed to calculate your VO2Max from a Cooper test:
    Run 1 -> Cooper -> VO2Max = (2937 - 504.9) / 44.73 = 54.4
    Run 2 -> Cooper -> VO2Max = (3103 - 504.9) / 44.73 = 58.1

    A prediction on top of another prediction is of course a quite inaccurate calculation, so we should probably not look too much at the absolute results. However, the relative change between the two calculations is probably a good estimate of how much your VO2Max would have to change between the two runs to give you those results. And that difference is much larger than what the watch said.
  • I recommend that you complete a MaxHR test. This will enable the firstbeat metrics to be accurate.
  • Thanks for all the replies.

    As for the MaxHR test, is that an app or feature of the watch (like the lactate threshold test that you can run on the watch), or you refer to something like going all out on a 5K distance and looking at the peak HR?

    However, I'm still wondering how the watch can report the same vo2max despite very much different performance in terms of HR/pace. The wrong HRmax might explain that the absolute value of the vo2max is incorrect, but the relative difference between the performances should still yield different values, regardless of what maxHR is used.

    Btw I use the export feature of garmin connect and have a scatter chart showing HR and pace. Here I eliminate stuff that would distort the picture such as treadmill runs (inaccurate), very short runs (HR artificially low) or intervals (some include standing pause, some not, etc), narrowing it down to easy/long/tempo runs. Then I look at the trend curve over the months. It moves down nicely over the months so far, supporting my "feel" of improving performance and the 3 illustrative runs I posted above.
  • However, I'm still wondering how the watch can report the same vo2max despite very much different performance in terms of HR/pace. The wrong HRmax might explain that the absolute value of the vo2max is incorrect, but the relative difference between the performances should still yield different values, regardless of what maxHR is used.

    I agree. The Max HR is a red herring. A wrong Max HR will give you a slightly wrong absolute value of your VO2Max, but it will not affect the relative improvements. Don't waste your time on it if you don't have anything to use it for in your training planning or LTHR detection.

    Regarding your scatter plot:
    Have you tried to make a scatter plot of your speed (not pace) and HR?

    It may very well turn out that you have a very linear relationship between speed and HR. I have seen that in my data and in another runner's data.
    If you extend the trend line until it crosses the HR axis, it will probably cross the HR axis at a HR slightly above your resting HR. I call this crossing point the "Base HR".

    If your HR/speed relationship turns out to follow that model, you can make a very easy "quality value" for each run:
    Subtract your "Base HR" from the average HR for the run.
    Multiply with your average pace for the run.
    The result is a quality value which is more or less pace independent, and the lower it gets, the more fit you are.

    So if you do one run at HR 140 today and another run at HR 160 a few days from now, they will give you the same quality value because you were equally fit both days.

    If you take some runs from an earlier period where you were less fit, they will show a higher quality value.

    I do this for all my runs (with exclusions similar to those described by you), putting the quality value into a scatter plot vs. date. This way I can see how the quality value decreases over time, which makes me very happy and more tolerant towards the weird behaviour of the VO2Max displayed in the watch.

  • ...which is supposed to cancel itself out when deriving VO2Max from HR and pace.

    Same pace at heigher weight = more work done = more total VO2Max
    More total VO2Max at heigher weight = same VO2Max per kg.


    Actually, the same pace at a higher weight but with fitness unchanged will lead to a higher heart rate. Higher heart rate with more work done = unchanged maximum oxygen uptake.
    Unchanged maximum oxygen uptake at higher weight = lower VO2Max per kg.