If this is the first time you land on one of our Fantasy EPL Blogs, you might want to check out some of our original EPL blogs in my Medium archives to get familiar with how this project started and the improvements we’ve made over time.
Top 100 FPL Team Stats for GW3

Looks like a tough GW even for the top100 players in the world, with an AVG of only 60pts and a few top players scoring below average with 40pts.
Most Selected Goalkeepers by Top100

Most Selected Defenders by Top100

Most Selected Midfielders by Top100

Most Selected Strikers by Top100

We used this data to create the team below which is a blend of the most selected players by Top100:

Most selected Team Formation by Top 100 Fantasy Users

These stats make sense as most of the top players are trying to capitalize on offensive midfielders and strikers with the 3–4–3 formation.
GW3 Team Performance Recap and Overall Stats
We had all of our teams score slightly above average, with the highest team getting 51pts. Every week, we will post a picture of our Top2 performing teams. Unfortunately, we didn’t pick the best captains again and this is hurting us 2 weeks in a row now. We could be saying the exact opposite if Son had not hit the post twice and didn’t get subbed in at half time, so let’s not forget that no matter how good one’s algorithm might be, luck still has a tremendous importance in doing well week after week. This is what keeps the game interesting and exciting after all.


We also participate in the FanTeam version of the FPL, where we had our best performing team of the week. Again, not the best captain choices there, especially given that on the first team we sold Vardy to get KDB, and that ended up costing us a million points :(. So, I’d say our luck was quite poor last week overall.


Useful Stats to Inform our GW4 Picks
Since we added a lot of new stats to our Algorithm this year, this Blog will evolve to have more stats and graphs and less text over time. Let’s start with the Fixture Difficulty Rating (FDR) for the next three game-weeks below:

Looks like West Ham, Arsenal, Villa, Man Utd and Sheffield Utd have some tough games coming up, so our Algorithm might not be picking players from those teams. WOL, LIV, CRY, MCI, and LEI seem to have more easy schedules over the next three weeks.
Bookie Odds

We will try to stack up on players from teams that have a higher than 50 % chance of winning such as WOL, CHE, ARS, LIV, LEI, MCI, and EVE. We should try not to have too many defensive players from AVL, LEE, WHU, FUL, BHA, CRY, WBA, or BUR.

Teams with higher probability to draw, especially when the game is combined with high odds for Under 2.5, might be good for selecting defensive players because if the game ends 0:0, that will result in lots of bonus points. Combined with the Under/Over Graph below, we can identify the following games with higher probability of at least one clean sheet – NEW-BUR, WOL-FUL, ARS-SHU, SOU-WBA.

Inversely, we might want to have more attacking players from games with high odds for Over 2.5 such as LEE-MCI, AVL-LIV, CGE-CRY, and LEI-WHU. Again, the odds from last week played out pretty well as most games predicted had over 2.5 goals!
Referee Stats
From the stats below it appears that there is a higher chance for penalty given in games: EVE-BHA, LEE-MCI, LEI-WHU, MUN-TOT, so we recommend having penalty takers for some of these teams. Looks, like the games EVE-BHA, LEI-WHU, ARS-SHU have refs that like to give a lot of cards, so expect to lose some points there from yellow cards, but hopefully no red…

Team Penalty Stats
On top of the referee probability to give penalty, let’s also look at what teams have been given the most penalties over the last 5 seasons, to see where we get the highest combined probabilities. From the graph below we can conclude that LEI, MCI, MUN, and EVE are most likely to get a penalty.

Set Piece Takers
To help your choice of set piece takers please see the list below which is more or less up-to-date with a couple of doubtful predictions:

Projected Starting Lineups
Before we run our final team selector, let’s take into account the predicted starting 11 for each team.

Pay attention to the doubtful player names on the right and also the the most recent injury news updates below:

Predictive Models (Player Stats)
It’s time for the crown jewel of this year’s improved Algorithm – the predicted player stats. After we layer in all the FDR, bookie coefficient, ref starts, projected lineups and injuries, there are two major metrics that we take into consideration when tuning our Team Optimizer for the next n-gameweeks team selection – predicted total points and expected value (ROI). Below are the stats for each metric, also broken down by position.
Projected Total Points – Top 25 Players

Projected Expected Value (ROI) – Top 25 Players

Projected Points – Top Goalkeepers

Projected Points – Top Defenders

Projected Points – Top Midfielders

Projected Points – Top Strikers

As you can see there is a large number of options we can choose from for each position, so we will be plugging a lot of the stats above into an Optimization Function in Python, which will output the team with the highest expected total points, given our budget constraints and other metrics that go into our decision making process. Some of the preliminary filters, applied before the Team Selector Code kicks in, include:
- Exclude Injured or Suspended players
- Exclude Players from teams with high FDR
- Exclude Players from Teams without Fixtures in GW1
- Cannot have more than 3 players from the same team
- Must have 15 players total (GK=2, DF=5, MD=5, ST=3)
Optimize Budget for most used formation
Most used formation by Top100 players last week was 3–4–3, so we will present optimized team for that formation. As you can see below, the model first looks at parameters that tells it if it should optimize towards full squad of 15 players, or towards a specific formation with 11 key players and 4 cheap fillers. For the fillers, it first looks at preferred formation and uses that to decide how many fillers to get per position. The model then subtracts the total amount spent on the 4 fillers from our initial budget and spends the leftover budget on the key 11 players, given the optimization function and model constraints.
Example1: Optimize towards max expected points

Example2: Optimize towards max Expected Value (ROI)

We used the output of the Optimizer Algorithm and some of the top10 players recommended per position to come up with the blended team below:

Our Team for GW4
We will always use our top scoring team from last week, and try to do maximum of 1–2 transfers. So, we sold Son and Ward-Prouse for KDB and Klich as we wanted to get more penalty kick takers given how many penalties we’ve been seeing lately. We feel like Salah is due to explode soon, so we captained him, hoping to finally break the curse of poor captains.

Conclusion
We’re trying to stay disciplined and not use our Wildcard until after the international break. The main weak spot left in our teams is the goalkeeper, as Fulham’s defense has just been atrocious and we really want to get rid of Areola, and get another keeper at 4.5M that is expected to get more clean sheets during the season. Thus, we’ll probably play wildcards on a couple of our teams before next GW. Thanks for reading as always and good luck this week!