Maximum heart rate in profile

What effect does this have, and why isn’t it automatically adjusted like FTP?

Me age calculated MHR is about 20 BPM less than the MHR I typically hit in an event. Am I really that out of shape?

Hi Jim,

I have recently adjusted my max HR - my MaxHR is 9BPM more than my age calculated HR … I do seem to have a naturally high heart rate (but have very quick recovery).

Adjusting the Max HR in the profile adjusts the HR zones shown in the post ride activity analysis … which does help make things a bit more realistic (as based on my age calculated HR I was spending a lot of time in Zone 5).

Hope that helps


Any calculated MHR has to be taken with a pinch of salt. There are at least 6 different ways to calculate it (of which 220-age is one of the worst, if not the most common).

e.g. image

(From Selection of suitable maximum-heart-rate formulas for use with Karvonen formula to calculate exercise intensity - Machine Intelligence Research)

Then of course a formula is a generalisation. Individuals can have significantly higher or lower heart rates. If you want to know what yours really is, take a supervised test. (Or at least have someone in the house to scream to if you collapse.)

As for its usefulness in your profile, it’s more used for runners who train based on HR zones because power is less common in running than cycling.


Riding hard in a Zwift event is close enough for me. :slight_smile:

I’m still wondering why Zwift doesn’t automatically bump this up, as it does for FTP. Maybe it does for running?

1 Like

I use a modified formula.

(max observed HR - Resting HR) + resting HR X .90% = zone 5
(max observed HR - Resting HR) + resting HR X .80% = zone 4
(max observed HR - Resting HR) + resting HR X .70% = zone 3
(max observed HR - Resting HR) + resting HR X .60% = zone 2
(max observed HR - Resting HR) + resting HR X .50% = zone 1

This makes a lot of sense if you think about it.
Your HR will never be less than your resting HR so there is no point in having a formula the calculates 90, 80, 70 % ETC. of that portion of your HR because it is fixed.
The variable portion of your max HR (max observed HR - Resting HR) is the part that you use to set goals of 90, 80,70 % ETC.

Using the “old” formula I too was spending almost all my time in Zone 5 and I was worried that it was not healthy for a 50 year old to do so.
The modified zones are much more realistic.
Just remember to remeasure your Max and resting yearly and recalculate your zones.

OOPS, I made a mistake on my formulas.
(max observed HR - Resting HR X .9) + resting HR = zone 5
(max observed HR - Resting HR X .8) + resting HR X = zone 4
(max observed HR - Resting HR X .7) + resting HR X = zone 3
(max observed HR - Resting HR X .6) + resting HR X = zone 2
(max observed HR - Resting HR X .5) + resting HR X = zone 1

Take the percentage of the Variable portion of your pulse and add that to the resting HR (fixed).

I was typing too fast.

1 Like

Age-calculated MHR is approximately as useful as buying clothes based on the average size of the population. The clothes will fit a larger proportion of the population than other sizes would, but that does not mean they are going to fit you. The comparison is appropriate, since the 220-age formula is a regression on a large sample.

Auto-adjusting MHR is complicated, because the app would need to determine when you are at max effort long enough to decide this is a valid MHR. Taking the max reading ever recorded would most likely be taking a sensor spike, and would under-estimate your MHR otherwise.

For runners, the classical method is to look at the last 30 seconds of a solid 10k race, where you performed pretty much as strongly as you could, and gave everything left in the last 300m. VO2Max tests (Léger-Boucher, beep tests and so on) are other good indicators. Keep in mind that MHR is not a constant, it’s a variable… For a given individual at a given level of training, it will change depending on temperature, hydration, etc. Personally, I train early in the morning and I know all my HR values are biased low in that situation compared with the same efforts later in the day - and that bias is 5 to 10%.

MHR and FTP seem like they are subject to many of the same problems for automatic adjustment.

Suppose that MHR only auto-adjusted upwards, like FTP. For instance, if you hold a minimum heart rate higher than your profile MHR over a 30 second interval, Zwift could offer to adjust your MHR up to that value. Taking the minimum over 30 seconds should avoid sensor spikes.

I can’t even find where to enter my maximum heart rate in my profile! How do I do this?

It’s in the profile in the app - somehow it’s not in So - start the app, pick a world and route, go, hit menu, and hit your profile on the top left of the menu screen. You’ll find you height, weight, FTP and MHR there.

Yes, it’s as wonky as that. Everyone knows you need to start a ride before you can enter/change your personal data. Makes total sense.


Yep, makes total sense … NOT! ; ) I have spent 4 frustrating days trying to find out
how to edit my MHR. And Google searches were not successful. 15 seconds after I found your instructions, my MHR is now edited.
Marvin (Zwift newbie)

1 Like