HR TSS Estimate

Has anybody else noticed you can enable a TSS estimate from HR data? I know it’s been asked for a lot but haven’t seen an announcement or thread about it.

On the webpage, go to your account and then TSS estimation. Enter your max cycling HR, birthday and then select if you want this estimate for all rides, future rides or you decide per ride.

1 Like

I cannot find this setting on my account.

Yes, I use this all the time for commutes on my single speed, it’s okish.

I think it’s part of the AT beta. I had a popup about it following an outdoor ride on my MTB which doesn’t have a power meter.

That raised a bug (for non-USA users) in that my date of birth was in dd/mm/yyyy format and it crashed the code. So if you don’t use the US mm/dd/yyyy format then that’s something to be aware of - just put 01/01/yyyy since being a few months out isn’t going to make any difference to the usual HR algorithms.

The maxHR value was also odd, 202, I think it picked up an erroneous spike in the HR data rather than a value that existed for a few seconds. I’ve had Garmins give weird readings when near railway overhead cables for example. 202bpm would have me heading to the nearest cardiac unit!

I have been using it, it seems reasonably OK for normal rides but for recovery rides/very easy rides the numbers seem to be quite high.

I also have intervals.icu connected and they explain how the HR TSS calculation works there - they build a regression model using your rides with HR and power to estimate TSS for rides without power.

I did a hard ride Saturday and Intervals and TR were within 1 TSS of each other (329 vs 330), but last night I did 1h45 easy and got 47 from Intervals and 90 from TR, which is a big discrepancy. Based on RPE, average HR, time in HR zones etc etc. I am much more comfortable with the 47. 90 seems a drastic overestimate. Strava relative effort was only 31 for the ride too, usually when I have power the HR based relative effort and TSS are rather closer together.

Fortunately, you can still set the TSS the old fashioned way so it’s no big deal really.

2 Likes

I’ve only been in the Beta since yesterday but have checked a few outdoor rides utilising the new HR TSS estimate and have also found it to be high.

I sent a little explanation to TR Support today:

…you appear to have an HR based TSS estimation for outside rides now. I have been using the Strava/Stravastix/Elevate TSS estimation for all of my outdoor rides. However, I have just checked a few using the TR HR estimation and there seems to be a considerable discrepancy.

For example. This mornings outside ride got 38 in Strava, but 62 in TR. And a previous one got 39 on Strava, but 64 in TR. Comparing this to my indoor trainer rides, this doesnt add up. For an hours VO2max workout I am getting approx 60-70 TSS and for an hours endurance, around 35-45. Based on HR, and endurance ride is about Average 130 HR whereas a VO is average 155 with a peak of 175 ish. Therefore for an hour outside, where I am averaging 130 and a peak of 155, you would expect it to come in around 40 TSS, not 62?

Bit rambly but you might get the idea :blush:

To be fair, one of the known AT issues is that the HR TSS isn’t working correctly, so could be related to that…

1 Like

Ah, I missed that on the AT page previously, thanks.

I recently got into AT too and must have missed the TSS announcement.

From the comments above, it seems to have the typical TSS from HR issues meaning it’s a ballpark estimate but not perfect. Hopefully over time AT will learn and improve the calculation.

1 Like

It’s far from fully baked.
Today’s 2hr gravel ride with a 69% average HR is estimated at higher than 0.9 - race pace - WTF?

imageimage

That does sound high for a 2hr ride. i assume you have done, but have you checked what TR thinks your max HR is?

FWIW, for me, I find the TR number to be close to the one suggested by Intervals.icu now, and Intervals helpfully shows you the number it would have used for HR based estimate even when you’ve used power, so you can get a bit of a sense check. Here’s my ride yesterday:

Both Intervals and TR have a lot of data from me with HR and power, and HR alone, so I find the Intervals estimate is usually quite good unless there’s something else going on (it is very hot, I am very tired, I have a hangover etc etc…) which throws my HR off.

1 Like

Anyone else think that the automated TSS estimation is significantly overestimating outdoor rides without PM but with HR?
I find that my rides are given a much higher TSS on TR versus Intervals.icu

@adrian_r I moved your post under an existing topic with comments to review.

1 Like

I’ve been using HR TSS on TrainingPeaks for 5 or 6 years. TR’s estimates are often similar to TrainingPeaks, however I do see some TR estimates that are too low. Reported that to TR Support and they said it was a known issue, and workaround was to use RPE.

