[HEALTH]

Read Your Recovery Score in Base

[Published 2026-08-27 · 780 words]

[THE SHORT ANSWER]

The recovery score is three standardised measures against your own thirty-day history — heart-rate variability, resting heart rate and sleep — weighted and mapped onto a 0 to 100 scale centred on 50. Fifty is an average day for you. It needs about a month of data before the baseline means anything, and it shows nothing rather than guessing when an input is missing.

The formula

Base publishes it, in the app and here, in the same wording as the code comment beside the implementation:

zHRV   = (todayHRV   − mean30d) ÷ sd30d
zRHR   = (mean30d    − todayRHR) ÷ sd30d      // inverted: lower is better
zSleep = (todaySleep − mean30d) ÷ sd30d

z      = 0.5 × zHRV + 0.3 × zRHR + 0.2 × zSleep
score  = clamp(50 + 15 × z, 0, 100)

Each input is expressed as a z-score: how many standard deviations today sits from your own thirty-day mean. That is what makes the score personal rather than comparative — it has no opinion about whether your HRV is high in absolute terms, only whether it is high for you.

Resting heart rate is inverted, because lower is better there and higher is better for the other two.

The weights

InputWeightWhy
HRV0.5Most responsive to autonomic state day to day
Resting HR0.3Same direction, slower, less resolution
Sleep0.2An input to recovery rather than a measure of it

The weighting reflects how much signal each carries, not how important each is in life. Sleep matters enormously; last night's sleep duration is just a weaker instrument for reading today's autonomic state than HRV is.

The scale

50 + 15 × z puts one standard deviation at 15 points. So:

  • 50 — a normal day for you
  • 65 — one SD better than normal
  • 35 — one SD worse
  • 80 / 20 — two SDs, genuinely unusual

Clamping to 0–100 keeps an extreme reading on the scale.

Why your own baseline

The recovery screen, with four switchable tiles changing which series the columns draw. The formula is on the screen itself, because a number this consequential should be checkable.

A population-referenced recovery score tells you how your autonomic state compares to other people, which is close to useless. Absolute HRV varies enormously between individuals for reasons that have nothing to do with training — age, genetics, measurement method.

What predicts today is whether you are above or below your normal. That is what a z-score against your own history measures.

The cost is that the score is meaningless for the first few weeks. Base needs thirty days to have a baseline worth comparing against, and until then the number moves for reasons that are mostly about the baseline still forming.

Missing inputs

If an input is missing, no score is shown.

This is the same rule as everywhere else in the app and it matters most here. A score computed from two inputs with the third silently defaulted would look identical to a real score, and would be indistinguishable from a genuine low. Since the most common missing input is a night the watch was charging, the fabricated score would systematically appear on exactly the days you most want to trust it.

What it drives

Two things, both covered in handling a deload:

  • The readiness banner on the Workout tab, when the score is low enough to count as a fatigue signal
  • Your RIR target, backed off by about a rep when under-recovered

Note the second is a nudge, not a cancellation. Under real fatigue the same bar sits further from failure than it feels, and holding the usual target turns into a missed set and a 10% deload. Backing off a rep keeps the session productive.

What it cannot see

Illness in its early stages, psychological stress, alcohol the night before, a newborn, travel across time zones, and how your warm-up sets actually moved.

Some of those do show up indirectly — alcohol reliably depresses HRV — but the score sees three numbers. It is one input to a decision, and you have others it does not.

Common mistakes

Reading it in week one. The baseline is not formed.

Skipping training on any score below 50. Half your days are below 50 by construction.

Treating it as a health metric. It is a training-readiness signal, not a diagnosis.

Chasing HRV. It is a measurement, not a target, and most interventions that "raise HRV" work by improving recovery — which the score is trying to measure rather than be.

Assuming a missing score is a bug. It means an input was missing, which is the honest rendering.

Ignoring it every week because you always feel fine. Signals are useful precisely when they disagree with how you feel.

What to do next

Long-press the recovery tile on your dashboard and read the formula. Then check whether your thirty-day baseline has enough data behind it — if you have worn the watch for under a month, the number is still settling and is not yet worth acting on.

Questions

How is the recovery score calculated?

Three standardised scores against your own thirty-day history — heart-rate variability, resting heart rate and sleep — weighted 50/30/20, combined, and mapped onto a 0 to 100 scale centred on 50. A score of 50 means an average day for you; higher is better recovered than your normal.

Why is HRV weighted most heavily?

Because it is the most responsive of the three to autonomic state. Resting heart rate moves in the same direction more slowly and with less resolution, and sleep is an input to recovery rather than a measure of it. The weighting reflects how much signal each carries, not how important each is in general.

What does a score of 50 mean?

An average day, for you. The score is centred on your own thirty-day baseline rather than on a population, so 50 is your normal rather than a middling result. That is why it takes about a month of data before the number means anything.

Why is my recovery score missing?

Because one or more inputs is missing, most often a night the watch was not worn. Base shows no score rather than computing one from partial data, because a score with a fabricated input reads exactly like a real one and would be indistinguishable from a genuine low.

Should I skip training on a low recovery score?

Not automatically. Base backs your RIR target off by about a rep when under-recovered, which keeps the session productive rather than cancelling it. The score sees three numbers and does not know you slept badly because of a newborn or that your warm-up sets moved well. It is information, not an instruction.

[KEEP READING]