Two Numbers, Two Clocks
Readiness in RunIntensity is a verdict — Ready, Steady or Recover — drawn from two independent measurements: Recovery (heart, nervous system & sleep, from HRV, sleep and resting heart rate) and Freshness (muscles, tendons & joints, from your recent training load and, in a coming update, logged soreness). Both run 0–100 and read the same way: 100 = good. The two numbers are shown side by side and are never blended into one, because the gap between them is the coaching signal: low Recovery with low Freshness is ordinary training fatigue, low Recovery with high Freshness is a red flag that running doesn’t explain, and high Recovery with low Freshness is an engine that’s back before the legs are.
Recovery
heart, nervous system & sleep
How your engine bounced back
A 0–100 score from overnight HRV, sleep and resting heart rate, each compared against your own recent baseline. It measures systemic recovery — the autonomic nervous system and cardiovascular response to load.
Snaps back overnight (24–48h).
Freshness
muscles, tendons & joints
How much recent training your legs have absorbed
A 0–100 score where 100 means recent training is fully absorbed and your legs are fresh. It runs on two tissue clocks — a fast one (a day or two) for muscles and glycogen, and a slow one (about a week) for tendons, joints and deep fatigue — over the dose of every workout (miles × intensity², so a hard four-miler weighs far more than an easy one), graded against what your body has adapted to over the last six weeks. You see the lower of the two. A hard workout drops it; it climbs back as the load decays. It stands in for mechanical recovery — the slower repair of muscle, tendon and bone.
Drops with a workout, climbs back over a day or two (fast clock) or about a week (slow clock).
The Verdict
The verdict is a lookup, not a formula. Recovery falls into a band (≥70 high, 40–69 moderate, <40 low), Freshness falls into a band (≥65 high, 35–64 moderate, <35 low), and the pair picks one of nine cells:
| Freshness HIGH ≥65 | Freshness MODERATE 35–64 | Freshness LOW <35 | |
|---|---|---|---|
| Recovery HIGH ≥70 | Readyfull green light | Steadyquality OK, cap volume | Steadynever “Ready” |
| Recovery MODERATE 40–69 | Steadyeasy to moderate | Steadyeasy only | Recoverrecovery day |
| Recovery LOW <40 | Recover⚑ not load-related | Recoverrecovery day | Recoverfull recovery day |
‘Ready’ only appears when both are green. Every other cell says Steady or Recover. Because both numbers read the same way, the grid is easy to remember: Ready is the top-left corner where both are high; the further a number falls, the further the verdict slides toward Recover. A high Recovery score is described as recharged or bounced back — never as a complete recovery — because it only speaks for one of the two clocks.
What each cell says
This is the exact guidance shown in the app, the coach views and the morning push. Where a cell mentions them, the session that is the biggest piece of what the legs are still carrying (the model’s dominant workout) and the time until Freshness (the lower of its two clocks) climbs back into the high band are filled in — shown here as Friday’s long run and ~2 days.
- ReadyHigh Recovery · High Freshness. Engine recharged and your legs have absorbed recent training — Recovery and Freshness are both high. Full green light: a quality session is on the table today.
- SteadyHigh Recovery · Moderate Freshness. Your heart and nervous system have bounced back, but Freshness is only middling — your legs are still absorbing Friday’s long run. Quality is OK; cap the volume, and give it ~2 days before stacking hard days.
- SteadyHigh Recovery · Low Freshness. Recovered isn’t the same as healed. Your heart and nervous system have bounced back — but muscles and joints repair on a slower clock, and Freshness is low because they’re still absorbing Friday’s long run. Easy volume is fine; hold off on back-to-back hard sessions for ~2 days.
- SteadyModerate Recovery · High Freshness. Recovery is middling and it isn’t your training load talking — Freshness is high, your legs are fresh. Easy to moderate work today; protect tonight’s sleep.
- SteadyModerate Recovery · Moderate Freshness. Recovery is middling and Freshness is middling — you’re still absorbing Friday’s long run. Easy only today, nothing that needs fresh legs.
- RecoverModerate Recovery · Low Freshness. Recovery is middling and Freshness is low — your legs are carrying a lot from Friday’s long run. Take a recovery day; the load needs ~2 days to settle.
- RecoverLow Recovery · High Freshness. Recovery is low and it’s not explained by your training load — Freshness is high, your legs are fresh. That points to sleep, illness, or life stress rather than running. Take a recovery day and watch how you feel. (Flagged: Not load-related — low recovery isn’t explained by your training.)
- RecoverLow Recovery · Moderate Freshness. Recovery is low and Freshness is only middling — you’re still absorbing Friday’s long run. Take a recovery day; rest is the workout.
- RecoverLow Recovery · Low Freshness. Recovery is low and Freshness is low — your legs are carrying a lot from Friday’s long run. Take a full recovery day; nothing hard until both numbers come back up.
Recovery — How It’s Measured
Recovery is a re-weighted average of whichever of these three overnight signals is available, scaled so the weights always sum to 100%. If one is missing or reads zero (no HRV sample overnight, for example), that component is dropped and the remaining weights are re-scaled — nothing silently drags the score down. Together they represent the integrated recovery state of your autonomic nervous system.
Heart Rate Variability
The variation in time between consecutive heartbeats, measured as SDNN. Higher HRV indicates a well-recovered parasympathetic nervous system; a sudden drop is one of the earliest markers of accumulated stress, illness, or under-recovery.
Source: Apple Health — HKQuantityType.heartRateVariabilitySDNN (Health Connect on Android)
Sleep Duration & Quality
Total sleep hours plus the share spent in restorative deep and REM stages. Sleep is the single largest driver of next-day recovery and the biggest lever most runners can actually control.
Source: Apple Health — HKCategoryType.sleepAnalysis (in bed / core / deep / REM)
Resting Heart Rate
A lower RHR generally means better aerobic fitness and full systemic recovery. A spike of 5–10 bpm above your baseline is a reliable signal that your body is still working to repair the last session.
Source: Apple Health — HKQuantityType.restingHeartRate
Recovery bands
≥70 high · 40–69 moderate · <40 low
The bands only decide which row of the verdict matrix applies. Recovery itself is a measurement and is never altered by the verdict, the youth guardrail, or your training load.
Freshness — What It Measures
Freshness is descriptive: it says what you did and how much of it your legs have absorbed. It is not an injury forecast, and the word “risk” never appears next to it (see the ACWR note under Research below). Three ideas make it up: every workout carries a dose that grows faster than pace, two tissue clocks decay that dose at very different speeds, and both are graded against a capacity — what your body has adapted to over the last six weeks. The lower of the two clocks is the number you see.
Dose — a hard four-miler is not an easy four-miler
Each workout’s stress-adjusted miles (SAM) already fold in pace, terrain, surface and heat. Freshness goes one step further: the intensity of a run is its SAM per mile (how far above easy pace it sat, never below 1), and the workout’s dose is miles × intensity² — the same super-linear idea as a training-stress score. An easy four-miler at intensity 1 is a dose of 4; the same four miles run hard enough to score 10 SAM (intensity 2.5) is a dose of 25. Tissue stress rises faster than speed — ground-reaction force and eccentric load both scale with pace — so a hard session costs the legs far more than its mileage suggests. A session without a distance (a lift, a swim, a ride) counts its SAM as its dose.
Two tissue clocks
Fast clock
muscles & glycogen — a day or two
The muscular cost of a session: glycogen to restock, micro-damage and the neuromuscular heaviness you feel the same evening and the next morning. Its half-life is 24–48 hours depending on age (30 h at 30, floored at 24 h for younger athletes and capped at 48 h for older ones), summed over four half-lives. The evidence puts neuromuscular recovery after hard intervals or repeated sprints at 24–48 h — longer than the autonomic rebound HRV measures, which is why this clock is slower than the one earlier versions inherited.
Held down by the fast clock — muscles and glycogen are still restocking. Give it a day or two.
Slow clock
tendons, joints & deep fatigue — about a week
The structural cost: tendon and joint tissue, connective-tissue repair and the deep fatigue that a hard block leaves behind. The same doses are decayed on a half-life four times longer (96–192 h), again over four half-lives — so a big week keeps counting for two to four weeks. Muscle-damage markers after a marathon stay elevated for about six days and tendons remodel over weeks, which is the timescale this clock is built to.
Held down by the slow clock — tendons, joints and deep fatigue are still repairing. Give it days, not hours.
Capacity — graded against six weeks, not last month
Both clocks are read as a ratio of decayed dose to capacity: an exponentially weighted average of your daily dose with a 42-day time constant over the last 90 days — the same long-horizon step the Fitness line uses. Capacity moves slowly by design. Four hard days after an easy block shift it by less than ten percent, so they read low; ninety days of the same hard dose genuinely is your norm, and then it reads like steady easy training. An athlete with little history is scored against a floor of two easy-equivalent miles a day, so the very first runs still register.
The app, the coach views and this dashboard show both clocks under the number (“Fast clock 24 · Slow clock 25”), name the one holding it down, and name the session that is the biggest piece of what your legs are carrying (“Still absorbing Sunday’s hard 4”). The coach dashboard also shows the capacity the load is graded against (“graded against what they’ve adapted to over six weeks: 8.8/day”). When both clocks read 100, nothing is limiting and Freshness is simply 100.
- “absorbed in ~N hours” is the time until Freshness — the lower clock — climbs back into the high band (≥65), searched up to 14 days ahead with capacity held where it is today. It’s the number behind “give it ~2 days before stacking hard days”; when the slow clock is limiting it counts in days, when only the fast clock is, in hours. It counts down between app opens.
- Every workout type counts — walks, rides, hikes, strength sessions, swims. A two-hour road ride or a tough lift leaves stress a runner feels the next morning, and a big week of them leaves stress the legs carry for days.
- Older athletes clear more slowly by design. The fast half-life grows 2% per year after 30 (48 h at 60), and the slow clock with it. Daily steady training at 60 sits right at the high/moderate edge the next morning (≈64); at 16 it reads 72.
Freshness bands: ≥65 high · 35–64 moderate · <35 low. Same polarity as Recovery — high is green. Like Recovery, the bands only pick the column of the verdict matrix; the number is never altered.
What the numbers look like
The model’s own test vectors. Capacity is 5 easy-equivalent miles a day unless stated, Recovery is 97, and each reading is taken 14 hours after the last session (the next morning) unless stated. The bold clock is the one holding Freshness down.
| Scenario | Age 16 (half-lives 24 h / 96 h) | Age 45 (39 h / 156 h) | Verdict |
|---|---|---|---|
| Steady easy training, next morning | 72 (fast 73 / slow 80) | 67 (fast 67 / slow 77) | Ready |
| Three full rest days | 95 (fast 99 / slow 95) | 89 (fast 94 / slow 89) | Ready |
| Five full rest days | 98 | 94 | Ready |
| One day at 2× the norm, next morning | 55 (fast 56 / slow 70) · absorbed in ~8h | 54 (fast 54 / slow 71) · ~14h | Steady |
| Four days at 2× the norm, tonight (1 h after) | 30 (fast 30 / slow 43) · ~30h | 32 (fast 32 / slow 54) · ~38h | Steady |
| …the next morning | 46 (fast 46 / slow 50) · ~21h | 42 (fast 42 / slow 57) · ~27h | Steady |
| …then three rest days | 87 (fast 99 / slow 87) | 79 (fast 91 / slow 80) | Ready |
| …or three easy days at half the norm | 76 (fast 89 / slow 76) | 71 (fast 77 / slow 72) | Ready |
| A week-long camp at 3× the norm, next morning | 22 (fast 36 / slow 23) · ~62h | 29 (fast 30 / slow 33) · ~3 days | Steady |
| Four hard days in a row (real data, age 16, capacity 8.8) — Recovery 87, checked an hour after the last run | 23 (fast 24 / slow 25) · absorbed in ~60h · still absorbing Sunday’s hard 4 | — | Steady |
| Hard every day for 90 days (capacity 12.2 — it is the norm), next morning | 69 (fast 70 / slow 78) at age 30 | Ready | |
| No history at all (capacity floor 2.0), one easy run yesterday | 70 (fast 71 / slow 100) at age 30 | Ready | |
Two things to notice. First, four hard days read low tonight and moderate the next morning even for the athlete whose hard days are routine — that is the case the earlier model got wrong. Second, once the hard block stops, the slow clock takes over as the limiting one: the fast clock is back in the nineties after three rest days while tendons and joints are still at 87 (or 79 at 45). With Recovery at 97 every one of the moderate and low rows is Steady, not Ready — and with Recovery 87 the real four-hard-days case is Steady too, never Recover, because the verdict matrix never says Recover when the engine is high.
The formulas (model v6, design §2.2) — including the Hill curve
All hours; age unknown → 30. Both clocks decay the same per-workout doses — only the half-life and the window differ — and both are graded against the same capacity.
intensity = miles > 0 ? max(1, sam ÷ miles) : 1 SAM per mile ≈ the pace multiplier vs easy
dose = sam × intensity = miles × intensity²; a non-distance session → dose = sam
hF = clamp(30 × (1 + (age − 30) × 0.02), 24, 48) fast — muscles & glycogen
hS = 4 × hF slow — tendons, joints, deep fatigue (96–192 h)
FF = Σ dosei × 0.5(hoursAgoi / hF) over 0 ≤ hoursAgo ≤ 4 × hF
FS = Σ dosei × 0.5(hoursAgoi / hS) over 0 ≤ hoursAgo ≤ 4 × hS
dailyDose[d] = Σ dose on UTC day d, over the last 90 days (zero days included)
ewma = seed with the mean of the first 14 days, then f = f + (x − f) ÷ 42 per day
C = max(2.0, ewma) floor: 2 easy-equivalent miles/day for athletes with no history
KF = 1 ÷ (1 − 0.5(24 / hF)) KS = 1 ÷ (1 − 0.5(24 / hS)) the load a daily dose C leaves just after a session
uF = FF ÷ (C × KF) uS = FS ÷ (C × KS) 1.0 = exactly your sustained norm, right after a session
fast = 100 ÷ (1 + (uF ÷ 1.08)1.9)
slow = 100 ÷ (1 + (uS ÷ 1.22)4.0)
freshness = min(fast, slow) truncated to an integer for the bands
limiting = whichever clock is strictly lower; none on a tie
absorbedIn = smallest whole hour t in 0…336 with freshness(now + t) ≥ 65, capacity held at today’s value
dominantWorkout = the session with the largest decayed contribution on the limiting clock
Why a Hill curve. The two constants per clock are the load ratio at which it reads exactly 50 (1.08 fast, 1.22 slow) and how sharply it falls past that (1.9 fast, 4.0 slow). The first shape tried, a plain exponential 100 × 0.5(u / 0.6), could not meet the targets: “steady easy training next morning ≈ 70–78” and “one 2× day next morning ≈ 50–55” differ by only 1.4× in load ratio, so a single constant cannot separate them while also reaching the mid-twenties after four hard days. The Hill form is flat below the norm and steep just above it — the shape the targets describe. Read across the curve:
| u (load ÷ norm) | 0.25 | 0.5 | 0.67 | 1.0 | 1.25 | 1.5 | 2.0 | 3.0 |
|---|---|---|---|---|---|---|---|---|
| Fast clock | 94 | 81 | 71 | 54 | 43 | 35 | 24 | 13 |
| Slow clock | 100 | 97 | 92 | 69 | 48 | 30 | 12 | 3 |
u = 0.67 is what a normal daily session looks like 14 hours later at age 16 (0.514/24) — the “steady training next morning” reading of 71–72. Right after that same session u = 1.0 and the fast clock reads 54, which is why an evening check after an ordinary run says Steady and the morning says Ready. K by age: 16 → 2.00 fast / 6.29 slow · 30 → 2.35 / 7.73 · 45 → 2.88 / 9.89 · 60 → 3.41 / 12.05. The legacy single score still runs on the original fixed-48h SAM clock (acuteLegacy) so older app versions and stored history do not move.
Why two tissue clocks — the evidence
The two clocks track two layers of post-exercise physiology that the literature keeps separate, and neither is the autonomic layer Recovery already measures. HRV and resting heart rate rebound within minutes to hours of a session (Stanley, Peake & Buchheit 2013; Seiler, Haugen & Kuffel 2007). Muscle glycogen resynthesis and neuromuscular recovery — jump height, force, soreness — take 24–48 hours after hard intervals and longer after repeated sprints or eccentric work (Yang et al. 2025; Clarkson & Hubal 2002): that is the fast clock. Creatine kinase peaks a day after a marathon and stays elevated for about six days, running mechanics are still altered at 48 h, and tendon stiffness adapts and de-adapts over weeks (Kubo 2010/2012; Bohm et al. 2015): that is the slow clock. Capacity adapting over six weeks follows the same evidence from the other side — VO₂max and enzyme adaptations rise with a half-time of 10–12 days and plateau after about three weeks at a given load (Hickson et al. 1981), so what the body is “used to” is a matter of weeks, not of last month’s average.
The dose term follows the training-stress-score tradition: tissue stress rises faster than pace (the SAM pace multiplier itself is a power law above baseline, and ground-reaction and eccentric load scale with speed), so dose is super-linear in intensity. Fitness–fatigue models in the Banister tradition make the structural point: fatigue and adaptation are separate exponentials with very different time constants, and the fatigue half of the model is a useful description rather than a validated individual forecast — which is why RunIntensity pairs it with a directly observed Recovery number instead of leaning on modelled fatigue alone. The injury-prediction claims around acute:chronic ratios have not held up (Impellizzeri et al. 2020), so Freshness says “your legs are still carrying a lot, give it days” — never a probability of getting hurt.
Coming next: soreness reaches the scorer (Phase 2)
One addition is still pending, and the final number becomes the lowest of the three:
- Soreness ceiling. Soreness you log in the body diagram becomes a ceiling on Freshness (mild 75 / moderate 50 / severe 25, relaxing as the entry ages), and a logged, unresolved injury pins Freshness low for its affected period. Your own report can hold the number down after both clocks would have released it — a great HRV morning can no longer paint the whole picture green while you’ve told us your Achilles is sore (Saw, Main & Gastin 2016).
Readiness History
Two lines — Recovery snaps back overnight, Freshness drops with a workout and climbs back over a day or two when it’s the fast clock, about a week when the slow clock is holding it down. The history chart in the app and in the Coach Dashboard plots both stored values for the last 30 days with a color band for each day’s verdict. Watch the two lines diverge: Recovery climbing while Freshness is still low is the classic day-after-a-long-run picture; Recovery falling while Freshness sits near 100 is the not-load-related flag showing up as a trend. Three consecutive Steady or Recover days are a signal to pull back; one is usually noise.
Youth Training Safety (Under 14)
For athletes under 14, growth-plate injury is a cumulative-load problem — weekly volume, progression rate, and rest-day spacing — not an acute-fatigue problem. Young athletes actually recover faster autonomically than adults, so their Recovery score will often say “go” while growing bones and tendons are still accumulating stress from yesterday’s run. For that reason, a separate guardrail caps the verdict — it never changes the Recovery or Freshness measurements themselves:
- Soft cap. Even on a peak recovery day, the app never tells a young athlete to push harder than usual — “Ready for age-appropriate work” is the ceiling.
- Weekly-hours cap equal to age in years. A 10-year-old should do at most ~10 hours of organized running per week; an 11-year-old ~11 hours, and so on (DiFiori et al., AMSSM, 2014). At or over the cap, the verdict is held to Steady.
- 10% weekly progression rule. If this week’s running volume is more than 10% above last week’s, the verdict is held to Steady and the jump is flagged. Pre-pubertal research (Valovich McLeod et al., NATA, 2011) actually supports a stricter 8% cap; the 10% rule matches the widely-taught running education standard.
- Mandatory rest days. 6+ consecutive run days, or fewer than 2 rest days in the last 7, forces Recover regardless of the numbers (AAP Council on Sports Medicine and Fitness, Brenner et al., 2016).
The guardrail runs automatically when a birth year is entered in Settings and the athlete is under 14. When it acts, the verdict carries the line “Growing-athlete guardrail applied to today’s verdict.” so a coach can see the cap was applied — it is separate and explicit, not a hidden fudge.
Stress-Adjusted Miles (SAM)
Each workout contributes a SAM value rather than raw mileage. SAM is a 5‑factor model that captures the real physiological cost of the run — not just the distance on the GPS:
- Intensity — heart-rate-zone multiplier. Z1 ≈ 0.5×, Z5 ≈ 2.5×. Derived from your actual HR samples, not perceived effort.
- Terrain — elevation penalty. Downhill +4% per 100 ft/mi (eccentric muscle damage), uphill +2% per 100 ft/mi (muscular effort).
- Fatigue — cumulative long-run penalty. +1% per mile beyond 6 mi, +2% per mile beyond 13 mi (glycogen depletion).
- Surface — track 1.00×, treadmill 0.95×, trail 0.95×, road 1.00×, concrete 1.05×, sand 1.08×, snow/ice 1.06×.
Training Adaptation
Readiness answers today. The training-adaptation features answer the next question a coach asks: when is the next hard session, how is the base trending, and what does the last stretch before a race look like? Everything below is descriptive or a minimum — never a prediction. The app says “earliest recommended” for the hard-session gap, “usually” for what the evidence says most athletes do, and “keeps” for what a taper maintains. There is no injury language and no “optimal” hour or day.
Earliest recommended hard session
Every completed workout is classified from its own segments — plyometrics, strength, sprints, VO₂max intervals, threshold/tempo, long run, hills, or easy — and a race milestone in the last two weeks counts as a hard session too. Each hard type carries a base recovery gap (longer for plyometrics and long runs, shorter for tempo), scaled up for a longer-than-usual or hillier-than-usual effort and by age (the same 2%-per-year-after-30 coefficient the Freshness clock uses). The earliest recommended hard session is the latest of session date + gap over the last fourteen days — so a Tuesday tempo does not shorten the gap a Sunday long run already set. The Today card and the Coach Dashboard show it as one line: “Earliest recommended hard session: Thu”, or “Ready for quality today” once the gap has elapsed and Recovery and Freshness agree (Recovery ≥ 70, Freshness ≥ 85). When the gap has passed but the morning numbers have not caught up, the line says so and asks for a Recovery check first.
Fitness and Form
Fitness is a 42-day exponentially weighted average of daily SAM — a slow, descriptive read on the athlete’s base, shown as a 90-day line with the 6-week change (“Fitness up 8% over 6 weeks”). It rises when weeks stack and drifts down through a break; it is the same fitness–fatigue construction the Freshness clocks come from, viewed on the long clock. Form is a band, not a score — Fresh, Neutral, Fatigued, or Over-reached — read from the Freshness score and whether Fitness is holding. Over-reached means Freshness has sat low for several consecutive days or the last seven days ran well above Fitness; the guidance is to ease off and let it settle. Neither number predicts anything.
Race priority and the taper proposal
Each race milestone carries a priority: Target (★ — the race the block is built around), Supporting (the default — training continues through it), or Tune-up (raced as a workout; counts as a hard session, no taper). For the next Target race the app proposes a taper it can size from the athlete’s own history: one to three weeks depending on distance, with the longer option when the last three weeks ran above the 8-week average (the “overload” case). Weekly SAM steps down exponentially to about half of the recent average by race week; each week keeps one to two quality sessions and cuts the number of runs by at most 20%. The proposal is shown as a preview — “Week of 10/6: 38 SAM · 2 quality” — and only becomes the weekly budget when the athlete, the coach, or Coach Brady applies it. A Supporting race gets a three-day freshen-up at about 70% volume with intensity kept; a Tune-up gets nothing. Once a taper is in place the planner reads the plan against it and flags a week with no quality session, a week planning more SAM than the tapered budget, or a week that cuts sessions below the minimum — warnings, never blocks.
Research & Citations
Every weight, coefficient, and threshold in the model is grounded in peer-reviewed literature or professional-society position statements. The citations are grouped by the clock they inform.
Two numbers instead of one
The previous model (v2) computed the same physiology base and the same workout-load term, then subtracted one from the other into a single score — its rationale was to avoid double-counting yesterday’s session, which the overnight signals already carry. That rationale still holds, and the split completes it: instead of subtracting load from physiology, the two are shown side by side so their divergence is visible. The legacy single score is exactly max(0, Recovery − (100 − Freshness) ÷ 2) and is still synced for older app versions; it is deprecated and will be retired. (The second number first shipped as an inverted “load” scale, higher = worse; it was flipped to Freshness so both numbers read the same way — 100 = good.)
The Recovery clock (HRV, Sleep, RHR)
- Stanley, Peake & Buchheit (2013). Cardiac parasympathetic reactivation following exercise. Sports Medicine, 43(12), 1259–1277. — Autonomic reactivation runs on a 24–48h clock (24h after low-intensity work, 24–48h after threshold, ≥48h after high-intensity sessions). This is why Recovery snaps back overnight — and why it says nothing about tissue repair.
- Fullagar et al. (2015). Sleep and athletic performance: the effects of sleep loss on exercise performance. Sports Medicine, 45(2), 161–186. — Quantified the 30%+ next-day performance impact of insufficient sleep.
- Buchheit (2014). Monitoring training status with HR measures: do all roads lead to Rome? Frontiers in Physiology, 5:73. — RHR as a coarser proxy for HRV, supporting the 20% vs 35% weighting.
- Koenig & Thayer (2016). Sex differences in healthy human heart rate variability: A meta-analysis. Neuroscience & Biobehavioral Reviews, 64, 288–310. — Baseline HRV differs by sex; personalized baseline normalization handles this without an explicit sex adjustment.
The Freshness clock (muscle, tendon, bone)
- Clarkson & Hubal (2002). Exercise-induced muscle damage in humans. American Journal of Physical Medicine & Rehabilitation, 81(11 Suppl), S52–S69. — After damaging exercise, force production and creatine-kinase markers stay suppressed for 3–7 days, long after HRV has normalized; CK clearance and strength restoration are 20–30% slower at 50 than at 25. This is the citation under “Recovered isn’t the same as healed” and the reason Freshness exists as its own number.
- Banister, Calvert, Savage & Bach (1975, 1991). Fitness-Fatigue model of training response. — Foundational work behind the exponential-decay approach to modeling residual training stress; the shape of the Freshness recovery curve.
- Hickson, Hagberg, Ehsani & Holloszy (1981). Time course of the adaptive responses of aerobic power and heart rate to training. Medicine & Science in Sports & Exercise, 13(1), 17–20. — VO₂max rose for about three weeks after each load step with a half-time of 10–11 days, then plateaued. Source of the six-week (42-day) capacity time constant: what the body is adapted to is a matter of weeks.
- Kubo et al. (2010, 2012) and Bohm, Mersmann & Arampatzis (2015). Time course of changes in tendon stiffness with training and detraining (patellar and Achilles); meta-analysis of human tendon adaptation. — Tendon adapts over roughly twelve weeks and returns toward baseline within about two months of detraining. The timescale behind the slow clock and its four-times-longer half-life.
- Yang et al. (2025). Neuromuscular and perceptual recovery after long-interval, short-interval and repeated-sprint sessions in middle-distance runners. Biology of Sport. — Jump performance, force and soreness back to baseline by 24–48 h after interval work, still depressed at 24 h after repeated sprints. Source of the fast clock’s 24–48 h half-life.
- Williams et al. (2017). Calculating acute:chronic workload ratios using exponentially weighted moving averages. British Journal of Sports Medicine, 51, 209–213. — EWMA-based load responds more sensitively to recent sessions than rolling sums. Both Freshness clocks and the capacity term use the same decayed-sum construction — used descriptively, and never as a ratio scored for injury.
- Tanaka & Seals (2003). Invited Review: Dynamic exercise performance in Masters athletes. Journal of Applied Physiology, 95, 2152–2162. — Aerobic and muscular recovery decline ~10% per decade after 30. Source of the 2%-per-year coefficient on the Freshness half-life.
- Fell & Williams (2008). The effect of aging on skeletal-muscle recovery from exercise. Journal of Aging and Physical Activity, 16, 97–115. — Systematic review of masters-athlete recovery curves (25–50% longer).
- Fatouros & Jamurtas (2016). Insights into the molecular etiology of exercise-induced inflammation. Sports Medicine, 46(3), 281–310. — Inflammation resolution slower in older athletes.
- Saw, Main & Gastin (2016). Monitoring the athlete training response: subjective self-reported measures trump commonly used objective measures. British Journal of Sports Medicine, 50(5), 281–291. — Subjective soreness and wellness track training load with superior sensitivity and frequently dissociate from objective markers like HRV. The justification for the Phase-2 soreness ceiling as an independent input to Freshness.
Training adaptation (hard-session gap, Fitness, taper)
- Bosquet, Montpetit, Arvisais & Mujika (2007). Effects of tapering on performance: a meta-analysis. Medicine & Science in Sports & Exercise, 39(8), 1358–1365. — Across 27 studies the tapers that usually improved performance reduced training volume by 41–60% over about two weeks while keeping training frequency and intensity, with a progressive (exponential) reduction outperforming a step reduction. Source of the ~50%-by-race-week target, the exponential step-down, the 7–21-day range, and the “keeps quality” rule.
- Mujika & Padilla (2003). Scientific bases for precompetition tapering strategies. Medicine & Science in Sports & Exercise, 35(7), 1182–1187. — Review of taper design: a longer taper usually suits a preceding overload phase, frequency should stay above ~80% of normal, and the final days may carry a small volume bump on weak evidence. Source of the overload branch, the 20% session-count floor, and the off-by-default final bump.
- Hickson, Foster, Pollock, Galassi & Rich (1985). Reduced training intensities and loss of aerobic power and endurance during 15 weeks of reduced training. Journal of Applied Physiology, 58(2), 492–499. (See also Hickson & Rosenkoetter, 1981, and Hickson et al., 1982, on reduced frequency and duration.) — When intensity was maintained, aerobic power and endurance held for up to 15 weeks despite volume cut by up to two thirds; when intensity was cut, both declined. The evidence behind “cut volume, not intensity” and behind reading Fitness as a slow, holding base rather than something a taper week erodes.
- Banister, Calvert, Savage & Bach (1975); Busso (2003). Fitness–fatigue impulse-response models. — The 42-day exponentially weighted average behind Fitness is the “slow” component of the same two-component model whose “fast” component the Freshness clocks draw on; here it is used descriptively, not to forecast performance.
Load ratios describe; they don’t predict
- Gabbett (2016). The training—injury prevention paradox. British Journal of Sports Medicine, 50, 273–280. — Popularized the acute:chronic workload ratio (ACWR) and a 0.8–1.3 “sweet spot” said to minimize injury.
- Impellizzeri et al. (2020). Acute:Chronic Workload Ratio: conceptual issues and fundamental pitfalls. International Journal of Sports Physiology and Performance, 15(6), 907–913. — Together with subsequent meta-analyses, found no reliable sweet spot and weak, inconsistent predictive power for ACWR. RunIntensity therefore does not present Freshness as an injury forecast. Freshness does not compute an ACWR at all — it grades absolute decayed dose against a slowly adapting capacity — and a low Freshness number means “your legs are still absorbing a lot,” not “you are N% likely to get hurt.”
Youth recovery physiology (ages 9–17)
- Ratel, Duché & Williams (2006). Muscle fatigue during high-intensity exercise in children. Sports Medicine, 36(12), 1031–1065. — Youth PCr resynthesis and repeated-sprint recovery faster than adults; the recovery difference grows progressively rather than stepping at puberty. Source of the shorter youth Freshness half-life (floored at 24 h — the tissue clocks never run faster than that).
- Hebestreit, Mimura & Bar-Or (1993). Recovery of muscle power after high-intensity short-term exercise: comparing boys and men. Journal of Applied Physiology, 74(6), 2875–2880. — 9–12yo boys recover ~40% faster than adults on repeated-power tasks.
- Armstrong & Welsman (2007). Exercise and Fitness Metabolism in Children and Adolescents. Oxford University Press. — Youth aerobic recovery markers (lactate clearance, HR recovery) 20–30% faster than adults.
- Falgairette et al. (1991). Blood lactate during and after maximal and submaximal exercises of short duration in young boys and men. International Journal of Sports Medicine, 12(6), 554–558. — Lactate clearance half-time ~35% faster in 10–13yo boys than 20–25yo men.
Youth training safety (injury prevention)
- DiFiori et al. (2014). Overuse injuries and burnout in youth sports: a position statement from the American Medical Society for Sports Medicine. Clinical Journal of Sport Medicine, 24(1), 3–20. — Source of the four youth-guardrail rules: hours/week ≤ age, ≤10% progression, 1–2 rest days/week, 2–3 months/year off a specialized sport.
- Brenner & AAP Council on Sports Medicine and Fitness (2016). Sports Specialization and Intensive Training in Young Athletes. Pediatrics, 138(3), e20162148. — Clinical report reinforcing AMSSM limits; adds 8-month-per-year single-sport cap.
- Micheli & Klein (1991). Sports injuries in children: risks, prevention, and treatment. British Journal of Sports Medicine, 25(1), 6–20. — Foundational paper linking growth-plate injury to cumulative load rather than acute fatigue.
- Caine, Maffulli & Caine (2008). Epidemiology of injury in youth sports. Clinics in Sports Medicine, 27(1), 19–50. — Risk factors ranked: volume jumps, prior injury, specialization before 12, inadequate rest.
- Valovich McLeod et al. (2011). National Athletic Trainers’ Association position statement: prevention of pediatric overuse injuries. Journal of Athletic Training, 46(2), 206–220. — Supports a stricter ≤8% weekly progression for pre-pubertal athletes.
SAM and surface multipliers
- Scheer et al. (2013). Endurance training, alterations in cardiac and skeletal muscle, and running surface. Medicine & Science in Sports & Exercise. — Source for the surface-factor multipliers in the SAM model.
- Vernillo et al. (2017). Biomechanics and physiology of uphill and downhill running. Sports Medicine, 47(4), 615–629. — Supports terrain factor (downhill eccentric damage, uphill muscular cost).
- Clansey et al. (2012). Effects of fatigue on running mechanics associated with tibial stress fracture risk. Medicine & Science in Sports & Exercise, 44(10), 1917–1923. — Supports cumulative-fatigue factor (impact forces rise as muscles fatigue over long runs).
Data Sources
Every signal is read from Apple HealthKit (or Health Connect on Android) on the athlete’s phone — nothing is inferred from third-party services or stored on our servers beyond what’s needed for the Coach and Friends views.
- Heart rate variability:
heartRateVariabilitySDNNsamples, typically captured overnight by Apple Watch. - Sleep:
sleepAnalysiscategory samples (in bed, core, deep, REM). - Resting heart rate:
restingHeartRatedaily value. - Workouts: All
HKWorkoutrecords — running, walking, cycling, hiking, swimming, strength training, and any other activity HealthKit knows about. - Soreness & injuries (Phase 2): what you log in the body diagram.
Where You’ll See It
- Phone app: The Today card leads with the verdict and one line of guidance, with Recovery and Freshness underneath — both rings filling toward 100 = good; the detail card breaks each down (Recovery components; Freshness’s two clocks with the “absorbed in” countdown); history shows both lines with the verdict band. Widgets, Siri and the morning push carry the same pair.
- Coach Dashboard (web): Athlete cards and the Team Readiness table show Recovery NN · Freshness NN with the verdict badge; each athlete’s Health tab shows the two tiles (with the fast and slow clock under Freshness, the line naming which one is holding it down, the session still being absorbed, and the six-week capacity the load is graded against), the verdict guidance, a 7-day hourly Freshness timeline with both clocks drawn faintly behind it, and the 30-day two-line history.
- Training adaptation: The Today card and each athlete’s Overview/Health tab carry the next-hard-session line with the gate status; the Health tab adds the 90-day Fitness line and the Form band; the Plan tab and Planner show the taper proposal for the next Target race with an Apply button and warning chips on planned quality sessions; the roster shows “next hard” and Form for every athlete.
- Friends Mode: Connected friends see each other’s Recovery, Freshness and verdict — but not the raw HRV/RHR numbers, which stay private.
Questions?
If a verdict doesn’t match what you’re feeling, the in-app detail card shows which clock is holding it — and logging soreness tells the model what your legs know. For deeper questions, reach out at support@zerodi.net — we’re always happy to explain the math.