Thanks!
Maybe it’s worth noting that my rides have been trail riding. so a good portion would be descending.
Anyhow, it just seemed to be very high versus intervals.icu, and if using the manual option of choosing “intensity”. I would have to choose “race pace” to get equivalent TSS, on a ride where >80% was zone 2 or below

mine were road cycling, from 2016, at race pace with TR estimates being too low. But I haven’t paid much attention as since October 2016 about 99% of my indoor and outdoor rides have the same power meter.

I have an intervals.icu account, and look at it maybe once a month. Never bothered to look at HR TSS in intervals.icu as nearly 100% of my rides since October 2016 have been with power.

1 Like

I’ve had TP (free) for many years and believe it does hrTSS without paying. Right now I have TP premium, and WKO.

In any case, I took a quick look at intervals for the ride sent to TR, and I don’t agree with intervals.icu hrTSS it looks too high. And last week I took my hybrid bike to get a haircut, in that situation intervals.icu hrTSS seems too low. :man_shrugging:

“All models are wrong, but some are useful”

The way Intervals works is quite simple, it creates a regression model from all your rides with power and HR and uses that to assign a TSS from HR-only trace.

In the HR tab for the activity you can see how it’s been calculated:


The graph on the left shows the spread of the error in the HR-only model from events which also have power. You can see in this case, the agreement is very good, because this was a pretty standard ride for me (TR indoor workout) the kind of which I have done loads of times before, so it’s not a surprise they match - however the spread is quite wide (lots of points a long way above and below the line).

I have had surprisingly high HR TSS estimates from Intervals on very easy rides - I did 28k round towpaths with my wife last Monday and it gave me 76 TSS… I think because my minimum HR while cycling tends to sit around 100-110 even when I am essentially coasting, so it thinks I am working a lot harder than I actually am. See below two calendar entries, the ride on the right with power and giving a lower TSS than the one on the left despite being practically quite a lot harder:
image

TrainingPeaks I believe uses a HR time in zone model based on your lactate threshold heart rate - so it’s a fundamentally different model (pretty much the same method as the Strava relative effort score, but ranked on a different scale since relative effort in Strava makes no attempt to be similar/equivalent to TSS).

So you would not expect them to be the same. The HR TiZ model isn’t great for shorter intervals or very variable efforts due to HR lag (as noted by TP), plus all the normal issues with HR variability. The regression model isn’t very good for rides which look a lot different to the rides which the regression model has been trained on. It might be slightly better with HR variability in some cases since it’s already “baked in” to the regression model (i.e., the rides feeding the model will have HR variability in them - the model knows what my HR decoupling usually looks like over 3 or 4 hours), but given how variable my decoupling is depending on weather conditions, hydration, time of day etc. I don’t have a lot of faith (I have seen decoupling as high as 22% and negative decoupling up to -5% before…).

What I do like about the Intervals one is it tells you what the HR TSS would have been for rides with power so you can make a bit more of an informed decision about when it is likely to be too high or too low.

The TR HR TSS usually looks pretty close to the Intervals value for me, especially for shorter/more standard rides, but we can’t look under the hood to make that more informed decision. I expect it will also struggle with rides that look a lot different to those the model is trained on. They do seem to deviate more for longer rides - I did a 3+hr MTB ride in the heat on Sunday and got 189 off TR and 167 off Intervals.

But then, I find Garmin, Strava, TrainerRoad and Intervals all give slightly different TSS figures even for rides WITH power (I think based on how they treat coasting?), so who knows…

My ride from Saturday (yes, FTP is set the same on all 4):
Garmin 121
Intervals 116
Strava 111
TR 120

(I don’t really think this is a problem mind)

1 Like

:thinking: that isn’t slightly different. My TSS for last night’s outdoor workout:
Garmin 102.1
WKO 102
TrainingPeaks 101
TrainerRoad 101
intervals 100
Strava is wacky and I never look at it (ok, I looked, its 89)

Nearly every ride looks like that, and +/- 1 TSS is my definition of ‘slightly different.’ And re: power or HR TSS, TrainingPeaks has allowed switching between the two, or completely overriding with a manually entered value. Back in 2016 I trained myself to one of my highest fitness levels, using hrTSS and TrainingPeaks. The TP hrTSS model is straightforward and easy to understand.