Cycling · Free Calculator

Training Stress Score Calculator

TSS quantifies the combined intensity and duration of a ride in a single number — 100 TSS equals one hour at FTP. Use IF-only mode for a quick estimate, or power mode if you have Normalized Power and FTP. Output includes the standard load category band.

Recovery 0.55–0.65 · Endurance 0.66–0.75 · Tempo 0.76–0.85 · Threshold 0.91–1.00 · VO₂max 1.06+

Reference test built into this page: 60 min @ IF 0.85 → TSS 72.

How the formula works

Andrew Coggan defined Training Stress Score so that one hour at FTP equals exactly 100:

TSS = (durationsec × NP × IF) / (FTP × 3600) × 100

Because IF = NP / FTP by definition, this simplifies in IF-only mode to:

TSS = durationsec × IF² × 100 / 3600

The IF² term is the key insight: TSS scales with the square of intensity. A 1-hour ride at IF 0.7 is 49 TSS; at IF 1.0 it's 100 TSS — the same duration but more than twice the load. That non-linearity reflects the disproportionate physiological cost of riding closer to threshold and beyond.

Load category bands

What it's good for

Limitations

TSS in your AthleteOS dashboard

AthleteOS computes TSS on every cycling workout pulled from Garmin, Wahoo or Strava, computes rTSS and sTSS for run and swim sessions, then rolls them into a single CTL trace and TSB readiness signal. When TSB drops below −20 (high fatigue zone), the AI plan automatically inserts recovery days and pushes hard sessions back. Generate your free AI plan and your weekly TSS will be prescribed against your live CTL.

Related reading: TSS vs TRIMP · CTL / ATL / TSB · Aerobic decoupling · Polarized vs pyramidal · HRV readiness.

Citation

Allen H, Coggan AR (2010). Training and Racing with a Power Meter, 2nd ed. VeloPress. ISBN 978-1934030554. The TSS, NP and IF metrics are introduced in chapters 7–8.