Exoplan energy algorithm

The Apple Health and Exoplan icons above a day of readings drawn as points, with the high-energy hours glowing green.

Goal

My original desire was to plan my days as efficiently as possible to achieve maximum productivity.

Research foundation

High-level overview

1. Collect

For each day: heart rate, active energy, and when you fell asleep and woke up. Time counts from wake-up, so early and late mornings line up.

One synthetic Monday from 6:00 to midnight. Heart-rate readings sit mostly between 55 and 75 bpm and jump during walks and a lunchtime run. Active energy bars below spike at the same times.
One Monday, as the app sends it.

2. Clean

Days with an unusual wake-up time are dropped. So are the first hour after waking, the last hour before bed and any time you were moving. Odd readings go too, and the rest is averaged in 20-minute steps.

The same Monday in hours since waking up. Grey bands cover the first hour, the walks, the run and the last hour. A few readings are circled in amber as dropped, and green dots show the 20-minute averages.
The same Monday after cleaning. Grey bands are cut out and amber rings are dropped.

3. Fit

Each day is shifted to the same average, and the same weekdays from every week are pooled. A smooth curve runs through each pool, and the hours above a sloped line become the peaks.

Dots from eight synthetic Mondays with a smoothed curve through them and a dashed line sloping down. The curve turns green where it rises above the line, around 4 hours and from 9 to 12 hours after waking up.
Eight Mondays pooled. The curve sits above the line for 4 of the first 16 hours.

4. Output

Your Exo Score each morning sets how long the peaks are. The app then lines them up with when you actually woke up. Until your watch data comes in, Exoplan places the peaks from your chronotype.

One synthetic Monday at Exo Scores 30, 60 and 90, waking up at 7:00. The higher the score, the longer the energy peaks: at 30, one peak from 15:30 to 19:15, 3 hours 45 minutes in all; at 60, 10:00 to 12:00 and 15:30 to 19:30, 6 hours; at 90, 9:45 to 12:15 and 15:15 to 19:45, 7 hours.
A Monday at three Exo Scores, waking up at 7:00.

Caveats

The curve shows a typical Monday, so a hard Monday and an easy one start from the same peaks. Heart rate also rises with stress, and the model reads that as energy. Days with an unusual wake-up time are dropped, so travel leaves gaps.

I started with 12 weeks of data and moved to 8. I also tried lining days up by shifting them in time. That one stayed an experiment.

Exoplan Planning, tasks, AI assistant