A score you cannot inspect is a score you cannot trust. This page publishes exactly how every FocusUp number is computed — the same formulas that run in production. Most axes are deterministic (no AI), so they are reproducible and comparable across days and members; the AI's role is narrow and clearly bounded.
Each member's day gets five 0–100 axes. Four are measured; one is the AI's overall verdict, constrained by the measured four.
After each session the AI reads the activity log (and sampled screenshots when enabled) and assigns the session a focus score. The daily Focus axis is the duration-weighted average of those session scores — longer sessions count for more.
The share of tracked time with real keyboard/mouse input, scaled by input intensity: score = active share × (0.5 + 0.5 × intensity ÷ 100). Intensity comes from input counts only (keystrokes, clicks, scrolls — never content). Presence earns most of the credit; sustained input pushes it to the top.
The AI classifies each app and site used in a session as high, medium, low or unrelated to work; the axis is the usage-weighted average with fixed weights: high = 100, medium = 60, low = 30, unrelated = 0. The same app can be work or distraction — classification follows the actual context, not a static category list.
Long uninterrupted blocks score high; fragmented days score low. The expected block length of a random tracked minute (Σ duration² ÷ Σ duration) is compared to a 50-minute target for up to 80 points, then adjusted: +20 for focus-block sessions, −15 for context switching, −10 for long idle — clamped to 0–100.
The only axis the AI decides. It is instructed to stay consistent with the four measured axes and the written narrative — it cannot contradict the evidence.
The burnout/retention radar contains no AI at all. Every point of the 0–100 risk score over the trailing 28 days is explainable by a named signal:
Bands: 40+ = watch, 70+ = alert. The radar exists to start caring conversations early — never for discipline — and members always see their own signals too.
It reads session evidence to write the factual work narrative, assign session focus scores, classify app relevance and write coaching suggestions — in plain language, never accusatory.
It does not decide the deterministic axes, never sees keystroke content (input is counted, not logged), and writes nothing a member cannot read themselves — data parity covers every score and report on this page.
Every number traces back to sessions, activity samples and analyses the member can open themselves. If a score looks wrong, its evidence is one click away — that is the difference between a published methodology and a black box.
Read our security & privacy commitments →