GoApercu / SLAM Methods
Methods · v1.0 · July 2026

SLAM — Stochastic Long-horizon Adaptive Model for VO₂ Max forecasting

SLAM is a state-space forecasting stack that treats VO₂ Max as a slowly-varying latent state, observed daily through wrist-wearable signals. The observation model is a SleepFM-derived foundation-model encoder; the transition model is a physiologically-constrained stochastic differential equation with training-load drift. This page documents the assumptions, inputs, outputs, and interpretation rules that make the estimator on AeroGlyphics and the enterprise API reproducible and reviewable.

1 · Assumptions

What we assume, and where those assumptions break

Stationary physiology on weekly scale
Cardiorespiratory fitness changes on the order of ~1 MET over weeks-to-months, not hours. SLAM treats the underlying VO₂ Max state as slowly-varying and models day-to-day wearable readings as noisy observations of that latent state.
Wrist-PPG + accelerometry are sufficient statistics for HR dynamics
Under normal wear conditions (skin contact, no severe arrhythmia, resting periods present in the 24h window), 1 Hz PPG-derived HR and 3-axis accelerometry recover the HR-vs-workload curve needed for a submax VO₂ estimate (Uth–Sørensen–Overgaard–Pedersen, 2004).
Sleep windows are the highest-SNR observation
Resting HR, HRV, and respiratory rate during scored N2/N3 sleep are the least-confounded per-day signals. SLAM weights sleep-window features higher than daytime features in the observation model — the same prior that makes SleepFM (Nature Medicine, Jan 2026) an effective foundation model.
Norms are age- and sex-adjusted, not race-adjusted
Population norms use the FRIEND registry (Kaminsky, Mayo Clin Proc 2015) age × sex bins. We do not apply race-based correction factors; SLAM's calibration set is stratified but not corrected.
Not a diagnostic device
SLAM outputs a wellness-grade biomarker and a forecast. It is not a substitute for CPET, echocardiography, or clinical judgment. Any 510(k) / De Novo claim will be scoped narrowly and gated on prospective validation.
2 · Inputs

Model inputs, ranked by information gain

InputStatusDefinition
Resting HR (bpm)RequiredMedian HR during the deepest 30-min sleep window in the last 7 nights. Wrist PPG at ≥1 Hz.
HR max proxyRequiredEither measured HR max from a labelled bout, or age-based estimate: 208 − 0.7 × age (Tanaka, JACC 2001).
Age, biological sexRequiredUsed for FRIEND norming and Tanaka HR max. Sex is used as a covariate, not to gate access.
HRV (RMSSD, ms)RecommendedNightly RMSSD from scored sleep. Improves the latent-state Kalman update by ~18% RMSE in our internal cohort.
Daily step count + active minutesRecommendedProxy for training load; drives the transition model (fitness gain / detraining).
Smartwatch VO₂ estimateOptionalApple Watch / Fitbit / Garmin native VO₂ Max, when present, is treated as a noisy observation with a device-specific bias term learned during onboarding.
CPET VO₂ Max (ml/kg/min)OptionalA single lab CPET collapses the posterior variance to near-zero at t=0 and anchors the forecast.
Weight, heightOptionalOnly needed if the user wants absolute VO₂ (L/min) alongside the relative (ml/kg/min) output.
3 · Model

The forecasting stack

Observation model — SleepFM-derived encoder

A 4-layer transformer encoder, initialized from Stanford-licensed SleepFM weights (585K+ hours of PSG, ~65K participants, Nature Medicine Jan 2026), and fine-tuned on paired wrist-wearable ↔ CPET VO₂ Max data. Output: a per-night embedding zt ∈ ℝ128 and a calibrated point estimate ŷt with a heteroscedastic variance head σt2.

Transition model — training-load SDE

