Cycling Training Load Calculator
Power-based ride load
Enter ride duration, FTP and power
Result
Calculation summary
Enter values to see the result
Live load preview
Power is normalized to threshold
- Ride load
- 97.9
- Intensity factor
- 0.808
- Mechanical work
- 999 kJ
How to use this calculator
- 1Enter ride duration and the FTP valid for that date.
- 2Use an exported normalized-power value, or choose steady power only for a genuinely constant effort.
- 3Review IF, VI, mechanical work, per-ride load and the simple repeated-week projection.
Formula
IF = NP ÷ FTP; load = hours × IF² × 100
Mechanical work uses average power × duration. Weekly load simply multiplies the same ride and is not a training recommendation.
Calculation steps
- Select entered normalized power or a steady-power assumption.
- Normalize effective power to FTP and calculate variability against average power.
- Scale squared intensity by duration, then report work and an optional repeated-week total.
Worked example
A 90-minute ride with 210 W normalized power and 260 W FTP has IF about 0.808 and a compatible load of about 98.
Assumptions
- Entered normalized power comes from a compatible power-analysis platform.
- Steady mode assumes normalized and average power are equal.
- The weekly figure repeats one identical ride and ignores fatigue or adaptation.
- NP, IF and TSS are registered TrainingPeaks metrics; this independent calculator is not affiliated with TrainingPeaks.
Sources
Frequently asked questions
Can normalized power be calculated from average power?
Not for a variable ride. The official algorithm requires a power time series, so this tool asks for an exported value or limits the equality assumption to steady efforts.
Why is variability index above one?
Normalized power can exceed average power when output varies, so NP divided by average power rises above one.
Is weekly load a safe training target?
No. It is only repeated arithmetic and does not model recovery, training history, illness, or individual tolerance.
Should I use current FTP?
Use the threshold value that applied when the ride occurred; changing FTP changes IF and load.