Training Stress Score (TSS) tells you how much stress a cycling workout put on your body, in one number. It's calculated from how long you rode and how much power you put out compared with your Functional Threshold Power (FTP). Dr. Andrew Coggan and Hunter Allen developed it, and it's the main training load metric in power-based cycling and the foundation of the CTL/ATL/TSB fitness and fatigue model.
How TSS Is Calculated
TSS weighs each workout against your FTP, its reference for "maximum sustainable effort." Along with duration, it uses Normalized Power (NP), a weighted average of power that accounts for the extra cost of variable, surging efforts compared with steady riding. Intensity is how hard the workout was compared with your threshold: riding at your FTP is an intensity of 1.0, and an easy endurance ride is around 0.75.
The benchmark is a perfectly executed 1-hour all-out time trial at exactly FTP, which scores 100. Every other workout is scaled against it. Per session:
| TSS | Load | Recovery |
|---|---|---|
| Under 150 | Low | Easy to moderate session, recovery within 24 hours |
| 150–300 | Moderate | Some fatigue may linger into the next day |
| 300–450 | High | Fatigue may last two days or more |
| Over 450 | Very high | Multi-day recovery; appropriate only for periodically planned big training days |
Weekly TSS ranges:
- Recreational cyclists: 150–350 TSS/week
- Trained enthusiasts: 350–600 TSS/week
- Competitive amateurs: 600–900 TSS/week
- Professional cyclists: 900–1500+ TSS/week
How TSS Relates to Training
TSS is the input metric for the Fitness/Fatigue model (sometimes called the Performance Manager Model), which tracks three rolling averages:
CTL (Chronic Training Load / Fitness) is a 42-day exponentially weighted average of daily TSS. It represents your current trained state, so a rising CTL means you're building fitness.
ATL (Acute Training Load / Fatigue) is a 7-day exponentially weighted average of daily TSS. It rises quickly with hard training and falls quickly with rest, and represents the fatigue you've built up.
TSB (Training Stress Balance / Form) = CTL − ATL. Positive TSB means you're fresher than your baseline fitness (good for racing). Negative TSB means you're carrying more fatigue than your fitness level (good for training adaptation). A TSB of about −11 to −29 is commonly treated as the optimal training range, and about +5 to +29 as race-ready.
With these numbers you can plan training blocks and tapers, see what missed training costs you in fitness, and spot excessive load before overtraining symptoms appear. With your goal race three weeks out, you can plan the taper so your TSB reaches that race-ready range by race day.
How FITIV Uses TSS
FITIV Pulse calculates TSS for any cycling or running workout that includes power data: cycling power from a Bluetooth power meter or smart trainer paired to your Apple Watch (Garmin, Wahoo, Stages, Favero, etc.), and running power recorded by the Apple Watch itself. The calculation uses the FTP you set under More → Power → Cycling or Running. Each sport has its own FTP, so keep each one current.
You'll see TSS for each workout in the activity summary. When you choose TSS as your training load method, FITIV rolls it up into:
- Short Term (ATL): an exponentially weighted 7-day average
- Long Term (CTL): an exponentially weighted 42-day average
- Training Status: Undertraining, Optimal, Peaking, Overreaching, or At Risk
- A history of how your load has evolved
For workouts without power, FITIV calculates TSS from heart rate instead, so runs and other sessions still count. FITIV also calculates TRIMP for every workout with heart rate.
Frequently Asked Questions
Do I need a power meter to calculate TSS?
For the power-based TSS calculation, yes: power data is required. Without a power meter or smart trainer, FITIV calculates TSS from heart rate instead, and also calculates TRIMP. The raw numbers aren't directly comparable, but each feeds the same short- and long-term load model.
Why does my TSS seem high even on easy rides?
TSS scales with duration as well as intensity. A 3-hour Zone 2 endurance ride at 65% of FTP produces a TSS of approximately 130, because three hours of steady work adds up. Long easy rides do create real training stimulus and fatigue, even if the pace felt comfortable.
How often should I retest FTP to keep TSS accurate?
Every 6–8 weeks, or whenever you notice that prescribed Zone 4 intervals feel significantly easier than they should. An outdated (too low) FTP inflates TSS values, making training appear harder than it is and overstating both your fitness (CTL) and your fatigue (ATL). An FTP that is too high artificially deflates TSS and understates training stress.

