Understanding your numbers: intensity, zones and CTL/ATL/TSB

Written By Martijn Russchen

Last updated About 7 hours ago

How intensity is decided

The AI weighs your current CTL (fitness), ATL (fatigue), TSB (form), recent sleep and HRV, power/pace zones, upcoming events, and the weekly availability you set. It balances progressive overload with recovery. Targets are based on your actual power curve or pace data, not generic percentages.

Your target CTL

When you set a goal (a race or a training-goal template), the AI calculates the optimal CTL you need to reach by that date, considering your current fitness, time available, and a safe ramp rate (typically 3–7 CTL points per week). The goal progress chart shows your projected trajectory and whether you're on track.

CTL, ATL and TSB

  • CTL (Chronic Training Load) β€” your fitness, built over ~6 weeks.

  • ATL (Acute Training Load) β€” recent fatigue from the past ~1 week.

  • TSB (Training Stress Balance) β€” CTL minus ATL: positive = fresh, negative = fatigued.

Why Form differs from Intervals.icu

Intervals.icu shows the raw TSB value (CTL βˆ’ ATL). IntervalCoach shows Form as a percentage of your fitness: (TSB Γ· CTL) Γ— 100. For example, with CTL 58 and ATL 88, Intervals.icu shows TSB = βˆ’30 while IntervalCoach shows βˆ’52%. Both are correct β€” the percentage shows how fatigued you are relative to your fitness level.

Power and heart-rate zones

IntervalCoach pulls your FTP (cycling) or threshold pace (running) from Intervals.icu and applies standard Coggan-based zones: Z1 (Recovery) up to 55%, Z2 (Endurance) 56–75%, Z3 (Tempo) 76–87%, Sweet Spot 88–94%, Z4 (Threshold) 95–105%, Z5 (VO2max) 106–120%, Z6 (Anaerobic) above 121%. Custom zone boundaries set in Intervals.icu don't carry over β€” IntervalCoach uses its own zone definitions.