# 🎉🎉🎉 Introducing Machine Learning-Based TSS Estimation! 🎉🎉🎉

**URL:** <https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702>\
**Category:** Announcements\
**Created:** [July 8, 2021, 11:45pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702 "2021-07-08T23:45:15Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 8, 2021, 11:45pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/1 "2021-07-08T23:45:15Z")

</div>

Introducing a really cool and useful new feature, available now to all TR athletes: **Machine Learning-Based TSS Estimation** , for outside rides with heart rate but no power data.

Training Stress Score (TSS) is a convenient way to track training stress over time. But TSS relies on power data, and almost none of us are lucky enough to ride with a power meter all the time. For outdoor rides without power it can almost feel like you don’t get credit for your work, or like the ride somehow doesn’t count.

RPE and Heart rate-based TSS calculations have long been available for these rides, but these estimates use simple mathematical formulas and tend to be wildly inaccurate, and we knew we could improve this with insights from our enormous data set of real-world rides. After analyzing hundreds of thousands of workouts with machine learning models, we developed a more nuanced and accurate TSS estimator, derived from heart rate and other metrics recorded during outside rides. No, it’s not a replacement for power in all your training. But as a supplement for rides when power is unavailable, it’s a powerful tool that helps you track ALL your hard work.

ML-Based TSS estimation can be activated via [TrainerRoad.com](http://TrainerRoad.com) (click on “Account” and then head to “TSS Estimation” under the “Profile” menu). You can choose to apply it to individual rides, all future rides with heart rate but no power, or all past and future rides that meet these criteria (existing RPE-based or manual TSS estimates on past rides won’t be automatically overwritten). Once you set it up, it automatically syncs to the latest versions of all TrainerRoad apps, but you can always adjust or turn it off, too.

For more info and a short FAQ, head over to the feature announcement on our blog:  
[Machine Learning-Based TSS Estimation for Rides Without Power Data  
 ](https://www.trainerroad.com/blog/machine-learning-based-tss-estimation-for-rides-without-power-data/)  
Give it a try on your next power meter-less outside ride, and let us know what you think!

---

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 8, 2021, 11:55pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/3 "2021-07-08T23:55:19Z")

</div>

> [@GilbertsGrapes](#):
>
> Is there a good place to send or post feedback or should we put it in this thread?

I’d recommend sending it over to [support@trainerroad.com](mailto:support@trainerroad.com) but you’re more then welcome to bring it up here, too.

---

<div class="post-metadata">

**Author:** ![bbarrera](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/bbarrera/32/14734_2.png) [@bbarrera](https://www.trainerroad.com/forum/u/bbarrera)\
**Post date:** [July 9, 2021, 12:22am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/4 "2021-07-09T00:22:56Z")

</div>

My HR rides are mostly before October 2016. Now that I’ve toggled the setting to All Past and Future Rides, how long should I expect it to take to backfill TSS for all the HR-only rides?

---

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 9, 2021, 12:24am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/5 "2021-07-09T00:24:49Z")

</div>

Good question! Since we’ve just deployed the feature, it might take a moment. I’ll follow up with our engineers tomorrow if it seems like it’s taking an inordinate amount of time.

---

<div class="post-metadata">

**Author:** ![bbarrera](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/bbarrera/32/14734_2.png) [@bbarrera](https://www.trainerroad.com/forum/u/bbarrera)\
**Post date:** [July 9, 2021, 12:25am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/6 "2021-07-09T00:25:52Z")

</div>

Was going to check in the morning, just curious as it wasn’t covered in the FAQ.

---

<div class="post-metadata">

**Author:** ![Turnier](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/turnier/32/7757_2.png) [@Turnier](https://www.trainerroad.com/forum/u/Turnier)\
**Post date:** [July 9, 2021, 3:54am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/7 "2021-07-09T03:54:22Z")

</div>

I tried to set this up but heart rate and day of birth setting wasn’t saved when I returned to my profile, even I did select future rides option and got saved pop up message.

---

<div class="post-metadata">

**Author:** ![WombleHunter](https://avatars.discourse-cdn.com/v4/letter/w/9de053/32.png) [@WombleHunter](https://www.trainerroad.com/forum/u/WombleHunter)\
**Post date:** [July 9, 2021, 7:57am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/8 "2021-07-09T07:57:31Z")

</div>

Same, my max hr and dob are slightly incorrect, change them, says “saved” but when I come back they remain the unchanged

am I in the beta now ? 😉

---

<div class="post-metadata">

**Author:** ![grayham](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/grayham/32/16781_2.png) [@grayham](https://www.trainerroad.com/forum/u/grayham)\
**Post date:** [July 9, 2021, 8:24am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/9 "2021-07-09T08:24:18Z")

</div>

Is the ML setup using age and max HR to place an individual within a population model, or learning weights etc. from the individual’s historical data to tune for them?

I’m guessing the former, so that it can be applied to everyone easily without needing past data for that individual. It’d be nice to start with a population based set of weights and then personalise to an increasing extent of and when a body of data is acquired, but I do see downsides to that with the complications of equipment variations and changes affecting the data set.

In any case, this doesn’t seem to work very well for me, at least in terms of consistency with TSS values that I get from outside rides with a power meter.

My HR profile is a bit unusual, which would affect the applicability of any population derived parameters. Also my outside FTP is definitely quite a bit higher than inside, so any estimates of power from HR that were based on a training set (pun!) of my data that has a lot more inside data than outside would throw things off when applied to outside rides. For me, for this to work well, I’m pretty sure it’d need to be a model trained on my outside ride data to get a decent estimate of NP as a fraction of outside FTP.

It’s very possible that in TSS terms, the HR based estimate could actually be more accurate than calculations based on outside rides with a power meter for people who have a difference between indoor and outdoor FTP. But I wouldn’t want to override the direct measurements. Ideally, it would be possible to estimate an outdoor FTP and have that applied to outdoor TSS values.

For the vast majority of people this is all too fine-detailed to be relevant though. My outdoor FTP is probably only 5% or so different from indoor, so the numbers don’t make any difference to anything. I just like thinking about the calculations I guess!

---

<div class="post-metadata">

**Author:** ![JonasP](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/jonasp/32/51437_2.png) [@JonasP](https://www.trainerroad.com/forum/u/JonasP)\
**Post date:** [July 9, 2021, 9:12am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/10 "2021-07-09T09:12:19Z")

</div>

> [@SeanHurley](#):
>
> accurate TSS estimator, derived from heart rate and **other metrics**

Can the model differentiate between different types of riding? I.e. all my indoor and road riding has power but none of the trailriding does.  
Will this skew the estimation or would it still be ball park accurate?

---

<div class="post-metadata">

**Author:** ![PhilSJones](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/philsjones/32/5495_2.png) [@PhilSJones](https://www.trainerroad.com/forum/u/PhilSJones)\
**Post date:** [July 9, 2021, 10:17am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/11 "2021-07-09T10:17:50Z")

</div>

All my road bikes and my TT bike give me power through the pedals. However my Gravel bike does not (I don’t want to risk them). Does this apply any distinction between types of riding?

…or does it simply not matter in the grand scheme of TSS things…

---

<div class="post-metadata">

**Author:** ![MI-XC](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/mi-xc/32/12993_2.png) [@MI-XC](https://www.trainerroad.com/forum/u/MI-XC)\
**Post date:** [July 9, 2021, 10:39am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/12 "2021-07-09T10:39:17Z")

</div>

“All past and future rides” is greyed out and won’t let me save. The other 2 options appear to be functioning.

---

<div class="post-metadata">

**Author:** ![MattWTriCoach](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/mattwtricoach/32/353_2.png) [@MattWTriCoach](https://www.trainerroad.com/forum/u/MattWTriCoach)\
**Post date:** [July 9, 2021, 10:57am UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/13 "2021-07-09T10:57:51Z")

</div>

I’m having the same issue as others have noted here - the setup doesn’t seem to be working at the moment. When I select “all past or future rides”, click confirm, then navigate away from the page it doesn’t remember my selection, and my rides aren’t being with the TSS estimation in the calendar.

---

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 9, 2021, 12:58pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/14 "2021-07-09T12:58:03Z")

</div>

> [@MattWTriCoach](#):
>
> the setup doesn’t seem to be working at the moment.

Interesting, the team is on the case now. Thanks for letting us know.

---

<div class="post-metadata">

**Author:** ![bbarrera](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/bbarrera/32/14734_2.png) [@bbarrera](https://www.trainerroad.com/forum/u/bbarrera)\
**Post date:** [July 9, 2021, 1:08pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/15 "2021-07-09T13:08:34Z")

</div>

> [@SeanHurley](#):
>
> Good question! Since we’ve just deployed the feature, it might take a moment. I’ll follow up with our engineers tomorrow if it seems like it’s taking an inordinate amount of time.

doesn’t appear to be working, no signs that any past rides have been automatically updated. Last night I manually updated a couple of pre Oct 2016 rides (before I put a PM on bike). All other rides haven’t updated as you can see here:

 ![image](https://global.discourse-cdn.com/trainerroad/original/3X/5/7/579d259fae51491ca16a6b3b41724ee970df5060.png)

Unlike other reports above, the settings page looks correct:

 ![image](https://global.discourse-cdn.com/trainerroad/original/3X/c/2/c24e5e69cc39733e8af64ff3414c9235c243ab91.png)

---

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 9, 2021, 1:11pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/16 "2021-07-09T13:11:54Z")

</div>

Our team of highly-trained professionals has been deployed 😉

---

<div class="post-metadata">

**Author:** ![Beire](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/beire/32/12908_2.png) [@Beire](https://www.trainerroad.com/forum/u/Beire)\
**Post date:** [July 9, 2021, 1:40pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/17 "2021-07-09T13:40:41Z")

</div>

If you select “all future and past rides”, will it override TSS estimations that were previously filled in based on manual input or the 1-10 RPE scoring? Context: I would like to keep those, just fill in the past rides for which I didn’t have a TSS estimation yet.

---

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 9, 2021, 1:49pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/18 "2021-07-09T13:49:15Z")

</div>

> [@Beire](#):
>
> If you select “all future and past rides”, will it override TSS estimations that were previously filled in based on manual input or the 1-10 RPE scoring?

It will add estimates only for the old rides with no TSS, so your existing RPE scores should be safe. If you want to override those you can individually edit them and switch the TSS estimate to ML-Based.

Side note: thanks for asking this question, it’s not one that occurred to me to include in the blog post. I added this info to the post to avoid confusion for others.

---

<div class="post-metadata">

**Author:** ![MI-XC](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/mi-xc/32/12993_2.png) [@MI-XC](https://www.trainerroad.com/forum/u/MI-XC)\
**Post date:** [July 9, 2021, 2:33pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/19 "2021-07-09T14:33:45Z")

</div>

> [@MI-XC](#):
>
> “All past and future rides” is greyed out and won’t let me save. The other 2 options appear to be functioning.

Got to work and this is now working from my desktop. So either it was a mobile glitch or has since been fixed. @SeanHurley

---

<div class="post-metadata">

**Author:** ![SeanHurley](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/seanhurley/32/55555_2.png) [@SeanHurley](https://www.trainerroad.com/forum/u/SeanHurley)\
**Post date:** [July 9, 2021, 2:35pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/20 "2021-07-09T14:35:35Z")

</div>

Our engineers have been making some adjustments for the last hour or so. It’s probably up and running more smoothly now but I’m awaiting confirmation that fixes have been finalized. Good to hear it’s working for you now, though!

---

<div class="post-metadata">

**Author:** ![FredMeunier](https://sea2.discourse-cdn.com/trainerroad/forum/user_avatar/www.trainerroad.com/fredmeunier/32/62912_2.png) [@FredMeunier](https://www.trainerroad.com/forum/u/FredMeunier)\
**Post date:** [July 9, 2021, 3:13pm UTC](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702/21 "2021-07-09T15:13:37Z")

</div>

Is the other way around possible? Override all previous RPE scores with the new ML Prediction without having to go through them one by one?

[Next page](https://www.trainerroad.com/forum/t/introducing-machine-learning-based-tss-estimation/60702.md?page=2)
