Predicting a lifter's total from bodyweight, age, sex, and equipment, and finding what actually drives strength.
Given a lifter's bodyweight, age, sex, and equipment, how much will they total, and what actually drives strength? A regression problem with a clear, testable answer.
Real IPF competition records from OpenPowerlifting (public domain, via the TidyTuesday project). Real-world messy: dirty categories, impossible outliers such as data-entry errors in bodyweight, and missing values like skipped ages and single-lift entries with no total. Cleaning was about half the work: standardizing categories, filtering implausible rows, and deciding when to drop versus impute.
Explore distributions, correlations and relationships, then engineer features such as a strength-to-bodyweight ratio, age bins and one-hot encoding of categories, then model with a proper train/test split: a Linear Regression baseline, then a Random Forest for comparison, then evaluate and interpret.
The models predicted a lifter's total to within about 72 kg on data they had never seen, explaining roughly 71% of the variance. Notably the simple linear model matched the random forest here, a good reminder that on real, noisy data a more complex model does not automatically win. Feature importance quantified what coaches know by feel: bodyweight and sex are the dominant drivers, with equipment and age contributing less.