Every xP number in Dugout — on the player pool, the captain picks, the squad builder, the chip planner — is built the same way. This page explains exactly how, including the parts that are approximations, because a projection you cannot inspect is a projection you should not trust.
Written against the model as deployed for the 2026/27 season. Dugout does not use FPL's own
ep_next field: it is floored at 1.0 and capped near 4.0 before a season starts, with only 24
distinct values across 568 players, so it cannot rank anybody.
Predict the match. Split it between the players. Price the result in FPL points. Multiply by the minutes you expect the player to actually be on the pitch.
Each fixture is modelled as a venue-split Poisson process. Every club carries four numbers — goals scored and conceded at home, goals scored and conceded away — because home and away records differ far more than a single season-long average admits. From those, the model produces the expected goals for each side, and from the Poisson distribution it derives the chance of a clean sheet, the most likely scorelines, and the win, draw and loss probabilities.
The table is not frozen. It rebuilds itself on every load from the results that have actually happened, blending them into last season's baseline with a weight that grows as real games accumulate: after six matches at a given venue, the current season carries half the weight; by the end of the season last year has almost entirely washed out. Newly promoted clubs have no Premier League record at all, so their rows are estimates and are flagged as such in the app.
A club's expected goals have to be divided among its players. Dugout does this using each player's own expected goals and expected assists, blended with a price-and-position prior, weighted by how many minutes he actually played. An established starter is rated on his record. A new signing or a promoted-club player, who has no meaningful record in this league, falls back to the prior rather than inheriting a share he never earned.
No single player may absorb more than 38% of his club's output. That cap exists because of a real bug: an early version gave a £4.0m defender a 70% chance to score, purely because he was the only player at his club with any Premier League minutes, so the model handed him the entire attack.
The player's expected goals and assists are then scored with the real 2026/27 rules:
| Component | How it is valued |
|---|---|
| Appearance | 2 points |
| Goals | xG × 6 goalkeeper and defender, 5 midfielder, 4 forward |
| Assists | xA × 3 |
| Clean sheet | probability of a clean sheet × 4 (GK/DEF) or × 1 (MID) |
| Goals conceded | −0.5 × expected goals against, for goalkeepers and defenders |
| Saves | goalkeepers only — roughly 2.4 shots on target per expected goal against, 1 point per 3 saves |
| Defensive contribution | probability of hitting the threshold × 2 — 10 CBIT for defenders, 12 including recoveries for midfielders and forwards |
| Penalties | a nudge for first-choice duty that a player's past xG does not yet reflect; second in line gets a third of it |
| Bonus | estimated share of BPS from attacking returns and clean sheets |
The 2026/27 BPS rewrite did not affect everyone equally, so the bonus estimate is position-aware.
Goalkeepers gained the most. Saves are now worth 2 BPS each, 3 if the shot came from inside the box, and 1 more if it was a big chance. Keepers therefore receive clean-sheet BPS plus a term that scales with expected save volume.
Centre-backs lost out. Clearances, blocks and interceptions dropped from 1 BPS per 2 actions to 1 per 3. Full-backs were hit far less, because they keep their clean-sheet share and gain from the removal of the old penalty for being tackled. Since the FPL API does not label a defender as a full-back or a centre-back, the model infers it from the ratio of tackles to CBI — around 0.37 to 0.46 for full-backs, 0.05 to 0.10 for centre-backs — and splits the bonus accordingly.
Attackers gained slightly. Being tackled no longer costs a BPS, so attacking returns are worth marginally more than they were.
Everything above is multiplied by the share of the match the player is expected to play, and this is the single largest driver of the final number. A brilliant player who starts on the bench is worth less than a modest one who plays 90 minutes every week.
Three independent signals of whether someone is a starter are computed, and the strongest of the three is used: his price relative to the median for his position, his rank within his own club and position, and his ownership, which updates daily as managers react to team news. These are blended with his actual start rate, weighted by how much evidence his minutes provide. The blend is capped so that a strong role signal always carries some weight, even for a player with a full season behind him.
This was the fix for the model's worst weakness. Start rate alone punishes exactly the players whose role has just changed — new signings, injury returners, squad players promoted into the first eleven — because their past minutes describe a job they no longer have.
An injury flag is not permanent, and the model no longer treats it as though it were. When a player carries a return date, he scores zero for fixtures before that date and is discounted for fixtures after it, rather than being zeroed out for the rest of the season. Where there is no date, the discount softens the further ahead the gameweek sits.
This one change lifted Dugout's correlation with a leading paid projection service from 0.485 to 0.775 on Gameweek 1, and from 0.288 to 0.540 across six gameweeks.
A projection built on three thousand minutes of evidence is not the same thing as one built on a price tag, and Dugout says so. Uncertainty ranges from about ±18% for a player with a long, stable record to ±64% for someone with no Premier League minutes at all. It is driven by minutes played, availability, and whether the club has any Premier League data to draw on.
There is no lineup data, so a player who is about to be rotated is projected as though he starts. There is no manager press-conference feed. Newly promoted clubs are estimates. The saves, penalty and bonus terms are deliberate approximations rather than exact simulations. Defensive contribution depends on per-90 data that reads zero for everyone until the new season accumulates enough minutes.
These are predictions. They are meant to rank options and expose the trade-off between two players, not to tell you what will happen on Saturday.
FPL publishes an ep_next field, and it is tempting to use it. It is floored at 1.0, capped
near 4.0, and before a season begins it takes only 24 distinct values across the entire player base.
Two hundred players share the same number. It cannot separate a £4.0m third-choice goalkeeper from a
first-choice defender, which makes it useless for the one job a projection has to do: ranking.
See the model working on your squad →
Guides: FPL prices 26/27 · GW1 deadline · Budget picks · GW1 captain picks
Dugout is a free Fantasy Premier League companion. Data via the official FPL API. Not affiliated with the Premier League.