Fundamentals 8 min read

CTL, ATL & TSB: Training Load Metrics Explained

CTL (fitness), ATL (fatigue), and TSB (form) are rolling averages of your daily Training Stress Score. Together they show whether you are building fitness, accumulating fatigue, or arriving at a race fresh and ready.

Who this is for

Athletes using TrainingPeaks, Intervals.icu, or similar platforms who want to interpret their performance management chart (PMC).

The three metrics

CTL (Chronic Training Load): 42-day rolling average of daily TSS. Represents fitness — higher CTL generally means better endurance capacity.

ATL (Acute Training Load): 7-day rolling average of daily TSS. Represents fatigue — spikes when you train hard recently.

TSB (Training Stress Balance): CTL minus ATL. Positive TSB means relatively fresh; negative means fatigued.

Reading the numbers

TSB rangeTypical meaning
+10 to +25Fresh — good for racing or testing
-10 to -30Productive training load — building fitness
Below -30High fatigue — injury risk increases
Above +25Detraining — fitness may be fading

Race-day targeting

Many coaches aim for TSB between +5 and +20 on race day, achieved by reducing volume in the taper while maintaining short intensity touches.

Exact optimal TSB varies by athlete and event distance.

Common mistakes

  • Chasing high CTL without recovery — fitness and fatigue rise together.
  • Ignoring TSB and racing deeply fatigued.
  • Obsessing over daily TSS instead of weekly patterns.

Sources

Vo2Max Pro includes load analytics (ATL/CTL/TSB) when you sync activities — so you can see fitness trends alongside your periodized plan.

Frequently asked questions

What is a good CTL for cycling?
Varies by athlete. Recreational cyclists often train at CTL 40–70; competitive amateurs may reach 80–120+.
What TSB should I race at?
Many athletes race best between +5 and +20 TSB after a proper taper.
How is TSB calculated?
TSB = CTL − ATL. It is updated daily based on your TSS log.
Do I need these metrics as a beginner?
Not required, but they help once you are training 5+ hours per week and tracking consistently.

Put this into practice

Generate a training week with the same engine — free, no account required.

An unhandled error has occurred. Reload Dismiss

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.