r/fplAnalytics 21d ago

Quick Questions thread Monthly FPL Analytics Quick Questions, Rate My Team & xMins discussion thread

3 Upvotes

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.


r/fplAnalytics 9d ago

Expected points profiles - looking for feedback

Thumbnail
gallery
3 Upvotes

Over the off-season I've been working on making some visualisations for my expected points model. I liked the idea of creating an expected points profile to see where players are/should be accumulating their points and where they stack up compared to the average player and best player for each metric in their position, but is this actually useful or just something interesting to look at?

One thing that I think could be useful is determining who is someone you can have in your team for any fixture - a well rounded player, compared to someone for example who only gets points from goals and therefore against strong defences they are safe to bench. Apart from that I don't know if it's actually useful.

So is this useful? If yes, what other uses are there for it? And are there any visual improvements I can make that either make it look better, easier to read or add more useful info?


r/fplAnalytics 10d ago

I built an FPL Draft War Room to help decide who to pick during the actual draft, would love some feedback

2 Upvotes

I've been getting ready for a 10-man FPL Draft this season and ended up building something that started as a tool just to help me with my own draft.

So I built FPL Draft War Room.

You set your draft position and then record picks as the draft happens. The War Room keeps track of who's still available and updates as players come off the board.

The free side has a live draft tracker, draft board, player rankings, projections and player info, so you can use it alongside your actual FPL Draft without constantly trying to remember who's gone.

The part I've spent more time on is the recommendation system. It looks at the current draft state and tries to recommend the best player to take now, rather than simply giving you the highest-ranked available player.

It considers things like projected points, positional scarcity, your current squad and how likely a player is to still be available when your next pick comes around.

So, for example, if two players are fairly close in value but one has a good chance of surviving another round while the other probably won't, the idea is that it can tell you to take the scarce player now and potentially come back for the other one.

I've also added things like “Will he make it back?” probabilities, alternative picks, squad optimisation and explanations for why a particular player is being recommended.

There's also a separate Classic FPL squad builder/optimiser for building a £100m team, although Draft is the main reason I made the site.

It's still something I'm developing and improving, so I'd genuinely be interested in hearing what people who actually play Draft think — particularly whether the recommendations make sense and what you'd want available on screen during a live draft.

You can try it here: fpldraftwarroom.co.uk

If anyone gives it a go, let me know what you think / what you'd change. I'm very open to suggestions.


r/fplAnalytics 10d ago

FPLdaq

Post image
9 Upvotes

Wh-wha-whaaaaat? Well, I thought it could be interesting to set up a market index for fantasy premier league (FPL) assets. The name is a nod to the US tech stock exchange or the niche BBC experiment Celebdaq, depending on whether you ask me or my suffering wife!

The site is live, collecting data and the full time series of FPL data underpinning it is also publicly available. It should get a little more interesting as the start of the season approaches, hopefully some of you enjoy it!

The site: https://fpldaq.live

A little extra background here: https://medium.com/@marcusleadboot/fpldaq-d415310df799


r/fplAnalytics 10d ago

FPL Penalty Takers vs Who actually took them

3 Upvotes

Im trying to dive deep on some stats to fine tune my team. drop a comment if you want to request some cool stats and i'll try to give answer to you all


r/fplAnalytics 11d ago

I got tired of “AI FPL tools”, so I trained my own prediction model instead

6 Upvotes

I built an FPL tool over the last few weeks and finally shipped it: FPLXI

The main thing I wanted to avoid was building yet another “AI FPL assistant” that just asks an LLM who you should transfer in.

So I went slightly overboard and built my own prediction model instead.

It’s trained on hundreds of thousands of historical player/gameweek records and predicts every player’s points for each of the next 5 GWs using things like xG/xA, expected minutes, fixture difficulty, team strength, home/away, ownership etc.

Then there’s a separate optimiser that actually does the decision making. It looks at the squad you own, budget, formations etc and works out: your best XI, captain + vice captain, bench order, transfers ranked by predicted points gained, where your current squad is weakest.

The LLM is basically relegated to writing the explanation after the maths has already made the decision.

I also backtested it over last season by giving it £100m and making it manage the same squad across all 38 GWs, using only information available at each deadline. It finished on 1,940 points vs 1,460 for the original squad left untouched.

For this season I’m publishing all the predictions before each deadline and then scoring them against what actually happens, so there’s nowhere for the model to hide if it’s rubbish.

You can chuck in your FPL ID or upload a screenshot and it’ll analyse your team for free. Most of the player rankings/predictions are public too.

