Baseline
athlete intelligence
Training

Training load explained: CTL, ATL, TSB - what they mean and how to use them

If you've used TrainingPeaks, Intervals.icu, Golden Cheetah, or Baseline, you've seen three numbers: CTL, ATL, and TSB. They look intimidating. They're not. Here's everything you need to know.

The short version

  • CTL (Chronic Training Load) = your long-term fitness. Think of it as your engine.
  • ATL (Acute Training Load) = your recent fatigue. How tired you are right now.
  • TSB (Training Stress Balance) = CTL minus ATL. Your "form" - when it's positive, you're rested and ready; when it's negative, you're carrying fatigue.

That's it. The rest of this article explains the details, how it's calculated, how to read it, and (most importantly) what it can and cannot tell you.

Where these numbers come from

The model was developed by Dr. Andrew Coggan (the same physiologist behind TrainingPeaks) in the early 2000s. It's also called the Performance Management Chart (PMC).

The core idea: every workout has a "training stress" value - a single number representing how hard that session was on your body. Over time, these accumulate. Your body adapts to the long-term average (fitness) while being affected by the short-term load (fatigue).

How it's calculated

1. Training Stress Score (TSS) per workout

Every workout gets a TSS. It's calculated differently by sport:

  • Cycling: based on power (Normalized Power vs FTP) and duration
  • Running: based on pace (Grade-Adjusted Pace vs threshold pace) and duration
  • Swimming: based on pace vs threshold pace and duration

A TSS of 100 = 1 hour at threshold. A hard 3-hour ride might be 200–250 TSS. An easy 30-minute jog might be 20–30 TSS.

2. CTL (fitness)

CTL is the exponentially-weighted moving average of your daily TSS over ~42 days (the default time constant, configurable). Older workouts count less; recent workouts count more. It rises when you train consistently and falls when you stop.

Most amateur athletes have a CTL between 40 and 80. Pros might hold 120+. A CTL of 50 means your body has adapted to handling about 50 TSS/day on average.

3. ATL (fatigue)

ATL is the same calculation but over ~7 days. It responds quickly - a big workout spikes your ATL immediately. It drops just as quickly when you rest.

4. TSB (form)

TSB = CTL - ATL (yesterday's values, before today's workout).

  • TSB > 0: you're fresh. This is where PRs happen. You've rested more than you've trained recently.
  • TSB between 0 and -10: you're training productively. Some fatigue, manageable.
  • TSB between -10 and -30: you're in a training block. Normal for building phases.
  • TSB < -30: you're significantly fatigued. Risk of overtraining increases, especially if sustained.

How to actually read it

The ramp rate

Your CTL shouldn't rise too fast. A safe ramp rate is 5–8 CTL points per week. More than that and injury risk increases. If your CTL went from 40 to 60 in two weeks, you're overreaching - back off.

The taper

When you reduce training before a race (a taper), your ATL drops faster than your CTL. TSB goes positive. You feel good. That's the point. A well-executed taper leaves you with a TSB of +5 to +15 on race day.

The negative TSB spiral

If your TSB stays below -20 for more than 2–3 weeks, your body isn't recovering. Performance plateaus. You get sick. This is overtraining. The fix: a recovery week where you drop volume by 30–40%.

What CTL/ATL/TSB can't tell you

The model has limitations:

  1. It doesn't account for non-training stress. Work deadlines, poor sleep, illness - these all affect your actual readiness but don't show up in TSB.
  2. It assumes all TSS is created equal. A 100 TSS from a gentle Z2 ride is different from 100 TSS from 400m repeats. The model doesn't distinguish.
  3. It's a lagging indicator. TSB tells you what has happened, not what will happen. Pair it with subjective feel (RPE, mood, motivation) and recovery data (HRV, resting HR).
  4. It needs consistent data to be accurate. If you miss workouts or don't record them, the model loses accuracy.

How Baseline uses it

Baseline shows CTL/ATL/TSB on the Training Load screen. It's computed from your connected data sources - Strava activities, Garmin workouts, Apple Health runs. The default constants are 42/7 days, but you can customise them in Settings.

We also overlay recovery data (HRV from WHOOP, sleep from Garmin, resting HR from Apple Health) so you can see the full picture - not just the training numbers but how your body is actually responding.

The daily AI insights card flags when your TSB is trending down dangerously or when you're peaking and ready to race.

The bottom line

CTL/ATL/TSB is the closest thing endurance sports have to a universal training language. Learn to read these numbers. They won't replace listening to your body, but they'll give you a framework for understanding what your body is telling you.

See your own CTL/ATL/TSB - connect Strava and view the demo →