Wellness score (long form)
The full methodology behind the Wellex WVI v2.
Last updated: 2026-04-16
See WVI methodology for the daily-use version.
Mathematical form (v2)
WVI v2 uses a weighted geometric mean of 12 individually normalised metrics, followed by hard caps, a progressive curve and an emotion multiplier:
Pipeline: 1. Normalize each raw metric to [0, 100] via sigmoid 2. Personalise via z-score (14-day rolling baseline) 3. Apply hard caps (ceiling gates) 4. Aggregate via Weighted Geometric Mean (12 metrics) 5. Apply non-linear progressive curve 6. Apply emotion multiplier (0.78 - 1.15) 7. Clip to [0, 100] GM_raw = exp( sum( weight_i * ln( max(metric_score_i, 1) ) ) ) cap = min(cap_sleep, cap_steps, cap_stress, cap_spo2, cap_hrv) WVI_curved = progressive_sigmoid( min(GM_raw, cap) ) WVI_final = clip( WVI_curved * emotion_multiplier, 0, 100 )
Why Geometric Mean
The UN switched HDI from arithmetic to geometric mean in 2010 because it prevents compensating poor performance in one dimension with excess in another. For wellness: you cannot "outrun" bad sleep.
The 12 metrics
| # | Metric | Weight | Unit | Description |
|---|---|---|---|---|
| 1 | HRV | 0.16 | ms | Heart rate variability (RMSSD) |
| 2 | Stress | 0.14 | index | SDK stress index (inverted) |
| 3 | Sleep | 0.13 | score | Deep sleep %, duration, continuity |
| 4 | Emotional Wellbeing | 0.12 | score | 24h rolling emotion history score |
| 5 | SpO2 | 0.08 | % | Blood oxygen saturation |
| 6 | Heart Rate | 0.07 | bpm | Delta from resting heart rate |
| 7 | Steps | 0.07 | steps | Daily step count |
| 8 | Active Calories | 0.06 | kcal | Movement and training calories (excludes BMR) |
| 9 | Activity Load (ACWR) | 0.05 | ratio | Acute:Chronic Workload Ratio |
| 10 | Blood Pressure | 0.05 | mmHg | Deviation from 120/80 baseline |
| 11 | Temperature | 0.04 | C | Deviation from personal baseline |
| 12 | PPI Coherence | 0.03 | 0-1 | Pulse-to-pulse interval regularity |
Weights sum to 1.00.
Hard caps
Hard caps set an absolute WVI ceiling that no amount of good performance in other metrics can overcome:
| Condition | WVI Ceiling | Basis |
|---|---|---|
| Sleep score below 50 | max 60 | JAMA 2022: less than 6h sleep = +13% mortality |
| Steps below 5,000/day | max 60 | Lancet 2025: protective threshold starts at 5,000 |
| Steps below 3,000/day | max 45 | JAMA 2023: below 3,143 steps = mortality risk zone |
| Stress score below 30 | max 55 | Firstbeat: chronic stress = autonomic resource depletion |
| SpO2 below 92% | max 40 | WHO: below 92% = hypoxemia |
| HRV z-score below -2.0 | max 50 | Eur Heart J 2023: extreme low HRV = autonomic dysfunction |
Progressive curve
Below 60, scoring is linear. Above 60, diminishing returns apply via an exponential ceiling:
progressive_sigmoid(x) = if x <= 60: x if x > 60: 60 + 40 * (1 - e^(-3.5 * (x - 60) / 40))
This means it is easy to reach 60, but 80+ requires sustained excellence across all 12 metrics.
Emotion multiplier
After the geometric mean and curve, a final multiplier (0.78 to 1.15) is applied based on the detected emotional state. Negative emotions carry stronger penalties than positive emotions carry boosts (negativity bias). Flow state provides the maximum +15% boost; exhaustion applies a -22% penalty.
Personalisation
The first 14 days of wear are baselining only. After that, every input is z-scored against the member's own distribution, not a global one. Two members with identical raw biometrics can have different WVI scores because their baselines differ.
Cold start uses Bayesian shrinkage: population priors for days 0-2, blending personal and population data through day 13, then 100% personal baseline from day 14 onward.
Limitations
WVI is correlated with perceived recovery, not causally identified. It is not a medical biomarker. Use it as a daily directional signal, not as a clinical metric.