How we measure, score, and contextualize athlete data.
A 0-100 score reflecting how efficiently an athlete is recovering relative to their individual baseline.
How it works: Recovery Signal (40%): HRV and RHR z-scores from 14-day EWMA baselines, with Whoop recovery and optional Oura readiness blending. Wellness Signal (35%): Readiness, sleep quality, and inverted fatigue/stress from daily check-ins. Load Context (25%): ACWR-adjusted load tolerance.
Plews et al. 2013 (IJSPP); Buchheit 2014 (Sports Med)
A 3-layer gate system that screens for early signs of neuromuscular fatigue before it manifests as injury or illness.
How it works: Layer 1: Jump height z-score drops below -1 SD. Layer 2: RSI-mod decline + asymmetry direction flips (left vs. right dominant shifts). Layer 3: Cross-references training load and wellness context to reduce false positives.
Claudino et al. 2017 (JSCR); Gathercole et al. 2015 (JSCR)
Measures how well an athlete's subjective readiness matches their actual training load — detecting when perception and reality diverge.
How it works: Converts readiness and load into individual percentile ranks within a 28-day rolling window. Alignment = |readiness_percentile - load_percentile|. Direction: overloaded (load > readiness), undertrained (readiness > load), or aligned.
Halson 2014 (Sports Med); Saw et al. 2016 (BJSM)
Estimates the recovery cost of travel based on timezone crossings, flight duration, direction, and red-eye disruption.
How it works: Impact = (timezone_change x direction_multiplier) x exponential_decay(days). Eastward travel has 1.5x multiplier. Red-eye flights add flat penalty. Individual sensitivity learning adjusts the decay rate over time based on post-travel readiness data.
Waterhouse et al. 2004 (Sports Med); Leatherwood & Dragoo 2013 (BJSM)
Detects when an athlete's perceived effort deviates from their external load metrics — an early signal of non-functional overreaching.
How it works: Per-athlete linear regression: RPE ~ player_load_z + hsr_z + duration_z. The residual z-score identifies when RPE is disproportionately high or low relative to what the GPS/load data suggests. A creeping upward trend triggers an NFOR flag.
Impellizzeri et al. 2019 (IJSPP); Foster et al. 2001 (JSCR)
Assigned from self-reported sleep need hours during onboarding. Short (<7h), Standard (7-9h), or Long (>9h). Drives sleep optimization recommendations.
Determined from questionnaire (sprint feel, fatigue location, injury pattern, movement preference) or biomechanical data (FV orientation, RSI, asymmetry). Bounder, Strider, Spinner, or Bouncer. Guides movement prescription.
Derived from 7 questionnaire signals: hunger timing, meal response, cravings, appetite, caffeine response, meal frequency, carb tolerance. Protein-Fat Efficient, Carb Efficient, or Mixed. Informs fueling strategies.
Population comparisons use T-scores (mean=50, SD=10) and percentile ranks across 5 population types: Elite Athlete, Athlete, Developing Athlete, Former Athlete, and General Population.
8 metrics are scored: IMTP relative peak force, IMTP peak RFD, CMJ height, CMJ RSI-mod, CMJ relative peak power, sprint Vmax, sprint relative F0, and sprint relative Pmax.
Reference data is encoded from published norms. Percentiles are estimated using a normal CDF approximation. Comparisons are always relative to the athlete's own population type.
Comfort et al. 2019 (JSCR); Suchomel et al. 2016 (Sports Med); Samozino et al. 2016 (Med Sci Sports Exerc)
Every composite score includes a confidence percentage (0-100%) and data phase label. Confidence increases as more days of data accumulate and baseline calculations stabilize.
Building baseline
<7 days. Scores are preliminary.
Calibrating
7-14 days. Patterns emerging.
Established
14+ days. Stable baselines.