⚡ Training Stress Score (TSS) Calculator
Enter your ride duration, normalized power, and Functional Threshold Power (FTP) to calculate the Training Stress Score (TSS) for that workout.
Coggan's TSS formula
Training Stress Score comes from Andrew Coggan's power framework, where one hour ridden at exactly FTP is defined as 100 points:
IF = NP / FTP
TSS = (duration_sec × NP × IF) / (FTP × 3600) × 100
= hours × IF² × 100
An hour at 200 W against a 250 W FTP is an intensity factor of 0.80, so 1 × 0.64 × 100 = 64 TSS. Because IF is squared, intensity counts far more than time: three hours at 175 W (IF 0.70) is 3 × 0.49 × 100 = 147 TSS, only just over double a single hard hour. The page labels anything under 50 as easy, under 100 moderate, under 150 high, and above that very high.
Intensity factor and the Coggan zones
| IF | What the ride was |
|---|---|
| 0.55-0.75 | Zone 2 endurance, all day pace |
| 0.76-0.90 | Zone 3 tempo or a long group ride |
| 0.91-1.05 | Zone 4 threshold work, or a 40 km time trial |
| 1.06 and up | Zone 5 and above - short, sharp, criterium efforts |
Normalized power is not average power: it is the fourth root of the mean of the 30-second rolling average raised to the fourth power, which weights the surges.
Frequently asked questions
How much TSS should I do in a week?
Recreational riders sit around 300-450, committed amateurs 500-700, racers above 900. The week-to-week jump matters more: raise the weekly total by much over 10% and fatigue accumulates faster than fitness.
What is a good intensity factor?
An IF near 0.75 is a steady endurance ride, 0.85 is a solid tempo session, and 0.95 to 1.05 is a race effort no one holds much beyond the hour.
Can I get TSS without a power meter?
Only an estimate. Heart-rate based hrTSS and pace based rTSS approximate the same 100-points-per-threshold-hour scale, but they lag on short intervals because heart rate takes a minute or two to catch up with the effort.