ALGORITHM · FATIGUE INDEX
After each session, Calyber reads every muscle you trained and answers two questions: is it ready to train hard, and how much fatigue is it carrying? Those answers set your next volume and tell Calyber when to ease off.
New to Calyber? See how it works →What it is, and is not
The fatigue index is a session-local, per-muscle training-adjustment model. It reads only the signals from your workout and tells Calyber how to set your next session for that muscle.
What it is
What it is not
Readiness vs accumulation
The fatigue index is two scores, not one. A muscle can perform fine today and still be carrying fatigue that should cap next week, so Calyber tracks readiness and accumulation separately.
Terms:
Inputs
Calyber combines objective training data with two quick session ratings. Soreness and workload are useful but noisy, so neither decides the score alone. Pump is recorded as a note and has zero weight in the calculation.
Objective
Measured from your logged sets.
e1RM or total reps vs prior session
Used in: Readiness
Actual sets divided by planned sets
Used in: Accumulation
Subjective
Quick session ratings. Useful but noisy.
Pre-session self-report
Used in: Readiness + accumulation
Post-session self-report
Used in: Accumulation
Annotation only
Recorded, but never moves the score.
Post-session note
Used in: Annotation only
Pump is recorded but not used to calculate fatigue, because pump is heavily influenced by hydration, caffeine, blood flow, and exercise selection.
| INPUT | SOURCE | SCALE | WEIGHT IN FORMULA |
|---|---|---|---|
| Performance severity | Objective: change in e1RM or total reps vs prior session | none / mild / moderate / severe | 0 / 0.3 / 0.6 / 1.0 |
| Baseline coverage | Fraction of planned exercises with prior session data | 0 to 1 | Multiplies performance severity |
| Soreness | User self-report at session start | 0 to 3 | 40% of readiness, 30% of accumulation |
| Set completion | Weighted actual sets divided by planned sets | 0 to 1 | 50% of accumulation |
| Workload rating | User rating at session end | 0 to 3 | 20% of accumulation |
| Pump | User self-report after session | 0 to 2 | Annotation only, zero causal weight |
Worked example
Session: Chest, Week 4, Day 1
Moderate. Calyber may reduce load and hold off on aggressive progression.
Calyber reduces pressing volume and surfaces a recovery protocol before the next chest session.
The decision
Readiness is moderate and accumulation crosses the High threshold, so the session resolves into one routing decision for the next chest day.
effectivePerfScore = PERF_SCORE[mild] x 1.0 = 0.30 sorenessReadiness = SORENESS_READINESS[2] = 0.60 sorenessCarryover = SORENESS_CARRYOVER[2] = 0.50 workloadModifier = VOLUME_STRESS[2] = 0.75 objectiveSetFraction = clamp(0, 1, 9/10) = 0.90 readinessIndex = 1.0 - (0.30 x 0.60 + (1 - 0.60) x 0.40) = 0.66 accumulationIndex = 0.90 x 0.50 + 0.50 x 0.30 + 0.75 x 0.20 = 0.75
Decision thresholds
Each score maps to a fixed band, and each band routes the next session. The worked example lands where the markers sit.
Accumulation: volume and recovery routing
Readiness: load and volume
When accumulation reaches High, the fatigue index hands off to the recovery protocol. See what Calyber does when fatigue is high →
Accumulation
| ACCUMULATION | STATUS | WHAT CALYBER DOES |
|---|---|---|
| Below 0.30 | Fresh | No change. Progression allowed. |
| 0.30 to 0.49 | Moderate | Hold volume. Load progression paused. |
| 0.50 to 0.64 | Elevated | Reduce volume. Recovery check triggered. |
| 0.65 and up | High | Deload eligible. Recovery protocol surfaced. |
Readiness
| READINESS | WHAT IT MEANS |
|---|---|
| 0.80 and up | Ready for full planned volume and load. |
| 0.60 to 0.79 | Moderate. Load may be reduced. |
| 0.40 to 0.59 | Impaired. Volume reduced. |
| Below 0.40 | Low. Recovery session prescribed. |
The formula
Starts at 1.0, drops as performance falls and soreness rises.
Builds up from completed sets, soreness carryover, and workload.
readinessIndex = clamp(0, 1, 1.0 - (effectivePerfScore x 0.60 + (1 - sorenessReadiness) x 0.40)) accumulationIndex = clamp(0, 1, objectiveSetFraction x 0.50 + sorenessCarryover x 0.30 + workloadModifier x 0.20)
References
Schoenfeld, B.J. (2021). Science and Development of Muscle Hypertrophy (2nd ed.). Human Kinetics.
Schoenfeld, B.J., Ogborn, D., Krieger, J.W. (2017). Dose-response relationship between weekly resistance training volume and increases in muscle mass: a systematic review and meta-analysis. J Sports Sci, 35(11), 1073-1082. doi:10.1080/02640414.2016.1210197
Zourdos, M.C., Klemp, A., Dolan, C., et al. (2016). Novel resistance training-specific rating of perceived exertion scale measuring repetitions in reserve. J Strength Cond Res, 30(1), 267-275. doi:10.1519/JSC.0000000000001049
Helms, E.R., Aragon, A.A., Fitschen, P.J. (2014). Evidence-based recommendations for natural bodybuilding contest preparation: nutrition and supplementation. J Int Soc Sports Nutr, 11, 20. doi:10.1186/1550-2783-11-20
These references support volume dose-response, effort-based prescription, and recovery principles. The fatigue index is a product-specific model that combines these signals into deterministic training decisions; it is not a validated physiological measurement.
FAQ
It is a per-muscle score that estimates how much fatigue a muscle group is carrying after training. Calyber computes one for each muscle you train and uses it to set your next session volume and to decide when to ease off.
Readiness asks whether a muscle can perform well in the next session, and sets load and volume. Accumulation asks how much fatigue has built up across the block, and gates volume cuts, recovery, and deload. A muscle can be ready to perform today while still accumulating enough fatigue to justify reducing next week.
Soreness is one useful signal, but it is noisy and is not a direct measure of muscle damage. Calyber combines it with objective performance, set completion, and workload rather than relying on soreness alone.
No. It uses only the signals from the session: performance, soreness, set completion, and workload. It does not use HRV, sleep, cardiovascular data, or any wearable input.
As a muscle crosses the accumulation thresholds, Calyber first holds volume, then reduces it, then surfaces a recovery protocol. Each step is a fixed threshold, not a feeling.
Calyber tracks fatigue by muscle group, then adjusts your volume and surfaces recovery before a stall.
28-day free trial · No card required
Trial starts when you build your first mesocycle
Founding $19/mo locked · Standard $29See plans →