Methodology

How the engine thinks.

Five principles, one engine. Calibrated, transparently graded, and held to the receipt on the calibration page — the recipe is proprietary, the score is not.

CURRENTLY0.86 MAE across 51,518 predictionsSEE THE PROOF →

Engine generation: v5.

Principle 1

An ensemble, not a hot take

Every projection is the output of multiple independent models that disagree before they agree.

A single signal — last-3-game form, last-season points, captain ownership — is always wrong somewhere. Onside layers several independent views of the same player and blends them, so a recency spike never carries a decision on its own and a slow first half of the season never blocks a player who's just turned a corner.

The blend isn't a vote. Each component is weighted by how reliable it has been on out-of-sample fixtures, and the weights themselves are re-calibrated as the season progresses.

Receipt · See /calibration — the per-GW residual on the blended projection is the receipt we publish for every gameweek.
Principle 2

Calibrated, not optimistic

A 70%-haul call has to actually haul 70% of the time.

It's easy to build a model that's confident. It's harder to build one whose confidence is honest. We hold ourselves to calibration — when the engine says a captain pick has a 60% chance to outscore the median, that has to bear out on the population of 60%-confidence picks across the season.

If the calibration drifts, the model is wrong even when its rankings look fine. That's why we monitor it weekly rather than waiting for the season-end review.

Receipt · Calibration is graded per gameweek and exposed on /calibration as the rolling residual + per-position MAE.
Principle 3

Minutes matter more than form

A 78-minute player is a different beast from a 58-minute player.

The single biggest determinant of whether a player returns is whether they're on the pitch. A rotation-risk forward with great underlying numbers will lose to a slightly worse forward who plays 90, every week, for a full season. The engine treats the minutes question as a first-class gate, not an afterthought — and drops players out of captain-eligibility when the risk is real.

Receipt · Minutes risk surfaces in every player drawer as a rotation indicator. When it crosses the threshold the captain shortlist removes the player automatically.
Principle 4

Every prediction goes on the board

We don't cherry-pick the wins.

Every projection the engine has ever made is logged, graded against the actual outcome, and exposed on /calibration. The current rolling OOS MAE is 0.86 across 51,518 predictions — that's the receipt we ask sceptical users to check before they trust anything else on the site.

We publish the misses too. A model that grades itself is the trust signal that matters; everything else is marketing.

Receipt · Live receipt: /calibration. Headline OOS MAE updates weekly.
Principle 5

Why we don't publish the exact recipe

Receipts public, internals private — that's the deal.

Two reasons. First, the work that went into the engine is the work. We tell you what we hold ourselves to and let you check the outputs every gameweek; the precise weighting recipe is the proprietary part.

Second, publishing the recipe is an invitation for any well-funded competitor to clone us in a weekend. We'd rather show our scores than our parameters.

Receipt · If you're a researcher and need access for verification, email [email protected].

Every prediction logged.

We don't hide the misses. The calibration dashboard shows every gameweek's residual, the rolling MAE, and the per-position breakdown.