Helix

How recovery scores actually work

Every recovery app reads roughly the same five signals and produces a different number. What is really going on inside: baselining, z-scores, weighting, and why the score you should trust is the one that shows its work.

Updated July 31, 202614 min readBy the Helix team

Disclosure: we make Helix, one of the products discussed here. Competitor prices and features are taken from their own published pages, linked below each table, and checked on the date shown. Where a competitor is the better choice, this page says so.

The same four stages, every time

Whether it comes from a $349 ring, a $239-a-year strap or a free app, every recovery score in this category is built the same way. Knowing the stages makes it obvious where products differ and which differences matter.

  1. 1

    Measure the night

    Overnight heart rate variability, resting heart rate, respiratory rate, and usually skin or wrist temperature and sleep duration and staging. Some add blood oxygen. These are the inputs, and every product uses substantially the same set because these are the signals that consumer sensors can read while you are still.

    Sampling differs a lot. A WHOOP measures continuously through the night. An Apple Watch takes irregular samples. A ring sits on a cleaner sensor site than either. This affects how noisy the input is, not what the input is.

  2. 2

    Compare each signal to you

    This is the stage that makes a score meaningful, and it is where products genuinely differ. Population HRV ranges are so wide as to be useless for individuals, so every serious implementation builds a personal baseline from your own recent history and asks how far today sits from it.

    The usual tool is a z-score: how many standard deviations below or above your own normal is tonight’s value. The design decisions here are the whole ballgame. How long is the window, 14 days or 60? Mean or median? How are outliers handled, so that one feverish night does not poison the baseline for a month? Is the baseline seasonal, or does it drift with fitness?

  3. 3

    Weight the deviations

    Now you have five or six numbers saying “HRV is 1.4 standard deviations low, resting heart rate is 0.8 high, sleep was fine”. Something has to decide what each is worth. Most products use fixed weights chosen by their physiologists, with HRV usually dominant.

    Fixed weights are a reasonable default and also a known weakness, because the relative importance of these signals genuinely varies between people. Some people’s recovery is written mostly in resting heart rate. Others barely move theirs and show everything in HRV.

  4. 4

    Squash it onto 0 to 100

    The weighted total gets mapped onto a friendly scale, usually with colour bands. This step is pure presentation and it is where a lot of the perceived difference between products comes from: two apps can rank your last 30 days identically and still show numbers 15 points apart, because they curve the output differently.

Why your two apps disagree

People install a second recovery app, see 61 in one and 74 in the other on the same morning, and conclude one of them is broken. Usually neither is. Here is where the gap comes from, roughly in order of how much damage each does.

Different HRV statistics. Apple reports SDNN, the standard deviation of the intervals between beats. WHOOP, Oura and most others report RMSSD, the root mean square of successive differences. These are different summaries of the same heartbeats and they do not produce the same value. Any comparison across products that ignores this is comparing centimetres to inches.

Different sampling windows. An app that takes the median HRV across your whole sleep window gets a different answer from one that samples the deepest slow-wave period, and both differ from one that reads the last hour before waking.

Different baseline lengths. A 14-day baseline reacts quickly and is easily dragged by a bad week. A 60-day baseline is stable and slow to acknowledge that you got fitter. Neither is correct, they are different trade-offs, and they will disagree during any period of change, which is exactly when you are paying attention.

Different weights. One product may treat a poor night of sleep as decisive; another may let good HRV override it.

Different handling of missing data. You took the watch off at 2am. One app throws the night out, one imputes, one silently scores the partial night as if it were complete. This is the difference that most often produces an inexplicable outlier.

What separates a well-built score from a badly-built one

Four properties, none of which are visible in an App Store screenshot.

It admits uncertainty. On day three the model does not know your baseline, and the honest response is to say so. A product that prints a confident 68 on your second morning is showing you a prior derived from other people, dressed as a measurement of you.

It does not invent data. If you did not wear the device, there is no HRV, and the right output is a gap rather than a number. The same applies to strain: a day with no heart-rate presence is unmeasured, not zero. Products that fill holes with plausible values teach you to trust things that never happened.

It shows its drivers. A 54 is not actionable. A 54 because resting heart rate is well above your normal and respiratory rate is up, which is the shape of an incoming illness rather than training fatigue, is actionable. The number is a summary; the drivers are the information.

It does not drift while you look at it. A morning score computed from last night should be a fixed fact about last night. Scores that keep recomputing during the day are unfalsifiable and impossible to plan against.

How Helix does it, specifically

