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.

It is live. Sign in with a Google account, connect your FPL team ID, and it opens on your squad: this week's one transfer, the one captain, and a rating you can also ask for on any other team, not just yours. It is still a model's opinion, not a promise — see what it doesn't know before you follow it.

Open the app 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

Every hypothesis, 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