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:

  1. Time-based: >42 days since last deload (every 4-6 weeks is standard)
  2. TSB: Below -30 for more than 7 consecutive days
  3. ACWR: Above 1.3 for more than 5 consecutive days
  4. HRV: Downward trend for 7 days while below personal baseline
  5. 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

SystemApproachKey Innovation
TrainerRoadML on 250M+ workoutsProgression Levels (1-10) per zone, 38% lower failure rates
WHOOP24/7 biometricsRecovery Score (0-100%), GPT-4 coaching layer
Garmin CoachWatch-basedTraining 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 strava skill for querying training data