Skip to content
RepTrack Pro logoRepTrack Pro
Health & RecoveryChapter 1 of 8

How Your Recovery Score Actually Works

8 min read · July 2026 · by Manikanta Sirumalla

How Your Recovery Score Actually Works

How Your Recovery Score Actually Works

Most recovery scores are a black box: they read your wearable, spit out a number, and hope you trust it. This is the opposite: the complete, honest breakdown of what RepTrack measures, why your personal "normal" shows up as 70 instead of 100, and the places where we would rather show you a gap than invent a number.

First, the important boundary: your Recovery score is a training-readiness signal, not a medical device. It estimates how prepared your body is to absorb hard training today. It does not diagnose anything, and if a number ever worries you medically, that's a conversation for a clinician, not an app.

Why a single "recovery number" usually lies to you

The old way to build a recovery score is to compare you against a textbook adult. Your heart rate variability is 45 milliseconds? The chart says that's "low," so your score drops. Your resting heart rate is 58? "Good," score goes up.

The problem is that these signals are wildly individual. Heart rate variability (HRV, the beat-to-beat variation in your heartbeat, and a decent proxy for how rested your nervous system is) can differ by two- or three-fold between two equally fit people. Score everyone against a population average and you punish the athlete whose HRV is naturally low and reward the person whose HRV is naturally high, regardless of how either one actually slept, trained, or feels.

An absolute number answers "how do you compare to a stranger in a study." The question that actually predicts whether you should squat heavy today is "how do you compare to you, your last week, your last month?"

Baseline-relative: why 70 is your normal

RepTrack scores every physiological signal as a deviation from your own rolling 30-day baseline. Not a textbook. You.

