Readiness Ring

Source: components/home/readiness-ring.tsx
What You See
A circular ring that fills up based on your readiness score (0 to 100). The number is shown in the center. Below the ring are three small progress bars showing the top components that make up the score. A colored badge shows the most important factor (positive or negative). At the bottom is a Stamina bar showing how much of your fitness you can maintain during a race.
How the Numbers Work
Readiness combines several signals: how much you trained recently, how consistent your training has been, your sleep quality, and your body's recovery signals. Each signal contributes a portion of the 0-100 score. The top three components are shown as mini bars. Stamina is estimated as roughly 74% of your readiness score -- it represents how much of your peak fitness you can access on race day.
Step by Step
Models & algorithms used: Gradient Boosting
The readiness engine has two calculation paths. The heuristic path (used when you have fewer than 5 verified race outcomes) computes a weighted sum of 5 components: ACWR Balance (weight 0.30) scores highest when ACWR equals 1.05 and drops off with distance from that sweet spot; Fatigue Freshness (0.25) peaks at 2 days of rest and decreases with more or fewer rest days; Training Recency (0.20) decays at 5 points per day since your last threshold session and 3 points per day since your last long run, with a race-proximity multiplier of 0.5x if a race was run within 3 days; Physiological (0.15) uses sleep score and HRV percentile from recent data; Consistency Bonus (0.10) rewards steady week-to-week load. The ML path (activated at 5+ race outcomes) uses a Gradient Boosting Classifier (100 estimators, max depth 3, learning rate 0.05) trained on 9 features including ACWR, days since last race, sleep score, HRV, weekly distance consistency, and recent long-run count. Stamina is shown in the browser as 74 percent of the readiness score (no backend stamina model). The ring sorts sub-components by value and displays the top 3.