A squad, and the tested reasoning behind it. Click any player's name for ranked alternatives. Every claim in here has been backtested — including the ones that failed, which are labelled.
A complete, legal answer before you touch anything. —
Vice goes to —.
But the honest number is this: I played 143 squads through all 38 gameweeks of real data and varied one lever at a time. Changing the squad moved the season by 280 points of standard deviation. Changing the captaincy policy, holding the squad fixed, moved it by 41 — perfect hindsight captaincy scored 1,178, a sensible policy 1,040, and the worst defensible policy 966. Squad choice matters roughly eight times more than captaincy.
That inverts the brief this tool was built from, which ranked captaincy first. Weekly variance is not season variance: the armband feels decisive every Saturday and is nearly noise across a year. Captain the best player you own, do not agonise, and spend the saved attention on the fifteen.
The calls below were made on 16 August against the fifteen as it stood that day, which included Semenyo, Igor Thiago and Virgil. The squad has since been re-optimised on the corrected engine — four-season points per start, the promoted-club concession prior, measured newcomer rates and the unverified-start discount — and none of those three survived it. The current fifteen is the one on the pitch above; the per-player reasoning for it is in Why each of the 15.
The paired-season measurements are kept because they are still true of the comparison they were run on: 20,000 identical simulated gameweeks, only the swapped player differing. Deleting a measurement because the squad moved on would be the marketing-page version of a corrections log. What has changed is which squad the question was being asked about.
You have Haaland and Semenyo, so the club limit allows exactly one more. I tested all three candidates over 20,000 paired seasons — identical simulated gameweeks, same team-week shocks, so only the swapped player differs.
| Swap | Mean | Wins | Verdict |
|---|---|---|---|
| O'Reilly for Virgil | −16 | 33.4% | Your call, and a real one. It breaks even the moment he is nailed: at a 97% appearance rate and a 120-point projection the swap turns positive. Last season was 24 starts and 4 absence spells against Virgil's 33 and zero. |
| Gvardiol for Virgil | −42 | 9.5% | No. Highest xGI of any City defender (15.7) — and 14 starts with 6 absence spells. Brilliance you do not get to field. |
| Foden for Szoboszlai | −56 | 4.9% | No. 67 goal involvements and an 18.2% haul rate, the best ceiling here after Haaland — but 19 starts against Szoboszlai's 31. |
All three fail for the same reason, and it is the one thing this tool has actually proved: minutes. Each is a higher-ceiling footballer than the man he replaces and each plays less. That is also why O'Reilly is the live one — he is the closest to nailed, and the Community Shield is evidence his role has grown that last season's numbers cannot see.
Note what did not save them: the tail. O'Reilly's 99th percentile is 2,128 against 2,134 — the ceiling argument does not survive contact with the simulation, because a player who misses eight games cannot haul in them.
All three open questions in this squad resolved in its favour. Haaland started — every pre-match predicted XI had him benched and my own note repeated it, so that was my error, not the consensus's. Calafiori started at left-back with Hincapié on the bench, and scored. Semenyo started for City. Havertz scored Arsenal's second having been left out of both major predicted XIs.
Caveat: Arteta rotated hard — Saka, Rice, Zubimendi, Merino, Eze and Gyökeres all began on the bench, and Rice and Saka have only just returned from the World Cup. A Shield XI proves fitness, not GW1 selection. City's side was much closer to first choice than Arsenal's.
I re-checked every squad member's club against primary sources rather than the database — the discipline I wrote after being caught out by Bruno Guimarães. It found Nørgaard listed at Arsenal when he signed for Everton on 5 August, and he has now replaced Röhl in this squad on merit.
Pulling predicted XIs from three sources instead of one changed more: Röhl is called a midfielder by one, an attacker by another and a winger with no guaranteed start by a third. Gyökeres was in both major predicted XIs and was benched. Liverpool's penalty order is genuinely disputed — one specialist source ranks Isak first, another ranks Szoboszlai first and calls the hierarchy contested; no public Iraola statement exists. Consensus was already priced; the disagreement is where the information was.
Transfer risk still live until the window shuts on 1 September: Man Utd enquired about Gibbs-White (8 Aug); Chelsea and Man Utd about Thiago (7 Aug, £80m ask); and Barcelona's funding blocker for João Pedro cleared when Ferran Torres joined PSG on 15 August. None has moved. All three are in this squad.
Each preset sets the vector and the sliders, then optimises. Anything you have locked survives every preset.
Sixteen contested questions from the research. Flipping one moves only the projections it touches. Defaults are what the evidence currently supports — the Risks tab shows what each belief is worth to your squad.
Type anyone you are committed to — Isak, Wirtz, Tonali — and the optimiser builds the best legal squad around them. They stay through every preset and every scenario change.
The same ${P.length} players, scored seven ways. Two of the seven are kept only so you can see what they cost.
Three things this tool used to list as unmodelled. Two of them are now measured, and the measurements say something different from the folklore. The third is a discipline, not a model.
Built from your scenario, your squad and the real fixture list for all 38 gameweeks. Both chip sets are placed below; the gameweek-by-gameweek rows follow your Horizon slider in Build, which now runs to GW38.
Go to Build and press Build my squad.
Every player, scored under your current scenario. Score is the scenario-adjusted projection; Value is score per £m; Haul% is the best full season in four years — the ceiling measure that matters for a title, not a rank.
| Player | Club | Pos | £ | Own% | GW1–12 | Season | Val | Role | Edge | Haul% | Spells | Blank% | GW1-8 fixtures |
|---|
Two things elite managers want and no public tool provides: last season restated under the new bonus rules, and defensive contributions modelled as a probability of clearing the threshold rather than a season total. Both are computed here from 380 matches of raw gameweek data.
Four-season record, the second-half split that shows who was actually trending, GW1–10 fixtures, and the manager situation. Sorted by GW1–8 fixture difficulty.
Expected FPL points from each club's best assets under the switches you have set: top keeper, top three defenders, top three midfielders, top two forwards. Toggle a belief on the Build tab and watch a club move. Click any column to re-sort.
| Club | Total | GK | Defence | Midfield | Attack | Best asset | Best haul% | GW1-8 FDR | Template load |
|---|
Projections are backward-looking by construction. These four screens look for the players most likely to outperform them, and every one is a computed screen over four seasons of data — not a hunch. Each has a stated failure mode, because each is a bet.
FPL publishes one difficulty number per fixture and gives it to a keeper and a striker alike. That is the wrong shape: a trip to a side that concedes chances but rarely scores is easy for a forward and easy for a defender at the same time, and one number cannot say both. This grid is built from the two models the projection already runs on — the clean-sheet model for defence, the measured opponent multiplier for attack — so it can never disagree with the pitch.
A rank competition is played under a budget, so the axis a squad is actually built on is not projected points but projected points per pound. Ranked below over the same window, with the raw projection beside it so you can see which players are cheap because they are good value and which are cheap because they are bad.
The top of the Overall league, read straight from FPL after the deadline,
against live field ownership from FPL's own selected_by_percent. The gap is the
point: rank moves against effective ownership, so a player the leaders own and the field
does not is where a rank is made or lost. One scan is a photograph. From the second gameweek
onward the move column is the trend — who the leaders bought this week.
The clean-sheet model this build already carries, applied to one fixture
instead of averaged over eight. λ = base × att[opponent] × dfn[own club],
where base is the league's home or away scoring mean, and P(clean sheet) = e−λ.
Since patch268 the projection reads this, through the component engine below: the
clean sheet is one of its nine terms. Until then expected points came from a four-season
points-per-start rate with no clean-sheet term at all, and this panel was a second opinion
nothing consumed.
A second engine, built bottom-up from FPL's own 2026/27 scoring table —
nine terms, each one a line of the rules, each computed from a fixture-specific probability
rather than from a historical average. Goals conceded and saves are summed over their Poisson
distributions rather than divided, because FPL floors them: −1 per two
conceded, +1 per three saves. Appearance, the clean sheet and the defensive
contribution all hang off the same 60-minute event.
Validated against the four seasons it is built from: on players with 7,000+ minutes of
history the median residual is +0.03 and the mean absolute error 0.28.
Since patch268 this IS the projection — or rather, a measured share of it. Every
number on this page is now
w × rules + (1 − w) × points-per-start, where
w = minutes / (minutes + 1800) is how much Premier League evidence stands behind
the rules-based estimate for that player. A 7,000-minute player is 80% rules; the median
2,600-minute player 59%; a promoted-club player reached through his Championship record is
capped at 45%, because a translated rate is a prior and not a measurement. The weight is the
sample size because that is exactly what this engine's measured error depends on: its residual
runs −0.81 at 450–1,200 minutes and +0.03 at 7,000+.
What it bought, measured. On 114 nailed starters with 3,000+ minutes, predicted
against observed points per 90: the old projection ran at 0.752 of observed — it
under-rated a good player by a quarter. The blend runs at 0.895. Some of the remaining
gap is selection (nailed starters with long records are better than average) and it has
deliberately not been closed with a fudge factor.
Add ?engine=1 to the address to put the old projection back and compare.
Every club, every fixture, coloured by difficulty. Sorted by the window you choose. Click a club row to jump to its full analysis; click a player to bring him into your squad.
The cheap-defence trick, generalised and scored in points. Choose how many clubs you own and how many of them start each week; every combination is evaluated, and in each gameweek the highest-expected player in the pool is the one fielded. Other rotation tools rank on a 1-to-5 fixture rating. This ranks on expected points — the player's own scoring rate, his measured chance of not appearing, and a measured opponent factor including a prior for the three promoted clubs that have no Premier League record.
The best assets at the clubs with the best run over the gameweeks you selected, weighted by how much each opponent concedes to that position.
For each gameweek: the softest defences to attack, and the players best placed to punish them. Concession factors are measured over a full season — a club at 1.15 gave up 15% more than an average opponent to that position.
Eight chips in two sets. The first set expires at the GW19 deadline — an unplayed chip scores zero, and that is the most common self-inflicted wound in FPL. Well-timed chips are worth roughly 90 points across a season; captaincy alone is worth more, so plan them once and then stop thinking about them.
A full inventory: what is fresh, what is four seasons deep, what is one season and pretending to be more, and what is simply missing. This page exists because a tool that will not say where it is weak cannot be trusted where it is strong.
A human cannot check 177 players against pre-season team sheets, transfer fees, squad numbers and foreign-league output in the week before a deadline. That is the one part of this job where being a machine is a straightforward advantage. Here is what the check found.
The £100m question is not which players are good. It is what a pound buys. I measured that two ways on four seasons of data, and the two answers point in opposite directions — which is the whole point.
Fifteen players, eleven of whom score. The four who do not are the least-analysed part of the game, and the place most managers quietly leak points.
You get one free transfer a gameweek and can bank up to five. Beyond five, the next one is simply lost. That single rule generates most of the weekly agonising in this game, and it is testable.
Ownership, the template, the armband, and the uncomfortable truth about how much any of the modelling is really worth. This page is the strategy literature, checked, sourced, and where possible tested.
This is a calculator, not a prophecy. It scores your exact fifteen against the published fixtures for GW1–12, picks the highest legal eleven and the armband each week, and prices every decision available to you. Then it applies the discount that a walk-forward test says the whole exercise deserves.
The table above prices every week. This says why — the fixture behind the armband, the margin it won by, the slot that is closest to changing, and what would overturn it before the deadline.
Every package of up to three moves, including the ones where selling somebody expensive funds two upgrades elsewhere. Each is scored on the whole team's expected points with the eleven re-picked every gameweek and the armband applied — not on the two players swapped. Short-window fixture plays show up because every package is priced over one week, three and the full horizon at once.
Every tool like this has a gap between what it measures well and what it asserts confidently. The difference is whether the gap is written down. Each item below says what is wrong, what the evidence is, and what fixing it requires — and where I have measured the cost in points, it is stated; where I have not, it says so instead of guessing.
The instinct is sound: bank a transfer, sell elsewhere, and bring a big scorer in for the run where his fixtures open up. I have tested it on four seasons of gameweek-by-gameweek data. 1,327 player-seasons supply the runs themselves; the 573 with a complete set of rolling six-week windows supply the test of whether you can see one coming, each window scored for what its opponents actually conceded to that position that season. The patches are real. The timing is not buyable.
A projection is a number multiplied by the chance he plays. Most tools stop at the first half. This page does the second: it samples who blanks, applies FPL's real autosub rules — keeper for keeper, bench in order, the shape must stay legal — and reports what it costs you.
Build or load a squad and this page fills in.
Every player in your fifteen, every gameweek in the window. Read down a column for a bad week coming; read across a row for a player whose fixtures do the work for him.
FPL substitutes in the order you set, and most managers set it by price or by gut. The first bench player who both turned out and keeps the shape legal comes on — so a forward at number one can be blocked by the three-forward cap while a defender behind him would have come on. That makes the order a small optimisation problem, not a sort. All six permutations are priced below.
My fifteen against yours, tracked from gameweek to gameweek. The point is not to find out who wins. It is to find out which kind of judgement wins, on which sort of decision — because in the four disagreements settled so far — all of them last season — you were right and I was wrong, and every one was about minutes. Nothing has been played in 2026-27 yet, so this season’s record is 0–0.
God Mode plays the season as a real FPL entry, with a deadline it cannot miss and a squad it cannot revise afterwards. That is the only version of this comparison worth anything: an optimiser that re-solves on every page load never has to commit, and so can never lose. Both rows below are read from FPL's own history — nothing here is typed in.
Enter both scores after each deadline. FPL gives you yours; mine is the same fifteen scored the same way. The running gap is the only honest scoreboard either of us has.
Every optimiser in FPL, including mine until now, treats players as independent. They are not. A player's score correlates r = 0.367 with his teammates' that same week — measured across 8,564 player-gameweeks. When a team wins 4–0, the striker, the creator and the defender all haul together.
Build or load a squad to see its correlation structure.
Two kinds of risk: the ones baked into any season, and the ones specific to the squad you just built. Build a squad and this page audits it.
Build a squad first and the sensitivity analysis appears here.
| Scenario | Likelihood | Damage | Response |
|---|---|---|---|
| All differentials miss | ~30% | 200–400 pts | Detect at GW6 on role, not returns. Revert to template. Never add more differentials to recover — that is how a bad season becomes a catastrophic one. |
| The dominant asset fails or is injured | Moderate | Shared | Do nothing immediately. 75% of the field owns him, so it is shared risk. Panic-selling converts shared risk into unique risk. |
| Outside 500k by GW10 | Common | Recoverable | Reassess strategy, not personnel. Max one transfer per gameweek. Every worst case is made worse by activity. |
| The regime-change thesis is wrong | Real — nine new managers | 100–200 pts | Revert to continuity clubs: Everton, Brentford, Leeds, Arsenal, Villa, Brighton, Sunderland. |
| Multiple simultaneous injuries | Likely once | Moderate | The one case where a −8 is justified. Never field fewer than eleven. |
| Chips stranded at GW19 | Entirely avoidable | ~45 pts | Play all four first-set chips by GW17. Early disruption is real but small and none of it is chip-shaped: 2024-25 blanked at GW15, three of four seasons had one, and the official 2026-27 fixture list has no blank and no double anywhere in GW1–12. Set a reminder at GW15. |
| Transfer churn under pressure | Historically October | Compounding | Budget 4–6 hits all season. Above six by December means you are chasing. The 2.3m-rank season required being short the leader and churning. |
| The GW7 rotation trap | Certain | 1–2 blanks | All nine European clubs play two days after a European night. Plan and execute the transfer in GW6. |
Every claim this tool acts on, the test it was put through, the number that came back, and whether it survived. Six passed. Four failed, and three of those four had already shipped. The failures are listed with the same prominence as the successes, because a tool that only reports its wins is a tool you cannot calibrate.
Every test is walk-forward: a model is fitted on seasons before the one it is scored against, never on the season it is predicting. Where a correction is fitted (the position debias, the price blend weight), the correction itself is fitted out of fold — on data the scoring season never touched. That second control is what caught the debias failure; an in-sample fit made it look like an improvement. Squad-level claims are tested by building thousands of legal squads under a constraint, playing them through all 38 gameweeks of the real 2025-26 gameweek data, and comparing distributions — not just means, because a strategy that wins on mean and loses in the top percentile is useless to someone trying to win.
| Claim | Test | Result |
|---|---|---|
| Predicted minutes beat everything else you can add to a gameweek model | Per-gameweek model, with and without a predicted-XI weight, walk-forward | PASS. Correlation 0.232 → 0.245, mean absolute error 2.31 → 1.87 — a 19% reduction in gameweek error. The single best-validated finding here, and it came from your correction on Hincapié, not from me. On by default; the toggle is in Build. |
| FPL's own price carries information the model does not | Blend model projection with price×15 at varying weights, scored across three walk-forward folds | PASS, replicated. The model alone ran r ≈ 0.45–0.56. Price×15 alone beat the model on correlation in two of three folds. A 40% model / 60% price blend beat both, in both folds where it could be tested. Every projection in this tool is that blend; the gap between the two is what the Edge vector ranks by. |
| Players with no Premier League history need their own line | 542 no-history players, fitted out of sample | PASS. They average 36 points and 5% clear 120. Price×15 was worse than a constant for this group. Fitted line: 26 × price − 86. Every cold-start player in here is flagged, because that line is a population average and says nothing about any individual. |
| Squad choice dominates captaincy | 143 optimiser-built squads × 38 real gameweeks, one lever varied at a time | PASS, and it inverts the brief. Squad choice: SD 280, spread 1,126, top decile minus median 329. Captaincy policy with the squad held fixed: mean spread 41, maximum 72. Roughly 8:1. Weekly variance is not season variance. |
| Spreading beats stacking | Squads capped at 1 per club vs 3 per club, full-season distribution | PASS for spreading. Mean 1,503 vs 1,483; 99th percentile 1,776 vs 1,724. Stacking loses the tail as well as the mean — the opposite of the usual argument for it. The 3-per-club FPL rule is not a constraint you should be trying to max out. |
| Pick keepers on clean sheets, never on saves | Correlation of keeper points against saves per 90 and clean-sheet rate | PASS. Saves per 90 correlate −0.43 with keeper points — a save-heavy keeper is a keeper behind a bad defence. Clean sheets correlate 0.83. |
The predicted-minutes layer is the tool's best-validated claim, so the first real team sheets of the season are a genuine out-of-sample test of it. Against the Arsenal and Manchester City XIs and benches: 32 of 36 hard calls correct — 89%. Three further players were flagged 50/50 and score neither way.
| Miss | Call | What happened | Owned |
|---|---|---|---|
| O'Reilly | bench | Started at left-back for City. The costly one. | 22.9% |
| Gyökeres | start | Benched — but so were Saka, Rice, Zubimendi, Merino and Eze. Rotation, not demotion. | 13.0% |
| Matheus Nunes | start | Benched. | 5.0% |
| Rúben Dias | bench | Started and captained City. A first-choice centre-back my model had outside the XI. | 1.4% |
What I am not going to do with this. Rúben Dias is now correctly flagged as a starter at £5.5m and 1.4% ownership, which looks like exactly the differential this tool is supposed to find. He still does not make the squad, and he should not: his projection is 87 against 109 for Calafiori at the same price, because he returns clean sheets and almost nothing else, and City's clean sheets are already priced into cheaper defenders. Low ownership is a consequence of being right about a player — it is not itself a reason. That was the finding that killed the ownership cap, and it applies to picks I like as much as to ones I do not.
One test is one test. 36 calls is a small sample, both clubs rotated for a trophy that is not the league, and the honest read is that this is consistent with the 19% error reduction rather than a confirmation of it.
| Claim | Test | Result |
|---|---|---|
| Correcting the model's per-position bias improves it | Bias fitted out of fold, then applied to a held-out season | FAIL, and it had shipped. Mean absolute error got worse: 34.6 → 39.4 in one fold, 36.8 → 37.3 in the other. The forward bias flipped sign between folds, +28.0 to −13.1 — meaning it was noise being fitted, not a bias being corrected. In-sample it looked like a clear win. Removed. |
| Capping ownership makes you more likely to win | 4,249 legal squads built under caps from 120% to 300%, all played through 38 real gameweeks | FAIL, decisively, and it had shipped. At a 120% cap, zero of 4,249 squads reached the top 1%. The 300% arm won on mean (1,488), won on the tail, and won on margin over the template squad (+231 against +117). Low ownership is a consequence of being right about a player, not a method for becoming right. Cap removed; the slider is open by default. |
| Filtering for high haul rate raises your ceiling | Minimum haul-rate bars applied to squad construction, scored out of sample | FAIL, and it had shipped as a vector. A 10% bar cost 95 points; a 20% bar cost 436. It also lowered the 99th percentile — it did not even buy the ceiling it was sold on. Past haul rate is mostly past minutes and past penalties, both of which are already in the projection. The Ceiling vector is kept, labelled, so you can reproduce the failure yourself. |
| Adding opponent strength and home advantage sharpens the gameweek model | Layered onto the minutes-weighted per-gameweek model | FAIL. Mean absolute error went from 1.87 to 1.92 — worse. Fixture difficulty is real over a run of games and is already priced into who you own; adding it to a single-gameweek point estimate subtracts accuracy. Not applied. The fixture ticker is for planning transfers, not for reweighting projections. |
Three things in this tool have not survived a backtest, because I could not construct an honest one. You should discount them accordingly:
Everything on this page that is labelled data comes from four seasons of real gameweek results. Everything labelled judgement is mine, and you win arguments about football — so where they conflict, back yourself.
The operating brief this tool was built from ranked captaincy first and squad structure third. I tested it: 143 squads, each played through all 38 gameweeks of 2025–26 with real per-gameweek scores, varying one thing at a time.
| Lever | Measured value | What it is |
|---|---|---|
| Squad selection | 329 pts | Median squad to top-decile squad. Standard deviation 280; best minus worst 1,126. Decided entirely before a ball is kicked. |
| Captaincy — the ceiling | 139 pts | Perfect weekly hindsight against a sensible fixed policy. Nobody achieves this. |
| Captaincy — what is actually available | 41 pts | The spread between sensible policies: best prior player, most expensive, recent form, random of your top three. All four landed within 41 points of each other over a full season. |
| Signal | Status | Detail |
|---|---|---|
| Predicted minutes | Validated | Cuts gameweek error 19%. The single largest measured effect anywhere in this tool. |
| Market mispricing (Edge) | Survived | The only differentiation instrument that passed. Currently points at defenders being unpriced for defensive contributions. |
| Squad selection quality | Dominant | 329 points, median to top decile. |
| Captaincy | Real but small | 41 points between sensible policies. Do not overthink it. |
| Chips | Untested here | Roughly 90 points by reputation. Unplayed they are worth zero, which is the only part that is certain. |
| Opponent difficulty | Failed | Adding it to the gameweek model made the error worse. Use fixtures to time a transfer, never to predict a score. |
| Home advantage | Failed | Same test, same result. |
| Ownership caps | Failed | Lower mean, lower tail, smaller margin over the template. |
| Haul-rate filtering | Failed | −95 points at a 10% bar out of sample. Prior haul rate does not persist. |
| Club stacking | Failed | Spreading beat stacking on mean, 90th, 99th and best outcome. |
| Career-peak chasing | Failed | Over-predicts by 83 points. 73% of those players stay down. |
Three readings of the fifteen on the pitch, each with the button that acts on it. A finding you cannot act on is a paragraph, and this project has written enough of those.
This tool is only as good as what goes into it, and the parts that go stale fastest are the parts you can see and I cannot. Here is the exact input list, in priority order.
| # | What | Why it matters | Where it goes |
|---|---|---|---|
| 1 | Any team news you have that I do not — pressers, a manager quote, a player you saw benched | Predicted minutes beat every other input in the model. This is where you have a real edge over me. | Conviction sliders, or tell me and I rebuild the XI data |
| 2 | The actual gameweek scores — or just your rank and points | Lets me score the predictions and find which of my assumptions are failing, rather than which players got unlucky. | The prediction ledger |
| 3 | Your current squad, if it has drifted from what is in here | Every risk number in this tool is computed against a specific fifteen. | Copy link, or paste the fifteen names |
| 4 | Your read on any club whose situation just changed — a sacking, a return, a formation switch | Regime change is repriced by the market over six to ten weeks. That window is the edge and it opens the day the news lands. | Belief switches and the club risk registers |
| 5 | Chips used and transfers banked | Otherwise the plan drifts from your actual position. | Chip planner |
Projections are computed from four seasons of gameweek data; scenario multipliers and start estimates are judgement, drawn from this session's research. Sources: FPL API · vaastav gameweek archives · Fantasy Football Scout · Opta/The Analyst · club officials and press conferences.