← All posts

hourlong learnings #8: whoop and what i’ve learned from reading their methods and being a user in 2026

in the following post I try to understand what algorithms WHOOP actually uses, how accurate its sleep, heart-rate, and recovery numbers are, how it compares with Oura, Fitbit Air, and Apple Watch, and what months of wearing it can reasonably teach me about my own health

WHOOP is a sensor system plus proprietary models: it measures optical pulse and motion, estimates several physiological variables, compares them with a personal baseline, and turns the estimates into friendly scores. The useful part is mainly in the consistent longitudinal record, not the claimed precision of any one green, yellow, or red morning.


1. whoop is mainly an optical pulse sensor w/ context about your day

at the wrist, WHOOP uses photoplethysmography (PPG): LEDs shine light into tissue and photodiodes measure changing reflected light as arterial blood volume changes with each beat. It also uses motion sensors, and the current platform incorporates other signals such as skin temperature and blood oxygen on supported hardware. The app then derives heart rate, resting heart rate (RHR), respiratory rate, and heart-rate variability (HRV).

The core PPG idea is simple:

$$ \text{PPG signal} = \text{pulsatile blood-volume signal} + \text{motion, pressure, light, and skin noise} $$

The first term contains the beat-to-beat information WHOOP wants. The second term is why a wrist device can work well in still sleep yet drift during lifting, cycling on rough roads, loose wear, cold skin, sweat, or fast arm movement. An ECG measures the heart’s electrical event; PPG measures a downstream optical pulse. They are related, but not identical.


2. the private algorithm

WHOOP describes the input metrics and product behavior, but the exact feature weights, training data, model updates, and decision thresholds are proprietary. That means nobody outside the company can reproduce Recovery, Strain, automatic activity labels, or Sleep Performance from the raw signals alone.

The public pieces are still legible:

PPG + accelerometer/gyroscope
→ beat and movement features
→ heart rate, HRV, respiratory-rate, and sleep/wake estimates
→ sleep stages and activity detection
→ Strain, Sleep Performance, Recovery, and coaching prompts

WHOOP says automatic activity detection uses elevated heart rate, movement patterns, and strain, and currently recognizes 45 activity types without prior history. Its sleep-stage estimate uses motion, heart rate, HRV, and respiratory rate. A classifier can be useful without being transparent; it just needs to be read as an estimate rather than a fact


3. recovery scores might have more collinearity than advertised

WHOOP calculates Recovery overnight and reports it as 0–100%, with green at 67% or higher, yellow from 34–66%, and red at 33% or lower. The documented inputs include HRV, RHR, respiratory rate, sleep information, and, depending on hardware, skin temperature and SpO₂. Its more recent health-monitor docs also describes a 28-day weighted baseline with more emphasis on recent days.

The rough model is:

$$ \text{Recovery} = f(\text{HRV},\ \text{RHR},\ \text{sleep},\ \text{respiratory rate},\ \text{personal baseline}) $$

$f$ is WHOOP’s undisclosed transformations. The inputs themselves are partly correlated: a hard late workout, alcohol, illness, travel, anxiety, or short sleep can lower HRV and raise RHR together. A score can therefore summarize a real change while still making it look like several independent pieces of evidence.


4. strain uses mainly HR

WHOOP’s daily Strain runs on a logarithmic 0–21 scale and is primarily built from cardiovascular load. This is useful because a 45-minute easy walk and a hard interval session can occupy very different heart-rate distributions even if their duration is similar.

The intuition is:

$$ \text{Strain} \propto \log(\text{cumulative cardiovascular load}) $$

The logarithm compresses the high end: moving from 5 to 10 strain is not designed to mean the same additional load as moving from 15 to 20. It makes the score readable across a full day, but it also makes it a platform-specific unit. WHOOP Strain cannot be numerically compared with Apple’s Activity rings, Oura Activity Score, Fitbit readiness, or a lab measure such as oxygen consumption.

For steady running or cycling, wrist heart rate can be useful enough to make Strain a reasonable personal trend. For strength training, climbing, contact sport, intervals, or activities with repeated wrist flexion, the same PPG artifact that changes heart rate can change the final load score. A bicep band or an ECG chest strap is a better check when the exact exercise HR or zone is important to you


5. sleep duration is better than sleep stages

WHOOP’s sleep algorithm tries to identify sleep/wake and then assign light, slow-wave/deep, and REM sleep. The distinction matters because the gold standard for staging is polysomnography (PSG), which includes EEG brain waves, eye movements, muscle activity, and other signals. WHOOP does not measure brain waves.

In a 2020 PSG validation, WHOOP’s total sleep time differed from PSG by an average of 8.2 minutes and had 89% two-stage sleep/wake agreement, 95% sensitivity for sleep, and 51% specificity for wake. The device was much better at calling sleep than detecting quiet wakefulness. A separate small nine-night study of WHOOP automatic detection found 90% sensitivity for sleep, 60% specificity for wake, 86% two-stage agreement, and 63% four-stage agreement.

Those aren’t bad results for a consumer wristband. They are also a warning against treating a single “deep sleep” number as a lab result. If I lie still awake, the device has a meaningful chance of calling it sleep. If I see 46 minutes of deep sleep instead of 70, the difference may be physiology, algorithm uncertainty, or both.