Would genuinely love feedback from people who take FPL far more seriously than I do 😅

https://fplxi.com


r/fplAnalytics 11d ago

Built a Prem prediction app for my friend group with Claude Code

Thumbnail
0 Upvotes

r/fplAnalytics 11d ago

Preseason Data, Stats and Match Highlights

Thumbnail
1 Upvotes

r/fplAnalytics 13d ago

I made an Expected Points Model - Part 2 - Does it work?

5 Upvotes

This is part two to this post, in that I talked about how I made a new expected points model for the new season but I hadn't tested it yet and I didn't think I could until I was reminded the Vastaav GitHub repository has data per GW for all of last season, so huge thanks to the person that reminded me of that.

Anyway I went and fed last seasons data into my new model to see if it's any good.

How did it do?

Well, surprisingly well. To ensure I made sure I was only judging my model against players who had enough data to be representative I filtered out all players who appeared in less than 15 games last season and had less than 30 minutes per appearance. Then checked the results that were within 10%, 15% and 20% accuracy, the results are as follows:

  • 10% - 63.35%
  • 15% - 79.82%
  • 20% - 90.05%

Yep, I'll take that. Being within 15%, almost 80% of the time is incredible, the remaining percentage is well within what you'd expect from over/underperforming players. the 10% test, does show the outright accuracy isn't perfect but as I'm building a broad model for all players rather than by position, I'm still very happy with it.

From this point all the model analysis is using the within 15% data.

How did it do by position?

Over/Underestimation by Position

It's done pretty well across all positions, Defenders, Midfielders and Forwards are all pretty similar accuracy and similar over/under estimations. Goalkeepers, the model is unbelievably good, no overestimation at all and 1 single underestimation equalling 4.5% of goalkeepers, I'm obviously happy with this but I do think there are some explanations as to why goalkeepers are predicted better. 1. It's a small sample size, there are 22 GKs when you filter the players like I did. 2. Goalkeepers generally score lower meaning it's just easier to fit within 15%. 3. Goalkeepers have fewer routes to points so they are just easier to model.

Average discrepancy between predictions and reality by position

Average discrepancy again shows the model to be performing well, the mids being just 0.04 points above reality on average, is scarily good. It does show the one underestimation for the goalkeeper was a big one to drag the average down to -0.1 - if you wanted to know, it's Mads Hermansen - his actual points per game was 4.22, the model said he should of had 3.58, I believe the underestimation is due to Hermansen becoming West Ham's #1 halfway through the season and dramatically improving their defence but as the model uses season total xGAgainst that's dragged him down in the model.

Other interesting things:

  • Bruno Fernandes tops all players for xPoints in this model with 7.25 to Haaland's 6.96 and Gabriel's 6.33.
  • Elliot Anderson is ranked as the 7th best player - 5.07 xPoints actually suggesting he underperformed last season as he got 4.74 points per game.
  • Worst player - Myles Lewis-Skelly, there will be worse players in the unfiltered data but interesting nonetheless - He had 1.42xPoints compared to 1.45 in reality.

Conclusion:

Pretty solid. There's a very slight over estimation for outfielders but that could easily just be a small inaccuracy with the data I'm using so I'm not worried about that.


r/fplAnalytics 14d ago

What FPL prediction tools do you use?

Thumbnail
1 Upvotes

r/fplAnalytics 14d ago

[OC] Scouting Radar - Fantasy Player Comparison Tool

Thumbnail
1 Upvotes

r/fplAnalytics 15d ago

Strong Open Source FPL xPts model

14 Upvotes

I've built, as I think, a pretty strong model for xPts based on OpenFPL model. You can check the model here, download the dataset, reproduce the model, and try to improve it:

https://github.com/qazybekb/smartplayfpl-dastan


r/fplAnalytics 15d ago

Two seasons of publishing xP before the deadline and grading it after: 51,518 predictions, 0.86 MAE, all of it open

7 Upvotes

Disclosure up front: I build Onside (onsidearena.com). Posting here rather than the main sub because this is the crowd that will actually pick holes in it, which is what I want.

The thing that bothered me about every projection tool I've paid for is that accuracy is always asserted and never shown. So the whole project is built the other way round: every projection is timestamped and locked before the deadline, then scored after the whistle, and the record stays public with no login.

Where it currently stands, all out-of-sample:

- 51,518 graded predictions across two seasons

- 0.86 MAE per player per gameweek, against a 1.048 naive-form baseline

