The math behind the scores
Transparent formulas—no black box. All weights are logged in kg.
Muscle stimulus (per set)
stimulus = weight × reps × muscle contribution
Weight is bar load in kg. Contribution is how much an exercise targets that muscle (e.g. 1.0 primary, ~0.4 secondary).
Used for: Muscle impact maps, weekly stimulus totals, coach charts.
Effective reps
effective reps = max(0, reps − RIR)
Reps in reserve (RIR) estimates how many more reps you could have done. Stored for analysis; stimulus currently uses raw reps.
Used for: Set records and future intensity modeling.
Weekly muscle stimulus
weekly stimulus = Σ stimulus scores (last 7 days)
Summed per muscle from all sets that hit that muscle in the rolling week window.
Used for: Growth estimates, recovery, undertrained detection.
Recovery score
recovery = clamp(100 − (weeklyStimulus / 5000) × 75, 15, 100)
More weekly load lowers recovery. Untrained muscles (0 stimulus) sit at 100%.
Used for: Recovery body map, ready-to-push logic.
Growth score
growth = round(stimulusScore × 0.6 + recovery × 0.4), where stimulusScore = min(100, (weeklyStimulus / 3000) × 100)
Balances recent training volume with readiness. Trend compares this week vs prior week stimulus.
Used for: Growth map colors, muscle detail charts.
Estimated 1RM
e1RM = weight × (1 + reps / 30)
Epley-style estimate for strength trend tracking.
Used for: Strength history (when enabled in your training pipeline).
Relative workload
volume per kg = (Σ weight × reps) / body weight
When your profile is set, coach compares total set volume to your body weight in kg.
Used for: Personalized AI coaching and workload context.
BMI (profile)
BMI = body weight (kg) / (height (m))²
Body metrics plus age inform coaching tone and recovery expectations—not logged set weights.
Used for: Profile page and coach context.