Feature request: Native Heart Rate Reserve (%HRR / Karvonen) heart-rate zones

Hi David,

Would you consider adding Heart Rate Reserve (%HRR / Karvonen) as a native option for calculating the standard heart-rate training zones?

Garmin, for example, allows HR zones to be based on:

  • % Max HR
  • % HRR
  • % LTHR

I currently use Garmin’s 5-zone %HRR system with:

Max HR: 185 bpm
Resting HR: 49 bpm

This gives me:

Z1: 117–130 bpm
Z2: 131–143 bpm
Z3: 144–157 bpm
Z4: 158–170 bpm
Z5: 171–185 bpm

I can manually reproduce these boundaries in Intervals.icu, which works, but they are effectively entered as percentages of LTHR rather than being calculated from HRR.

The Karvonen calculation is:

Target HR = Resting HR + (% × (Max HR − Resting HR))

A native option such as “HR zones based on: %HRR” would therefore be very useful, especially since Intervals.icu already stores Max HR and resting-HR data.

One advantage would be that athletes whose resting HR changes significantly as fitness improves could update their HRR zones without manually recalculating all of the boundaries.

I don’t necessarily think the zones should automatically change every day with normal daily resting-HR fluctuations. Perhaps the user could choose a fixed resting HR, a longer-term resting-HR value, or manually trigger an update.

A second, smaller suggestion: it would be useful if the lowest standard HR zone could have a configurable lower boundary. At present Z1 starts at 0 bpm. In my example, Garmin Z1 is 117–130 bpm. This isn’t particularly important for training, but it would make time-in-zone reporting between platforms more consistent.

My practical reason for requesting this became very obvious today. I completed a 60-minute elliptical workout targeting Garmin Z2. Garmin recorded 54:30 (90%) in Z2, with an average HR of 136 bpm. With my previous Intervals.icu LTHR-based zones, almost the entire workout was classified below Z2.

I have now manually changed Intervals.icu to match my Garmin HRR zones, so there is a workaround. But native %HRR/Karvonen support would make this much easier and would keep the calculation methodology consistent between Garmin and Intervals.icu.

Thanks for considering it — and thanks for all the continued development of Intervals.icu.

You can create Custom zones with any anchor you want.

1 Like

You can create Custom zones with any anchor you want.

Correct, but this involves manual recalculation of the zones when min or max HR change. The convenience of the feature requested is just to register min and max HR, together with the zone percentages, so that Intervals calculates the zones automatically when you register a new value of min or max HR after they have changed.

1 Like

Make a Custom field that calculates HRR based on HRmax and HRrest for the day of the activity and then use that Custom activity field as anchor.
Any change in HRmax and/or HRrest will be accounted for.
Look at the script of underneath Custom Field to get you started

Make a Custom field that calculates HRR based on HRmax and HRrest for the day of the activity and then use that Custom activity field as anchor. Any change in HRmax and/or HRrest will be accounted for.

Thanks for your suggesstion. Would that also save the HRR zones in the activity history just like with MaxHR and LTHR based zones?

However: that is not the low threshold and accessible way of working that I am looking for. I second this request.

Yes it would.

It’s a one time setup and just some clicks away