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:
| Window | Best for |
|---|---|
| 14 days | Tracking the effect of a specific recent change |
| 30 days | Default — balances responsiveness with stability |
| 60 days | High night-to-night variability; longer-term picture |
Mean ± 1 Standard Deviation
For each metric, Root calculates:
- Mean — the arithmetic average across your baseline window
- Standard deviation (SD) — the typical spread around that mean (using sample variance, dividing by n−1)
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
| Status | Condition | Meaning |
|---|---|---|
| Elevated | Value above Mean + 1 SD | Above your normal range |
| Balanced | Value within Mean ± 1 SD | Within your normal range |
| Recharging | Value below Mean − 1 SD | Below your normal range |
The direction of “good” depends on the metric:
- Higher is better (HRV, total sleep, restorative sleep, blood oxygen): Elevated is positive, Recharging is a caution signal.
- Lower is better (sleeping HR, respiratory rate): Recharging is positive, Elevated is a caution signal.
Metrics That Get a Baseline
Root builds a personal baseline for all eight tracked metrics:
- HRV, Sleeping HR
- Respiratory Rate, Blood Oxygen
- Total Sleep, Restorative Sleep (Deep + REM)
- Fall Asleep Time, Wake Up Time
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:
- A truly exceptional night gradually stops distorting your baseline.
- A genuine fitness improvement becomes reflected in a higher “normal” within a few weeks.
- Sustained lifestyle changes (consistent sleep schedule, regular training) shift your baseline in the direction of the change over time.
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.