# ATL — Acute Training Load

Canonical HTML: https://effortsignal.com/learn/atl/

Last content update: 2026-09-10

ATL is the faster-moving average of daily cardiovascular TRIMP load.

## The exact seven-day recurrence

For local day d, L[d] is the sum of calculable activity TRIMP on that start date.

```text
ATL[d] = ATL[d−1] + (L[d] − ATL[d−1]) / 7
```

The coefficient is 1/7. Seven days is the smoothing time constant, not a seven-day arithmetic average or a hard cutoff: older values continue to contribute with decreasing weight. Its scale is TRIMP per day. The initial state is zero at the beginning of the available activity history.

## Verified example

With previous ATL 60 and today's load 100 TRIMP, ATL becomes 65.714286. A rest day from ATL 60 instead gives 51.428571. This distinguishes an exponential recurrence from simply summing the latest seven entries.

## Limits and related values

A day without recorded work contributes zero. An activity whose TRIMP is unavailable can leave the day's sum incomplete; unimported history cannot be recovered by smoothing. The first 41 days carry the shared low-confidence flag. Threshold changes and imported older history can change the inputs after recalculation. Read [the common time and missing-data rules](/learn/training-load/).

[CTL](/learn/ctl/) uses the same TRIMP series with coefficient 1/42. [TSB](/learn/tsb/) uses yesterday's CTL minus yesterday's ATL. The UI's Fatigue name describes this model value, not a measurement of your current fatigue.

## Sources and implementation scope

[Morton, Fitz-Clarke and Banister (1990), impulse-response performance modeling](https://pubmed.ncbi.nlm.nih.gov/2246166/) provides background, not a specification of every EffortSignal rule. The formulas, windows, quality gates and examples above describe EffortSignal 0.1.13, checked September 10, 2026. Product-specific thresholds and rounding should not be attributed to the background source.
