TRIMP — Training Impulse
TRIMP estimates cardiovascular training load from duration and relative heart rate.
Inputs and formula
EffortSignal uses a Banister-style average-heart-rate calculation, rather than summing zone points or instantaneous exponential values. Let H be mean valid timer-running heart rate, Hr the configured resting HR, Hm the configured maximum HR, and D the number of valid HR seconds divided by 60.
r = clamp((H − Hr) / (Hm − Hr), 0, 1)
TRIMP = D × r × a × exp(b × r)
Profile 1: a = 0.64, b = 1.92
Profile 2: a = 0.86, b = 1.67
TRIMP is a load score, not minutes or calories. The effective athlete profile selects the coefficients and HR settings. Lactate-threshold HR can inform other displays, but it is not the denominator of this formula.
Time and data quality
Samples are projected onto one-second timer-running time using second midpoints. HR interpolation bridges gaps only up to five seconds. At least 90% HR coverage is required against the reported positive timer/moving duration, or the projected timer duration when that summary is unavailable. After passing the gate, D counts valid HR seconds only. Paused seconds do not enter D.
Missing resting or maximum HR, maximum HR no greater than resting HR, or insufficient coverage leaves TRIMP unavailable. A numerical zero is possible when the clamped reserve ratio is zero; that is different from a missing result.
Verified example
For 60 valid minutes at 150 bpm, resting HR 50 and maximum HR 190, r = 100/140 = 0.714286. Profile 1 produces 108.10 TRIMP; Profile 2 produces 121.50 TRIMP. This deliberately uses a constant recording so every time and coverage input is explicit.
Where it goes
Completed activity TRIMP is summed by local start day to feed ATL, CTL and TSB. Changing the applicable HR profile and recalculating can alter those values. Planned HR workouts use a separate zone-minute proxy, not this measured formula.
Sources and implementation scope
Morton, Fitz-Clarke and Banister (1990), impulse-response performance modeling 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.
Content checked September 10, 2026 · EffortSignal release 0.1.13