Heart rate zones and LTHR issues

When editing the HR zones via the settings tab I’ve noticed a couple of things.

  1. If I edit the LTHR to a known value and click save, when going back into the edit screen it has reset to the default value.

  2. After editing the HR zones based on a known Max HR, I select the option to “Apply changes to all existing rides” however when viewing a recent ride, the Max HR field still shows the old/default value.

The LTHR field on that screen is used to calculate zones based that value when you click “Recalculate” at the bottom. Only the values on the grid are saved.

It can take several minutes to apply changes to all activities. I still need to build a UI to show progress. If you edit max HR, wait 5 minutes and then look at a recent activity is it still the old value?

With a little “Tinkering” :stuck_out_tongue: I was able to get the HR zones to recalculate and save based on a revised LTHR. I was also able to get the MaxHR to save as well, so I think I’m good there.

However, when I select to “Apply changes to all existing rides” I’m still not seeing past rides updated to reflect the new MaxHR value. Case in point, I performed a Ramp Test that brought my HR past the previously set default MaxHR of 187. At the top of the activity screen the MaxHR value shown is 187.
When viewing the HR chart, however, I can see that my MaxHR for the effort was actually 196. I would expect that after updating the MaxHR in the settings and selecting to “apply to all previous rides”, this would correct the Max HR shown at the top of the activity screen. Screenshots attached for clarity.

Screen Shot 2020-05-07 at 12.58.33 AM

If you max hr for a ride was recorded as 195, then that either is your max hr (and not 187) or a spike. The value is recorded at the time of the activity - your zones have changed, reflecting the new max hr, but the actual value will not be overwritten.

Edit: Sorry, I think it’s the other way around: you setting a new max HR for zone calculation, will not change the max hr for an activity as it was recorded.

I think when I adjust the Max HR shown in the settings and select “…apply to all previous rides” the “cropping” of the HR that’s occurring should reset to reflect the ACTUAL Max HR for the activity as recorded in the .fit file.

Looking at that screenshot, I see what you mean, but it doesn’t make sense. Or, at least I figured that for every ride, that top (of the screen) max hr value is actually your max hr for that ride. But, if you see a spike at 196 at the pointer, than that value is not right…

I don’t think so. There is obviously a mismatch here, but the setting for your zones will change previous rides for the zone analysis, but it will not overwrite the max hr value for any particular ride, as shown on the top of the screen.

I don’t think it can be ruled out as an erroneous spike, as you are nicely ‘climbing’ towards it, but for some reason, in the recap, it doesn’t reflect…

1 Like

I think you’re right with respect to updating the HR zones… Updating the MaxHR in the settings tab and applying the “apply to all previous rides” selection doesn’t appear to be affecting the “cap” on the MaxHR on the activity screen, but I believe it really should.

What does Strava give you as max hr for that ride?

The top row on the activity detail screen, is reflecting the actual values for that particular activity. If you go to the activity’s ‘Activity HR’ tab, there you should see that the changes to max hr you’ve made are reflected in the zone distribution.

Strava says the MaxHR for the ride was 196.

I agree that the MaxHR presented at the top of the activity screen should show the actual MaxHR detected on the ride, provided this value doesn’t go past the MaxHR setting on the settings tab. This provides a ‘check’ on potentially erroneous data reported in the .fit file.

However, I think that when I update the MaxHR in settings and select to “apply to all previous rides” that it should recalculate the reported MaxHR for the ride.

No, because for that ride, it is actually the max recorded hr. In this case, the value is wrong and @david should look into it.

Furthermore, I don’t think you should ‘apply to all previous rides’, except when you have a really good reason to do so. I’d pick a data range at best to recursively change your values.

They will change over time, either going up or down, so changing all of your history with a new value, is essentially destroying your historical data, so you will no longer have trends to look at.

On the Activities (general) screen, there is an ‘Edit’ option, to change FTP and weight, and you can pick a date range there - maybe David can add HR there as well, so you could change HR values for the last week or month, or in any case any range that is better than ALL your data…

The MaxHR for the ride should be as reported by the fit file provided it’s not obviously erroneous. The MaxHR setting provides a check against the MaxHR in the fit file. I get that. However, when the MaxHR is set to the default or simply set incorrectly in the settings, there needs to be a way to reset the “ceiling” on this when an activity reports a MaxHR in excess of what’s indicated on the settings tab. There may be a way to do this, but “apply to all previous rides” isn’t working.

BTW, I share your apprehension about using the “apply to all previous rides” when it’s unwarranted. In this case, I was simply trying to correct the MaxHR issue.

Imho, you’re overthinking it - the shown max hr at the top of the page for this activity, is obviously wrong, as I see no reason to doubt the hr curve (i.e., it’s not a spike).

I’m not sure if intervals.icu detects and deletes hr values that are more than x% over your set maximum hr, like it does for power (spikes), but I don’t think so.

Strava shows the correct value, the FIT file probably does too (did you look at it, for instance using https://fitfiletools.com, because I don’t know how else to edit a FIT file?) and your ‘Activity HR’ page is most likely correct also, based on your max hr settings - it would be Z7 anyway.

You cannot change the max hr value of a particular activity as shown on top of the summary page, not by setting any general parameters. If @david makes it editable, you can, but I think it’s more important to find the reason why it is wrong.

Ok. I know what’s wrong now. The zones on the ride have been updated but not the computed max HR value from the actual ride data. I will fix that. You can see the HR data for the ride is no longer clipped and the “time in zones” and so on will be correct, just not that “Max HR” displayed value.

1 Like

You are computing that? There is a max hr value in the data from Strava, right? So, that top max hr field on the activity summary is a computed field?

I never would have guessed, probably 1) because I never really look(ed) at it and 2) now that I did for 5 - 10 different rides, the values all aligned nicely with the graph. I did not see any rides with a difference like that (10 bpm)…

Sometimes the average and max HR data from Strava is incorrect (zero actually!) so I compute the HR stats.

1 Like

There’s a serious issue with the data coming from Strava then, but that is something not uncommon to Strava and their peers, like Garmin…

Makes intervals.icu all the more awesome :sunglasses:

1 Like

Perfect, thanks David!