Elite Athletics · case study

A national rowing team.

Selection is decided on a handful of races between crews that mostly never meet, in conditions that never repeat, with line-ups that change between every observation.

The model

An ensemble that predicts which boats win at practice.


A seat race is the one experiment every coach trusts: swap two athletes between crews, race again, see which crew got faster. It costs an afternoon and it settles exactly one question.

A squad of 28 gives 3,108,105 possible line-ups. Every pair of them that differs by a single seat is a seat race, and there are 248,648,400 — a quarter of a billion afternoons. The fastest eight the search found is twelve seconds up on the crew that had raced the most.


After nine practice races, it picked the winning boat 97% of the time.

It starts out guessing.

Every race is predicted using only the sessions that came before it. Nothing is ever scored on a race it was fitted on — which is the difference between a result and a demonstration.

29 of 30 races in the eights, across the 24 practices that followed the ninth. Measured over the entire record from a standing start, including the early races where it genuinely was guessing, it is 86%.


Margins compress.

In every class with enough races to measure it, the exponent is about a third. A four-length win and a two-length win are far closer in underlying ability than the water makes them look, which is why margin read literally is a bad selection signal.

Margin against modelled strength gap for fours, pairs and singles, with log-log panels showing exponents of 0.28, 0.34 and 0.36

Four scatter panels comparing each athlete's fitted strength across boat classes; sweep classes correlate with each other, sculling barely correlates with sweep

Nothing here was a general model

It was built on one squad's own results, and it works for that squad.

Bring us a problem