← all tools

ewma training load monitor

acute:chronic load done with EWMA, with the rolling versions for comparison

load type

data

accepted column names: date / day / session_date · load / srpe / total_distance / hsr / value

parameters

λ_acute = 0.250
λ_chronic = 0.069
overlay

ewma acute & chronic load

EWMA acute EWMA chronic

ewma acute:chronic ratio

EWMA ratio caution band

daily values

paste or drop a CSV to begin, or load the 60-day sample.
method, defaults, references

EWMA acute and chronic load. Each day's load is fed into two exponentially-weighted moving averages with different decay constants — a fast one for acute load (default 7-day window) and a slow one for chronic load (default 28-day window). The seed value is the first day's load, so both series need ~28 days before the chronic line stabilises.

EWMA_today = λ · load_today + (1 − λ) · EWMA_yesterday
λ          = 2 / (N + 1)              // N = window in days
ratio      = EWMA_acute / EWMA_chronic

Why EWMA, not 7/28 rolling. A rolling 28-day mean includes the 7-day acute window inside it, which mathematically couples acute and chronic load — a spike in load lifts both numerator and denominator (Windt & Gabbett 2019). Exponentially-weighted averages avoid the hard cut-off and give recent days more weight, which is closer to how the body responds. The "uncoupled" rolling variant fixes the coupling but keeps the hard window:

uncoupled_ACWR = mean(load, days t−6…t) / mean(load, days t−27…t−7)

Why not Hopkins/Gabbett thresholds. The 0.8–1.3 "sweet spot" and the 1.5+ "danger zone" are not supported once outliers are removed and load is treated as continuous (Impellizzeri et al. 2020). The default 1.5–2.0 caution band here is a deliberately loose flag for very large week-to-week spikes, not a clinical threshold. Edit the band to match your context, or ignore it entirely and read the trend.

Edge cases. Missing days are filled with zero load and counted in a callout above the chart. The first 28 days are flagged "warming up" — values are computed but the ratio is not shown until the chronic EWMA has had time to stabilise. If the chronic value reaches zero (e.g., a long off-season block of zeros), the ratio is left blank rather than dividing by zero.

  • Windt J, Gabbett TJ. Is it all for naught? What does mathematical coupling do to the acute:chronic workload ratio? BJSM, 2019.
  • Impellizzeri FM, Tenan MS, Kempton T, Novak A, Coutts AJ. Acute:chronic workload ratio: conceptual issues and fundamental pitfalls. JOSPT, 2020.
  • Williams S, West S, Cross MJ, Stokes KA. Better way to determine the acute:chronic workload ratio? BJSM, 2017.
  • Hopkins WG. A scale of magnitudes for effect statistics. Sportscience, 2002. (cited in the threshold critique above)