Fantasy Premier League

An engine that shows its working

It ranks a squad on measurable signals, tells you the one transfer and the one captain that matter this week, and opens every number it produces so you can see what built it. It never logs in and never submits anything — the output is a recommendation you enter yourself.

There is nothing to use here yet. The engine runs, and it has been run against seven seasons; what does not exist is the page you would run it from. This one describes what is being built, and gives the policy and the terms an address while the rest is written.

See how it decides Read the evidence
7 Seasons backtested
1 Transfer, most weeks
0 Credentials involved
How it works

Three steps, and you can open all of them

Predict

Every player-gameweek becomes an expected-points number, built from minutes, attacking returns, fixture strength and the betting market — and the breakdown sums to the total exactly.

Choose

An exact solver picks the best legal fifteen under the budget, the club limits and the formation rules. Not a heuristic, and not a greedy pass — the actual optimum for the numbers it was given.

Check

Then the same decisions are replayed against seven historic seasons before any of them are trusted. A change ships on evidence, not on a single total.

The claim

A single backtest total moves about 100 points when a near-tie breaks the other way.

So a total is not evidence. What counts is the same sign across seasons, a smooth neighbourhood on a sweep, an effect that clears the noise floor — and, before any of it, whether the instrument was sound. That last question has been the finding seven times.

What it doesn't know

A blank is drawn as a blank, never a zero

This is a product whose whole claim is that it shows its working, so it has to be legible about the gaps too. Four words, used with no exceptions:

Confirmed

FPL stated it and it cannot change. Drawn plainly.

Provisional

FPL stated it and it can still change. Drawn muted, with a dotted underline.

Projected

This app computed it. Always ~-prefixed, and never at the same weight as a confirmed number.

Not obtainable

An em dash. Never a zero — a zero is a result, and this is an absence.

Evidence

Seventy-five hypotheses, and the ones that failed are still there

Every change was proposed, measured and given a verdict, and the register keeps the refusals as carefully as the adoptions. The bar has overturned two already-adopted changes and refused four more, which is what a bar is for.

Design system specimens