How Your Baseline Works

Root's personal baseline explained — the 30-day rolling window, mean ± 1 SD, Balanced/Elevated/Recharging tiers, anomaly detection, and why comparing to yourself beats a global average.

Root doesn’t give you a sleep score. It gives you a personal baseline — a picture of what’s normal for your body, updated every night. Here’s exactly how it works.

Why a Personal Baseline

Population norms are nearly useless for daily decision-making. An HRV of 45 ms is great for a 55-year-old sedentary adult and alarming for a 28-year-old endurance athlete. Root solves this by building a baseline that is entirely personal: it reflects your normal, not anyone else’s.

The 30-Day Rolling Window

By default Root uses the past 30 nights to define your baseline. This window is long enough to smooth out individual bad nights but short enough to respond to genuine shifts — a new fitness routine, a stressful work period, or a change in sleep environment.

You can change the window in Settings:

WindowBest for
14 daysTracking the effect of a specific recent change
30 daysDefault — balances responsiveness with stability
60 daysHigh night-to-night variability; longer-term picture

Mean ± 1 Standard Deviation

For each metric, Root calculates:

Your normal range is defined as:

[Mean − 1 SD, Mean + 1 SD]

This range captures roughly 68% of your recent nights. It’s not a goal — it’s a description of your normal.

Example: If your 30-day HRV mean is 55 ms with a standard deviation of 8 ms, your normal range is 47–63 ms. A night at 70 ms lands in Elevated; a night at 40 ms lands in Recharging.

Status Tiers

StatusConditionMeaning
ElevatedValue above Mean + 1 SDAbove your normal range
BalancedValue within Mean ± 1 SDWithin your normal range
RechargingValue below Mean − 1 SDBelow your normal range

The direction of “good” depends on the metric:

Metrics That Get a Baseline

Root builds a personal baseline for all eight tracked metrics:

Anomaly Detection: The 2 SD Threshold

The Balanced/Elevated/Recharging classification catches gradual shifts. Anomaly detection catches sharp outliers.

When any metric’s z-score exceeds ±2.0, Root surfaces an anomaly banner on the Night screen. Multiple anomalies in the same night are sorted by severity — the largest deviation appears first.

z = (tonight’s value − mean) ÷ standard deviation

A z-score of −2.3 on HRV means last night was meaningfully worse than 97%+ of your own nights — the kind of signal that warrants attention rather than dismissing as noise.

Tapping the banner opens an explanation and lets you log a context tag, so you can track the cause in the Patterns tab over time.

When the Baseline Updates

The baseline recalculates on every app load. As new nights accumulate, older nights at the 30-day boundary roll off. This means:

There are no fixed targets to chase. Root is not asking you to hit a number — it’s showing you where you are relative to where you’ve been.

← Back to Root