Training stress score is a power-based measure of how hard and how long you rode, scaled against your own threshold power, so one hour held exactly at your FTP always scores 100. That single anchor is what lets a rider compare a Tuesday interval session with a Sunday century on the same ruler.
If you have looked at TrainingPeaks, intervals.icu, Garmin Connect or Wahoo and wondered what the number really means, this guide walks through the math, the bands, and the ways TSS quietly misleads.
Table of Contents
- What Is Training Stress Score?
- How Is Training Stress Score Calculated?
- Training Stress Score Explained for Cyclists: A Worked Example
- How to Interpret Your TSS
- TSS for Different Kinds of Rides
- How to Use TSS Without Overtraining
- TSS Limits and Common Mistakes
- Frequently Asked Questions
- What is a good TSS score for cycling?
- Is 1000 TSS a lot?
- What is the recovery time after a high TSS day?
- Can you calculate TSS without a power meter?
- Why does my TSS differ between Garmin, Wahoo and TrainingPeaks?
- Should TSS be zero in a recovery week?
- Conclusion
What Is Training Stress Score?
Training Stress Score (TSS) collapses two variables — time and intensity — into one number. The idea came from Dr. Andy Coggan and Hunter Allen, who wanted a way to compare a 45-minute VO2 max session against a four-hour endurance ride without arguing about which was harder.
The anchor is simple. Sixty minutes at your Functional Threshold Power equals 100 TSS. Ninety minutes at that same effort equals roughly 150. Twenty minutes flat out above FTP can produce about 60 on its own.
TSS is not duration and it is not calories. A four-hour ride at a genuinely easy pace can score less than 70, while 50 minutes of hard intervals can score 110. Burned kilojoules tell you about energy output; TSS tells you about physiological stress relative to you.
Two riders on the same ride get different TSS. That is a feature, not a bug. A 150-watt rider doing 190 watts is working near their limit, and the score has to reflect that, or the whole system breaks.
How Is Training Stress Score Calculated?
The formula, in full:
TSS = (seconds × NP × IF) / (FTP × 3600) × 100
Four terms do the work, and each one punishes a different kind of cheating — yours or the software’s.
Normalized Power (NP) is a variability-adjusted average power. Take your 30-second rolling average power, raise each value to the fourth power, average those, then take the fourth root. Squaring the weight (fourth power) means a five-minute sprint pulls harder on NP than a steady 30 minutes at the same average. That is why a sloppy group ride with repeated surges scores higher than its raw average power suggests.
Intensity Factor (IF) is NP divided by FTP. It answers one question: how hard, relative to your ceiling. IF is also the most useful standalone number on the screen. Under 0.60 is recovery, 0.65 to 0.75 is endurance, 0.80 to 0.90 is tempo and threshold work, above 1.0 is anaerobic.
FTP is your Functional Threshold Power, the highest average power you can hold for roughly an hour before exhaustion. Every TSS you will ever see is a percentage of it, which is why a wrong FTP corrupts everything downstream.
Duration in seconds enters linearly, while intensity enters through IF squared. That squaring is the part riders find unintuitive. Doubling your ride length doubles the score; doubling your intensity factor quadruples it. A ten-minute all-out sprint can generate more TSS per minute than a two-hour endurance ride.
For quick arithmetic, the full formula reduces to roughly: TSS ≈ (hours ridden × IF²) × 100. One hour at 0.70 IF gives about 49 TSS. It is an approximation, not a substitute, but it is enough to catch a number that looks wrong.
Training Stress Score Explained for Cyclists: A Worked Example

