FITIV Pulse

Glossary

TSS (Training Stress Score)

TSS (Training Stress Score) measures the stress of a cycling workout relative to your FTP, combining intensity and duration into one load number.

FITIV Team

· 5 min read · Updated

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:

TSSLoadRecovery
Under 150LowEasy to moderate session, recovery within 24 hours
150–300ModerateSome fatigue may linger into the next day
300–450HighFatigue may last two days or more
Over 450Very highMulti-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.

Get FITIV Pulse

Works with Apple Watch, Garmin, Fitbit, AirPods Pro 3, and Bluetooth HR monitors.

Download on the App StoreGet it on Google Play