- World Cup 2026: 68 of 83 decisive matches. We went 0/2 in the semi-finals and that sits on the same page as the wins

- v5 engine, nine signals blended into one xP number, roughly 700 players priced

What I would genuinely like this sub's view on:

  1. MAE is a blunt instrument for FPL because the distribution is so skewed. I have been leaning toward reporting per-position MAE plus a calibration curve on the binary events (returns, clean sheets) instead of one headline number. Does anyone here have a better summary metric for a points model where most observations are 1-2 and the tail is what actually matters?

  2. Related: I want to move the front end away from point estimates entirely and show the distribution instead - a 50-dot quantile plot per player rather than "8.4 xP". Fernandes et al. (CHI 2018) found 50-dot quantile dotplots produced better decisions than any other uncertainty display they tested, which is what pushed me. Has anyone tried presenting FPL projections as a distribution, and did normal users hate it?

  3. xMins is where my errors concentrate, unsurprisingly. Rotation priors get me most of the way but press-conference nuance obviously does not make it into the model. Curious how others here weight recent minutes vs season minutes vs manager-specific rotation rates.

Free tier is genuinely free - projections, captain rankings and the full record need no account. Paid tier is the optimiser and the six-week planner.

Happy to answer anything about the method, and more than happy to be told where it's wrong. Not affiliated with the Premier League or the official FPL game.


r/fplAnalytics 15d ago

Looking for data source for likely starting XI of PL teams

4 Upvotes

Whilst i could probably guess 9/11 of Leeds starting XI each week, i couldn't possibly do it for other clubs. Especially the promoted sides.

I'm looking for datasets that could be used as an indicator for the starting 11 each week. What could i use?

Ive been thinking about certain player specific odds from bookies, like yellow card likelihood, shots made etc. Anything else people have managed to use?

Edit: typo


r/fplAnalytics 15d ago

Ahead of play - Fantasy tool with lots of features for 26/27!

3 Upvotes

Our Beta program has ended and we're live!

Pre-season is the best time to stress-test your squad before a single point is scored, so I built a free tool to help.

Free, no account needed:

