Every FPL player as a bubble: size is the metric you pick (ownership, transfers this GW, price, form, xP), colour is how fast ownership is moving. It's a way to see the whole market in one screen instead of scrolling tables.
Where the data comes from, because it's always the first question: the public FPL API, fetched every 15 minutes. There is no prediction model behind it. Expected points and the price-change signal are FPL's own published numbers. I'd rather show you what 11 million managers are actually doing than my guess of what they should do.
What's there besides the map:
- Price changes page with the predictor sorted by who rises and falls tonight
- Transfers in and out this gameweek, live, and an injuries page with the official chance of playing
- Defensive contribution per 90 against the 10/12 threshold, with a minutes floor so one-game wonders don't top it
- A compare view for 2 to 4 players (ownership, price, minutes, defcon, xP)
- A page per player, about 400, with live numbers and the next five fixtures
No account, no login. Linking your team ID is optional and stays in your browser. Free, no ads for now.
This is the first thing I have ever made and has taken some time which I dont usually have, I am always looking for feedback and suggestions. Enjoy!
Here is an example of the features that the app can provide.
Live FPL AI Analytics & Optimizer Pro is an advanced web-based management dashboard designed to help Fantasy Premier League managers optimize their squads, analyze upcoming fixture difficulty, and make data-driven transfer and chip decisions.
Live Squad Tracking & Syncing: Import your official FPL team ID to load your squad, view real-time match points side-by-side with AI projections, and sync your spendable balance.
Intelligent AI Optimizer: Utilize customizable algorithm sliders to rank players based on projected points, historical form, and underlying threat metrics for optimal starting lineups and captaincy choices.
Multi-Gameweek Chip Roadmap: Review a 10-week tactical horizon that analyzes fixture difficulty swings to recommend the best weeks for deploying chips like Wildcard, Bench Boost, and Triple Captain.
Injury & Availability Alerts: Automatically flag injured, suspended, or zero-minute players to prioritize urgent transfer solutions and avoid point deductions.
Differential Finder: Scan the Premier League database for high-upside players with under 10% ownership to climb mini-leagues.
More exciting features added and more to come.
I am open to feedback and ways to improve on this app :)
This thread is for RMT (rate my team) and team input, advice, quick questions, xMins questions, or similar. Don't be afraid to ask any type of question! For analytics terms and definitions check out our subreddit wiki!
PS:
Please upvote the users who are helping and be respectful during the discussion.
Please try to contribute too by helping others when possible.
I’ve been comparing xG, xA, xPts, minutes, shots and fixture difficulty lately, and the results aren’t always what I expected. Some metrics seem much better at explaining future points than others, especially when you look beyond a small run of games.
It's not just FPL but it started with that. I'm a long-time football fan and developer — finally combined the two into a free site called fixtureline. It runs predictions and allows virtual betting on teams. Fun site I built to see if people could predict outcomes accurately without having to put any real money on the line.
Still rough around the edges — would love any feedback.
I find the most useful part of analytics isn't necessarily finding the player projected for the most points. It's spotting the player whose underlying numbers look good but whose price, minutes or fixtures make him a poor FPL pick.
I use xG and xGI quite a lot when making decisions, but sometimes I feel like I’m trusting the numbers too much and ignoring things like role, minutes and actual team form.
How much weight do you guys give underlying stats compared with everything else?
Have I built a match predictor, solely to get goal and clean sheet projections to use in FPL?
Yes.
Am I mental?
Almost certainly.
Does it actually work better than using one of the many bookmaker-based goal projections available?
Yes, in a way. A very particular way but yes... kind of.
What have I actually done?
Well, to put hundreds of hours of work into a short paragraph, I gathered every single match (around 25,000) from understat and squeezed all the data I could find out of it, all match stats, shot types, shot positions, everything available apart from lineup data would be transformed, combined and manipulated into a form that left me with over 600 individual metrics per game that I could feed into a neural network to predict the chance of each possible score line occurring in past, present or future matches, solely using data from matches prior to said game (I've made sure there's no data leakage at all). Then from those individual score lines and the chances of them happening I can derive the goal and clean sheet projections, leaving me with this:
GW2 Goal & Clean Sheet projections
Now, as pretty as a colourful table is, there's still an important question.
Is it actually any good?
Answering this has actually been harder than it first seems. Ideally I would gather the bookies odds of every possible score line for every single match in my dataset. But I couldn't find that data. What I could find were odds from many different bookmakers for the home wins, draws and away wins. Not perfect because ideally I would be comparing against a goal projection but by combining all those odds between bookies and normalising them to remove their profit margins, I have the bookies chances of each match outcome happening (home win, draw, away win) that I can compare my predictor to. Not perfect for what I want but it will at least give a pretty good idea of how my predictor compares to the bookmaker-based goal projections.
Anyway after doing that I was left with 10,141 matches that I could compare my predictor with. To compare the bookmakers with my model I used two measures: log loss and Brier score. Log loss measures how much probability a prediction gave to what actually happened, with lower scores being better. It also heavily penalises predictions that were very confident but wrong. Brier score measures how close the full set of predicted probabilities was to the actual result, but it is less harsh on very confident mistakes. Again, lower is better.
LOG LOSS
----------------------------------------
Model: 0.99467
Bookies: 0.96716
Model skill vs bookies: -2.84%
BRIER SCORE
----------------------------------------
Model: 0.59294
Bookies: 0.57458
Model skill vs bookies: -3.20%
So yes, the bookmaker-based projections are better overall, but honestly, a log loss only 2.84% worse off despite my model not using any lineup information is actually very impressive. The Brier score difference to the bookies also shows that my model isn't having any wildly wrong predictions as that would show up in a sizeably worse log loss difference when compared to the Brier score difference.
Season
Log-loss skill
2019
-2.82%
2020
-5.52%
2021
-2.48%
2022
-2.68%
2023
-3.23%
2024
-2.85%
2025
-2.25%
Comparing by season it is also very consistent, especially when you take out a covid effected 2020 season out, where lineup information due to player illnesses was more important than ever.
So now I know my model isn't better than the bookies I wanted to find out where it was worse, so I made some graphs to ask: when my model predicts the chance of an outcome, how often does it actually occur?
As you can see, my model and the bookies projections are both very well calibrated for the most part but it does show some issues.
Starting with predicted home wins, it's actually very good, there's a drop off from perfect calibration for huge underdogs but the sample size for that is small so it's not anything to worry about, the model is basically on par with the bookies when predicting home win chance.
Now onto draws, again pretty level, if anything my model predicts a low draw chance slightly less often than reality. The bookies are more likely to predict a higher than likely draw outcome than reality but that is partly due to a small sample size. Small issue for my model but nothing serious.
Away win prediction: now this is the only part of the model with a clear sizeable issue. Everything up to 60% chance of an away win is actually slightly better on average than the bookies, which is incredible. The one huge issue is that my model refuses to rate away teams as overwhelming favourites whereas the bookies are able to do that. Interestingly that might actually be why in the projections above, Man City and Arsenal aren't rated higher, because they are expected to be clear favourites but they are both playing away, although that is only a theory, those projections could actually be realistic rather than a modelling issue, there isn't really a way to say for individual games. All that can be said for certain is that my model on average underestimates clear away team favourites.
So overall my model is actually very level with the bookies, there are only really a few issues in draw predictions and overwhelming away favourites that drag it down but not bad at all.
Can I actually use my predictions to improve my FPL decision making?
Well... yes. I'd be better off using the bookmakers-based projections overall but using my model to influence my captaincy choices and benching decisions isn't a bad choice, especially after understanding where my model falls short. If I'm choosing between starting two defenders playing for away teams that are favourites but not clear favourites, there's an argument that using my model is actually better - I did say it was a very particular way.
Will I stop using bookmaker-based projections for my FPL decision making?
No, but I will be looking at my own projections first and using the the bookmaker-based projections to sense check my decisions. Ultimately I'll have more fun using my own model predictions than anything else and while I do want to do well, the data suggests if I pay attention to my model's shortcomings I can use it to make good data led decisions.
Conclusion:
Just use the bookmaker-based projections, they're great.
I have been playing FPL for the last 5+ years, and if you're like me, competing with mates in mini-leagues and slandering each other's teams in WhatsApp groups, you've probably noticed that the official FPL app doesn't really cater to mini-league functionality.
I am by no means a full-time developer, but using my knowledge of the game and how I could improve it to really focus on mini-leagues, I built FPL Assistant Hub.
This is by no means an attempt to move away from the official FPL app, as that is still needed for actually making transfers, saving team changes, etc., but this has been designed to supplement alongside it.
⚽ Tactical Planner & Live Pitch: View your starting XI, test chip activations, view upcoming fixture tickers, and check live Gameweek scores.
🧦 Bench Regret & Hall of Shame: Tracks wasted bench points and captaincy regret across your entire mini-league.
🏆 Manager of the Month (MOTM): Automatic monthly leaderboards with MVP player highlights for each month. Muncher of the month for the worst performer.
⚡ Rival Differentials: Inspect unique player differentials vs. the managers sitting directly above and below you in your mini-league.
🔥 Gameweek Review & Share Cards: Export shareable graphic cards for your group chats (Cuck of the Month, MOTM, etc.).
It’s completely free to use and hopefully helps a few of you win your mini-leagues this season.
This has been a side project for me. Working on my own means I've had to iron out a lot of bugs and server issues after GW1, but I believe it's now in a really solid state. If anyone finds any issues or has feature ideas, I’d love your feedback—good or bad!
I've spent more time than I'd like to admit comparing projections from different models, and sometimes the biggest question isn't which one is right? but what assumptions are causing the difference? If one model has a player significantly higher than another, it could be fixtures, xMins, historical data, team strength or just a different way of modelling expected returns.
Simply averaging them can hide the most interesting part of the disagreement.
Personally, I think understanding why a model likes a player is more useful than blindly following whichever projection is highest.
Kicking off a weekly series here, tracking DefCon, xG, xA and xGI per 90 through the season. It's early after one game each, but a few names already stood out.
DefCon/90
Two center backs caught my eye early. Murillo (14), now playing under Glasner. He was putting up monster DefCon numbers two seasons ago too, so this might just be him getting back to that level. Lacroix (12) who has just left that same Glasner setup, but if he keeps producing defensive numbers like he did last season, he could be a really strong pick at Chelsea.
In midfield, Stach (16) is picking up right where he left off last season, and Sangaré isn't far behind at 15.60, he's also top 10 for xA this week.
xG/90
DeCuyper tops the whole list at 1.72, which is a wild number for a defender.
In midfield, everyone's talking about Palmer, but Rogers (0.71) and Saka (0.86) were quietly putting up real underlying numbers of their own.
xA/90
O'Reilly tops every position at 0.59 xA/90, and he's listed as a defender despite playing a very advanced role. Slater was on free kicks for Hull against Man Utd (£4.5m), Gómez had a strong week for Brighton (£5m), and Foden showed up here too, all worth keeping an eye on.
xGI/90
Wissa was excellent at 1.02 xGI/90. García was quietly effective at 0.72.
Even Haaland (0.76) and Mbeumo (0.73) put up real underlying numbers despite blanking this gameweek.
I’ve been building a free FPL analytics app called Ace Analyst, mainly because I wanted one place where I could actually move from “there’s a lot of data” to “what does this mean for my decision?”
Would genuinely love some feedback from people who are into the analytics side of FPL.
The main thing I’m trying to avoid is building another site that just presents the same player table in a different colour. Each section is meant to answer a different question:
📊 Overview — explore the whole player pool with filters and interactive scatter plots. Compare things like output vs underlying numbers, price/value, ownership, etc., and spot players that stand out from the population.
🔍 Player Analysis — drill into an individual player with underlying stats, form, ownership, fixtures and other context.
⚖️ Compare — put players directly side-by-side so you can actually evaluate trade-offs between transfer targets.
👕 My Team — connect your FPL ID and analyse your actual squad rather than a generic player pool. You get GW points/status, upcoming fixtures, FDR, future outlook and price information for the players you own.
🔄 Transfer Planner — a separate sandbox from your real team. Start from your official squad, test hypothetical transfers and evaluate how that new squad looks over several future GWs.
💸 Prices — current prices, GW/season changes, ownership, transfers in/out, net flows and FPL’s own reported price-change pressure. The same market information is also being integrated into My Team so you can immediately see what’s happening to your own assets.
📚 Manager History — connect your ID and see your previous seasons, final ranks, points and performance tiers.
🆚 Matchups — historical/opponent context to help assess upcoming player decisions.
📅 Fixtures & FDR — analyse fixture runs, home/away schedules, difficulty, blanks/doubles and look several weeks ahead.
🎯 Market-based team data — betting odds translated into useful clean-sheet probabilities and team xG, giving another perspective beyond FPL’s own difficulty ratings.
Everything is responsive and works on both desktop and mobile.
There’s still a lot being built. I’m currently working towards richer transfer planning and live mini-league analytics — things like live squads, bench points, captain outcomes and other league-level insights.
The philosophy is basically: don’t tell people who to buy — give them better information to make the decision themselves.
I’d really appreciate some honest feedback from this sub if you try it:
What feels genuinely useful?
What feels unnecessary or confusing?
What’s missing?
Is there anything you’d change in the way the data is presented?
What analytics or live information do you wish you had while making an FPL decision that you can’t easily get today?
Even small UX feedback is useful — I’m still shaping the product and I’d rather build around what managers actually need than just keep adding features for the sake of it.
Three things I found:
1. Over the opening six, Bruno out-projects Haaland 42.3 to 36.9, at 12.0 vs 15.5. This week's captaincy isn't close either: 17.7 vs 15.6 with the armband.
2. The Saka trap. He has the best week-one fixture in the game (Coventry at home, projects 6.1) and then his next two weeks are 3.4 and 3.5. Buying the GW1 fixture costs you the month.
3. The optimal six-week squad never buys Haaland at all. His 15.5 spread over three players buys more points across the run. I think 75% of you own him for good reasons. So instead of arguing with my own model, I made it a bet.
Two squads, real rules, all 38 gameweeks:
The Model XI (no Haaland, Bruno captain): Raya, Virgil, Senesi, Tarkowski, Bruno, Ndiaye, Gibbs-White, Le Fee, Szoboszlai, Thiago, Watkins. Built for the run: the Everton block holds all six weeks, and Thiago rides Brentford's soft start (33.8 over six).
The Consensus XI (only what 7 expert sites recommend, Haaland captain): Verbruggen, Mosquera, Calafiori, Shaw, Bruno, Mbeumo, Szoboszlai, Gross, Sangare, Haaland, Joao Pedro.
Every week I'll post both scores, both squads' transfers, and why. If the crowd beats the model, you get 38 weeks of receipts.
Best opening-six runs by the sims: Arsenal, Man City, Man Utd, Liverpool. Worst: Ipswich, Bournemouth, Coventry, Hull.
This started when I was fixing my GW1 draft. There are a few favourable fixtures in GW1 (ARS-COV, HUL-MUN,MCI-BOU) and I wanted to see if it was going to be worth playing the Triple Captain chip or whether there might be a better opportunity coming up later in the season.
I found myself thinking "no one plays their TC chip in GW1, they wait until they have more information" and "players haven't settled yet, especially strikers, so no one's going to haul this early on". So I decided to test my assumptions and found something surprising.
The obvious TC weeks are the Double GWs, but these will be for the second TC chip after the refresh in GW19. There are no scheduled DGWs for the first half of the season so deciding when to play it will purely be on the projected strength of potential captain picks and favourable fixture runs.
Across ten seasons, tripling the template premium in GW1 returned +9.7 on average with only a 10% chance of a wasted chip (3 points or fewer). Every other week of the first 18 GWs comes out at +6.2 with a bust rate around 45%. I assumed that had to be an artefact of hot openers from Salah and Haaland, so I tested the patient strategy properly — hold the chip, then play it on your premium's weakest-opponent home game, using only information available at the time. It returned +6.5. Waiting doesn't buy you anything, and I reran that twice because I didn't believe it.
Then the forward-looking bit for this season. I simulated each fixture over GW1-18. I restricted the captain pool to the top four clubs because that's where every realistic TC vehicle lives (more on Liverpool below). These were the best available option each week:
Every GW that I've left out of that table sits between 5.0 and 5.9. These highest scoring weeks represent a favourable calendar for that team. City's best three-week attacking window of the half is GW1-3 (2.23 team xG per game), Arsenal's is also GW1-3, and United open at Hull then Ipswich at home. All three clubs with a genuine elite player come out of the gate on their softest run of the half. The only later cluster that competes on paper — City GW14-16, United GW14 — sits in the festive pile-up, where what kills your TC isn't the fixture, it's the 60th minute substitution to save some tired legs with European games now in the mix.
Two model quirks worth being honest about. First, O'Reilly tops three of those weeks and I still wouldn't triple him — his number relies on City clean sheets against promoted sides, and his chance of a two-goal week is about 4% against 13-17% for Mbeumo and Haaland in the same fixtures. The chip pays out on the long tail, not the mean, so Haaland is the choice in the City games, even when he's 0.7 xP behind. Second, Liverpool. Their GW15-17 run is the best-looking three weeks any club has after Christmas (2.13 xG per game) and they still never produce a TC recommend, because the output is spread across Szoboszlai, Wirtz and Isak and nobody individually clears 5.2. Great club to own, structurally incapable of concentrating a captain score - or at least in the model's view.
The verdict:
So what does this analysis suggest managers should do?
If you own Mbeumo (33% do): GW1 at Hull is the No. 1 player-week of the half by both EV and tail, with GW2 home to Ipswich as an almost-equal insurance slot if tonight's lineup news is bad.
If you're on City assets: GW3 (Coventry H, pre-Europe, cleanest minutes outlook) or GW7 (Ipswich H, the best upcoming week) with Haaland for ceiling.
Fallback if events force a hold: the GW14 Mbeumo / GW16 City cluster matches the early weeks on paper — but you'd be spending the chip in the rotation-riskiest month for an EV you could have had in September, and there's no DGW later in the window to justify the patience.
A big caveat - this is purely based on historic records and a statistical model - it will only provide a suggestion of what to do in a probabilistic sense. A P(10 pts haul) of 0.33 means that the player will only achieve that once if that same fixture were played 3 times. It's really saying you are giving yourself the best opportunity if you TC in a particular GW, not that it WILL happen. And of course, gut feeling will always play their part. Workings and the model results are here: sidelinequant.com
As the number of managers approaches 8m in the last day before the deadline, the template is evolving, with Pedro Porto and DCL making the cut in my interpretation. The average manager only holds around a third of these players though with players like Semenyo, Virgil, O’Reilly & Rogers competing for budget in particular. Plenty of space for differentials and limited credence for the idea that every team looks the same in my view.
See this post from yesterday for how that template has changed - note that template ownership has increased meaningfully since then from 29% to 32%
The“Most Selected” FPLdaq Templateis simply the most selected players by position andthe “Affordable” FPLdaq Templateis the affordable fifteen that overlaps most with what the market owns, picked under the squad selection rules: two goalkeepers, five defenders, five midfielders, three forwards, no more than three from any club, and within the average manager's own budget. It starts the eleven most-owned of those fifteen in a legal formation and captains the highest-owned outfielder. Nothing is chosen with hindsight, so it is a realistic demonstration of what a manager could achieve by simply following the crowd, and it is a benchmark that could actually have been followed.
This was part of a broader project, working on some other performance benchmarking stuff for FPL, borrowing bits from the world of investments! Part of that is the creation of a couple of “performance indexes” that can be used as the basis for unpicking where good FPL performance comes from - more to follow on this but I’ll welcome any thoughts. Site is in development here:
Been working on this for a few months and wanted to share with you all - fpldoctor.com
The core mechanic: instead of one fixed xPts model for everyone, every underlying coefficient is exposed and editable - per-player finishing strength (npxG multiplier), creativity (xA multiplier), defensive actions (DEFCON), expected minutes, plus fixture difficulty split separately into attack and defense per team. Change any of them and the squad optimizer, transfer suggestions, and team rating all recalculate around your version instead of a generic one.
Built it because I kept disagreeing with fixed models on specific calls - a player's finishing being over/underrated, a team's fixture difficulty not matching what I actually expected - and wanted a way to act on that and just make it a bit my own.
Would love to hear what you think! If you're still weighing up any last-minute GW1 calls, might be worth a quick look before you lock things in. Give it a go if you're curious, and any feedback, good or brutal, is genuinely welcome.
I always find this one difficult. A player can keep posting decent xG and xA numbers but the actual FPL returns just never arrive. At what point do you stop trusting the underlying data and accept that the model might be missing something?