Every projection this site makes is written down before kick-off, scored
against what actually happened, and measured against the Premier League's own forecast.
If we are not beating it, this page says so.
The scoreboard
This season, so far
The one idea
Almost every fantasy model fails the same way
It treats a small sample as settled fact. A striker scores twice on the
opening day and becomes a two-goal-a-game striker. A keeper makes five saves and is
projected for five every week. A £12.0m midfielder has one quiet afternoon and drops
below a £5.5m one.
EasyFPL refuses that. Every rate it uses is
pulled back toward a prior — a sensible expectation for a player of that type, at that
price, in that role — and released toward his own numbers only as fast as he earns it.
Three good games move a projection a little. Fifteen move it a lot.
How a projection is built
Five terms, in the order they matter
01
Minutes gate everything else
A player who does not play scores nothing, so every other term is scaled by how likely he is
to start and how long he lasts. Minutes alone cannot tell a starter from a substitute — ninety
minutes across one start and ninety across three cameos look identical, and the second player
is not a 92% starter. The official data publishes a starts count, so the model uses that rate
directly and lets minutes per game refine it.
p_start = w × (starts / games) + (1 − w) × minutes_signal, w = min(1, games / 3)
02
Attacking returns, regressed
Goals and assists come from expected goals and expected assists per ninety, not from what has
gone in. Finishing is noisy over ten matches and xG is not, so the model leans on the chances a
player gets and the quality of them, then pulls that toward the prior for his position and
price until the sample is big enough to trust.
03
Clean sheets are a distribution, not a guess
A clean sheet is simply no goals conceded, which makes it the zero bucket of a Poisson
distribution at the expected goals against for that specific match. The expected goals against
comes from the opponent model — your club's defensive rating at that venue against that
opponent's attack at the opposite venue, blended with what has actually been conceded once
there is a sample worth blending.
P(clean sheet) = e^(−xGA)
04
Bonus runs on a slower clock
Bonus gets a ten-match window where everything else gets five, for two reasons. It is lumpier
— a player takes all three or none, where expected goals accrues in fractions. And it is partly
double-counted: the bonus system is driven by the clean sheets, saves, goals and assists the
model has already projected, so leaning on past bonus pays a good game twice. On the fast clock,
one three-bonus night was enough to make a £4.5m goalkeeper the highest-projecting keeper in the
game.
05
The opponent, at that venue
Every fixture is rated both ways: what your club creates against what the opponent concedes,
home and away kept separate because they are not the same team. That is what turns a
five-gameweek fixture run into a number rather than a colour.
End to end
Where a projection comes from, and where it goes
Four inputs, one number, and a loop back through reality. The dashed
return is the part most models leave out.
Nothing in the chain is hand-adjusted after the fact. That is the
only thing that makes the last box worth reading.
How it is scored
A number is only as good as what it is compared with
Anyone can publish a projection. The question is whether it beats what you
already had for free — so that is what we measure against.
Locked before kick-off
Every projection is written down at the deadline and never touched again. Grading a
forecast you were allowed to edit afterwards measures nothing at all.
Against two real baselines
Scored beside FPL's own ep_next and beside points-per-game. Beating
nothing is easy; beating the number already on the official site is the test.
Split by who you would pick
Reported for every player, for likely starters, and for players managers actually
own — an average flattered by deep-bench nobodies is not the one you play with.
The same numbers, in the product. Every projection on this screen
opens into the terms above — and where the points come from is that breakdown,
summed across your eleven.
Honestly
What it cannot do
A model that claims no weaknesses is hiding them. These are ours.
It cannot read a press conference
Rotation a manager has decided but not announced is invisible to it. That is what the
news feed and the fitness flags are for.
It cannot price a one-off
A penalty taker changing, a new signing's first start, a tactical switch — all are
sample sizes of zero, and a prior is the best it can offer.
It cannot make football predictable
A good projection beaten by a bad week is not a broken model. It is one round. The
scoreboard above is measured over a season for that reason.
The inputs
Official data, and nothing else
Everything comes from the official Fantasy Premier League API. No
scraping, no private feed, nothing typed in by hand. The core dataset is rebuilt every
four hours — timed to catch overnight price changes and Thursday and Friday press
conferences — and read live while matches are on, so the pitch and the league tables
reflect what is happening now. Every page's footer says how long ago that was.
Read the whole method
Nothing here is a black box. The model, every input and the known
weaknesses are written out in full.