The metrics, demystified.
Plain-English derivations of the analytics Strava and TrainingPeaks charge for — TSS, Normalized Power, the Performance Manager Chart, and Grade-Adjusted Pace. Every formula in 30 lines or fewer. Every implementation linked to its source on GitHub.
What is TSS, really?
Training Stress Score in 30 lines of TypeScript. Where the formula comes from, what it costs to compute, and why incumbents charge for it.
NP · IF · VIWhy average power lies, and what NP fixes
Two rides with the same average can have wildly different recovery costs. Normalized Power is the standard fix — and a 12-line function.
CTL · ATL · TSBThe Performance Manager Chart, explained
CTL, ATL, TSB. Three numbers that summarize months of training. The math is two EWMAs and one subtraction.
GAP · rTSSGrade-Adjusted Pace, explained
Minetti's 5th-degree polynomial turns a hilly run into the equivalent flat-ground pace. Why your watch might disagree.