CTL, ATL, and TSB: the fitness-fatigue model
What CTL, ATL, and TSB really mean in the Banister fitness-fatigue model, how to read the curve day to day, and how to time a peak or a deload.
Kinoku in practice
Where this shows up in the app
Open full-size image ↗Fitness, fatigue, and form
Kinoku's Form curve turns the Banister model into an inspectable training-history chart.
Quickstart
The Banister fitness-fatigue model turns your logged training load into three estimates. They are useful context, not direct measures of fitness, fatigue, or medical readiness.
- CTL (chronic training load): a slow-moving chronic-load signal, often labelled fitness.
- ATL (acute training load): a faster recent-load signal, often labelled fatigue.
- TSB (training stress balance): CTL minus ATL, often labelled form. Positive means recent load sits below chronic load; negative means it sits above it.
Kinoku groups the value into five chart bands: Peaked at +25 and above, Fresh from +5 to under +25, Steady from −10 to under +5, Overreaching from −30 to under −10, and Highly Overreaching below −30.
Those cut-offs describe the chart; they are not universal rules or injury thresholds. Read the curve beside performance, sleep, soreness, illness, and your own judgment. The rest of this page explains the math and its limits.
The impulse-response idea
In 1975, Eric Banister had a simple idea: training is a jolt to your body, and your body answers on two clocks. One is a fast bad answer, which is fatigue, and the other is a slow good answer, which is fitness. What you can do on any day is the gap between the two.
This view did two things: it split the slow payoff of training from the fast cost, and it let scientists model both with simple decay curves. The math is older than the sport science. It is the same first-order curve engineers use for a charging battery, a thermostat finding its setpoint, or a pot of water cooling to room temperature.
The jolt is your daily training load, which Banister called TRIMP (training impulse) and TrainingPeaks calls TSS (training stress score). You can just call it “load,” one number for how hard a session was.
The answer comes out as two smoothed averages:
- A slow one set to 42 days, for CTL. This is fitness.
- A fast one set to 7 days, for ATL. This is fatigue.
A hard week spikes ATL fast and nudges CTL up slowly, while a taper week drops ATL fast and lets CTL drift down slowly. The gap between them, CTL minus ATL, is TSB.
The math
Here is the smoothed-average formula for daily load L(t) with a time setting τ:
X(t) = X(t-1) × e^(-1/τ) + L(t) × (1 − e^(-1/τ))
Set τ to 42 days for CTL and 7 days for ATL. Each day you take yesterday’s value, let it fade a little, and add a slice of today’s load.
The curves come out smooth, so one hard session won’t whip CTL around, though it does move ATL. With no new load, a seven-day rest leaves about 37% of the starting ATL because the ATL time constant is seven days; CTL falls much more slowly.
TSB is CTL minus ATL each day, an absolute difference rather than a value scaled to CTL. So a TSB of −15 does not mean the same relative load state at CTL 200 as it does at CTL 60.
Reading your own curve
The shape of your curve over 90 days tells a story. Here are five common shapes:
1. The classic peaking taper
CTL ──────────────────╲
╲__
ATL ─╱╲────────────────╲_____
(big block)
TSB ────────── → ──── rising → +8
You ran a hard block, so CTL climbed and ATL stayed high. Then load dropped, ATL fell faster than CTL, and TSB rose. Some athletes use that shape when timing an event, but the best target is your own rather than a single TSB number.
2. The slow grind (overreaching)
CTL ─╱╱╱╱╱╱╱╱╱╱
ATL ─╱╱╱╱╱╱╱╱╱╱
TSB ──────────── hovering at −10 to −15
You have entered steady high load, so ATL stays close to or above CTL and TSB stays negative. The equations keep moving CTL toward the daily load you enter; they do not know whether your body is adapting well. Read the pattern as a nudge to check your performance and recovery signals, not as a verdict on whether the overreaching is helping or hurting.
3. Detraining
CTL ─╲
ATL ──╲─────
TSB ──── → positive, then drifting down
You stopped training, so ATL fell off in a week while CTL drifts down over months. TSB went positive, but you are not fit, just rested. This is one of the model’s big lessons: a TSB above zero does not mean you are strong, it means you are fresh for your current CTL. If CTL is low, a high TSB is not a peak but detraining.
4. Maintenance
CTL ────────────
ATL ──╱╲──╱╲──╱╲──
TSB ──── oscillating around 0
Steady load keeps CTL fairly flat while ATL moves with the week, so TSB hovers around zero. The chart calls this stable, though whether the plan is right still depends on your goal and how you feel.
5. Return from injury
CTL ╲____╱╱╱
ATL ──____╱╱╱
TSB ──── deep positive → normalizing → near 0
You took two months off, so CTL fell off a cliff. You came back with care, so ATL is rising slowly, and TSB is deep positive since there is no fatigue yet. Over weeks, CTL climbs and TSB settles toward zero as real training resumes.
These are chart patterns rather than diagnoses, and a sustained negative pattern is worth reviewing alongside performance, sleep, soreness, illness, and planned workload. The curve alone cannot tell whether overload is productive or harmful.
What counts as load?
This is where the model meets real training. Banister’s first version used heart rate (TRIMP), and TrainingPeaks and Intervals.icu made it watts-based (TSS) for cycling, while most fitness apps stick to one sport.
Kinoku combines several load sources:
- Lifting: completed work is turned into session load, with logged effort added when we have it.
- Runs and other supported cardio: the richest available signal is used in order (power, then heart rate, then pace) rather than pretending every activity has the same sensor data.
- Other timed activities: time and session RPE (rate of perceived exertion) can supply a load estimate when richer signals are missing.
- Brisk steps: qualifying walking time adds a smaller steady-load estimate.
One curve then sums up the mixed training record, and that breadth is useful, though it also makes input quality and the assumptions behind each activity important. The TRIMP vs TSS page shows how a run is scored with no power meter.
Using the curve as context
A weekly review is often enough, and these questions help:
- After last week: did the load match the plan, and did performance and recovery move in the same direction as the curve?
- Mid-block: is sustained negative form intentional, and are sleep, soreness, mood, and performance still acceptable?
- Before an event: does reduced load make form rise without sacrificing too much chronic load? Your own successful tapers are a better target than a universal number.
- After an event: is ATL falling as expected, and does your actual recovery agree with the model?
If you also watch a workload ratio, the page on the acute to chronic workload ratio versus the fitness-fatigue model covers which of the two moves first on a hard week.
Why the model works
The decay math is not a body measurement. You do not have one fitness clock or one fatigue clock. The model is best read as a short summary of the load you logged, and its direction can support your training judgment, never replace it.
Other impulse-response models can use different time settings, some fitted to the person. Kinoku keeps the familiar fixed 42-day and 7-day settings so the chart stays clear and comparable, while making its assumptions visible.
The model’s weak spots are known. Skip logging a session and your load drops, so CTL acts as if you rested, and bad inputs give bad outputs. Log a hard session as easy (or the other way around) and the TRIMP or TSS is wrong, so everything below it is wrong too. Honest logging is the price of using the model well.
Track this in Kinoku
The Form Band feature runs this model on your device across your gym, run, and brisk-step load. The Pro Analytics Recovery tab shows the 90-day curve, marked with peaking, overreaching, and maintenance zones. Tap any day to see the inputs behind that day’s CTL, ATL, and TSB. When you wonder why today’s TSB sits where it does, the math is right there.
Every calculation runs on your device, and no Kinoku server receives your training history. The curve comes from the published impulse-response family made popular by tools such as TrainingPeaks, and Kinoku is not affiliated with TrainingPeaks and does not claim exact product parity.
References
Track this in the app
Form Band
A fitness-and-fatigue curve built from the same published family of impulse-response models made popular by TrainingPeaks, and it works across gym, run, and brisk-step load.
Core tracking works offline, with no mandatory account.
Related features
A fitness-and-fatigue curve built from the same published family of impulse-response models made popular by TrainingPeaks, and it works across gym, run, and brisk-step load.
A Pro hub with five core tabs, plus a Cycle tab when cycle tracking is on. Its 20+ features include strength scores like DOTS, IPF GL, Wilks, and FFMI, the Banister Form Band, plateau alerts, ACWR, muscle balance, and cycle links.
A 4-phase planning stack. The builder, all 15 templates, named programs with auto-progression, the custom model, and unlimited active programs are free. Pro adds volume targets, readiness tuning, and auto set changes.