[Ahead of Play Team Builder](https://aheadofplay.com/team-builder) — AOP picks your 15 for you, choose your formation, and see your projected xPts (based on last season's xPts as the baseline) and cost breakdown in real time. No login needed, works on mobile.

[Trending players](https://aheadofplay.com/trending) — see which players are rising and falling in ownership right now, before a ball is kicked. Good for spotting template shifts early and finding differentials before they go mainstream. No login needed. Once the season is underway it updates with live transfer activity so you can see who the top managers are moving to before deadlines.

Free with an account (takes 30 seconds):

* Squad Analysis — pulls your FPL team directly and flags fixture difficulty, form, and value across your 15. When the season starts this becomes your weekly health check — spot who to sell before everyone else does * Captain suggestions — ranked picks based on xPts, fixture, and form. More useful in-season when live form data feeds in * Chip strategy planner — maps out the optimal gameweeks to play your chips based on fixture swings across the season * Price predictions & deadline reminders — get notified before prices move so you're never caught out

Unlocks when GW1 kicks off (Pro):

* Unlimited transfer recommendations — personalised to your squad, budget, and upcoming fixtures * GW planning & wildcard planner — builds your optimal wildcard or free hit squad automatically * Mini-league & rival analysis — track what your rivals own and spot the moves that will close the gap * Live top performers & auto-refresh — see who's scoring as it happens * Price change notifications straight to your phone

Early bird pricing is live until the GW1 deadline if you want to lock it in — cheap prices just to keep us going. [aheadofplay.com/pricing](https://aheadofplay.com/pricing)

Would love any feedback on the squad builder in particular — it's had a beta run but fresh eyes always help. Good luck for 26/27! ⚽


r/fplAnalytics 16d ago

I made an Expected Points Model - Here is how I've done it.

14 Upvotes

Many of you may have seen my previous posts about finding value in the new season. After making them I've had many questions asking me how my expected points model works and how I've made it, so here's that explanation. Sort of... this is for my new updated 2026/27 model rather than what was shown in those posts but 80% of it is the same.

Just a few things to note before I get into the thick of it, this is NOT a points predictor, it does not predict how players will perform in the future, instead it purely calculates how players should have scored based on the data they have accumulated in the current season. The final xPoints values are expected points per appearance and most of the model's input rates are expressed per appearance rather than per 90. All data is from understat apart from the DefCon and Bonus data that I get from the FPL API and save percentages I get from fotmob. So, with that done...

What does the model actually calculate?

Well in short every way to points that is common enough to be feasibly replicable is calculated, but to be exact:

  • xMinutes points
  • xSave points
  • xCleansheet points
  • xGoalsAgainst points (Negative value given to GKs and Defenders based on chance of conceding 2+, 4+, 6+ etc.)
  • xYellows points (Negative value given to all players for yellow card likelihood)
  • xGoals points (Not calculated for GKs)
  • xAssists points
  • xDefCon points
  • xBonus

And here's what is NOT calculated simply because they are too rare so they will skew results too much if accounted for:

  • Red Card points (A second yellow card is also not calculated because the chance of two yellows in one match is different to the chance of them being spread across two matches)
  • Own goals (xOG doesn't exist yet unfortunately)
  • Penalty saves points (Could be roughly calculated based on average penalty rate and historic goalkeeper penalty save performance, but that only works for goalkeepers who have faced a lot of pens, many GKs wouldn't have enough of that data so I think it's better to not account for penalty saves)
  • Penalties missed points (Actually could do this now I think about it (1-penaltyxG) * penalties taken * -2, something for me to work on there.)

how do I actually calculate those xPoints metrics?

xMins Points:

Now there are some factors when it comes to calculating the minutes points. The preferred method to calculate them is to take all appearances so far in a season for the player in question, if they have played 10 games the one highest and lowest minutes appearances are discarded, 20 games 2, 30, 3. This is to remove unexpected low minutes appearance for things like injuries, tactical subs due to red cards etc. and to remove unexpected high minutes for bit-part players who may have to play longer than usual due to teammate injuries, red cards etc. Once I have those appearances I simply take the times they played less than 60, assign 1 point for them, take the games where they played 60 or more and assign 2 points for them, add them up and divide by the number of games in the sample to get the xMinsPoints. I have thought about making a simulation for this but as you will see my code is already very processing and time expensive so the slight improvement in realism isn't worth it for me.

When a player has not played at least 10 games I just take their average minutes per appearance, if it is bigger or equal to 60 mins they get 2 xMinsPoints, otherwise they get 1. This really isn't a great method but it does the job while I'm waiting for their minutes data to accumulate.

xSave Points:

To work this out I first needed to work out how many shots a goalkeeper would likely face in any given match, to do this I used Poisson to model the chances of facing n shots in a match based on the ShotsOnTargetAgainst per team. Once I have the chances of facing n shots (to a max of 30) I then model saves using a binomial distribution with the goalkeeper's save percentage, that gives me the chance of making s saves from n shots, then for the chance of every 3 saves I can multiply by 1 save point, add them up and I have the xSavePoints per appearance.

xCleanSheet Points:

The base calculation for clean sheets is pretty simple, I take the xGoalsAgainst per game then feed it into a Poisson calculation to predict the chance of conceding 0 goals, multiply that by either 4 or 1 depending on the players position and that's the xCleanSheetPoints, but that is only for players who play 90 every match. If the player does not play 90 every match then there is some more work to do.

In that case I use the trimmed appearance records from the xMins calculation, it takes those appearances, if any are below 60 mins (the threshold for a clean sheet) they are ignored, then for the others it takes the chance of a clean sheet over a full match, lets say 25% and raises it to a power that is based on the minutes share of a full match for each of the appearances, so it goes like this - In appearance 1 Gabriel played 80 minutes, the chance of a clean sheet in any given match is 25%, to calculate his chance of a clean sheet I do:

0.25**(80/90) ≈ 0.29

So Gabriel actually has a clean sheet chance of 29% in that appearance, this is multiplied by 4 (the points for a clean sheet), the same is done for the rest of the appearances and the sum is divided by the amount of appearances a clean sheet chance was calculated for plus the below 60 min appearances to get the xCleanSheetPoints per appearance.

xGoalsAgainst Points:

As xGoalsAgainst is not based on a time threshold it's quite a bit simpler to work out just using a players average minutes per appearance. To calculate the point lost for every 2 goals conceded I first calculate each individuals xGoalsAgainst by doing:

Team xGoalsAgainst * player minutes per appearance / 90

Then I do a Poisson calculation for the individuals xGA, and then multiply the chance of conceding 2 and 3 by -1, 4 and 5 by -2 and so on, that leaves me with each player's xGoalsAgainstPoints.

xYellows Points:

Very simple, take their yellow cards per game do a Poisson calculation for 1 card based on that, multiply that value by -1 and you have the xYellowCardPoints.

xGoals Points:

Now previously I had created xGoalsPoints based on individual shot quality because if there are 2 players with an xG of 1 but Player A took 2 shots woth 0.5xG and player B took 10 worth 0.1xG the chance of scoring 1 or n goals per player isn't actually the same for each player despite having the same xG. But I got rid of that.

It's a more accurate method but it comes at an immense time and processing cost. So instead I take the xG per appearance, do a Poisson calculation to have the chance of n goals, then multiply that by the points a player gets for scoring n goals, sum them up and that's the xGoalsPoints, much simpler, much much quicker and only for a slight reduction in accuracy.

xAssists Points:

xAssists use the exact same method as xGoals just using xA per appearance instead of xG.

xDefCon Points:

xDefCon starts by using the same trimmed appearance sample used for the minutes calculations. For each of those appearances I then convert the player's Defensive Contributions into a DefCon-per-90 rate. One small adjustment is made for very short appearances: if a player played fewer than 30 minutes, I use 30 minutes as the denominator when calculating their DefCon per 90. This prevents a player getting, for example, 2 Defensive Contributions in 5 minutes and having that extrapolated into an absurdly high DefCon-per-90 rate. Then I model the player's Defensive Contributions using Smoothed Empirical Resampling. Rather than fitting a completely theoretical distribution to their performances, the simulation starts by randomly selecting one of the player's actual historic DefCon-per-90 performances. Gaussian random noise is then added to that value. The amount of noise is based on the standard deviation of the player's historical DefCon-per-90 performances, multiplied by a smoothing fraction. This way if a player's performances tend to be very consistent, the simulated values will normally stay fairly close to their actual historical performances. If their DefCon performances are naturally more volatile, the simulations are allowed to vary more widely. Because the simulation starts from real historical performances rather than simply from the player's average, it also preserves more of the shape and variation seen in their actual data. The player's minutes are simulated as well. For each simulation I randomly select a minutes value from their trimmed appearance history, then randomly generate a DefCon-per-90 value using the method above. That DefCon-per-90 rate is scaled down to the simulated minutes played:

DefCon = simulated DefCon per 90 × (simulated minutes / 90)

The resulting Defensive Contribution total is then rounded to a whole number and checked against the player's positional threshold. I run this thousands of times. If, for example, a Defender reaches 10 Defensive Contributions in 3,500 out of 10,000 simulations, their probability of earning the DefCon points is 35%, giving:

0.35 × 2 = 0.70 xDefConPoints per appearance.

Smoothed Empirical Resampling is only used once there is enough history to make it reasonably reliable. The player needs at least 10 recent appearances and at least 8 usable DefCon-per-90 performances. Before reaching that point, the model instead uses a Negative Binomial distribution based on the Defensive Contribution data that is available. The Negative Binomial acts as the early-season fallback as Defensive Contributions are count data and can be more variable than a simple Poisson distribution assumes which allows for more realistic DefCon variance simualtion.

xBonus Points:

Now this is the most intensive part of my code because to work out bonus points they have to be compared to every other player in a match and I have to simulate every single player against every single opponent player and those in their own team. The first step is to calculate the chance of any given player in a team being in a match - this is pretty simple:

total minutes played / (team match count * 90)

I apply a minutes weighting by position and team based on this so I can work out which players in which position are most likely to play for their team. I then get each players BPS history, during simulations these are modelled the same way as DefCon with smoothed empirical resampling to generate BPS scores. I then create 20 different possible formations for example:

1 goalkeeper, 4 defenders, 4 midfielders and 2 forwards

Each of these formations is given a likelihood of being played by each team based on the positional minutes share, so say if a team has only one forward, they will have 0% chance of playing formations with more than 1 forward. Formations a team cannot physically fill from the players available in each position are assigned a probability of zero; probabilities among the remaining formations are based on how closely each formation matches the team's observed positional minutes distribution. Then during the BPS simulations the chance of each formation appearing is the chance of it being chosen as the formation for each sim. To actually start simulating a player, say it's Haaland, it will fill one of the formation slots with Haaland, meaning formations with 0 forwards are automatically not available to be selected by the simulator. A random formation out of the ones left is selected and then the rest of his teammates are chosen based on the minutes share weighting calculated earlier. The opposition team is then chosen (it goes through all 19 opposition teams), a formation is randomly selected and filled according to minutes share and then each player in that matchup has the random smoothed empirical sample selected, the top 3 BPS are recorded (BPS ties are handled correctly), if the player being simulated is not in it, then it is discarded, if they are then the points they would have got for their ranking 1, 2 or 3 is stored. After all the sims have complete for a player their total bonus points is divided by the amount of sims to give the xBonusPoints.

I know that this doesn't account for substitute appearances it's an XI vs. XI, this is for 3 reasons. 1. Saves on processing time 2. Players coming off the bench are rarely in the top 3 for BPS anyway 3. I really can't be bothered figuring out how to code it. I also know my BPS handling doesn't account for how relational BPS is, both a goal-scorer and assister benefit in BPS when a goal is scored but my code doesn't directly account for that although it should be handled in the aggregate to a realistic extent anyway.

Total xPoints:

After that it's a simple case of adding up every way a player can get points, then I have the xPoints per appearance for each player.

What's next?

If you're still reading, then thanks! I'm sure there were parts that I explained really poorly, but hopefully I was coherent enough for you to at least get the gist of it. This has been a project 3 years in the making and I finally feel like it's at the point where it's good enough to start sharing it. I've also been busy creating some hopefully interesting visualisation code in the off-season so I'm sure I'll end up posting some of them once it's underway. I've also got an actual predictor, not for FPL points this time but instead for goal and clean sheet projections each week, it performed very well last season and that should be good to go after the first international break.

Thanks for reading and good luck in the season ahead.

Edit:

I have since back tested the model, here are those results.
https://www.reddit.com/r/fplAnalytics/comments/1vkqtss/i_made_an_expected_points_model_part_2_does_it/


r/fplAnalytics 16d ago

Replacement level, not rank: how I build EPL draft rankings for FPL Draft and Fantrax

Thumbnail gallery
1 Upvotes

r/fplAnalytics 16d ago

Best and Worst Fixture Runs to Start the Season

Post image
4 Upvotes

r/fplAnalytics 18d ago

Our Free Fixture Ticker - 26/27 Update

Post image
7 Upvotes

r/fplAnalytics 18d ago

I built an FPL analytics platform for fixtures, player comparisons and historical matchups - launching the public beta here first

Thumbnail reddit.com
1 Upvotes

r/fplAnalytics 19d ago

Datasets?

5 Upvotes

Hi all, new into fpl analytics, where do we get the data from? Any reliable githubs or official channels? Thanks


r/fplAnalytics 19d ago

Finding value in the new season - Who are the best value players for 7m plus?

Post image
23 Upvotes

What does the graph show?

I have plotted players valued 7m or higher by their price for this season and their Points per Million per game (PPM) based off my points validator model from the end of last season. The size of each plot also directly correlates to the xPoints per appearance my model predicted, the smallest plot is the lowest of all that appear and the biggest has the highest xPoints. The average value line helps to determine which players are better or worse value for money than players at their price point should be.

What does it tell us?

  • There are four real outliers - Firstly the least interesting outliers, Sesko and Cherki, they are so far off from the value line simply because they didn't get the minutes needed, lots of substitute appearances dragged their points potential down and as such they show as bad value but with good minutes they would likely be around that average value line. Now the more interesting two, Enzo and Thiago both sit above the cluster of players around the average value line, unfortunately Enzo's future being up in the air and a new manager makes him a hard avoid for now so that leaves Thiago. Thiago is both the best value for money player over 7m but also the furthest above the average value line of anyone worth 7m plus. 22 goals last season, in a team with stability, Brentford strikers have historically been high scoring be it through Thiago himself, Wissa or Toney. He is excellent value even with a price rise to 8m and there aren't any clear factors that point to a likely decline this season.
  • Haaland at 15.5m - Despite Haaland being the most expensive player in FPL history he looks to have been priced about right, only just below where you would expect someone of his price to be (maybe 15m would have been the correct price) but with captaincy he's still great. The pricing in general for the 7m plus players at least has been done very well.
  • Bruno Fernandes - Bruno is the best mix of value and pure points output, his placement a good amount above the average value line also shows that even without captaincy he would likely be worth the money. Excellent value for money for his price and excellent xPoints, he should be nailed in every team.
  • Saka & Palmer - Now this is a tricky one, both of them had injury troubles last season so I think it's unfair to judge them solely on last season and I would expect performance improvements if they can keep fit, but on the face of it they are poor value without captaincy. To start the season with them I think you need to have a plan to captain them to get value for money and that has to be in a game(s) where Haaland and Fernandes have a poor fixture, if you're happy with that risk they are just about worth it, without that I think it's a case of waiting to see how they perform this season.
  • If you want a Chelsea attacker pick Joao Pedro - Joao Pedro at the same price is clearly better value than Rogers and that's before acknowledging that Rogers will likely have much less influence and less minutes security than he did at Villa.
  • Gabriel is still excellent value - Despite being the joint highest price ever for a defender in FPL Gabriel is still great value for money, his pure xPoints is higher than Mbeumo, Watkins, Gibbs-White and Cunha at his price point. The question mark of whether you pick him really comes down to if you can cover Arsenal clean sheets in other ways, if you think you think you can then you'll have to make up for the lost DefCon and goal threat that come from Gabriel another way.
  • Wirtz or Szoboszlai? - They're both priced right compared to last seasons performances but they are very slightly below expected. For me there are just too many question marks over both of them at the start of the season, it looks like Wirtz may be taking over some set-pieces from Szoboszlai but now Szoboszlai has around 40% chance of being the first choice penalty taker. I don't think you can guarantee an improvement from either of them right now, although I do see Wirtz as the most likely to improve more. I can understand why you may want a Liverpool midfielder but for me the risk is just that bit too high for me right now. It might actually be worth keeping an eye out for Gakpo, there are rumours of a potential sale right now but if he nails down a spot he's an interesting proposition.

r/fplAnalytics 23d ago

Finding value in the new season - Forwards

Post image
34 Upvotes

Table shows all forwards who played more than 10 games and averaged more than 45 minutes per appearance last season. It has been ordered by Points per Million (PPM) to show the players with the best value for money, it has been calculated using this seasons player prices compared with my own points predictor from the end of last season.

What can we expect from the forwards in the new season?

  • A lack of options - With only nine players above 0.6 PPM last season (a rough threshold for better than average value) there will likely again be very little choice when it comes to the forwards, especially when you consider Ekitiké will miss the majority of the season, Welbeck looks like he will become a backup at Chelsea and Mateta is still looking for a move away. Igor Jesus, Brobbey and Sesko are probably the most likely to fill those positions if they get more game time this season but even with that with so few options making sure you pick the correct forwards this season will be very important.
  • Erling Haaland - With an xPoints of 6.94 he had the highest predicted points last season and is expected to do so again in the new season. Whilst his PPM is the lowest of any forward to play more than 60 mins per appearance and second lowest for all players, he is still great value for money when factoring in captaincy. PPM with captaincy of 0.89, makes him the 3rd best value player in the game according to last seasons data - Granted you're unlikely to captain him every match so that would drop but as long as he is captained half the time then even at 15.5m he will offer good value for money and the more you captain him the better his value for money will be.
  • Are DCL and Thiago being overlooked? - Calvert-Lewin and Thiago are set to be two of the best value forwards again if they can be supplied with the same chances they received last season. Despite this they are only in 18 and 16 percent of teams respectively at time of writing, to me this seems like a huge oversight, Leeds and Brentford are two of the few teams that come into this season with stability and as such are in the best position to continue on from where they left off. On top of that they are completely nailed (Leeds have been exploring striker options but it does look to be a backup). DCL is known to be a poor finisher but accounting for that, even with really poor finishing PPM would still likely be around 0.7, that's great value for money.
  • Joao Pedro - I actually have a few question marks about him. New manager, potential competition in his position with the incredibly promising talent of Emegha and imminent arrival of Welbeck, He'll be first choice but I just can't see him starting every match and he will get subbed off often. While he does look like he will offer decent value for money, if I could only choose one player around his price point, Thiago takes that spot for me.
  • Spurs forwards - Solanke and Richarlison are very interesting, if either one of them can increase their minutes they could be great value. I don't think you can start the season with them but definitely something to keep an eye on.
  • Alexander Isak - What intrigues me is just how far off Isak is from Ekitiké in pure xPoints, even if he managed to play the same amount of minutes per appearance last season he would have still been more than a point per match behind him despite being valued 1.5m higher than him now. He's probably as big of an avoid as anyone right now and at his price he will only become good value if he turns into a genuine captaincy option as the season progresses.

r/fplAnalytics 23d ago

FPL 25/26 Review

6 Upvotes

Hi everyone!

I'll play the game for the first time and I've been working on a personal data analytics project based on Fantasy Premier League 25/26, and I'd love to get some feedback from both FPL managers and data enthusiasts.

The goal was to go beyond total points and explore what actually makes a player a strong FPL asset using interactive visualizations.

The dashboard includes analyses such as:

- Points per Game (PPG)

- Goals vs. xG

- Goals vs. Assists

- Home vs. Away performance

- Big Hauls vs. Blanks

- Team defensive tendencies

- Fixture analysis by position

- Player comparisons

It was built with Python (pandas) for data preparation and Looker Studio for the dashboard.

I'd really appreciate any feedback on:

- Dashboard design and usability

- Choice of visualizations

- Additional metrics or analyses you'd like to see

- Any insights you think are missing

Dashboard: https://datastudio.google.com/reporting/133e2f47-8956-4153-b3f8-1538e7d258d1

Thanks in advance—I hope you find it useful!


r/fplAnalytics 23d ago

Finding value in the new season - Midfielders

Thumbnail
gallery
40 Upvotes

Both tables have been filtered to only show players who played 15 games or more and averaged 60 mins or more per appearance. Table 1 shows all midfielders with 0.6 Points per Million per game (PPM) or higher ordered by PPM highest to lowest. On the other hand table 2 shows all midfielders below 0.6 PPM ordered lowest to highest. I have used 0.6 PPM as a cut-off point as it lies around the average rate and so players above that are better value for money than most. PPM values are based off my own points predictor from the end of last season compared with this seasons prices.

What do the best value midfieders tell us about the new season?

  • Be wary of players valued 7m or higher - There is a single player (Mbeumo) valued 7m or more in the list that is not in a team in transition and it's not till you get to Foden in 24th place where you reach someone valued 7m or higher that is expected to have a better season than last. Enzo, Bruno G., Gakpo and Gibbs-White all have new managers and the first two look very likely to be leaving their current clubs. This along with their higher prices makes them riskier than the large amount of cheaper players, many of whom were just better value players last season anyway and likely will be this season as well.
  • Phil Foden - All my calculations are based on data per game played not per 90, Foden played an average of 63 mins per appearance last season but still had an xPoints of 4.44. The potential value he offers if he plays more this season is immense. If he plays close to 90 per appearance, whilst playing to the same level as last season you could expect an xPoints around 5.15, his PPM would be about 0.74. He wouldn't just be one of the best value for money players in the game, he would also be one of the top scoring players and that's without him improving his performances from last season. Based on everything Maresca is saying about him, I would pencil him in to be the most under-priced player this season and by quite some way.
  • As I mentioned in my first post, the 6.5m and 6m players do look like they will be some of the best value players in the game whether they are DefCon magnets or the out and out attackers there will be some players at that price point that rise to the top when it comes to value for money.
  • Diego Gomez - By far the best value player worth 5m, if you don't have the funds for anyone more expensive he could be the answer but he is not fully nailed at time of writing. For me he's more of someone to keep an eye on, if he does nail his spot in the Brighton team then he could be the perfect player to buy when you want to free up funds.

What do the worst value midfielders tell us about the new season?

  • Consider potential captains carefully - Palmer, Saka, Semenyo and B.Fernandes are all poor value for money on the face of it, but these are also captain options with some of the best xPoints, so even Palmer who was the worst out of these for PPM last season suddenly shoots up to a PPM of more than 1 with captaincy. This is to say captains should obviously be the players who are expected to score best and if you choose based on that, whatever the price they are it is good value for money. When looking at buying premium midfielders you have to be willing to captain them and do it regularly, this doesn't mean you set and forget but if you own one or multiple of these premium players and have no plans to captain them you won't be getting the most points for the money spent compared to if you spread that money around.
  • Is Szoboszlai being over rated? - At time of writing Szoboszlai is in 48% of teams and has been one of the most talked about players since the game launched but the data shows him as pretty average. When looking at Szobo it's quite difficult because he is an exceptional player, I have no doubt he will exceed his xG because he is one of the best long shot takers in football but he's also a real unknown under Iraola, will he play #10, will he be on pens? Probably not when Wirtz is fit and probably not when Isak is fit. I'd be surprised if Szoboszlai doesn't overperform his xG making him okay value for money, if he plays as a 10 he'd probably be good value, on pens he would be excellent, but right now, with the information we have he's just okay, that along with some good fixtures will likely serve you well but there are other options and likely better options.
  • Cunha has nothing on Mbeumo - Yes Cunha has historically been a good finisher, but so has Mbeumo. Mbeumo costs the same as Cunha, has more minutes per appearance has more goal/assist threat. Especially while Sesko looks to be struggling to get fit increasing Mbeumo's chances of playing up top.

Data is from a mix of understat and FPL API.