Trainingload.ai

Training Stress Score (TSS)

Training Stress Score (TSS) estimates single-session training load by combining duration and relative intensity.

Training Stress Score (TSS)

Training Stress Score (TSS) is a widely used way to estimate the training stress of a single workout. It combines duration and relative intensity into one number so you can compare load across different session types and lengths.

It answers the key question: “How much stress did today’s workout place on my body?”

Core Concept

TSS rests on one baseline:

One hour all-out at functional threshold (FTP) produces 100 TSS.

This means:

  • 100 TSS = 1 hour @ FTP (all-out)
  • 50 TSS = 1 hour easy (~70% FTP) or 30 minutes @ FTP
  • 150 TSS = a very hard session, usually taking more than 2–3 hours of cycling

With TSS, you can compare the stress of “a 2-hour easy run” vs. “a 30-minute interval run.”

Calculation Formula

The standard TSS formula (for cycling) is:

TSS=t×NP×IFFTP×3600×100TSS = \frac{t \times NP \times IF}{FTP \times 3600} \times 100

Where:

In essence, this computes: duration (hours) ×\times squared intensity factor (IF2IF^2) ×\times 100. Stress from intensity rises much faster than linearly—not proportionally with intensity alone.

TSS Variants and Priority

Different sports use different sensors (power meter vs. GPS vs. heart rate strap), so several TSS variants exist. Trainingload.ai selects the calculation method according to the priority you set in preferences (default: power > heart rate > pace > RPE):

VariantFull nameSportAccuracyCore of calculationNotes
TSSPower TSSCycling/rowing⭐⭐⭐⭐⭐PowerMost direct when power data and FTP are reliable; based on NP and FTP.
hrTSSHeart Rate TSSAll sports⭐⭐Heart rate (TRIMP)Based on time in HR zones (TRIMP). Cardiac lag underestimates short-interval load.
rTSSRunning TSSRunning⭐⭐⭐⭐PaceBased on NGP and threshold pace (rFTPa). Terrain-corrected; useful when threshold pace and route data are reliable.
sTSSSwim TSSSwimming⭐⭐⭐SpeedBased on CSS (critical swim speed) and distance/time.
tTSSTime TSSFallbackAverage heart rateRough estimate when only average HR is available; higher error.

Typical Reference Ranges

Understanding TSS ranges helps you judge a session’s impact and recovery needs:

TSS rangeFatigue levelRecovery suggestionTypical examples
< 150LowUsually fully recovered the next day1–2 h aerobic endurance ride; 45 min easy run.
150 - 300MediumResidual fatigue may remain the next day3–4 h long ride; high-intensity interval workout.
300 - 450HighFatigue may still be present after two daysHalf-distance triathlon; Grand Tour–style stage; ultra-long endurance workout.
> 450EpicMay need several days to recover; can affect immunityIronman; extreme endurance challenge.

Recommendations

How Trainingload.ai uses TSS

Trainingload.ai treats TSS as one input, not as a verdict. A workout with high TSS may justify easier follow-up training, but the decision should also consider sport type, recent ATL, current CTL, subjective feedback, and whether the workout matched the plan.

In practice, TSS is most useful when it is connected to the plan:

  • Compare planned TSS vs. completed TSS after each workout.
  • Watch weekly load progression before increasing volume or intensity.
  • Use TSS together with ATL, CTL, and TSB, rather than treating a single workout score in isolation.

1. Watch out for “inflated” TSS

If you often see single-session TSS above 200 or even 300, first check whether your FTP/threshold is set too low.

  • For most amateurs, 300 TSS in one session is a rare physiological challenge.
  • If FTP is set too low, IF is inflated, and TSS rises disproportionately.

2. No data? Manual estimation

If your device died or you did strength training, use RPE (rating of perceived exertion) to estimate load and keep your PMC chart continuous:

TSSduration (min)×RPE(110)60×10TSS \approx \frac{\text{duration (min)} \times \text{RPE}(1-10)}{60} \times 10

Note: this is a rough heuristic. RPE 10 corresponds to ~100 TSS per hour.

Limitations

  1. Cross-sport trap: although TSS aims to standardize, 100 TSS of running usually causes more mechanical damage (musculoskeletal impact) than 100 TSS of cycling. Don’t treat them as fully interchangeable.
  2. Non-physiological stress: TSS does not include environmental stress (heat, altitude) or life stress (poor sleep, work anxiety), which also raise true recovery cost.

FAQ

Is higher TSS always better?

No. Higher TSS means higher modeled stress, not automatically better training. Productive training depends on the goal of the session, the phase of the plan, and whether you can recover before the next key workout.

Can TSS compare running and cycling directly?

Only cautiously. TSS helps normalize workload, but running usually adds more musculoskeletal stress than cycling at the same score.

Why does an incorrect FTP distort TSS?

TSS depends on intensity relative to threshold. If FTP is set too low, IF becomes too high and TSS can be inflated; if FTP is too high, training stress can be understated.

References

Normalized Power (NP), Intensity Factor (IF), and Training Stress Score (TSS) are registered trademarks of Peaksware, LLC.