The claim that survives is narrow: WHOOP is useful for approximate sleep timing and multi-night trends; its stage values are less trustworthy as an exact nightly measurement.


6. HRV is useful but only when looked at week-to-week

HRV is variation in the intervals between normal beats, usually expressed by WHOOP in ms. WHOOP records it during sleep to create a more consistent resting measurement. That is a sensible design because comparing HRV after a sprint, a meeting, or a coffee to HRV during sleep would mix incompatible states of your day.

One common time-domain quantity is RMSSD:

$$ \mathrm{RMSSD} = \sqrt{ \frac{1}{N-1} \sum_{i=1}^{N-1}(RR_{i+1}-RR_i)^2 } $$

Each $RR$ is the interval between consecutive normal beats. The equation averages the squared beat-to-beat changes and takes the square root, so a higher value means more short-term interval variation in that window. It doesn’t provide a score for “parasympathetic health,” and it is particularly sensitive to missed or incorrectly placed beats in light signals


7. other devices on the market

DeviceStrongest use caseMain sensor positionWhat it emphasizesMain limitation
WHOOPcontinuous training load, recovery workflow, screen-free usewrist / bicepStrain + Recovery + behavior journalcomposite scores are proprietary and subscription-dependent
Oura Ringsleep, overnight resting heart rate and HRV, comfortfingerreadiness, sleep, and long-term health patterningless natural for contact sport, lifting, and some workouts
Apple Watchgeneral smartwatch use, workouts, GPS, notifications, broad app/health ecosystemwristactivity, training, communications, regulated health features on supported modelscharging and screen use can interfere with overnight wear; readiness is less central
Fitbit Airlight, screen-free health tracking and daily wellnesscompact clip / body-worn trackerbroad baseline tracking, sleep, and accessible health promptsit is new, so independent validation is much thinner than for older trackers

Oura’s finger location can be advantageous for quiet overnight pulse measurement because the finger has strong peripheral blood flow and the ring can fit consistently. WHOOP’s continuous, no-screen form factor is built around training adherence. Apple Watch is the best fit if the wearable also needs to be a watch, GPS workout computer, notification device, and app platform. Fitbit Air is an interesting newest option because Google is packaging 24/7 heart rate, rhythm alerts, SpO₂, HRV, and sleep in a much smaller screen-free form, but its independent accuracy evidence has not had time to catch up with WHOOP or Oura


8. whoop vs oura for sleep, apple watch for workouts

If the question is “when did I probably sleep and is my overnight pulse trend changing?”, WHOOP and Oura are both reasonable long-term tools. Oura may be more comfortable in bed for some people and has a strong sleep-first product design; WHOOP is more useful when the next question is “how did that night relate to yesterday’s cardiovascular load and today’s planned training?”

If the question is “what was my heart rate during a changing workout, where did I run, and what can I do with this device when I am not training?”, Apple Watch has a wider hardware and software surface. It also has specific regulated features in certain regions and models; those should be understood by their own instructions, not generalized from a wellness score.

For precise workout heart rate, none of these should be casually assumed equal to an ECG chest strap. For sleep apnea, arrhythmia symptoms, persistent fatigue, chest symptoms, or a concerning overnight pattern, its a good indicator but still has many false negatives


9. Ramadan case study: how the whoop data differed across periods

The graph shows WHOOP 4.0 Strain, Recovery, resting heart rate, HRV, Sleep Performance, and sleep duration across a team, position group, and individual athlete. it’s useful for seeing why a single Recovery score should be given with raw data as well because nuance is lost to the WHOOP algorithm

WHOOP 4.0 strain, recovery, resting heart rate, HRV, sleep performance, and sleep duration across three study periods

the individual-athlete graph shows the same WHOOP metrics across pre-Ramadan, Ramadan, and post-Ramadan periods and is a useful example of the accuracy across a cohort under a certain constraint

Individual athlete WHOOP 4.0 strain, resting heart rate, sleep performance, recovery, HRV, and sleep duration across three study periods

10. what i would want from a more useful wearable

The product improvement I want is not another composite number. It is an uncertainty-aware explanation layer.

Workflow positionInputOutput / actionSuccess metricWhat it cannot infer
morning reviewraw overnight heart-rate signal quality, HRV, RHR, movement, sleep timing“high / medium / low confidence” beside each estimate; show what changed from baselinefewer false alarms and clearer user decisionsdiagnosis, cause of a low score, or clinical readiness
training decisionplanned workout plus recent load and subjective sorenessa range of plausible load, not one authoritative targetwhether users avoid avoidable overreaching without losing adherenceinjury risk for an individual session

WHOOP already exposes many of those components. The next useful step would be telling the user when the signal is weak, when a sleep stage is particularly uncertain, and which inputs drove a Recovery data change


TLDR. wearing WHOOP for 165 days has made it most useful as a trend detector. I would trust sleep timing, overnight RHR, and within-device HRV trends more than a precise deep-sleep value or one red recovery. Compared with Oura, it is more training-load-first, and Fitbit Air is the interesting lightweight newcomer but still needs some validation studies. The best use is to notice a repeatable pattern, then test it with actual behavior: for me, that will be limiting caffeine, changing my nutrition plan and carb timing, and starting magnesium glycinate.

Comments are closed for this post.

hourlong learnings #8: whoop and what i’ve learned from reading their methods and being a user in 2026 · Krish Arora