When you begin a workout in Zwift you may notice a “stress points” rating. And when you finish any Zwift ride you’ll see a guy at the top-right telling you how hard you worked.
Where do those numbers come from, and how are they useful?
Zwift’s “stress points” are really just TSS–the same number you see when you end a ride. Training Stress Score was developed by TrainingPeaks as a key workout metric. It combines both time and intensity into one metric which indicates how much stress your workout is putting on your body.
Let’s dig into TSS a bit more to learn how it is calculated and used.
First, a Big Nod to the Creators
The TSS (Training Stress Score) and IF (Intensity Factor) metrics were created by Dr. Andy Coggan and Hunter Allen. Coggan also created NP (Normalized Power). TSS, IF and NP would eventually be purchased by TrainingPeaks and trademarked.
Coggan, Allen, and TrainingPeak’s Joe Friel have done amazing work developing metrics and tools that help us train smart. They deserve kudos for the many ways they have helped cyclists take their training to the next level.
(Side note: if you’re ever looking for good books on training with power, pick up Coggan and Allen’s Training and Racing with a Power Meter and/or Friel’s The Cyclist’s Training Bible. Both incredible resources for anyone interested in getting faster on the bike!)
Power Required
It’s worth noting that calculating TSS requires power numbers. Twenty years ago these numbers weren’t accessible to most cyclists, but nowadays with affordable power meters and smart trainers many cyclists have power data for every ride. It’s a great time to be alive and training!
Connect to TrainingPeaks
If you haven’t yet done so, I recommend heading to TrainingPeaks.com (or downloading their app) and creating a free account. Upload all your ride data to this account and you will have TSS and other metrics stored for every ride.
- Link your Zwift account to TrainingPeaks by logging into Zwift.com and clicking “Connect” under Profile>Connections.
- Outdoors I use (and love!) my Wahoo Elemnt bike computer which uploads my rides to TrainingPeaks as well as Strava. If you have a power meter for outdoor rides, set up your bike’s computer to upload to TrainingPeaks. This way you’ll have all your rides analyzed by TrainingPeaks.
The Formula
Here is the formula for calculating TSS:
TSS = [(sec x NP x IF)/(FTP x 3600)] x 100
Where “sec” is how many seconds your workout lasted, NP is normalized power, IF is intensity factor, and FTP is your functional threshold power. Most of those numbers will be familiar to you, but “Intensity Factor” may be new. It’s simple though: IF is the ratio of Normalized Power to your FTP for any given workout. So if an athlete with an FTP of 300 watts completed a workout averaging 200 NP their IF would be .67.
TSS calculation examples (assuming FTP of 250 watts):
- Ride at FTP for 1 hour: [(3600 x 250 x 1)/(250 x 3600)] x 100, or 100.
- Ride at 75% FTP for three hours: [(10800 x 187.5 x .75)/(250 x 3600)] x 100, or 169.
- Ride at 50% FTP for five hours: [(18000 x 125 x .5)/(250 x 3600)] x 100, or 125.
Once you understand the formula you will see that you can earn more than 100 TSS within a single workout, but only if the workout is longer than an hour.
It’s All Relative
Since TSS is based on your personal FTP, a TSS of 100 is relatively the “same” for a professional athlete as it is for a beginner. This is the genius of the TSS metric.
As an example, if a pro cyclist “Pro Joe” went out and did a 1-hour ride that resulted in a TSS of 100, this would be a max effort for him. In simplified terms, if Joe’s FTP was 350 watts, this means he would have held 350 watts for the full hour. Animal!
Then a mere mortal, let’s call him “Cycling Bob”, comes along with an FTP of 225. Bob goes out and hammers for an hour, holding 225 watts the whole time. His TSS will be 100 as well.
Even though Joe and Bob moved at very different speeds during their rides, they both gave it their all for that hour. Their relative effort levels were the same, which is why their TSS is the same.
What’s the Use?
This is a massive topic, and one in which I’m no expert. What I can say with confidence is it’s the best metric I’ve found for how hard a day’s effort really was, and that helps inform my recovery needs that follow.
Many coaches and athletes also use cumulative TSS (per week or per month) to figure out the volume of training which will leads to improvements but avoid overtraining. Athletes might ramp up their TSS leading into a big event, building each week from (for example) 600 TSS to 700 then 800.
There is much more to this topic, but we’ll leave it here for today. I’m curious: do you pay attention to TSS? How have you found it useful in your training? Comment below!
TSS only show up for me on workouts – not group rides or races. Where the score would appear I have the climbing challenge and and not able to find a way to change this.
TSS shows as the top-right of your ride summary screen when you complete the ride.
I have just started with a coach and they have asked me to do a Zwift ride for 1hr30min with a T75, how do I manage my TScore while training so that I get that result
I can see my TSS at end of ride, but don’t know how to access that information once that screen goes.
Any way to get Zwift rides to show TSS and IF in Garmin Connect. They show up for TrainerRoad rides.
Had previously only been looking at wattage zones for recovery rides but now using the TSS more now to help keep myself in-check for recoveries and to curb enthusiasm for doing hard/long rides every single day.
Wish the TSS was embedded and displayed permanently in our Zwift Activity feed but make it’s a licensing issue?
I wish it showed up in the activity feed too.
The formula could be simplified to this, am I right?
TSS = 100 x hours x IF^2
(because sec/3600 = hours, and NP/FTP = IF)
But if I use this formula on each interval in any zwift workout and make the total, it never ends up on the zwift stress points. Do you have an explanation?
I’m late to the party here, but maybe will snag a reply. I’m just connecting this… Am I right in thinking that the “stress points” when choosing a workout are an estimate of what your TSS will be for that session?
You could get a TSS over 100 in an hour if you are riding intervals and staying near threshold the rest of the time. In this case your IF will be larger than 1. Also, the much simpler formula for TSS is (IF)^2 X time in hours X 100 which is the same as the formula stated in this article, but more digestible. As a mathematician, I gotta say all the NP, IF, and TSS stuff feels a little bit “how to lie with math” to me. What biological reason is there for squaring IF? Why not cube it? What… Read more »
Can you see TSS for past rides? Once one completes a ride and exits Zwift can one see the TSS?
As far as I know, it’s not displayed anywhere outside of the game’s exit screen.
I can see the limitations of TSS, but for Zwift’s structured workouts I’ve found it to be a very good predictor of perceived effort across different kinds of sessions. Whether it’s short, intense intervals or longer, more sustained ones, I know that for me anything above 80 for an hour is going to hurt, while anything under 60 probably won’t feel challenging enough. So it’s helpful in choosing workouts based on where my fitness is and how I feel on a given day.