Waiting for input
Enter your ride data using power, heart rate, or RPE, then calculate to see your Training Stress Score with recovery context.
Calculate Training Stress Score from Normalized Power, ride duration, and FTP to quantify session difficulty and plan recovery.
Calculate TSS from power data, heart rate, or perceived exertion.
Enter your ride data using power, heart rate, or RPE, then calculate to see your Training Stress Score with recovery context.
How Training Stress Score works, what the formula actually measures, and how to use it for practical load planning.
Training Stress Score (TSS) combines how hard and how long you rode into a single number. It was developed by Andrew Coggan as part of the power-based training framework and is now the standard unit for quantifying session workload in cycling.
A TSS of 100 roughly equals a one-hour ride at exactly your Functional Threshold Power (FTP). Ride harder than threshold and TSS accumulates faster per hour. Ride below threshold and it accumulates slower.
TSS is most useful when you track it across a week or a training block. Individual session scores help you classify ride difficulty, but the real value comes from managing weekly totals to balance adaptation and recovery.
Primary Sources for This Section
TSS depends on three inputs: ride duration, Normalized Power (NP), and your current FTP. The Intensity Factor (IF) is the ratio of NP to FTP, and it tells you how intense the ride was relative to your threshold.
The formula uses NP rather than average power because NP better captures the metabolic cost of variable-intensity riding. Two rides with the same average power can have very different physiological costs if one included repeated surges.
TSS equation
Where:
This is equivalent to IF² × duration_in_hours × 100. Riding at exactly FTP for one hour yields TSS = 100.
Example: You ride for 90 minutes with NP of 220 W and FTP of 250 W. IF = 220/250 = 0.88. TSS = (5400 × 220 × 0.88) / (250 × 3600) × 100 = 116. That classifies as a moderate-to-hard session.
Primary Sources for This Section
PMID: 19757861 | DOI: 10.2165/11317840-000000000-00000
Per-session TSS is most useful when mapped to recovery expectations. Coggan's framework provides rough categories, but individual response varies with fitness level, nutrition, sleep quality, and accumulated fatigue from prior days.
Low TSS sessions (under 60) are generally recoverable within a day. Sessions between 60 and 120 create meaningful training stimulus without deep fatigue for most trained cyclists. Scores above 150 are typically reserved for race days, hard group rides, or deliberate overreaching blocks.
Weekly TSS totals provide a better picture than daily scores. Most recreational cyclists accumulate 300-500 TSS per week. Competitive amateurs might sustain 500-700. Professional cyclists can exceed 800-1000 during heavy training blocks, supported by optimised recovery protocols.
Weekly planning guideline
Increase weekly TSS by no more than 5-10% per week during build phases. Larger jumps raise injury and overtraining risk.
Primary Sources for This Section
PMID: 28095061 | DOI: 10.1123/ijspp.2016-0454
PMID: 25200666 | DOI: 10.1007/s40279-014-0253-z
IF tells you how hard a ride was relative to your threshold. It is particularly useful for pacing time trials and gauging race effort retrospectively.
For a well-paced 40 km time trial, IF typically falls between 0.95 and 1.05. Long endurance rides usually sit between 0.60 and 0.75. If a planned recovery ride shows IF above 0.70, you are riding too hard for the intended adaptation.
IF is also the fastest way to spot an outdated FTP. If you consistently ride at IF 1.05+ for durations that should be at threshold, your FTP has likely improved and needs retesting.
Primary Sources for This Section
Related Resources
The most frequent error is using average power instead of Normalized Power. On a ride with lots of coasting and surges, average power can understate NP by 10-25%. This makes the calculated TSS lower than the actual physiological cost.
A second common mistake is treating TSS as the only recovery indicator. TSS does not account for environmental heat stress, eccentric muscle damage from climbing, or psychological fatigue. Use it alongside perceived exertion and heart-rate decoupling data.
Finally, TSS accuracy depends entirely on your FTP being current. An outdated FTP inflates or deflates every TSS value downstream. Retest every 4-8 weeks during structured training.
FTP dependency
If your FTP is wrong, every TSS value calculated from it will be systematically biased. Keep your FTP current.
Primary Sources for This Section
Coggan TSS Framework
TSS formula follows Allen & Coggan (Training and Racing with a Power Meter, 3rd ed.) using NP, IF, and FTP.
Recovery Categories
Session difficulty thresholds are based on published coaching guidelines for per-session TSS interpretation.
Read sourceFTP Dependency
TSS accuracy requires a current FTP. Retest every 4-8 weeks during structured training.
Read sourceMost structured training sessions fall between 60 and 150 TSS. Recovery rides are typically under 30. Race days can exceed 200+. The right score depends on your training phase and recovery capacity.
Always use Normalized Power (NP). Average power underestimates the metabolic cost of variable-intensity rides. If you only have average power, estimate NP using the NP & IF Estimator first.
This varies by fitness level. Recreational cyclists typically sustain 300-500 TSS/week. Competitive amateurs handle 500-700. Professional cyclists may exceed 800-1000 during build phases with optimised recovery.
No. TSS only reflects power-based workload. External stressors like heat, altitude, and eccentric muscle damage from climbing are not captured. Use TSS alongside RPE and heart-rate data for a fuller picture.
Disclaimer: This calculator provides estimates based on published exercise science models. Results are not medical advice. Individual physiology, health status, and environmental conditions affect real-world outcomes. Consult a qualified healthcare provider or certified coach before making training decisions based on these outputs.