The arithmetic

Every number, and where it comes from.

Most health apps show you a score and leave you to trust it. These are the actual formulas — the weights, the constants, the curves — written out so you can decide for yourself whether the number deserves the weight you give it.

The rule underneath all of it

Nothing here scores a thing it did not measure. A component with no data is dropped and the remaining weights are renormalised over what is left, rather than a missing input being folded in as a zero. That distinction is the difference between "we could not read your stages last night" and "your sleep was restorative zero percent of the time", and only one of those is true.

Sleep

How much sleep you need

The base figure is 7 hours 45 minutes — the midpoint of the evidenced adult range, not the folklore eight. It is then adjusted for training load, for outstanding debt, and for whether your resting heart rate or breathing rate has drifted above your own 30-day baseline, and finally clamped to between 6.5 and 10 hours.

It also learns from you, but carefully. If you have logged at least 14 usable nights with enough spread in them, the app looks at the nights you rated your energy well and takes the lower quartile of those as evidence of what is actually enough. That offset arrives gradually — under half strength at fourteen nights, full strength at thirty — and is capped at ±1 hour 15 minutes. It will only lower your target when your good days genuinely follow your shorter nights; if your good days follow your longer ones, the short ones are treated as noise.

The sleep score's four parts

Weighted duration 50%, consistency 20%, efficiency 15%, restoration 15%, then renormalised over whichever of them your night actually measured.

Duration is penalised in both directions but not symmetrically. Short of your need, the shortfall is squared, so the cost accelerates — five hours against a need of eight is not "five-eighths of a good night". Over your need there is an hour of tolerance and then a much gentler slope, because oversleeping is a real cost and a smaller one.

Efficiency is the share of time in bed you were actually asleep, mapped so 70% scores nothing and 92% scores full. Restoration is deep plus REM against 40% of the night, which is full marks.

Then one override: duration caps the whole score at its own value plus 20. Without it, a five-hour night with a steady schedule and clean stages scores in the low seventies because three components out of four were excellent. No amount of efficiency makes five hours a good night.

Consistency, and why it is measured on a circle

Consistency scores the steadiness of your mid-sleep time, not your bedtime — going to bed an hour late and waking an hour late is a full hour of circadian shift, while going to bed late and waking on time is half of one. Half an hour of drift scores full; two and a half hours scores nothing.

The spread is computed with circular statistics rather than an ordinary standard deviation, because a clock time wraps. Averaging 23:30 and 00:30 arithmetically gives noon. Every time becomes a unit vector, the vectors are averaged, and the length of that average gives the spread. For an ordinary sleeper this lands on the same answer a standard deviation would; the difference only shows up for people whose sleep straddles a boundary — night-shift workers most of all, whose consistency previously scored zero no matter how regular they actually were.

Sleep debt

A rolling 14-night total of how far under your need you fell, weighted so last night counts fully and a shortfall from two weeks ago counts about 30%. Surplus nights pay it down. It never goes below zero, because being ahead is not a balance you can draw on.

Recovery and strain

What sleep contributes to recovery

Not a straight ratio. A straight ratio says three hours against a need of eight is 38% recovered, which is plainly wrong for a night that leaves you genuinely impaired — and it only reaches zero at zero sleep, so half the scale describes nights nobody has.

Instead: full credit at or above your need, and below it a curve that stays generous through the first fifteen percent and then falls away hard, reaching zero at 45% of your need. In practice 7h against 8h scores 0.91 and 6h scores 0.72 — ordinary nights barely move — while 4h scores 0.14 and 3h scores 0. There is no credit for oversleeping: more than you need is not more recovered.

Strain, and the target

Strain runs 0 to 21. The target band is set by this morning's recovery rather than by a plan written last month: above 67% recovered aims at 14–18, between 34 and 67 aims at 9–13.5, and below 34 aims at 4–8.

Energy

Calories from heart rate

When a real heart rate is available, energy is estimated with the Keytel equation — a published regression on heart rate, weight, age and sex, converted from kilojoules to kilocalories. It is applied per minute and only ever adds the surplus above resting, because the resting burn for those minutes is already counted.

With no heart rate, the fallback is a MET estimate for the activity — walking, for instance, is about 3.5 METs, of which roughly 2.5 is surplus over resting. A MET estimate is a worse number than a measured one and the app treats it as such rather than presenting both with the same confidence.

Fitness

VO2 max, from two directions

Where there are runs to use, the app applies the ACSM metabolic equation — oxygen cost is 0.2 × speed + 3.5, with speed in metres per minute — and then scales that submaximal cost up to a maximum by your heart-rate reserve: running at 75% of reserve means the observed cost represents roughly 75% of capacity. Grade is taken as zero, because there is no reliable per-run incline, and assuming flat understates rather than flatters.

Across several runs it takes the median, not the best. Effort is already divided out by the reserve fraction, so if the model is right an easy run and a hard one should extrapolate to the same capacity. What actually varies between runs is model error — a hill, a headwind, a heart rate still catching up — and taking the maximum would select for the most flattering error every time, so the number would drift upward forever.

With no usable runs it falls back to the Uth–Sørensen ratio, 15.3 × (max HR ÷ resting HR), computed from your own two anchors rather than a table lookup on your age. Either way the result is refused outright unless it lands between 15 and 90: outside that the inputs are wrong, not the person remarkable.

Heart-rate recovery

How far your heart rate falls in the one minute after a hard effort — one of the better-evidenced everyday markers of cardiovascular fitness. It is computed from the raw samples rather than read as a finished number, which is what lets the app say when it happened and what the peak was.

It only counts a drop that follows a genuine effort, and only when there is a reading close enough to the one-minute mark — within 30 seconds — for the figure to mean what it says. A drop of 25 or more beats is strong, 18 healthy, 12 sluggish, and below that worth watching.

The Life Score

How the one number is blended

Weighted sleep 30%, recovery 25%, nutrition 20%, training 15%, consistency 10%. Sleep leads because everything else is downstream of it. Consistency is deliberately the smallest: it is a multiplier on the others in real life, but as a scored term on its own it would let a perfect streak of doing nothing score well.

A domain with no data in it is dropped rather than counted as zero, and the weights renormalise over what remains. Below two domains there is no Life Score at all — one domain is that domain's score wearing a different hat, and presenting it as a summary of your life would be the app overclaiming on the one screen meant to summarise.

What none of this is

Arithmetic over consumer sensor data and your own entries. It is not a clinical assessment, it can be wrong, and a figure computed from a night your watch half-recorded is reported as exactly that rather than dressed up as a measurement. See the Algorithms FAQ for what the app does when the data simply is not there.