MyThreshold readiness composite
A 0–100 recovery estimate blended from sleep, HRV status, resting-HR trend, form (TSB), and yesterday’s training strain — labeled MyThreshold’s own estimate, shown alongside (never instead of) your device’s own readiness score.
- sleep=80 (weight .30), hrv_status=balanced→100 (weight .25), rhr_trend=90 (weight .15), tsb=70 (weight .20), prior_day_strain=60 (weight .10).
- score = 80×.30 + 100×.25 + 90×.15 + 70×.20 + 60×.10 = 82.5
82.5 lands in the GREEN band — no public individual readiness-composite dataset exists to verify against (it’s a MyThreshold-original blend), so this stays illustrative for the number; the individual signals it blends each trace to published research.
Formula, provenance & citation
- Formula
- score = Σ(present_subscore × weight) / Σ(present_weights); weights: sleep .30, hrv_status .25, tsb .20, rhr_trend .15, prior_day_strain .10
- Inputs
- sleep_score, hrv_status, rhr_today, rhr_baseline, tsb, prior_day_strain (renormalized over whichever are present, min 3 of 5).
- Provenance
- estimated
- Unit
- score (0–100)
- Method
- MyThreshold-original v1 weighted composite
- Citation
- MyThreshold readiness composite (v1) — documented blend of sleep, HRV status, resting-HR trend, TSB (Coggan Form), and prior-day training load.
- Licensing note
- A MyThreshold-original blend, not a vendor score — explicitly designed to be surfaced alongside, never instead of, Garmin’s proprietary Firstbeat Training Readiness.
- Implementation pointer
api/backend/backend/pipeline/metrics/recovery.py:165 (readiness_composite). Tests: api/backend/tests/pipeline/test_metrics_recovery.py.