TSS Calculator — Training Stress Score & Weekly Load
Enter one workout to get its Training Stress Score, or log a full week to see total load, chronic training load (CTL), acute training load (ATL), and training stress balance (TSB) — the same numbers TrainingPeaks calls the Performance Management Chart.
One-week projection from zero baseline. For rolling 42-day CTL, log your history in CoreRise or TrainingPeaks.
How the TSS calculator works
Training Stress Score quantifies how much a workout costs you in terms of recovery. The formula, introduced by Andrew Coggan, is TSS = (duration in hours × IF²) × 100, where Intensity Factor (IF) is the ratio of normalized power to FTP. A one-hour workout at FTP is 100 TSS by definition.
For each workout, estimate the IF: a recovery ride is around 0.55, endurance is 0.65 to 0.75, tempo is 0.80 to 0.85, sweet spot to threshold is 0.88 to 0.95, VO2max intervals average 0.95 to 1.05 across the whole session. Duration × IF² × 100 gives the TSS.
Weekly TSS is the sum across all workouts in a 7-day window — a value most coached athletes know by heart. For untrained cyclists, 300 weekly TSS is a meaningful block; for experienced amateurs in build phase, 600–900 is typical; for serious age-group athletes in peak weeks, 1,000 to 1,400 is realistic.
CTL (Chronic Training Load) is an exponentially weighted average of daily TSS over the last 42 days — your fitness proxy. ATL (Acute Training Load) is the same thing over the last 7 days — your fatigue proxy. TSB (Training Stress Balance) is CTL minus ATL — positive means fresh, negative means loaded.
The simplified preview here assumes you are starting at zero and adding one week of training on top. It is not a substitute for the full 42-day rolling calculation TrainingPeaks does, but it gives you a useful sense of whether a week of planned training is heavy, moderate, or light relative to your history.
TSS = (hours × IF²) × 100 · IF = NP ÷ FTP
Frequently asked questions
What is a good weekly TSS?
It depends on your training history, not your ambition. A rule of thumb is that weekly TSS can safely grow 5 to 10 percent week over week, with a recovery week every three to four weeks where weekly TSS drops by 30 percent. For most amateur cyclists, the ceiling of what is productive — not just tolerable — is somewhere between 600 and 1,000 weekly TSS.
How do I know the intensity factor for my workout?
If you have a power meter, TrainingPeaks, Intervals.icu, or Strava will calculate it automatically from normalized power and your FTP. Without a power meter, use the table in the full article — endurance is 0.65–0.75, tempo is 0.80–0.85, threshold is 0.88–0.95, VO2max sessions average 0.95–1.05 depending on rest.
Does TSS work for running?
Yes, with caveats. Running TSS (rTSS) uses normalized graded pace instead of power, which works for flat running but systematically overcounts hilly terrain — see our article on why hilly rTSS is broken. For running, heart-rate-based TSS (hrTSS) is usually more honest.
Is this the same as TrainingPeaks?
The TSS math per workout is identical. The CTL / ATL / TSB preview is a simplified one-week projection, not the full 42-day rolling average TrainingPeaks uses. For serious performance management charting, TrainingPeaks remains the standard; this calculator is for quick estimation of single workouts and weekly totals.
Let Cora track TSS and PMC for you
CoreRise computes TSS automatically from every workout file you sync — power, heart rate, or pace — and maintains the rolling 42-day CTL so you always know where you stand on fitness and fatigue. When Cora writes next week's plan, she is already targeting the right weekly TSS for your phase, not a number you had to calculate yourself.