Trainingload.ai
MetricsPMC (Performance Manager Chart)

Chronic Training Load (CTL): How Fitness Is Modeled

Chronic Training Load (CTL) is the slower PMC fitness trend from daily load. Learn the 42-day formula, how to read rising or falling CTL, and its limits.

Chronic Training Load (CTL) is the slower fitness line on a PMC. It is an exponential average of daily load—usually TSS—with a default 42-day time constant. Trainingload.ai also shows today’s CTL as a percentage of your historical maximum. CTL summarizes modeled load history; it does not directly measure fitness, adaptation, health, or race performance.

CTL

Example values are for UI preview only.

Where the Fitness (CTL) value comes from

Trainingload.ai first resolves each activity's load according to the available metrics and your configured load-source priority. Depending on the activity and settings, the source may be power, heart rate, pace, or Session RPE.

This means:

  • Missing or changed activity data can change Fitness (CTL).
  • Editing thresholds or load-source priority can change derived activity load and later PMC values.
  • Trainingload.ai selects one available load for each activity according to the configured source priority; mixing sources with inconsistent scales reduces comparability between periods.
  • On a day without recorded activity load, the daily input is zero and the previous CTL gradually decays.

Formula

Trainingload.ai uses exponential time-constant decay with a default CTL time constant of 42 days:

decay_CTL = exp(-1 / 42)
CTL_today = CTL_yesterday × decay_CTL + daily_load × (1 − decay_CTL)

Here exp is the natural exponential function. With the default time constant, decay_CTL ≈ 0.976472, so today's load receives a weight of about 0.023528.

How to understand the Fitness (CTL) trend

  • CTL rising: recent daily load is generally above the current CTL level.
  • CTL stable: recent load is roughly maintaining the modeled level.
  • CTL falling: recent load is generally below it, including during reduced training or tapering.

Useful questions

CTL can help answer:

  • Is the current Fitness (CTL) rising, holding, or falling?
  • Did missed sessions or a recovery period change the longer-term trend?
  • Is the current plan producing the intended load direction?
  • Did a threshold or source change reduce comparability?

CTL cannot answer by itself:

  • Has the user adapted successfully?
  • Is tomorrow's hard workout safe?
  • Is the user recovered, healthy, or race-ready?
  • Is one user fitter than another?

Before making a decision, also consider performance trends, workout execution quality, subjective state, Fatigue (ATL), and Form (TSB).

References

FAQ

What is Chronic Training Load?

Chronic Training Load (CTL) is the slower PMC fitness trend: an exponential average of daily load with a default 42-day time constant. It rises when recent days sit above the current CTL and falls when they sit below it.

How is CTL calculated?

CTL_today = CTL_yesterday × e^(−1/42) + daily_load × (1 − e^(−1/42)). With the default constant, today weighs about 2.35% and yesterday’s CTL about 97.65%. Rest days still decay the line.

Does a higher CTL mean I am fitter?

Not by itself. A rising CTL means modeled load has been high enough to lift the long average. It does not prove adaptation, health, or race readiness. Read it with performance, how sessions felt, ATL, and TSB.

Why did my CTL jump after I changed FTP?

CTL is built from daily load. Changing FTP, zones, or load-source priority rewrites past TSS/TRIMP inputs, so the fitness line can move without any new training.