u/MainStrategy0

Tracking cognitive fatigue with a 4-signal weighted model — what I learned after building this for myself

For the last several months I've been self-tracking decision fatigue. Question I was trying to answer: can you quantify "mental tiredness" in real time using passive signals from an iPhone, accurately enough to be useful for decision timing?

The model I landed on uses 4 weighted signals combined into a 0–100 score:

  1. Decision load (50%) — self-logged decisions, weighted by cognitive cost (trivial/medium/heavy)

  2. Time-of-day (20%) — adjusted circadian curve, anchored to personal wake time, with a post-lunch dip

  3. Motion / restlessness (15%) — CoreMotion step cadence variance as a fidget proxy (fidgeting correlates with depletion in the lit)

  4. App switching (15%) — context switch count as a proxy for scattered attention

Calibration: first 3–5 days builds a personal baseline so the score is relative to YOU, not absolute. Without this the score is meaningless — some people peak at 11am, some at 4pm.

What surprised me:

• Motion signal is noisier than expected — had to add EMA smoothing with a 20-min window

• Decision weighting matters more than decision count — 1 heavy decision ≠ 10 trivial ones

• The afternoon slump is real and shows up cleanly in the data around 1:30–3pm for most testers

Things I haven't figured out yet:

• HRV integration (would probably replace motion as the physiological signal)

• Sleep debt carryover — currently ignored

• Caffeine compensation

Anyone else working on cognitive load / decision fatigue measurement? Would love to compare notes on signal selection.

(App link in first comment per sub rules.)

reddit.com
u/MainStrategy0 — 2 days ago