Asymptote

Methodology

What the numbers on this site are made from, and why some models that were built are not shown. A model appears only after it passes a test fixed before its validation ran; the ones that failed are listed here with how they failed.

Data

All results come from the OpenPowerlifting project, a public-domain archive. A copy of the data is at gitlab.com/openpowerlifting/opl-data. Snapshots are taken by hand; the site never polls their servers. Corrections to a result belong upstream, where every other project using the data benefits too.

Which results count

  • Meets under the IPF, as of the meet date: a federation that left the IPF keeps its earlier results and none after.
  • Classic (raw), drug-tested, full power (squat, bench and deadlift).
  • Men and women. The few results in the Mx category appear in descriptive views only and in no sex-normed figure.
  • Scores are GL points recomputed from total, bodyweight and sex, checked to within the source’s rounding on 20,000 results. Youth results where GL is undefined have no score.
  • A percentile needs at least 200 results in its sex and year; below that the page says so instead of showing one.
  • Attempt-by-attempt records cover most meets from 2019 and about half before 2012, and which meets have them depends on the federation. Attempt statistics say how many meets they rest on.

What is shown, and what is not

Model or statisticOn the siteThe test
Cohort fans: what comparable lifters went on to doShownDescriptive, from lifters matched on score, age, sex and results so far. Refused below 30 comparable lifters, and each horizon says how many it rests on.
Competing again within 1, 2 and 3 yearsShownRanked returns better than an empirical baseline at every cutoff and horizon (AUC 0.78–0.85 against 0.76–0.83). Its level drifts with participation, so each probability is shown with the latest check of that forecast, misses included.
Third attempts against the jumps takenShownAdded after the kg-left model failed. The expectation is calibrated out of sample; the shrunk surplus persists across meets and carried over from before 2023 to after.
Weigh-ins against class limitsShownNo model: a count of results just under a limit per result just over one, with intervals that resample lifters.
Potential: a projected ceiling per lifterNot shownFailed its pre-registered gate. Calibrated, it is no better than a gradient-boosted baseline pooled over three cutoffs, and worse for lifters with three or four results.
Chance of reaching a scoreNot shownBeat its baseline on ranking but missed the calibration bar (error above 0.05 in 5 of 9 cells), under-predicting the likeliest outcomes.
Kilograms left on the platformNot shownFailed at every cutoff and lift against a simple make rate by jump size. Third attempts are close to unpredictable beyond the jump and whether the second was made.
Strength by age within the same liftersNot shownNot identifiable: within a lifter, age and experience rise together, and two reasonable methods gave opposite answers.

The full backtest behind the potential model, with its calibration and the gate, is on the model page.

How to read the numbers

  • Every rate carries its count. A rate on too few attempts shows its interval and is not compared.
  • Comparisons across lifters of different ages are cross-sections of different people, not the path one career follows.
  • Nothing here is a record: the data is not a record book.
  • Within-lifter associations (bodyweight and score, for instance) describe how results moved together over months, not what would happen if a lifter changed one thing.