# Training Monotony and Training Strain

Canonical HTML: https://effortsignal.com/learn/monotony-strain/

Last content update: 2026-09-10

These Dashboard summaries describe the distribution and amount of TRIMP over seven consecutive daily rows.

## EffortSignal's bounded definition

For seven daily TRIMP values, calculate mean m and population standard deviation s:

```text
Monotony = m / (s + m), when m > 0; otherwise 0
Training Strain = sum(TRIMP) × Monotony / 0.5
```

The seven rows end on the selected date, including that date's currently recorded load. They must be consecutive; a missing daily row makes these summaries unavailable. The current day may still accumulate activities. Monotony is dimensionless and bounded; strain is a scaled load summary.

## Verified example

Seven equal days of 50 TRIMP have m = 50, s = 0, Monotony = 1 and Training Strain = 700. Seven zero days give both values zero. For 0, 0, 0, 0, 0, 0 and 70 TRIMP, mean is 10, SD is 24.494897, Monotony is 0.289898 and strain is 40.585713.

## Different from the original research metric

The original monotony literature uses a different definition, commonly mean daily load divided by its standard deviation. EffortSignal deliberately uses mean/(SD+mean) and scales strain by 1/0.5, so values must not be compared as if the formulas were identical. Imported activities without TRIMP retain an incomplete-history notice even when seven daily rows exist.

These values do not diagnose overtraining or predict injury. See [Training Load](/features/training-load/) and the shared [history rules](/learn/training-load/) before interpreting them.

## Sources and implementation scope

[Foster (1998), monitoring training and monotony](https://pubmed.ncbi.nlm.nih.gov/9662690/) 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.
