pacelore
Compare Features Why FAQ Source Sign in
Get started
explainers · why these numbers matter

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.

TSS

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.

8 min read →
NP · IF · VI

Why 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.

7 min read →
CTL · ATL · TSB

The Performance Manager Chart, explained

CTL, ATL, TSB. Three numbers that summarize months of training. The math is two EWMAs and one subtraction.

9 min read →
GAP · rTSS

Grade-Adjusted Pace, explained

Minetti's 5th-degree polynomial turns a hilly run into the equivalent flat-ground pace. Why your watch might disagree.

8 min read →
PolyForm Noncommercial 1.0.0 · Source on GitHub · @pacelore_app · Feed · Sign in edge · cf workers