Here is a realistic Saturday club ride. FTP is 250 watts, the ride is 90 minutes, average power came in at 178 watts.
Step one, the surges. The group repeatedly accelerated, so NP lands at 196 watts while average power is only 178. NP is not a guess here; it is derived from the power trace.
Step two, intensity factor. 196 ÷ 250 = 0.784. The ride sat just under the classic 0.80 tempo line.
Step three, duration in seconds. 90 minutes × 60 = 5,400 seconds.
Step four, substitution: TSS = (5,400 × 196 × 0.784) ÷ (250 × 3600) × 100 = 92 TSS.
Now compare it to another week. Same rider, a five-hour endurance ride at 0.62 IF: 5 × 0.62² × 100 ≈ 192 TSS. The century cost twice the training stress of the harder-feeling club ride, because the hours stack and the intensity barely moved.
How to Interpret Your TSS
A single number means nothing in isolation. TSS only becomes useful when you know your own baseline, your recent load, and how you felt afterward.
| Single-ride TSS | What it usually represents | Next day |
|---|---|---|
| Under 50 | Recovery spin, easy spin class | Anything goes |
| 50 to 100 | Endurance ride, commute, standard workout | Normal |
| 100 to 150 | Longer endurance ride, tempo with volume | Easy or rest |
| 150 to 250 | Threshold session, long ride, hilly day | Rest or recovery |
| 250 to 400 | Big training day, race plus long day | Rest |
| 400 and above | Rare, usually a race or a mistake | Rest, and check the week |
Weekly totals work the same way, scaled to how much you actually ride. Time-crunched riders doing three hours a week land somewhere around 150 to 250 TSS. Amateur riders putting in eight to ten hours tend to sit around 400 to 600. Racers in a build phase run 700 to 1100, and experienced riders reporting their real numbers often drop to roughly 700 in a recovery week rather than to zero.
One hundred TSS is not a lot or a little. For someone with a chronic training load of 40, a 100 TSS session is a big day. For someone at 100, it is a nothing ride.
That is where CTL, ATL and TSB come in. Each daily TSS gets fed into exponentially weighted averages:
CTL (Chronic Training Load, fitness) is a 42-day weighted average. Yesterday’s ride counts slightly more than the ride five weeks ago. ATL (Acute Training Load, fatigue) is the same calculation over 7 days. TSB (Training Stress Balance, form) is CTL minus ATL.
Read them like this: rising CTL with manageable ATL means you are getting fitter. ATL above CTL means you are carrying more fatigue than fitness, which is fine in a build week and dangerous before an event. TSB between +5 and +25 is the window most riders aim for on race day. A TSB below minus 30 for several days usually means you need a lighter week rather than a harder one.
TSS for Different Kinds of Rides
Approximate scores for common rides, assuming a trained rider. Use these as a sanity check on the number your head unit gives you, not as targets.
| Ride | Typical IF | Approximate TSS |
|---|---|---|
| 30 minute recovery spin | 0.45 to 0.55 | 10 to 16 |
| One hour easy endurance | 0.60 to 0.68 | 36 to 46 |
| 90 minute club ride | 0.75 to 0.85 | 85 to 130 |
| Tempo, 60 to 90 min | 0.80 to 0.88 | 64 to 116 |
| Sweet spot, 2 × 20 min | 0.88 to 0.95 | 58 to 76 |
| Threshold block, 60 min | 0.95 to 1.02 | 90 to 104 |
| VO2 max, 3 × 8 min | 1.05 to 1.20 | 30 to 55 |
| Four hour endurance ride | 0.60 to 0.68 | 144 to 185 |
| Five hour group ride | 0.62 to 0.70 | 192 to 245 |
| Century, 160 km | 0.55 to 0.65 | 180 to 240 |
| Road race, 100 km | 0.75 to 0.90 | 140 to 210 |
The pattern worth remembering: intensity beats volume until you add hours. Two hours at 0.65 IF produces about 85 TSS, which is close to what a hard 60-minute threshold session scores. A rider who only ever does long, slow endurance rides can hold a high weekly total while staying slow at everything else.
Races deserve their own note. Because normalized power under-rewards short surges, a race with 30-second accelerations at 130 to 150 percent of FTP often scores lower than it feels. Riders regularly post sessions where the score looked implausibly low for the effort they put in. The rule of thumb: trust the effort, then review your weekly total with that in mind.
How to Use TSS Without Overtraining
TSS is a planning tool, not a scorecard. A number only counts when it sits next to how the ride felt and how the days afterward went.
Control the ramp rate. The widely used guideline is 3 to 5 CTL points per week. Discussions about how much extra volume you can get away with usually end the same way — someone injures a tendon chasing a number. Jump from 50 to 80 CTL in a month and the risk is real even if every individual ride looked reasonable.
Build a recovery week by cutting load, not by stopping. Dropping from 600 to 400 TSS still creates a fitness gain while giving you room to absorb it. A week of near-zero TSS is a week of lost momentum.
Pair the number with three honest checks. Rate your session out of 10 for perceived effort. Note your sleep. Note your soreness and your mood. When all four disagree — a 90 TSS ride you could barely finish after four hours of bad sleep — believe the rider, not the chart.
For riders managing diabetes, the same caution applies with more detail. Blood glucose, insulin timing around hard efforts, carbohydrate fuelling and a poor night all change what a given TSS actually costs you on recovery. A session your power meter scored at 80 can still wreck your evening blood sugar and your next day’s readiness. Work with your clinician on fuelling and dosing around sessions, and treat the TSS as one input among several rather than the input.
Taper on purpose. In the final week or two before an event, cut volume roughly 40 to 60 percent while keeping a few short sharp efforts. ATL falls faster than CTL, TSB climbs into the positive range, and you arrive fresh instead of tired.
TSS Limits and Common Mistakes
A wrong FTP is the most expensive error in the system. Test every 6 to 8 weeks, and if your FTP rises by 15 watts, your old scores start to look easy — which is exactly why TSS can drop after an improvement even though every workout got harder. CTL is distorted the same way.
Surge and race effort get under-scored. Short, sharp efforts above 130 percent of FTP do not raise normalized power enough. Expect a race to land lower than it felt.
Missing data corrupts everything. Plenty of riders have seen scores that looked wrong because the power file started after the warm-up, and a truncated ride is scored as a whole ride. Check that your head unit recorded the full session, including the easy opening laps.
Indoor and outdoor rides are not the same number. Trainer power measures the resistance you chose, not the air you pushed through. On the road, headwind, heat and gradient all live in the same file. Expect indoor sessions to read a little optimistic.
Unrecorded rides still cost you. A commute, a long untracked weekend ride, a hike, a bad night of sleep and a stressful week at work — none of it appears in the chart. Non-exercise stress is real physiological load, and TSS cannot see any of it.
Devices disagree by design. Garmin Training Load, Wahoo, TrainingPeaks, intervals.icu and Strava each use slightly different formulas, FTP inputs and smoothing, which is the whole reason riders argue online about whether to trust the head unit. Pick one platform as your source of truth and stop cross-checking.
And TSS cannot see durability. Two riders can post identical 150 TSS from a threshold block and from five hours of steady endurance, yet one will hold pace at hour four and the other will fall apart. Structure, fuelling, freshness and position all sit outside the score.
Frequently Asked Questions
What is a good TSS score for cycling?
A good TSS score depends on your training level, not the number itself. Under 50 is a recovery spin, 100 to 150 is a normal endurance or tempo day, and 150 to 250 signals a big session needing an easy or rest day after. Weekly totals scale with volume: time-crunched riders often sit at 150 to 250, amateurs at 400 to 600, and racers in build phases at 700 to 1100.
Is 1000 TSS a lot?
For one ride, 1000 TSS is almost unheard of; that would take roughly five hours at 0.90 intensity factor or ten hours at 0.45. As a week, 1000 TSS is a serious build-week total that only experienced riders should attempt. If you hit it without a long background of base miles, cut back by 20 to 30 percent next week.
What is the recovery time after a high TSS day?
A day under 100 TSS needs no special recovery. Between 150 and 250, plan easy riding or a full rest day the next morning. Above 250, take at least one full rest day and expect two before your next quality session. Also add a day when life stress or poor sleep is high, since TSS does not account for either.
Can you calculate TSS without a power meter?
Yes, but only an estimate. Head units generate hrTSS using heart rate data and a threshold heart rate, and running and swimming produce rTSS and sTSS from pace and stroke rate. Heart-rate scoring lags behind effort, misses surges, and gives noisy numbers when your heart rate drifts with heat or caffeine. Treat it as a rough tracking tool and upgrade when you can.
Why does my TSS differ between Garmin, Wahoo and TrainingPeaks?
Each platform uses its own formula, its own FTP value and its own smoothing, so the same ride file produces different numbers on different apps. Garmin and Wahoo also add their own training load scores that are not TSS at all. Pick one platform, set your FTP once, and read every number from that source. Comparing across apps only creates doubt.
Should TSS be zero in a recovery week?
No. A recovery week is about reducing load, not eliminating it. Cutting a 600 TSS week to roughly 400 still builds fitness while letting you absorb the previous block. Going to near zero for a week resets your momentum and makes the return to intensity harder. Keep one or two easy rides in the week and log them like any other session.
Conclusion
Training Stress Score works because it is anchored to you: one hour at FTP equals 100, and everything else is measured against that. Used that way, it turns training into something you can plan in advance instead of guess at in the recovery.
Start with three things. Test your FTP properly and note the date, so you know when the numbers need refreshing. Pick one platform and read every score from it. Then log your rides for four to six weeks to learn your own pattern, which TSS on your body actually costs, before you start chasing a bigger number.
From there, keep weekly load moving in steps of 3 to 5 CTL points, cut rather than stop in recovery weeks, and taper down before a race so form is positive on the day. Track the chart and your legs together, and the number stays useful instead of becoming something to worry about.


