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 is very useful as it shows how hard you have worked. Appreciating that not everyone rides just on Zwift it may seem pointless to store the value and show it graphically on Zwift, but they should use it to generate XP rather than miles.

I like the TSS but it really shines when you are training for long distances as this is really the FTP or your 60mn threshold power, if you are a sprinter and do a few 1000w short sprint, it’s not going to reflect that amount of effort in your TSS, anyway food for thoughts!

I’ve been tracking weekly TSS total and trying to have a “down” week 1 out of every 4(ish), to keep from overdoing things and getting burned out.

Smart! I’ve seen this recommendation from multiple coaches as well.

So you have to have Zwift connected to TP to see the TSS? I’ve had my account connected to TP since I started with Zwift and always thought it was a feature in Zwift.

No, but I can see where my post is unclear. Updated it above. I was just recommending connecting to TP so you’ve got TSS and other metrics archived for all rides you do.

Probably a stupid question, but what if you do more than one ride a day? Can you add up the TSS score of each ride to give you a total for the day? Or is there another math equations involved for that?

Nah, you just add them together.

As a triathlete I pay very close to TSS and TSB.

the tss formula can be simplified to hours * if^2 * 100. I don’t know why there’s a need to use 3 different variables.

Yes, I wish Zwift would let you customize the fields displayed kinda of like how you can do that with the Wahoo ELMNT/BOLT.

I came across this article while trying to find an answer for: Why is my final stress-point number always higher than what Zwift predicts pre-workout? My ftp is accurate, the workouts tend to hurt just as much or as little as predicted, but my final TSS is always 10-20% higher than what’s posted for the workouts. Any ideas?

Know why , when i upload my training on Zwift to Training Peaks , the TSS is different btw the two?

tks

is your FTP the same on both Zwift and Training Peaks?

It’s the same thing with Zwift and Strava — the TSS is always higher with Zwift. Seeing as I use Strava as my ride data reference, I always go with their numbers.

I keep trying to do this as well, but each time that fourth week comes along I always cave in after a couple days off and wind up going hard again. Thus the reason I’m always so fatigued. It IS and ADDICTION!

what is your FTP in each? When I set my FTP identically across all platforms, my TSS #s were the same in each platform