Since this post is on our own site, it would be dishonest to describe the general shape and skip our own choices. Here they are.

Inputs. Overnight HRV taken as the median across the sleep window, resting heart rate, respiratory rate, wrist temperature, blood oxygen where the hardware provides it, and last night’s sleep. All read from Apple Health, all measured by hardware you already own.

Baselines are yours, and they are long. Each signal is z-scored against your own rolling baseline, typically 60 days. Not a population chart, not an age bracket. On first launch Helix scores about 90 days of the history already sitting in Apple Health, so the baseline exists on day one rather than after a month of waiting.

The weights learn from you. This is the part that is genuinely different. Rate how your days actually went, and the model re-learns which signals predict your outcomes. If your recovery is written mostly in resting heart rate rather than HRV, the weighting moves towards that over time. Everyone else in this category ships one set of weights for all users.

Confidence is surfaced, not hidden. While a baseline is still building, the app says so rather than presenting an early reading as settled.

The verdict freezes. Once the night is complete, the morning score is fixed. It is a statement about last night and it stops moving.

The day starts when you wake. Helix rolls the day at wake from your main sleep rather than at midnight, so an 11pm session counts against the day it belonged to instead of being cut in half by a clock.

Nothing leaves the phone. There is no backend and no account. All of this is computed and stored on the device, and the only thing that ever goes out is a set of anonymised numbers to the model provider when you use the AI coach.

FeatureWHOOPOura Ring 4BevelHelix
HRV statistic usedRMSSDRMSSDApple SDNNApple SDNN
Overnight samplingContinuousSampled, fingerSampled, wristSampled, wrist
Baselines against your own historyYesYesYesYes
Weights personalised per userNoNoNoYes
Confidence shown while calibratingNoNoNoYes
Drivers shown behind the scoreYesYesYesYes
Scores your existing history on installn/an/aYesAbout 90 days
Formula publishedNoNoNoNo
Compiled from each vendor's published documentation, July 2026. No product in this category publishes its exact formula, including ours; the rows describe approach rather than coefficients.

What a recovery score cannot tell you

Three limits worth holding on to, whichever product you use.

It cannot tell you why. Alcohol, a late meal, a warm room, an argument, a virus and a hard interval session all suppress HRV and elevate resting heart rate. The score sees the same shape from all of them. It knows something is loaded, not what loaded it.

It cannot tell you which muscles are tired. Recovery scores measure autonomic state, which is a whole-body property. Your nervous system does not know you did legs on Tuesday. That requires a different model built on what you actually lifted, which is covered in why your wearable has no idea which muscles are tired.

It cannot overrule how you feel. A green score on a day you feel terrible is information about your autonomic state, not permission. The score is one input to a decision you are still making.

If you want to move the underlying number rather than just read it, how to improve HRV ranks the levers by how reliably they work. For where the raw number lives on Apple hardware, see how to check HRV on your Apple Watch.

Frequently asked questions

How is a recovery score calculated?

Every implementation follows the same four stages. It reads overnight signals (usually HRV, resting heart rate, respiratory rate, temperature and sleep), compares each one to your own recent history rather than to a population norm, weights the resulting deviations, and squashes the total onto a 0 to 100 scale. The differences between products are almost entirely in stages two and three: how long a baseline is, how it handles outliers, and what each signal is worth.

Why do WHOOP and Apple Watch give different HRV numbers?

They measure different things and call both HRV. Apple reports SDNN, the standard deviation of beat intervals over a sampling window, while WHOOP, Oura and most others report RMSSD, the root mean square of successive differences. From identical heartbeats the two produce different values, and neither is wrong. This is why comparing your number to a friend's is meaningless unless you both use the same metric.

Why do two recovery apps on the same watch disagree?

Because they are the same measurements run through different opinions. Two apps reading identical Apple Health data can differ on baseline length, whether they use a median or a mean, how they z-score, what weight sleep gets against HRV, and how they treat a night with missing data. A 12-point gap between two apps on the same morning is common and does not mean either is broken.

How long does a recovery score take to become accurate?

It is only as good as the baseline underneath it, and useful baselines take weeks. Two to three weeks gives a rough personal range, and something like 60 days gives a stable one. Any app that shows a confident number on day two is showing you an opinion about the population, not a measurement of you.

Is a recovery score worth trusting?

Trust the direction, not the digit. The difference between 62 and 68 is noise. The difference between a week that trends down and a week that trends up is real information. Scores are most reliable when they confirm something your body is already telling you and least reliable when read as a single-day verdict.

Free to use while you decide

Keep reading

All posts →