Methodology
Steig Load
A deterministic, multisport training-load model. One number across running, cycling, swimming, rowing, and strength — normalized to your threshold, not to a proprietary metric.
Core unit
100
= 1 hour at your threshold-equivalent effort
Core formula
t × RI² × 100
duration in hours × intensity weight
Normalization
× sport × estimator
× athlete × calibration
four multiplicative factors
Intensity weighting
The quadratic curve
Training load scales with intensity squared. A session at 1.2× threshold costs 44% more than a session at the same duration at threshold — not just 20%. This captures the physiological reality that high-intensity work is disproportionately costly.
Session simulator
Raw load
72.2
before normalization
Steig Load
72
after sport normalization
Formula trace
1.00h × 0.85² × 100
= 72.2 raw
Estimator selection
Best signal wins
Each activity picks the strongest available signal. No single formula works for all sports — power is king for cycling, pace for running and swimming, set volume for strength. Weaker signals fall back gracefully with reduced confidence.
Power Load
Effective Power / FTP
HR Impulse
Avg HR / threshold HR
Perceived
Session RPE × duration
Load aggregation
Three windows, one history
Each session adds to three exponentially-weighted averages. A short window (7d) reacts fast — tracking current fatigue. A long window (42d) moves slowly — tracking fitness capacity. Form is the gap between them.
Acute Load
τ = 7 days
α = 1 − e^(−1/7)
Short-term fatigue signal
S[n] = S[n−1] + α × (load − S[n−1])
Chronic Load
τ = 28 days
α = 1 − e^(−1/28)
Medium baseline for ratio
S[n] = S[n−1] + α × (load − S[n−1])
Long Load
τ = 42 days
α = 1 − e^(−1/42)
Long-term capacity trend
S[n] = S[n−1] + α × (load − S[n−1])
Form balance
Long Load − Acute Load
When you train hard, acute load rises faster than fitness — form drops. When you rest, acute load falls while fitness holds — form rises. The productive zone is where most quality training should happen.
Overreached
-60 to -14
Loaded
-14 to -4
Productive
-4 to 8
Fresh
8 to 18
Sharp / Taper
18 to 60
Normalization
One scale, four factors
Raw load is in arbitrary units per sport per method. Four factors bring everything onto one comparable scale. Sport factors align physiological cost. Estimator factors correct known bias of each method type.
| Sport / Method | Sport factor | Estimator | Estimator factor | Combined |
|---|---|---|---|---|
| Run | 1.0 | pace | 1.00 | 1.00× |
| Cycling | 1.0 | power | 1.00 | 1.00× |
| Swimming | 1.1 | pace | 1.00 | 1.10× |
| Rowing | 1.0 | power | 1.00 | 1.00× |
| Strength | 0.6 | strength | 1.00 | 0.60× |
| HR fallback | 1.0 | hr_impulse | 0.90 | 0.90× |
| RPE fallback | 1.0 | perceived | 0.75 | 0.75× |
| No data | 1.0 | default | 0.60 | 0.60× |
Confidence model
Uncertainty is first-class
Low confidence never suppresses the load estimate — training still happened. It surfaces what was missing and what would improve the next estimate. Everything that degrades confidence is explicit.
High confidence
- Primary signal reliable
- Threshold data available
- Secondary signals agree
- Sensor data complete
Medium confidence
- Usable signal, partial calibration
- Some threshold data missing
- Minor sensor gaps
- Running power (uncalibrated)
Low confidence
- Weak primary signal
- Duration-only proxy
- HR flatline detected
- Signals strongly disagree
Signals that degrade confidence
HR flatline (sensor likely failed)
HR above plausible max
Power spike > 3× FTP
GPS dropouts > 30% of session
HR and power/pace disagree by > 25%
Power changed source mid-session
Indoor activity with GPS distance conflict
Duration zero or implausible
Strength training
Sets, not heart rate
Strength creates muscular, neuromuscular, and connective-tissue stress that HR cannot capture. Every set contributes based on volume, load, proximity to failure, and movement pattern. Heavy lower-body work is flagged for interference with endurance sessions.
Set-level formula
Set Load =
reps
× external_load (kg)
× proximity_modifier (RPE/RIR)
× pattern_modifier
Raw Strength Load =
Σ(Set Load) × 0.018
+ duration_h × 12
Movement pattern modifiers
Lower-body load also triggers interference flag when near endurance sessions.
Muscular
55%
Main resistance stimulus
Neuromuscular
25%
Heavy / near-failure work
Mechanical
20%
Tissue stress, eccentric load
Interference
5–10%
Lower / upper body overlap
Planning baseline
Sustainable Load
Season phases are anchored to your sustainable load — the robust average of recent stable training weeks. Race weeks, illness, travel, and extreme outliers are excluded. The estimate blends fitness (42d EWA) with recent representative weeks, adjusted for current freshness.
Fitness weight
50–75%
Long Load × 7, anchors the baseline
Recent weight
25–50%
Trimmed median of last 8 stable weeks
Freshness cap
±15%
Form balance adjusts ±6% per unit, capped at 82–106%
Phase targets relative to sustainable load
Recovery
< 0.8×
Base
0.85–1.05×
Build
1.05–1.25×
Peak
1.15–1.35×
Taper
0.6–0.8×
Transition
< 0.7×
Important limits
What Steig is not
Steig Load is an estimate, not a measurement. No wearable directly measures physiological stress.
Steig is not a copy of TSS, CTL, ATL, or TSB. It uses the same underlying science but under different names and with different calibration.
Strength sessions carry more uncertainty — set-level data helps significantly.
Low confidence does not mean the session is excluded. It means the estimate carries wider error bars.
No single number fully explains injury risk, readiness, or performance. Use it as one signal among many.