Want the maths applied to your squad?Enter your team ID. We'll solve the best transfers, captain and lineup.
We project every player's points from minutes, goals, assists, clean sheets, saves, defensive contributions and bonus. Then we solve for the transfers, captain and lineup worth the most over the coming gameweeks.
/entry/. No team handy? Try a sample squad.Every player gets an expected points (xPts) number for each of the next six gameweeks. It's built from the things that actually score in FPL: minutes, goals, assists, clean sheets, saves, defensive contributions, bonus and cards. Then an optimiser searches every legal squad you could reach this week and picks the transfers, lineup and captain that maximise your xPts over the horizon you choose, after hits.
Nothing here is a hunch or a pundit's opinion. It's a model you can inspect and tune, and every setting below changes what the maths optimises.
Each club gets an attack and a defence rating from its expected goals for and against. The rating starts from last season and is updated with this season's data as it comes in (last season is worth about 8 matches). Promoted sides start below average. The ratings turn into an expected goal count for every fixture:
Goals in a match are treated as Poisson with that mean. So the chance a team keeps a clean sheet is e−λ, where λ is the opponent's expected goals. That's the Defence view in the fixture ticker.
Minutes drive everything, so each player gets three probabilities: plays 0 minutes, plays 1–59, plays 60+. The start rate blends last season with this season. Players who stayed at their club keep up to 95% of last season's rate; players who moved keep 75%. Newcomers get a prior from their price. Injury and suspension flags from FPL are applied on top.
Expected points for a fixture are built up piece by piece:
e−λ, worth 4 for GK/DEF and 1 for MID.It's a mixed-integer program that plans week by week. For each of the next three gameweeks it decides which transfers to make, then picks your starting XI and captain for every gameweek in the horizon. Free transfers follow the real rules: +1 each week, up to 5 banked, and anything beyond what you have costs −4.
That matters for hits. You get a free transfer every week, so taking a hit now only buys you the move one week early. The solver knows it can do the same move free next week, so it only pays −4 when the points from moving now are worth it. It also knows that two free transfers can do what one can't: swapping money between positions (say Bruno and a cheap forward for Haaland and a cheap midfielder) takes two moves in the same week. So it will roll a transfer to set up that kind of restructure, and it values any free transfers still banked at the end of the plan. It recommends this week's moves and shows the plan it assumes for the following weeks. You re-solve each week with fresh data.
This is subject to the real FPL rules: 2 GK / 5 DEF / 5 MID / 3 FWD, at most 3 per club, a legal formation every week, and your budget calculated with your actual selling prices (you only keep half of any price rise). nt is the number of transfers in week t. d, b, τ, r, h, v and ρ are the settings below.
Change as many as you like; nothing re-runs until you hit Re-solve.
How many weeks ahead it plans. At 4, it picks players for your next 4 games, not just this weekend.
Set to 1, it only cares about this weekend's games. Set to 6, it buys players for a run of fixtures. Use 5–6 before a big fixture swing or a wildcard, and 1–2 when you just need to patch an injury.
Weeks further away count a bit less, because they're harder to predict. At 0.85, a point next week is worth 85% of a point this week.
Guesses about next week are more reliable than guesses about next month. At 0.85, next week counts 85%, the week after about 72%, and three weeks out about 61%. Push it towards 1.00 if you trust long-range fixtures; lower it to focus on the next week or two.
How much your subs' points count. At 0.10, a sub expected to score 3 points is worth just 0.3, so the money goes on your starting XI.
At 0 the bench is worthless, so the tool fills it with the cheapest players and spends the money on your starters. At 0.10, a sub expected to score 3 points is worth 0.3 to the tool. Raise it if you rely on autosubs or you're planning a Bench Boost.
The smallest upgrade worth using a transfer on. At 2, a swap must gain at least 2 points over the plan, or it keeps the transfer for later.
At 2.0, your first transfer of the week must gain at least 2 expected points over the horizon, otherwise the tool rolls it. At 0 it swaps for anything better by a fraction of a point; at 4+ it only moves for something big. Hits (−4) are charged separately on top.
Makes a 2nd and 3rd transfer easier to justify than the first. At ×0.5, if the 1st transfer needs 2 points, the 2nd only needs 1 more.
Each extra transfer's bar is the previous one times this number. With a threshold of 2 and ×0.5: the 1st transfer must gain 2, the 2nd another 1, the 3rd another 0.5. At ×1.00 every transfer needs the full 2. Example: threshold 4 and ×0.25 means one transfer needs 4 points, and two need 5 in total.
What a −4 hit has to earn on top of the 4 it costs. At 2, it only takes a hit expected to earn about 6 points.
The −4 is certain, but the points it buys are only a guess. At the default 2.0, a one-hit move must be expected to earn about 6 points (4 + 2), not just 4. At 0 it takes any hit that's forecast to pay back 4. Raise it if you hate hits; lower it if you're chasing.
How much a saved free transfer is worth. At 1.5, holding a 2nd free transfer counts as 1.5 points, because two transfers let you make swaps one can't.
Two free transfers let you do things one can't, like Bruno + a cheap forward → Haaland + a cheap midfielder, moving money from midfield to attack in one week. So a spare transfer still in the bank when the plan ends is worth something: the 2nd is worth 1.5 points by default, the 3rd about 1.0, the 4th 0.6, the 5th 0.3. Set it to 0 to value only the moves the tool can already see.
Never buy players who might not play. At 50%, anyone less than a coin-flip to play an hour is off the list.
P(60+) is the chance a player plays at least an hour. At 50%, anyone less likely than a coin-flip to play 60 minutes is never bought, which filters out rotation risks and injured players. Players you already own aren't affected, so the tool can still keep or sell them.
How much it prefers players who always start. At 0.15, a player who only starts 60% of the time loses about 6% of his points in the tool's eyes.
At 0 it only looks at average points, so a star who starts 60% of the time can still look great. At 1, every player's points are multiplied by their chance of playing 60+ minutes, so a 7-point player who starts 60% of the time counts as 4.2. The numbers you see on screen are always the normal xPts; this only changes what the tool picks.
The most players you'll take from one club. At 3 (FPL's limit) it can triple up; at 2, one bad result hurts you less.
FPL allows 3. Lower it to 2 or 1 so one bad result or a surprise rotation can't wipe out a big chunk of your team.
You don't set this. It works out whether 0, 1, 2 or 3 transfers is best this week and shows you all four options.
Every solve finds the best number for this week, remembering you get another free transfer next week. The options table then shows the best full plan if you make exactly 0, 1, 2 or 3 transfers now. Gain is the extra points after hits, Needs is what that gain had to beat (thresholds plus the hit buffer for each hit), and Net is what the tool actually ranks by.
Money to leave unspent. At £1.5m, it won't touch your last £1.5m, handy if you're saving up for a premium.
Set it to £1.5m and the tool won't spend your last £1.5m this week, handy if you're saving up for a premium next week. It never forces you to sell someone just to create the buffer.
Points only climb your rank if the people around you don't have the same player. At 40%, a player owned by 50% of managers counts as 80% of his points in the tool's eyes.
Each player's points are scaled by 1 − δ × ownership. Off means pure points. Turn it up when you're chasing rank and want fewer template picks; leave it off to protect a good rank. The xPts you see on screen are always the normal ones. For a different squad without giving up points, use the squad options above the plan instead.
Force a player in or keep one out, whatever the maths says. Lock in Haaland and it finds the best way to fit him into your team.
Tap your own players to keep them. Search any player you don't own and "Lock in" to make the tool bring him in, using a free transfer or a hit if it has to, and plan everything else around him. It's the fastest way to test "can I afford Haaland and keep my defence?". Ban anyone you'd never buy; ban your own player to force a sale. Locks and bans work in wildcard mode too.
| Setting | Balanced | Safe | Aggressive |
|---|---|---|---|
| Horizon | 4 | 6 | 3 |
| Future discount | 0.85 | 0.90 | 0.70 |
| Bench weight | 0.10 | 0.20 | 0.05 |
| Transfer threshold | 2.0 | 3.5 | 1.0 |
| Stacking discount | ×0.50 | ×0.60 | ×0.40 |
| Hit buffer | +2.0 | +4.0 | +1.0 |
| Banked transfer value | 1.5 | 2.0 | 0.75 |
| Min P(60+) | 50% | 75% | 30% |
| Risk aversion | 0.15 | 0.50 | 0.00 |
Safe suits protecting a good rank: nailed players, rolling more, long view. Aggressive suits chasing: short-term upside and more moves.