METHOD

How the numbers are made

Estimated W/kg is a model, not a meter. We time riders over matched climb segments, take the surveyed gradient profile, the rider's most recently published mass and the weather at altitude, and solve the physics for the power that ride requires. Nobody's power meter is involved, and we will not pretend otherwise.

The headline figure is étalon W/kg (ᵉW/kg): the power a reference 60 kg rider would need to match the same climb time under the same conditions. It exists so a 58 kg climber in 1989 and a 66 kg all-rounder in 2026 compare on one scale. The model corrects for air density, wind along the slope and drafting; against fourteen published analyst references it lands within 1.59% on average.

Where the times come from

Accuracy is class-dependent, so every figure carries its method. Observed times are community-timed against broadcast footage (climbing-records.com), history back to 1956 with roughly a five-second noise floor: the best class, the historical spine. Archive times are reconstructed from race tickers after the stage: anchor extraction and physics-aware interpolation, blind-validated at roughly a minute of median error, tighter where the ticker publishes kilometre splits. Live times are captured during the stage from the ticker and official intermediate timing while real clocks still exist. That is the designed route to the ±15-second class on summit finishes.

The publication gate

A number appears only when the ride clears four tests: average gradient at least 6%, duration at least 10 minutes, derivation confidence at least 0.5 and climb geometry matched at 0.7 or better. Below 6% the estimate is aero-dominated and mass-insensitive, which is a polite way of saying it would be nonsense. Gated rows stay in the database, queryable, and are never published. The gate lives in the pipeline, so no page of this site can bypass it.

When a climb shows no figure, that is the gate doing its job. An absent number is a statement of standards, not a gap in coverage.

The band is part of the number

Every published figure carries an uncertainty band: ±6% when the wind is known, calm and the terrain is trusted, ±10% when the wind is unknown, strong or channelled by terrain the weather model cannot resolve. Wind itself is shown as a banded signal (head, cross or tail; light, moderate or strong), never as a precise figure on a valley road. A bare point estimate never renders here; the site's components refuse it.

Attribution has its own rule. A rider alone owns their number. Two riders share one. Larger groups get a group estimate only, because inside a bunch the physics stops being attributable.

How recaps are written

Stage recaps are drafted by a language model from a facts-only payload: the final timing, classifications, and gate-passing estimates, nothing it can invent. A lint rejects any draft that prints a W/kg figure without its band. A human reads every piece before it is published, and drafts that have not been reviewed are labelled as drafts. Every recap says how it was made, every time.

Data and sources

Results and startlists from ProCyclingStats within about an hour of final timing. Live intermediate checks from Tissot official timing during ASO races. Observed climb history from climbing-records.com. Routes from race roadbook GPX, cleaned against the Copernicus DEM. Weather from Open-Meteo archived model runs. Nothing is real time; everything is stamped with when it was last synced.