Skip to content

How it works

The app has a model, and you have opinions. This is how the two get combined — and how it keeps score of whether yours are any good.

1The model predicts

Every player gets an expected-points (xP) figure for the next gameweek and for the horizon you pick. It's built from their own per-90 rates — goals, assists, goals conceded, saves, defensive contributions — blended toward a position average when they haven't played enough minutes to trust their own numbers yet, then adjusted for how hard each upcoming fixture is.

Fixture difficulty comes from expected goals — what each opponent creates and concedes per match, adjusted for home and away. Goals themselves are too small a sample to trust: a side scoring six from twelve xG isn't a good attack in form, it's an average one riding its luck, and a model built on goals keeps calling their next fixture easy long after it stops being. Early in a season, before there's enough to go on, the rate is pulled toward the league average.

It's arithmetic, not an AI guess: the same inputs always produce the same number, and expanding any player row shows exactly which components it came from. Bonus points are modelled from each player's BPS rate against a curve fitted to the current season, rather than guessed from form — and players on penalties or set-pieces carry that duty in their number, flagged as PEN, FK or COR on the row.

2You disagree

Type what you actually think in plain English — “Bowen's nailed to start but I'm worried they rest him in the cups”. That gets read into structured claims: which player, which part of their game, which direction, how confident you sound, and how many gameweeks you mean it for.

This is the only place an AI model is used, and only for reading your sentence. It never computes a number. Everything downstream is arithmetic you can check.

3Your read moves the number

Each claim nudges the specific component it's about — a minutes read moves appearance points hardest, and everything minutes drive a little. How far it moves depends on how confident you sounded:

Low confidence±5%
Medium confidence±12%
High confidence±20%

A read also fades. It carries a horizon — say three gameweeks — and its pull tapers as that horizon burns down. Once it's elapsed it contributes exactly nothing; a hunch from six weeks ago stops bending today's numbers.

4But it can only nudge

The caps are the most important thing in the app. However many reads you stack on one player, and however certain you sound, the adjustment is bounded:

Most any one component can move±30%
Most a player's total xP can move±25%
Chance of playing that overrides optimism≤25%

And hard facts win outright. If a player is injured, suspended, or unavailable, no amount of bullishness lifts their xP — the optimism is discarded, not capped. Pessimism still lands, because agreeing that an injured player will score less isn't a risk. Your opinion tunes the model; it never overrules it.

5Disagreements get surfaced

When your read moves a player by more than 0.5 xP — and by enough of a share that it isn't rounding noise — that player is flagged as a conviction point. Open their row and you get both numbers side by side, a plain-English account of what moved and why, and the model's counter-argument where it has one.

You also get the rank framing: at or under 10% ownership a player is a differential, where being right actually moves your rank; at or over 40% they're a template hold, where being right mostly keeps pace. The “holding / changed my mind” toggle changes no number — it just records where you stood, for step 6.

6Then you get marked

Once a read's gameweeks finish and the results are verified, it gets scored against what actually happened — and scored on its own terms. A minutes read is judged on minutes played, an attacking read on returns, a clean-sheet read on goals conceded. Hit or miss, with the evidence shown.

That builds into your record: hit rate overall, by category, and by confidence — which is the real calibration test. If your “certain” calls land no more often than your hunches, the confidence label isn't carrying signal, and the app will say so.

7And the app learns who to trust

Your record per category feeds back into step 3. Reads in a category you're demonstrably good at pull harder; ones in a category running at a coin-flip get damped. The weight is shown on your record page next to the record that earned it.

Reads before a category's weight moves much~10
Weight range×0.50 – ×1.50
Where every new category starts×1.00

Weights move slowly on purpose. A few lucky calls shouldn't double your influence, so the observed rate is pulled toward a coin-flip until there's real evidence behind it. And weights only ever change how much of the allowance a category gets — they never raise the caps in step 4.

8What it won't do

It won't pick your transfers, your captain, or your chips. It won't tell you what other managers are doing beyond raw ownership. It doesn't know about press conferences, and it can't see anything the FPL API doesn't publish.

It is not affiliated with the Premier League or the official FPL app, and the value figure on your record page measures forecast accuracy — how much closer your reads moved the prediction to reality — not points won.