Latent VO₂ Max xt evolves as dx = (α · loadt − β · (x − x*)) dt + σx dWt. α, β, and detraining floor x* are age- and sex-conditional, fit on longitudinal CPET cohorts. Wiener noise σx captures unmodelled biology.

Filter — unscented Kalman + particle rejuvenation

Daily updates use a UKF for tractability; a monthly particle-filter pass corrects for non-Gaussian tails (e.g., illness, injury, altitude exposure). Forecasts are Monte-Carlo rollouts of the transition SDE from the current posterior.

Calibration

Post-hoc isotonic regression on a held-out CPET cohort ensures the 90% credible interval covers 90% ± 2% of held-out truths. Device-specific bias terms (Apple Watch, Fitbit, Garmin, WHOOP, Oura) are learned during a 14-day onboarding window and refreshed quarterly.

4 · Outputs

What SLAM returns

VO₂ Max point estimate (ml/kg/min)
Posterior mean of the latent state at t = today. Reported alongside a FRIEND percentile for the user's age × sex bin.
90% credible interval
Not a confidence interval — a Bayesian posterior interval. Width shrinks as more nights of data accrue and as higher-SNR inputs (CPET, HRV) are added.
12-week forecast trajectory
Median forecast plus 10th/90th percentile fan chart. The transition model incorporates current training load; a flat activity profile forecasts detraining at ~0.5% VO₂/week after week 3.
Mortality-risk band
Maps the point estimate to Mandsager (JAMA Netw Open 2018) hazard quartiles. Displayed as a band (Low / Below Average / Above Average / Elite), never as a hazard ratio to the individual — that is a population statistic.
MET-equivalent
VO₂ / 3.5. Included because clinicians and payers still speak in METs, and a 1-MET gain maps to −14% cardiometabolic mortality (Kodama, JAMA 2009).
5 · Interpretation

How to read a SLAM output

Read the interval, not just the point
A VO₂ Max of 38 ± 6 ml/kg/min after one week of wear is not the same claim as 38 ± 1.5 after twelve weeks plus a CPET. Product surfaces the interval; do not report the point in isolation to a clinician or a payer.
The forecast is conditional, not deterministic
The 12-week trajectory answers 'if the last 4 weeks of behaviour continue, where does VO₂ Max land?' It is a counterfactual anchor for coaching, not a prediction the user cannot change.
Percentile shifts matter more than absolute numbers
Moving from the 20th to the 40th FRIEND percentile in a user's age × sex bin is the coaching-relevant signal. Absolute ml/kg/min drifts with device, hydration, and altitude.
Do not chain to a diagnostic claim without a pre-sub
SLAM can flag 'consistent with reduced functional capacity'; it cannot say 'heart failure with preserved ejection fraction.' Diagnostic language is gated behind FDA SaMD scope, not a product decision.
6 · Limitations & failure modes

Where SLAM should not be used, unmodified

  • Persistent AFib or frequent PVCs — HR-based inputs are unreliable; require ECG-grade signal.
  • Pregnancy — resting HR and HRV baselines shift; SLAM norms do not apply.
  • Beta-blocker or non-DHP CCB use — HR max proxy is invalid; require a measured max or CPET anchor.
  • Pediatric (<18) and geriatric (>85) — outside FRIEND norming range; report is descriptive only.
  • Under-72h wear — insufficient sleep windows for the observation model; interval is wide by construction.
  • Altitude changes >1500 m within the trailing 14 days — transient VO₂ shift, not a fitness change.

Baseline references: Uth N. et al., Eur J Appl Physiol 2004 (HR-ratio VO₂ estimation) · Tanaka H. et al., JACC 2001 (HR max) · Kaminsky L. et al., Mayo Clin Proc 2015 (FRIEND) · Kodama S. et al., JAMA 2009 (MET-mortality) · Mandsager K. et al., JAMA Netw Open 2018 (fitness quartiles) · Thapa R. et al., Nature Medicine Jan 2026 (SleepFM).

Try the estimator →← Back to overview