Training
Training load, explained: TSS, CTL, ATL, and form in plain English
Four numbers run most endurance training software. Here is what each one measures, how to steer by them, and where they stop being trustworthy.
TSS scores a single session. CTL, ATL, and TSB turn a season of those scores into three numbers you can steer by. TSS (Training Stress Score) prices a workout by how long it lasted and how hard it was relative to your own threshold, on a scale where one hour flat out at threshold equals 100. CTL is roughly a 42-day weighted average of your daily TSS, usually labeled "fitness". ATL is the same average over roughly 7 days, labeled "fatigue". TSB is CTL minus ATL, labeled "form". Everything below is the detail, the caveats, and how to read those four numbers without fooling yourself.
What TSS actually measures
TSS combines two things: how long you went, and how hard you went relative to your threshold. The hard part is squared. On the bike, where the model originated, it works out to roughly:
TSS = hours × intensity² × 100
where intensity is your normalized power for the session divided by your FTP. That squaring is what makes the number interesting rather than just a fancy way of writing "duration". Two hours of genuinely easy riding at 60% of threshold scores about 72. One hour at 95% scores about 90. An hour of hard work costs your body more than two hours of soft pedalling, and TSS says so.
The other half of the definition matters just as much: everything is relative to your threshold. A 600-TSS week for you and a 600-TSS week for someone twice as fast are not the same absolute work. They are the same fraction of what each of you can currently absorb. That is the whole point — it makes load portable between athletes of wildly different abilities.
It is also the model's single biggest failure mode. If your threshold is stale, every number downstream is wrong. Set your FTP or threshold pace six months ago, get fitter, and never update it, and every session since has been scored too high. Your fitness line climbs, and part of that climb is a measurement error rather than a training effect.
What a normal week costs
Rough TSS for common sessions. Treat these as the middle of a range, not a lookup table — the actual number depends on your thresholds and how honestly you rode or ran the session.
| Session | Duration | Typical TSS |
|---|---|---|
| Recovery spin | 45 min | 25–35 |
| Endurance ride, steady | 2 h | 100–130 |
| Long ride | 4 h | 200–260 |
| Sweet-spot bike, 3 × 15 min | 1 h 15 | 85–105 |
| Threshold bike, 2 × 20 min | 1 h | 75–95 |
| Easy run | 45 min | 35–50 |
| Long run | 1 h 45 | 110–150 |
| Threshold run, 5 × 1 km | 1 h | 80–100 |
| 5 km race or hard parkrun | 25 min | 45–60 |
| Technique swim | 45 min | 30–40 |
| Threshold swim set | 1 h | 60–80 |
| Olympic-distance triathlon | ~2 h 20 | 160–210 |
Two things stand out once you look at real numbers. Running scores higher per minute than easy riding, because you cannot coast. And a single long ride can outweigh three midweek sessions combined, which is why a missed weekend does more damage to your weekly total than a missed Tuesday.
Where TSS is guessing
The number looks precise. In several places it is a convention that everyone agreed to, not a measurement.
Swim TSS is largely convention. There is no widely used power meter in the water, so swim load is derived from time spent at paces relative to your critical swim speed, or from an effort-based lookup. It is internally consistent — the same swim always scores the same — which makes it genuinely useful for tracking your swimming against itself. It is not measuring the same thing as a power file.
TSS cannot see the conditions. The same watts on a 34°C day cost far more than on a cool one. Altitude, humidity, a bad night's sleep, a stressful week at work — none of it enters the calculation. Heart-rate-derived scores catch a little of this, because heart rate drifts upward when you are cooked. Power-derived scores catch none of it.
It cannot see the type of damage. A hilly run with long descents and a flat run at the same pace can score identically and leave your quads in completely different states. Eccentric loading is invisible to the model.
Cross-sport addition is a convention on top of a convention. Adding swim, bike, and run TSS into one weekly total is standard practice and still useful as a trend, but 60 TSS of swimming and 60 TSS of running are not interchangeable currency.
CTL, ATL, and form: three moving averages
Once every session has a price, the rest is arithmetic on the daily totals.
CTL — chronic training load, labeled "fitness". An exponentially weighted average of daily TSS with a time constant around 42 days. Plain English: what you have been doing for roughly the last six weeks, with recent days counting more than older ones. It moves slowly in both directions, which is exactly what you want from something meant to represent accumulated adaptation.
ATL — acute training load, labeled "fatigue". The identical calculation over about 7 days. It spikes after a big weekend and settles within days.
TSB — training stress balance, labeled "form". CTL minus ATL, using yesterday's values. Positive means you have done less lately than your recent norm, so you are relatively fresh. Negative means you are carrying more than your baseline.
The labels are more marketing than physiology, and it is worth being blunt about that. "Fitness" is not fitness. It is a rolling average of training load. You can raise it with junk volume and get slower. "Fatigue" is not how tired you are; it is how much you trained in the last week. "Form" is the arithmetic difference between two averages, not a readiness score. They are useful proxies with honest names available: accumulated load, recent load, and the gap between them.
The 42 and 7 are adjustable in most software, and the defaults are convention rather than anything derived from your physiology. Very few athletes should touch them, but knowing they are arbitrary tells you how much precision to read into the output.
Where the model came from
The lineage runs back to Eric Banister's fitness–fatigue model from the 1970s. The idea: a single training input produces two responses that decay at different rates — a slow-decaying positive "fitness" term and a faster-decaying but larger negative "fatigue" term. Performance on any given day is the difference between them. CTL, ATL, and TSB are that model with the time constants pinned at 42 and 7 days and the two terms weighted equally, popularized as a chart by Andrew Coggan's Performance Manager in the 2000s.
Honest assessment of the pedigree: the original model was fitted to small groups of athletes, and it has never been especially good at predicting what an individual will run or ride on a specific day. It survived because it is cheap to compute, it is directionally right about the things that matter most (load accumulates slowly, fatigue clears quickly), and it gives a self-coached athlete something concrete to steer by. That is a genuinely useful tool. It is not a physiological measurement.
Reading the numbers week to week
The most informative number is not CTL itself but its ramp rate — how many points it climbs per week.
- 3–5 points per week is a sustainable build for most athletes across a multi-week block.
- 6–8 points per week works for short blocks, for experienced athletes, off a solid base, when the rest of life is quiet.
- Sustained above 8 is where injuries and illness cluster. This is accumulated coaching convention rather than a threshold from a controlled trial, but it is consistent enough to plan around.
Relative size matters more than the absolute number. Adding 5 points to a CTL of 40 is a far bigger demand than adding 5 to a CTL of 100 — the same arithmetic step, a very different percentage jump.
Plan the falls as deliberately as the climbs. A recovery week should drop CTL by roughly 3–8 points. If your recovery week holds CTL flat, it was not a recovery week; it was a slightly quieter build week with a nice name.
For TSB, rough working ranges during normal training:
| TSB | What it usually means |
|---|---|
| +10 and above | Tapering, or under-training |
| 0 to −10 | Maintenance, or an easy week |
| −10 to −30 | Normal territory inside a build block |
| Below −40 for more than a few days | Either a deliberate overload block, or you are digging |
PaceBeats prices every session it schedules in TSS and tracks CTL, ATL, and form from your completed work, so the ramp is a number you chose in advance rather than something you discover in hindsight.
Why chasing CTL is a trap
CTL is a means of steering, and it makes a terrible destination. Four ways it goes wrong:
Volume is the cheapest TSS. Riding easy for longer is the least uncomfortable way to make the line go up. An athlete quietly optimizing for CTL drifts toward more medium-hard volume and fewer genuinely hard sessions. The graph climbs; race pace does not.
CTL knows nothing about specificity. A CTL of 100 built entirely on flat endurance and a CTL of 100 built with race-pace work look identical on the chart and do not race identically.
It is not comparable between athletes. CTL is denominated in your own threshold. Someone else's 120 could be less absolute work than your 90. Comparing them tells you nothing except who has the more optimistic FTP setting.
Round numbers before race day cost more than they pay. The last three weeks of CTL contribute very little to race-day fitness. The fatigue you accumulate earning them contributes a great deal.
What the model cannot see
These limitations change how much weight the numbers deserve.
It has exactly one input. Sleep, work stress, illness, nutrition, heat, travel, a new baby — none of it enters the model. Two athletes with identical training weeks and completely different lives produce identical charts.
It does not distinguish kinds of load. A week of pure endurance and a week containing two hard interval sessions can total the same TSS and demand completely different recovery.
Threshold drift corrupts it silently. Get fitter without updating your threshold and every subsequent session is scored too high, so your fitness line shows progress that is partly an artifact of an out-of-date setting. Re-testing, or letting your platform re-estimate thresholds from real efforts, matters more than most athletes assume.
And it is a rear-view mirror with a wide-angle lens. It is good at telling you a ramp has been too steep for three weeks. It is bad at telling you whether today should be intervals or coffee.
Use it as one input alongside the things it cannot see: how you are actually sleeping, resting heart-rate and HRV trends, and honest session feedback. When those disagree with the chart, the chart is usually the one that is wrong. Watching for that disagreement is most of what a coach does with the graph, and it is why PaceBeats re-plans the week when the numbers say you are digging a hole rather than waiting for you to notice.
Questions athletes ask
What is a good CTL?
There is no universal good CTL, because CTL is denominated in your own threshold and cannot be compared between athletes. As rough context, an age-group athlete training 6–8 hours a week often sits somewhere around 50–70, and a 10–14 hour Ironman build often runs 90–120. What actually matters is your CTL relative to your own previous seasons at the same point, and whether it is climbing at a rate you can absorb.
What TSB should I race at?
Common guidance is a TSB of roughly +5 to +25 on race day. Shorter races tolerate the low end, or even slightly negative, because you lose more from going flat than from carrying a little fatigue. Long-course racing generally wants the upper half of that range. The better answer is your own history: look at what your TSB was before races you executed well, and treat the generic range as a starting point rather than a target.
Is TSS comparable across swim, bike, and run?
Not really. The three sports share a scale by convention, not by measurement. Bike TSS from a power meter is the most direct. Run TSS from pace is reasonable but ignores the eccentric damage of downhill running. Swim TSS is derived from critical swim speed or perceived effort and is the loosest of the three. Use each sport's TSS to track that sport against itself over time, and treat a combined weekly total as a useful trend rather than a precise sum.
How fast can I safely raise CTL?
Three to five points a week is a sustainable default for most athletes over a multi-week build. Six to eight works for short blocks, for experienced athletes on a solid base. Sustained ramps above eight points a week are where injuries and illness cluster in practice. Relative size matters too: adding five points to a CTL of 40 is a much bigger demand than adding five to a CTL of 100. And plan the drop — a recovery week should take 3–8 points back off.
Next step