Stress Monitor
How far your heart rate sits above your calm level, from 0 to 3.
- Low0-0.9
- Medium1-1.9
- High2-3
Past your target
You are past today’s target. Prioritise sleep tonight to recover.
A steady day
Your HRV is below your baseline, which held Recovery back today.
Last night’s sleep
Your sleep was sufficient. You slept 92 minutes less than you needed; an earlier night helps.
What goes in
- Minute heart rate
- The average heart rate of each minute.
- Steps
- Only still minutes count: no steps in that minute or the 2 either side.
- Workouts and sleep
- Minutes inside them are left out.
- Your calm baseline
- Your resting daytime heart rate, from earlier days.
Each day’s calm heart rate is the 10th percentile of its hourly averages between 06:00 and 22:00, using hours with at least 15 still minutes. It feeds the next day’s baseline.
How it is weighted
Each still minute’s distance above your baseline is measured in your usual spread, never less than 3.76 bpm, and mapped onto 0 to 3 on an S-shaped curve. At your baseline it reads 0.3, 1.5 spreads above reads 1.5, and 3 spreads above reads 2.7. Today Pulse shows the latest scored minute; past days show the day’s average.
What the bands mean
- 0-0.9
- Low: calm.
- 1.0-1.9
- Medium: heart rate above your calm level.
- 2.0-3.0
- High: well above your calm level while you are still.
Limits
Stress is Provisional until 4 days have set your baseline; until then it uses a fixed spread of 7.65 bpm, so 15 bpm above your calm level reads 2.0. It reads heart rate alone, so caffeine, heat, illness or recovering from exercise raise it too. It is not a measure of how you feel.
Sources
The full specification, with formulas, constants and worked examples, is stress.md on GitHub. The code is tested against those examples.