Methodology

How the Five Reds engine works.

A plain-English walkthrough of the predictive model: what it learns from, how it represents uncertainty, and how we hold ourselves to account when it gets things wrong.

Last updated · May 2026

The model in one paragraph

The Five Reds engine is a hierarchical Bayesian model that learns separate latent ability ratings for drivers, teams and chassis-era effects, then combines them with circuit-specific and weather-conditional terms. Predictions come out as full probability distributions over finishing positions, not point estimates — that's why we always quote pole-likelihood, podium-likelihood and points-likelihood rather than a single forecast.

What it learns from

  • Ergast — the open historical F1 archive (1950 onwards). Used for long-range team and driver priors.
  • FastF1 — live timing, lap-by-lap data, weather and tyre allocation back to 2018.
  • Race control snapshots — yellow flags, safety cars, deletions, recorded mid-session.

The three layers

Driver ratings

Driver ability is estimated from teammate head-to-head Elo from 2003 onwards — the modern Q1/Q2/Q3 era. We use teammate comparisons rather than absolute lap times because the car is by far the largest variable. See the ratings page for current and historical Elo trajectories.

Pace

Absolute pace estimates combine the driver rating with the team's current-season form, the circuit, and the conditions. We then sample from the joint posterior to get a Monte-Carlo race simulation per session. Output is on the pace page.

Reliability

Reliability is its own model. We learn a per-team DNF base rate, modulated by season, circuit and recent reliability history. A separate per-driver DNF-by-error component picks up incidents independent of mechanical reliability.

Backtesting and calibration

Every release runs a walk-forward backtest back to 2018. We measure log-loss and Brier score on each prediction surface (pole, podium, winner, points) and report calibration: a 70% probability should be right 70% of the time, not 60%, not 80%. We publish the calibration plot on the charts page.

What we don't claim

The model doesn't predict crashes. It can model how often a driver crashes, on average, in a given conditions; it can't tell you Lap 14 will produce a Turn 7 incident. It also can't predict regulation changes, contract moves, or anything else that resets its priors. We document those events as they happen and let the model re-learn.

If you want to see the code

The full engine source lives in a private repo. We publish the methods in detail because we want the analysis to be reviewable; the code stays private because the production engine is part of the paid product. We're happy to talk through specifics — drop us a line.