No black boxes. A plain-language tour of the priors, the features, and why we publish our misses.
Trust in a prediction product is earned by showing your work. Too many models are black boxes that ask you to admire the confidence and ignore the reasoning. Ours isn't — so here it is, from prior to posterior, in plain language.
Every match starts as a belief, not a blank slate. We seed it with team strength ratings built from rolling expected goals for and against — how good a side is at creating chances, and at stopping them — decayed so that last month matters more than last autumn. Home advantage, rest days and fixture congestion nudge the starting point before a single feature is added.
A feature only survives if it improves out-of-sample calibration, not just in-sample fit. That kills a lot of pretty ideas. What tends to stay: shot-quality trends, pressing intensity (PPDA), set-piece threat, the shape of chance creation by zone, and availability of the players who actually move those numbers. Narrative doesn't get a column. Form, once you control for chance quality, adds less than people think.
We simulate the match thousands of times to get a distribution, not a single scoreline. That distribution is where the 1X2 probabilities, the projected xG, and the most-likely scorelines all come from — they're views of the same simulated season, which is why they never contradict each other. The 'projected 2-1' isn't a guess; it's the modal outcome of ten thousand Saturdays.
A model that only shows its wins is marketing, not method. Every prediction gets a public review: predicted versus actual, what held up, what surprised us, and a calibration score that tracks whether our stated confidence matches reality. A well-calibrated 70% call should win roughly seven times in ten — no more, no less.
“The goal was never to be right every week. It was to be honest about how right we expect to be.”
— Dele Adeyemi
That's the whole engine. No crystal ball, no insider edge — just priors, features that survive scrutiny, and the discipline to grade ourselves in public. If a call ages badly, you'll find it in the Reviews, right next to the ones that aged well.