← All metrics

Aerobic efficiency

Efficiency Factor and aerobic decoupling — how much output your heart rate is buying you, and whether that holds up over an effort.

Illustrative Efficiency Factor trend at a fixed effort Illustrative example — not a real athlete
Illustrative Efficiency Factor trend at a fixed effort
Mo 1Mo 2Mo 3Mo 4

W/bpm

Efficiency Factor (EF)

How much output (power or pace) you get per heartbeat at a given effort. A rising EF at the same effort over months is a real sign your aerobic engine is getting more efficient.

Worked example Illustrative example — not a real athlete
  1. Normalized Power = 200 W, average HR = 145 bpm over the session.
  2. EF = 200 / 145 ≈ 1.38 W/bpm

No public individual EF progression has ever been released (it’s a personal training-log metric) — this stays illustrative-only, permanently; only the method itself is published.

Formula, provenance & citation
Formula
EF = NP / avg HR (power) or EF = mean speed (m/min) / avg HR (running)
Inputs
Per-second output stream (power W or speed m/s) and HR stream (bpm).
Provenance
computed
Unit
W/bpm (power) or (m/min)/bpm (speed)
Method
Friel/TrainingPeaks Efficiency Factor
Citation
Friel J. / TrainingPeaks — EF = Normalized Power (or Normalized Graded Pace) / average heart rate.
Licensing note
"Efficiency Factor"/"EF" is Joe Friel/TrainingPeaks terminology for this ratio; the formula itself is not proprietary software.
Implementation pointer
api/backend/backend/pipeline/metrics/efficiency.py:83 (efficiency_factor), efficiency.py:164 (compute_efficiency_factor). Tests: api/backend/tests/pipeline/test_metrics_efficiency.py.

Aerobic decoupling (Pw:Hr / Pa:Hr)

How much your output-per-heartbeat degrades from the first half of an effort to the second — cardiac drift. Low decoupling on an appropriately paced effort is a sign of solid aerobic fitness.

Worked example Illustrative example — not a real athlete
  1. First-half EF = 1.40
  2. Second-half EF = 1.30
  3. decoupling = (1.40 − 1.30) / 1.40 × 100 ≈ 7.1%

Above the commonly cited ~5% "poorly coupled" line — HR climbed faster than output held up as the effort wore on.

Formula, provenance & citation
Formula
decoupling_pct = (EF_first_half − EF_second_half) / EF_first_half × 100
Inputs
Output and HR streams split at split_fraction=0.5 (config).
Provenance
computed
Unit
%
Method
Friel/TrainingPeaks aerobic decoupling
Citation
Friel J. / TrainingPeaks — aerobic decoupling (Pw:Hr / Pa:Hr).
Licensing note
Same as Efficiency Factor — Friel/TrainingPeaks terminology for a public formula; the ~5% guidance is a commonly cited heuristic, not a MyThreshold-enforced threshold.
Implementation pointer
api/backend/backend/pipeline/metrics/efficiency.py:124 (decoupling), efficiency.py:205 (compute_decoupling). Tests: api/backend/tests/pipeline/test_metrics_efficiency.py.
← Back to mythreshold.ai