Last updated: 31 July 2026
Search for CTL, ATL and TSB and you land on cycling and triathlon blogs. For runners the maths is the same; the data source is not. This page explains both stages: how TRIMP rates a single session, and how your form curve grows out of it.
The performance management chart comes from cycling, where a power meter measures output in watts. Runners have no such thing. Heart rate takes the place of measured power — which turns a measurement into an estimate. That is the one real difference, and it has consequences, listed further down.
Everything else carries over: the time constants, the zones, the logic. Which is why the terms can be adopted without bending them.
TRIMP (Training Impulse) is a load measure for one run. It needs two quantities: how long you were out, and how hard.
The "how hard" is your heart rate reserve — your average heart rate minus your resting rate, divided by the span between maximum and resting rate. The result is a share between 0 and 1. At 0.5 your heart was running at half its reserve; at 0.85, close to the ceiling. The same reserve carries your heart rate zones.
Duration and heart rate reserve form the value, with intensity entering exponentially. One hour at different reserves shows what that does:
So a tempo run weighs around twice an easy run of the same length. Runnerd used to compute this flat, as duration × heart rate reserve × 1.5. That put a 60-minute tempo run only 40 % above the easy run — physiologically far too little. The exponential form goes back to Banister and is used, with small variations, by TrainingPeaks, WKO5, Intervals.icu, Stryd and Garmin alike.
The formula holds two constants, and Banister published them differently for male and female physiology: 0.64 and 1.92 for male, 0.86 and 1.67 for female. One average across everyone would cost exactly the precision the model exists for.
With no value set, Runnerd uses the male constants. That is deliberate: they return the lower value across the typical range between 0.6 and 0.85 heart rate reserve. In case of doubt the load is underestimated, and that is the safe direction for an error.
What is asked for is biological sex, not gender identity — the heart rate reserve response depends on body composition and cardiovascular physiology. Runnerd says exactly that in its settings.
Each day's TRIMP feeds three curves. All three are exponentially weighted moving averages, so they react slowly and forget slowly:
The gap between 42 and 7 days is the whole trick. A hard week lifts ATL quickly and CTL barely. So TSB falls. Three hard weeks make you fitter and slower at once — CTL rises, ATL rises faster, form drops. Run 5 easy days after that and ATL falls while CTL almost holds: form returns without fitness being lost. That is tapering, in numbers.
The constants 42 and 7 are the de facto standard and are used unchanged by TrainingPeaks, WKO5, Intervals.icu, Stryd and Garmin.
Working in percent is where Runnerd differs. TrainingPeaks and WKO5 give absolute thresholds, something like "fresh = +5 to +25". Those numbers are calibrated against their own load scales and cannot transfer to raw Banister TRIMP, which sits on a different scale.
Intervals.icu published a model-independent alternative: TSB as a percentage of current CTL. Runnerd follows it. The benefit shows with beginners. Under absolute thresholds, someone at CTL 15 would sit permanently in "peak form", because their TSB hardly ever crosses the line. Read as a percentage, peak form means "20 % above your own base" — and that makes sense at any level.
There is also a floor: below CTL 20, Runnerd computes against 20 as the reference, so a TSB of +2 on day one does not already count as peak form.
Numbers explain themselves best through a case. Say your resting heart rate is 52 and your maximum is 186 — your heart rate reserve spans 134 beats. You have trained consistently for months, you sit at CTL 62, and your form is balanced. A normal build week then looks like this:
The week adds up to 475 TRIMP. Four things can be read from it.
Form swings daily, fitness does not. TSB moves between +12 % and −15 % while CTL creeps from 62 to 63.2. Check your form every morning and puzzle over the jumps, and you are confusing two time scales.
A rest day looks good immediately. Monday and Thursday lift TSB into the fresh band although nothing about your fitness changed. That is exactly what tapering rests on — and exactly why a single rest day is not peak form.
Intensity weighs more than duration. The 400s cost 114 in one hour, the long run 148 in 95 minutes. Per minute the interval session is far more expensive: 1.9 against 1.6. Saturday's tempo run costs 76 in 40 minutes. Friday's easy 10 km costs 77 in 55.
Where this week ends is right. −15 % of CTL means productive load: constructive overload, and this is where fitness gets built. Had a race landed on the Sunday, TSB would have slipped below −30 %: overreaching. The following week would then need to be quiet.
CTL starts at 0 and grows into your actual fitness over roughly 42 days. During that time the curve reads low. That is not a bug but a property of a moving average, and every other tool behaves the same way.
The progress bar in the app scales to CTL 85. That number is a product decision, not a scientific standard: 85 sits at the upper end of the band usually quoted for committed half-marathon runners. TrainingPeaks has no target per ability level and Intervals.icu publishes none. Runnerd will check the value against real data after launch.
TRIMP is a model, not a measurement. It estimates load from duration and heart rate. Muscle damage, neuromuscular fatigue, psychological load and heat do not appear in it.
The constants are population averages. The model is calibrated for good relative values: your tempo run in relation to your easy run is right. The absolute value stays an estimate.
Wrong inputs, wrong output. If your maximum or resting heart rate is off, TRIMP is off. Runnerd estimates maximum heart rate from your runs and lets you override it in settings. Anyone who has done a graded test should.
Runnerd counts runs only. Cycling, swimming and strength work do not feed in. Do a lot of them and your real CTL is higher than the curve shows.
Download Runnerd and let it read your Apple Health data once. The maths runs backwards across your whole history, not from today. The curve then sits on the performance page, with CTL, ATL and TSB over time and your current form zone.
Runnerd is free. Pro unlocks the full analytical depth, a one-time 8.99 € for Mac and iPhone together. No subscription.
Get Runnerd on the App Store · How TSB feeds the readiness score · What else your Apple Health data holds
Runnerd is not a medical product and does not replace medical advice. Apple, Apple Health, Apple Watch, HealthKit and App Store are registered trademarks of Apple Inc. TrainingPeaks, WKO5, Intervals.icu, Stryd and Garmin are trademarks of their respective owners.