Cycling TSS Calculator (Training Stress Score)
Training Stress Score from ride duration, normalized power and FTP — intensity factor, TSS per hour, and what the score means for recovery — plus weekly load and the CTL/ATL ramp.
How it works
TSS = (seconds × NP × IF) ÷ (FTP × 3600) × 100, where IF = NP ÷ FTP; one hour at FTP = 100 TSS
Training Stress Score, from Andrew Coggan’s power-based training model, puts every ride on one scale by weighting duration by how hard it was relative to your functional threshold power. An hour exactly at FTP scores 100; because intensity is squared through the IF term, a hard hour costs far more than two easy hours of the same average power. Normalized power should be used rather than average power for variable rides, since surges cost more than the average suggests. Daily TSS feeds the Performance Management Chart: the 42-day weighted average is chronic training load (fitness), the 7-day average is acute load (fatigue), and their difference is form. Weekly totals of 300–700 cover most amateurs; ramping CTL faster than about 5–8 points a week invites overtraining.
Worked example
A 2.5-hour ride at 210 W normalized with an FTP of 260 W: IF 0.81, TSS 163 — a solid endurance ride, medium stress; with 250 TSS already logged the week stands at 413.
Frequently asked questions
Can I calculate TSS without a power meter?
Approximately — heart-rate TSS (hrTSS) and rTSS for running use time in HR or pace zones. They are less precise but keep the load scale comparable.
What is a good TSS for a race?
A criterium or 40 km TT lands around 80–120; a hard 100 km road race 200–300; a 200 km gran fondo 350–450. Endurance events accumulate large TSS at low IF.
Related calculators
General fitness estimate, not medical advice. Calorie and performance figures vary widely between individuals — use them for planning and comparison, and check with a doctor before starting intense training.