
Making 1 rep max estimates more accurate and honest
Standard formulas treat every athlete the same and give a single number. This model learns each athlete’s strength profile from their training history and says how confident it is in the estimate.
I spent seven years working directly with athletes and coaches in professional rugby. I now work as a data scientist, using statistical modelling and simulation to tackle the kinds of problems coaches, managers and administrators face.
I’m working towards decision-support tools that can handle complexity underneath without putting that complexity on the person making the decision.
Here I share the work in plain language, along with the data and code (usually in both R and Python).
Background: posterior draws from a Gaussian process fitted to nine simulated observations. R code · Python code

Standard formulas treat every athlete the same and give a single number. This model learns each athlete’s strength profile from their training history and says how confident it is in the estimate.
Read the analysis

Probably 13. Ten thousand simulated seasons show why the finals cut-off moves from year to year, and how likely a team is to qualify at each win total.
Read the analysis
Build models that capture the important parts of the problem and quantify what we know and what we don’t.
Bayesian and multilevel models · Stan, brms
Use models and simulation to explore what could happen, compare options, and understand the consequences of different decisions.
Monte Carlo methods · probabilistic forecasting
Turn the complexity underneath into results and tools that are clear and useful for the people making the decisions.
Visualisation · interactive tools · technical communication
Day to day I work in R, Python and SQL.
Tutorials from 2020 and 2021 on working with GPS and wearable data in R are kept in the archive.