⚡ 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

IFWhat the ride was
0.55-0.75Zone 2 endurance, all day pace
0.76-0.90Zone 3 tempo or a long group ride
0.91-1.05Zone 4 threshold work, or a 40 km time trial
1.06 and upZone 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.

Every number here is anchored to your FTP, so a stale FTP quietly corrupts the whole log - an FTP set 20 W too low turns a 64 TSS ride into a 75. Retest every 6-8 weeks. Entering average power where normalized power is asked for understates TSS on a variable ride. Training load is a planning tool, not medical advice.

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.