Mosaic produces estimates of fitness, recovery, and race performance from your training history. This page explains the models and constants behind those estimates, so you can judge how much weight to give them. None of the numbers Mosaic surfaces are medical measurements.
Mosaic is not a medical device. Predictions, readiness scores, and load metrics are informational and based on published exercise-physiology models applied to your training data. Always consult a physician before starting or modifying a training programme, and follow professional medical advice for any health condition.
Per-session load uses Andrew Coggan's TSS model: TSS = (duration_seconds × NP × IF) / (FTP × 3600) × 100 for cycling. For running we derive an equivalent load via iTRIMP (heart-rate-weighted exercise intensity, per Manzi 2009) and normalise to a TSS-equivalent scale calibrated against the athlete's own training history. Cross-training (swim, strength, hike) is converted to a run-equivalent stimulus via a per-sport discount factor.
Fitness, fatigue, and form are modelled as exponentially-weighted moving averages of daily TSS:
This is the Banister impulse-response framework (Banister 1991), as operationalised by TrainingPeaks. The 42/7 day decay constants follow that convention.
Ratio of 7-day to 28-day rolling load. Mosaic flags values outside roughly 0.8–1.5 as carrying elevated injury risk (Gabbett 2016, Hulin 2014). This is one signal among several in the readiness model; it is not deterministic.
Jack Daniels' VDOT model converts race performances into a VO2max-proxy fitness number, then back into predicted times at other distances. Mosaic derives VDOT from your fastest recent race-effort runs across distances, weights by recency, and projects to your target race using fatigue-resistance and course-specific factors.
FTP (Functional Threshold Power) is estimated from your strongest 20-minute power efforts (using Coggan's 0.95 factor) or from the critical-power asymptote of multiple maximal-effort durations (Monod & Scherrer 1965). Bike race time prediction uses the Coggan model with a duration-dependent power decay.
CSS (Critical Swim Speed) is computed from 200m + 400m time-trial pairs (Wakayoshi 1992). Open-water swims apply a deficit relative to pool times where the data warrants it.
Course-specific factors (elevation, surface, expected temperature) adjust the baseline race-day prediction. Durability — your ability to hold pace late in a race — is modelled from how much your pace decays in the final third of long efforts in your training history.
Daily readiness blends signals from heart rate variability (HRV), resting heart rate, last night's sleep duration, training stress balance, and recent acute load. Each component is z-scored against the athlete's own rolling baseline (typically 28 days) so the score reflects your personal trend, not a population norm. HRV and resting heart rate are read from Apple Health or Garmin where available; if neither is connected, the score uses TSB and ACWR alone.
Full per-formula derivations, justifications and limitations are maintained in the project's internal SCIENCE_LOG.md, available on request.