Evidence-based training metrics and the science behind automated fitness coaching. Covers the key concepts agents need to understand when building or maintaining training analysis systems.
Training Load Metrics
Training Stress Balance (TSB)
The core framework for quantifying fitness and fatigue:
- CTL (Chronic Training Load) — 42-day exponentially weighted average. Represents “fitness.” Higher = more trained.
- ATL (Acute Training Load) — 7-day exponentially weighted average. Represents “fatigue.” Higher = more tired.
- TSB (Training Stress Balance) — CTL minus ATL. Represents “form.”
Interpreting TSB:
- Positive TSB (+5 to +25): Fresh, ready to perform. Too high for too long = detraining.
- TSB -10 to -30: Optimal training stimulus. Productive stress.
- TSB below -30 sustained >7 days: Overreaching risk. Consider deload.
Acute:Chronic Workload Ratio (ACWR)
Compares recent load (7-day) to longer-term load (28-day average).
- Sweet spot: 0.8–1.3 — lowest injury risk
- Above 1.3 for 5+ days — elevated injury and overtraining risk
- Below 0.8 — detraining / insufficient stimulus
The exponentially weighted moving average (EWMA) calculation is preferred over simple rolling averages, as it gives more weight to recent sessions.
Heart Rate Variability (HRV)
HRV (specifically RMSSD) reflects parasympathetic nervous system activity. Lower values indicate stress or poor recovery.
How it’s used:
- Establish a 30-60 day personal baseline (average ± standard deviation)
- Compare current 7-day rolling average to baseline
- Downward trend for 7+ days while below baseline = recovery issue
Best measured during sleep (most consistent) or immediately upon waking. Systems like WHOOP use the slowest sleep phase for consistency.
Automated Deload Triggers
Deloads (planned recovery weeks with reduced volume/intensity) prevent overtraining. Automated systems should trigger when two or more conditions are met:
- Time-based: >42 days since last deload (every 4-6 weeks is standard)
- TSB: Below -30 for more than 7 consecutive days
- ACWR: Above 1.3 for more than 5 consecutive days
- HRV: Downward trend for 7 days while below personal baseline
- Performance: Two or more failed workouts within 14 days
Requiring multiple triggers reduces false positives while catching genuine fatigue accumulation.
Zone 2 Training
Dr. Iñigo San Millán’s research shows Zone 2 training maximizes mitochondrial development while minimizing fatigue accumulation. It’s the foundation of endurance performance.
What Zone 2 is:
- Intensity where you can speak in full sentences comfortably (“talk test”)
- Typically 60-70% of max heart rate
- For a 40-year-old (max HR ~180 via Tanaka formula): 108-126 BPM
Why it matters:
- Builds aerobic base without accumulating excessive fatigue
- Should comprise 80% of training volume (polarized training model)
- Minimum effective dose: 3-4 sessions per week, 45-90 minutes each
Returning Athlete Physiology
Former endurance athletes regain fitness 2-3× faster than beginners due to myonuclear retention — muscle cells retain nuclei from previous training that enable faster rebuilding. This is sometimes called “muscle memory” (the actual cellular mechanism, not the motor pattern kind).
Key constraints for returning athletes:
- Cardiovascular fitness returns in 4-8 weeks
- Connective tissue (tendons, ligaments) needs longer — the limiting factor
- 10-15% weekly volume increase maximum to protect connective tissue
- Solid base for longer efforts: 3-4 months
- Full endurance fitness: 12-18 months
Strength Training for Endurance Athletes Over 40
Non-negotiable. Muscle mass decreases 3-8% per decade after 30. Since cycling/running are non-weight-bearing, strength work preserves bone density and prevents connective tissue injuries.
Periodization:
- Off-season: 3 sessions/week, heavier loads
- Pre-season: 2 sessions/week
- In-season: 1-2 quick sessions (20-30 min), maintenance only
- Protein: 1.7-2.0g per kg bodyweight daily, distributed across meals
Proactive vs Reactive Coaching
Behavioral science strongly favors proactive intervention. A meta-analysis of 33 Just-In-Time Adaptive Intervention (JITAI) studies found:
- Proactive adaptive interventions: effect size g = 0.89-1.65 (large)
- Reactive-only approaches (reminders when workouts missed): g = 0.01 (negligible)
What works:
- Goal setting + self-monitoring (g = 0.32-0.36)
- Anticipatory support, not post-hoc reminders
- Context-aware timing (location, weather, activity state)
- Personalized content, not generic messages
- ≤7 behavior change techniques (more overwhelms users)
- Autonomy support (offering choices within structure) predicts long-term adherence
Habit Formation
The 21-day myth was debunked by Lally et al. (2010):
- Average time to automaticity: 66 days
- Exercise habits: 91 days median (range 18-254 days)
- Early repetitions produce larger automaticity gains (asymptotic curve)
- Missing a single day has minor temporary impact — consistency > perfection
The Fogg Behavior Model (B=MAP): Behavior occurs when Motivation, Ability, and Prompt converge. Reduce friction, match difficulty to current ability, use reliable triggers.
Existing Systems Worth Studying
| System | Approach | Key Innovation |
|---|---|---|
| TrainerRoad | ML on 250M+ workouts | Progression Levels (1-10) per zone, 38% lower failure rates |
| WHOOP | 24/7 biometrics | Recovery Score (0-100%), GPT-4 coaching layer |
| Garmin Coach | Watch-based | Training Status metrics (Productive, Peaking, Detraining) |
Common pattern: personalized baselines (60-90 days), multi-metric fusion (HRV + load + sleep + subjective), autoregulation (scheduled + reactive adjustments).
Strava API for Training Analysis
The Strava API v3 provides the data backbone for automated coaching:
Key endpoints:
- Activity details: distance, time, elevation, heart rate, power, cadence
- Streams (
/activities/{id}/streams): high-resolution time-series (GPS, HR, power, velocity) - Zones (
/activities/{id}/zones): heart rate zone distribution suffer_score: relative effort metric
Rate limits: 200 requests/15 min, 2,000/day. Webhooks for real-time notifications don’t count against limits.
Architecture pattern: Store historical data locally for CTL/ATL/TSB/ACWR calculations. Use webhooks for real-time activity notifications. Fetch detail data on-demand within rate limits.
See Also
- Forgejo — CI/CD that powers automated data sync
- Agent Skills — includes the
stravaskill for querying training data