To build that baseline we use robust statistics: a median (the middle value, which shrugs off one freak night the way a plain average can't) and MAD, median absolute deviation, a measure of your normal day-to-day spread that, unlike standard deviation, doesn't get yanked around by a single outlier. Together they describe what "a normal day for you" looks like and how much you usually wiggle around it.

Land right on your baseline and the score maps to 70. Come in meaningfully above it (better HRV, lower resting heart rate) and you climb toward green. Come in below and you slide toward red. Seventy is not a B-minus. It's "you, at your own normal," which for most days is exactly where a healthy trained person lives.

This isn't a RepTrack invention. Whoop, Oura, and Garmin all score recovery, readiness, and HRV status against a personal baseline rather than population norms, for the same reason (Whoop developer docs; Oura Readiness docs; Garmin HRV Status manual). It's the current consensus for good reason.

One technical detail that matters: HRV is log-normal, meaning its values cluster low with a long tail of occasional high readings. Average those raw and the tail drags your number around. So we ln-transform (take the natural log of) HRV before doing any statistics, and we care about the trend far more than any single morning's reading (Plews et al. 2013; Shaffer & Ginsberg 2017).

The signals, and what each one is worth

Your score is a weighted blend of up to five signals:

  • HRV: 40%. The single strongest recovery signal. Ln-transformed, and measured during sleep whenever your device can, because sleeping HRV is far less contaminated by stress, caffeine, and standing up than a daytime spot-check.
  • Sleep: 30%. How much restorative rest you actually got.
  • Resting heart rate: 20%. A rising resting heart rate is a classic early flag of accumulated fatigue or illness.
  • Respiratory rate: 5%. Small but useful; it drifts up under strain.
  • Wrist temperature: 5%. A supporting signal, sensitive to illness and (where relevant) cycle phase.

Those weights are renormalized over whatever your devices actually provide. If a signal is missing, its weight is redistributed across the ones you have: it is never silently counted as a zero, which would fake a low score out of thin air.

Why sleep breaks the baseline rule: deliberately

Here's the part most recovery apps get wrong. Every signal above is scored relative to your baseline, except sleep, which we score absolutely, against fixed targets: roughly 8 hours of duration, good efficiency, and a healthy restorative fraction of deep + REM.

Why the exception? Because sleep debt must not be allowed to normalize. If we scored your sleep against your own 30-day baseline, a chronic five-hour sleeper would eventually read "fine for you": the baseline would quietly bless the deprivation. That is precisely the wrong signal to send. Five hours is not fine for anyone; adults generally need about 7–9 hours, and deep + REM sleep do the bulk of physical and mental repair (Hirshkowitz et al. 2015; National Sleep Foundation). So sleep is measured against what a human body actually needs, not against what you've unfortunately gotten used to.

Everything else stays relative because those signals have no universal "correct" value: your right HRV genuinely isn't your training partner's.

The calibration period: what "calibrating" means

A baseline built from two days of data isn't a baseline; it's noise. RepTrack needs at least 7 days of your data before it trusts your personal baseline. Until then, your score shows a visible "calibrating" state and leans on population reference values as a placeholder, clearly labeled, never disguised as the real thing. Once you're calibrated, 70 finally means your normal instead of a stranger's.

What the confidence value is telling you

Every score carries a displayed confidence: how much signal actually backs it. It's built from three things: coverage (how many of the five signals you have), baseline maturity (how far past calibration you are), and HRV source (sleep-measured HRV counts for more than a daytime reading).

Confidence changes what a number means. A high-confidence 55 is a real "ease off today." A low-confidence 55 is "we don't have enough signal to say. Treat it as a hint, not a verdict." The score tells you what; the confidence tells you how much to lean on it.

The green / yellow / red bands

  • Green (67 and above): at or above your normal. Good to push.
  • Yellow (34 to 66): below your normal. Train, but tune the intensity.
  • Red (33 and below): well below baseline. Prioritize recovery.

These cutoffs are deliberately Whoop-compatible (Whoop's own bands are 67–99 / 34–66 / 1–33) so that if you or your training partner read colors across both apps, they mean the same thing.

Three data tiers, and no faking the difference

What you can measure decides what you get, and we don't pretend otherwise:

  • Apple Watch: full. All five signals, including HRV measured as SDNN in periodic samples during sleep. Time-domain HRV like SDNN is the part that validates most robustly against ECG (Dial et al. 2025).
  • Third-party wearable (Whoop / Oura / Garmin): honest subset. You get whatever that device syncs into Apple Health, scored at appropriately reduced confidence. This is where honesty matters: Garmin exports no HRV to Apple Health at all, and Oura exports sleep, heart rate, and respiratory rate but not HRV or temperature. Those users get a genuine resting-heart-rate-plus-sleep score, not a fabricated HRV number dressed up to look complete.
  • iPhone-only: no physiological score. With no wearable sensors, we will not invent HRV or resting heart rate. Instead you get a clearly labeled Training Readiness estimate built from what a phone can honestly know. It's a different thing, and we call it a different thing.

The honesty contract

This is the line RepTrack won't cross:

  • No fabricated default number. We never fall back to a comfortable-looking 70 to fill a hole.
  • A day with no signal shows a gap, not a fake score. Missing data looks like missing data.
  • Implausible sensor values are dropped. A physically impossible reading gets discarded, not averaged into your baseline where it would poison next week's scores.

The whole point of scoring against your own baseline is honesty about you. Papering over missing data with invented numbers would quietly undo that.

How to actually use your score

  • Act on the multi-day trend, not one number. A single reading is noisy; three days sliding downward is a message. HRV research is emphatic on this: trends beat spot readings.
  • One red day is not a crisis. A single low score after a hard session or a bad night is normal and expected. Don't torch a whole training block over it.
  • Protect sleep first. It's 30% of your score and it lifts HRV and lowers resting heart rate, so guarding it quietly improves nearly everything else.
  • Let confidence set your conviction. High-confidence red, genuinely back off. Low-confidence anything, take it as a nudge and keep training by feel.
  • Treat load as a heuristic, not a law. The popular acute-to-chronic training-load "sweet spot" is a useful rule of thumb, but it's scientifically contested (Gabbett 2016 and its critiques), a compass, not a verdict.

Want to go deeper on the pieces? The companion articles on sleep, HRV, and Training Readiness each unpack one layer of what you just read, and they all link back here.

The bottom line

Your Recovery score isn't a grade against the human race: it's a comparison against you. Seventy means "normal for you," the weighted blend leans hardest on sleeping HRV and sleep, sleep is judged against what a body truly needs so debt can't hide, and confidence tells you how hard to lean on any given day. Where the data isn't there, we show a gap instead of a guess. Read the trend, protect your sleep, and don't let one red day rewrite your week.

Sources

  • Plews DJ, Laursen PB, Stanley J, Kilding AE, Buchheit M. "Training adaptation and heart rate variability in elite endurance athletes." Sports Medicine, 2013.
  • Shaffer F, Ginsberg JP. "An Overview of Heart Rate Variability Metrics and Norms." Frontiers in Public Health, 2017.
  • Dial et al. "Validation of Apple Watch heart rate variability (SDNN) against ECG." 2025.
  • Hirshkowitz M, et al. "National Sleep Foundation's sleep time duration recommendations." Sleep Health, 2015.
  • National Sleep Foundation: sleep duration and sleep-stage (deep/REM) guidance.
  • Whoop Developer Documentation: Recovery scoring and green/yellow/red bands (67–99 / 34–66 / 1–33) relative to personal baseline.
  • Oura Readiness Score documentation: baseline-relative readiness scoring.
  • Garmin HRV Status manual: 7-day personal-baseline HRV status.
  • Gabbett TJ. "The training–injury prevention paradox" (acute:chronic workload ratio). British Journal of Sports Medicine, 2016, and subsequent critiques of the ACWR method.