44. Man vs Machine Learning: Season Analysis & Conclusion

Gameweek 38 was an eventful gameweek in the Premier League and personally, I missed the times when we would have multiple games going on at the same time. It was good to have the fans back too instead of the fake noise. This season as a whole was a unique one, with several fixtures being postponed due to Covid, cup games, fan protests to result in a lot more fixture rescheduling than usual.

As far as FPL is concerned, The Machine finished on a rank of 473,356 to finish in the top 5% of managers in the world, the caveat of course being that 1 million teams were created late and a decent number of teams would be ditched by their managers before the end of the season.

Meanwhile, my team finished on a personal best rank of 2286 and I went on to win all my mini-leagues. This exceeded my expectations beyond all imaginations as among all my friends at least in the 12 years that I have been playing this game, this is the highest finish I have witnessed.

Thus, what started as an experiment to map out a Machine's team inadvertently ended up documenting my special season with screenshots of my team each week, my thought process, the decisions I made and the outcome all stored on this blog.

In this post, I will go into some depth about how the teams performed this season, evaluate decisions, point out where they gained & lost points, try to measure their luck and conclude with takeaways for both the ML model as well as my human decision making for next season.

Note: Advanced apologies as there are some screenshots which might be blurred - if you click on the images, you should see them properly. 



Gameweek Ranks of Man & Machine's FPL Teams (green colour is chip usage)

The Machine's Team

  • Gameweek 38

    • The transfers made were: Mane and James in for Fernandes and Shaw
    • Mane's brace meant the last week punt was highly successful
    • Coufal and Kane scored big too, despite recent erratic performance
    • Harrison and Alexander-Arnold were the others to return to finish the season on a strong 68 points
    • Captain Salah got an assist and could have easily had more 
    • The Machine got a green arrow to go from 543k to 473k

  • Gameweek History

    • The Machine had a solid start, reaching a rank of 400k by the first 10 gameweeks
    • However, by GW 17, it was out of the top million and spent the rest of the season going up and down between 500k and 1 million
    • The first time it broke into the top 500k again was the very last week of the season. It got 8 green arrows in the last 11 weeks to finish strongly.
    • Source: https://fantasy.premierleague.com/

  • Transfers

    • The Machine took 24 points worth of hits. Hits were rare because the projections had to indicate that the player coming in would have at least one return more than the player going out.
    • It gained a net of 92 points from transfers, which is on par with a decent manager but most transfers were spent on less impactful positions and thus contributed to its lack of major rise or fall throughout the season
    • As seen in the graph below, apart from two weeks of losses, most of the transfers were  a positive return
    • Source: http://www.fplretro.com/

  • Captaincy

    • All the Machine's captaincy choices have a decent average return across the season - at the same time there isn't a captain average that is exceptional
    • It tends to pick the same captain for a stretch of fixtures, irrespective of difficulty. This is unlike a human strategy to look at both form and fixtures
    • This resulted in the Machine picking up unexpected hauls but missing out at times when a majority of the managers captained an 'obvious' candidate
    • Owning Vardy also meant it missed out on other premium players in that phase
    • Source: https://www.anewpla.net/fpl/report/index.php

  • Bench

    • The Machine did not lose too many points on the bench as it often made unconventional picks in the cheaper positions
    • This was yet another potential reason for its okay performance as it did not invest in the several highly owned cheaper options that were doing exceptionally well
    • Source: https://www.anewpla.net/fpl/report/index.php

  • Chips

    • This was one place where the Machine severely lacked strategy and also got extremely unlucky
    • When the Machine used its bench boost, the Manchester United-Liverpool game was unexpectedly postponed and it had 5 players from that game alone
    • The free hit was most successful with GW 18 being a blank gameweek - but the Machine never 'learnt' the best time to use the wildcards 
    • Source: http://www.fplretro.com/

  • Point Distribution

    • Almost half the points of the team were obtained from minutes played, which is not out of the ordinary
    • It is interesting to see that almost a quarter of the points were from goals, which is only slightly lesser than the points obtained from assists and clean sheets - the model treated all returns equally in its formulation
    • Around 5% of negative points set the team back
    • Source: http://fploptimized.com/highlights.html

  • Formation

    • The Machine started the season preferring 4 at the back but as the season progressed it moved to a more 'human-like' 3 at the back formation
    • What's interesting is that the average formation shows almost 3 strikers picked in every game. This almost rules out 5 midfielders
    • The Machine did really well in its choices of midfielders and forwards, getting around 6 points per game from them. The same cannot be said of the defenders
    • Source: http://fploptimized.com/highlights.html

  • Decision Making

    • The goal success ratio is solid with almost one in three picks scoring a goal. Probably the near 50-50 captaincy selection hurt its chances of making those goals count big
    • Source: http://fploptimized.com/highlights.html

  • Key Moments

    • This analysis was done on the top 1 million players, as that is where the Machine belonged for most of the season
    • With the Machine picking a lot of differentials, the player list on the gains page has players like Vardy, Harrison, Ederson, Willian, Barnes who aren't commonly owned
    • Similarly, players like Antonio and Bowen were picked early despite West Ham having hard fixtures and the Machine benefitted from this
    • At the same time, the loss analysis shows that the main problem of the Machine is not making the 'obvious' picks that most human managers make (as shown by the high Effective Ownership)
    • Source: http://fploptimized.com/highlights.html


  • Risk & Luck Factor

    • This tool shows us that according to xG data, the machine should have finished at a rank of around 311k
    • Similarly, as per implied odds, the team that the Machine had should have obtained a rank of 207k
    • The luck% of the Machine is fairly low in the chart as a result
    • The relative risk of the machine is categorised as 93.6%, which shows that the Machine plays extremely differently from a human
    • The template correlation is extremely low as we see in the figure below and the Machine is categorized as a 'Risk Taker'
    • Source: https://fplreview.com/season-review/

  • Team of the Season

    • The Machine's season was built on a backbone of Fernandes, Salah, Kane and Bamford - much like that of a human player
    • It didn't own Son as often - the other high scoring premium player
    • It also differed significantly by picking Vardy and captaining him so many times. This period also coincided with the fall from 400k to 1 million in the ranks
    • It's quite telling that Ederson and Bowen are in the team of the season (very low ownership %) - owning triple City defence for a long time prevented it from owning Gundogan
    • Source: http://fploptimized.com/highlights.html

  • Conclusion

    • I feel that finishing 473k in a complicated season like this is a great achievement for a Machine based team, given the bad luck it had
    • The Machine managed to pick some differential gems at various stages of the season, even getting some ballsy captaincy calls right
    • However, there are multiple things that can be improved on
    • It made a lot of risky captaincy picks - often going for form over fixture and betting against the crowd
    • The Machine found it difficult to navigate blank gameweeks and double gameweeks, often ignoring players who had two fixtures to its own peril
    • Fixture rescheduling due to various reasons affected the Machine disproportionately as it was impossible to model that uncertainty
    • There was also no chip strategy that the machine had, which contributed to its downfall
    • It picked players who weren't certain to start. An injury flag prevented it from picking injured players but the same cannot be said about rotation risks
    • Building an optimizer to convert the projections into teams so that the team that is picked can be optimized can be done by converting return predictions to points
    • I am hoping that next season can see both the model and the rank outcome improve in some of these aspects
    • Useful links: https://www.fantasyfootballscout.co.uk/

My Team

  • Gameweek 38

    • Shaw to Robertson and Bruno to Torres for a hit were the transfers that I made just before the deadline
    • Both goalkeepers frustratingly did not get picked to play again. To make matters worse, Bamford and new transfer Torres did not start either
    • The defenders all got clean sheets and Coufal's assist was the cherry on top
    • Salah, Son and Raphinha got assists from midfield
    • Kane was on fire vs Leicester again and Bamford scored from the bench to take the team to 61 points after the hit
    • A tiny green arrow from 2296 to 2286

  • Gameweek History

    • After an underwhelming start to the season (even after a fairly decent wildcard), I was sitting at the 836k mark after GW 8
    • From GW 10 to GW 35, I got only four small red arrows and consistently gained ground with green arrow after green arrow to reach a season high rank of 1340
    • The season ended in a whimper and I failed to get a three digit rank but still finished on an amazing rank of 2286
    • My Gameweek rank was also in the top 1 million repeatedly (22 times) - this guaranteed a green arrow every time it happened
    • Source: https://fantasy.premierleague.com/

  • Transfers

    • 32 points worth of hits were taken, most of them in the first half of the season. In the second half, I only took hits when I needed to get 11 out to play or if there was a blank/double gameweek to plan for
    • As far as transfers were concerned, I used livefpl's fantastic transfer planner tool (https://www.livefpl.net/) to have an idea of what I want to do in the next 4 to 5 weeks based on the fixtures
    • I saved a transfer wherever possible, especially after playing my wildcard in GW 31 - getting rid of only injured players or those with difficult fixtures
    • Source: http://www.fplretro.com/

  • Captaincy

    • Salah was the captain I trusted the most and this season saw Kane's resurgence to a top FPL asset once more
    • It's surprising that I captained highest points scorer Fernandes only thrice - goes to show how much he has exceeded expectations, getting regular returns throughout the season
    • Gundogan and Bamford were captains in double gameweeks
    • Werner, Rashford and Auba were early season captains when we were still getting a feel for who the top players this season would be
    • Source: https://www.anewpla.net/fpl/report/index.php

  • Bench

    • For a majority of the season I had a deep bench due to owning cheap players like Dallas, Bamford, Gundogan, Soucek
    • This was a double edged sword as I lost out on a lot of points on the bench. At the same time, I got a fair share of points coming off the bench when I needed them the most
    • Towards the end of the season, after my second wildcard, I went extremely cheap on my bench and this cost me with rotation striking my team in the last few weeks
    • Source: https://www.anewpla.net/fpl/report/index.php

  • Chips

    • Both my wildcards were successes for a few weeks. The first one proved to be a great long term move as it laid the foundation for my long run of green arrows
    • Like I mentioned in the previous section, the second wildcard was far too cheap on the bench and I should have sacrificed one of the premiums to spread the money around
    • The free hit was a success too and it was something I planned weeks in advance so I was left with no choice but to play it in the blank week
    • While the bench boost did not succeed in the week that I played it (Leeds' game against Southampton was postponed due to covid), the plan to play it meant I owned the cheap players who did really well in the weeks leading up to it
    • It also meant that I didn't need to worry about playing my second wildcard early and I saved it till GW 31, when fixtures for teams like Leeds, Liverpool and Man United turned 
    • Ben Crellin (https://twitter.com/BenCrellin) on Twitter was absolutely crucial this season with his fixture projections and double gameweeks, blank gameweeks predictions
    • Source: http://www.fplretro.com/

  • Point Distribution

    • A high share of the points came from the goals. 
    • Playing 4 premium attackers that were basically the top four in the golden boot race for majority of the season was what contributed to this
    • Add to this goal scoring defenders like Dallas and Robertson and there was a high chance of both attacking and defensive returns
    • Source: http://fploptimized.com/highlights.html

  • Formation

    • Most of the season was either a 3-4-3 or a 3-5-2 formation
    • In the first half of the season, I played 3 strikers often but in the second half I had just 2
    • The midfielders and forwards naturally have the best points per game, but Martinez and attacking defenders allowed for decent scores in those positions too
    • Source: http://fploptimized.com/highlights.html

  • Decision Making

    • A 60% captaincy pick rate is fairly high personally for me. The strategy was to pick reliable, premium players who had a good fixture at home, irrespective of form
    • Nearly 40% success in clean sheet success is fairly high too
    • The goal success ratio could have been higher but with high rates in the other categories, it did not prove hugely detrimental
    • Source: http://fploptimized.com/highlights.html

  • Key Moments

    • In terms of gain, John Stones' transfer ahead of double gameweek 19 proved lucky with him getting a brace
    • Other big notable captaincy gains were Kane's 16 points on wildcard 1, Salah brace vs West Ham when he was not highly trusted, his hattrick on day 1, Gundogan going riot vs Spurs and Salah's hattrick on day 1
    • Non-captaincy gains included Trossard's brace in the blank gameweek, Cancelo's 17 pointer, Saint-Maximin & Rodriguez early on and Dunk's goal in the lead up to the blank week
    • The players who hurt the most were Fernandes before I got him, Son's four goals vs Southampton, Grealish's late brace just after wildcard 1, Kane & Son almost every time I didn't own them, Calvert Lewin early on, Greenwood towards the end of the season and James Justin till his injury
    • Source: http://fploptimized.com/highlights.html


  • Risk & Luck Factor

    • When the rank is so high, there is bound to be a high element of luck and a lot of things working out in my favour
    • I am classified as a very low risk taker with just a 15.6% relative risk rating and also having a high luck %
    • xG data shows that my rank should have been slightly worse, still in the top 5k
    • At the same time, implied odds show that my rank could have been closer to 1k if the outcomes went according to them
    • Source: https://fplreview.com/season-review/

  • Team of the Season

    • I owned Mo Salah in all weeks except the ones where he blanked and heavily favoured him as the captain.
    • I delayed getting Fernandes till I was certain that he was having a great season and still didn't trust him too many times with the captaincy
    • Kane redefined himself this year, getting bucketloads of assists to go with his goals and this made Son a great option too
    • I got rid of De Bruyne midway through the season in favour of having Son, Kane, Fernandes and Salah as my premiums and stuck to these four right till the end, whenever fit
    • Getting Bamford in early was another key decision that worked out for me
    • Some of the other players who played key roles were the Liverpool full backs, Martinez in goal, picking Dallas over Ayling in the wildcard, Gundogan + City defenders, Grealish and Coufal
    • Lingard and Iheanacho did really well in the end of the season
    • I somehow never owned Adams and Watkins at the right times and missed out on a lot of their returns
    • Source: http://fploptimized.com/highlights.html

  • Conclusion

    • Of course, a lot of luck is involved whenever such a high rank is to be achieved
    • But after three years of playing this game obsessively and always finishing between 50k and 70k due to various things going wrong, it is extremely satisfying to experience a season like this
    • Things that worked out: Kept things simple wherever possible, took a step back after bad early weeks, planned out chips, blanks and doubles ahead of time, less hits, picked safe captaincy options
    • Things to improve on: Underestimated late season rotation, ignored some highly owned players to shoe horn premiums in, tendency to stubbornly stick to a plan wherever possible
    • Useful sources: r/FantasyPL on Reddit, FPL Twitter community, podcasts on Youtube (FPL Blackbox, FPL Wire,  Fantasy Football Scout, Let's Talk FPL)
A big thank you for all those who have been following this through the season.  I certainly did not expect 44k hits on this website over the last 9 months when I started this project


Follow me on Twitter if you want to keep track of any post-season updates and next season

43. Man vs Machine Learning: One Final Push

Gameweek 37 was extremely disappointing for my team as it ended up outside the top 2k since Gameweek 32. Meanwhile the Machine did slightly better but it could not make an inroad into the top 500k.

This leaves my team 20 points away from a 3-digit rank and the machine 8 points away from a top 500k finish. After getting just 4 red arrows in 25 gameweeks, my team now has three consecutive red arrows as the season looks like it will end in a whimper for the team. 

However, it is still by far the greatest season I have ever had and hopefully the last gameweek will see one last push.

The Machine's Team

  • Gameweek 37
    • Captain Kane was a major flop, as was Bruno with just a phantom assist
    • That assist also meant that Areola did not get more than a save point on Tuesday
    • Shaw got a yellow card to go with a clean sheet wipeout and continued to underperform on his potential, given the fixtures
    • The ML team had a staggering 7 players from 2 fixtures on Wednesday. In the end it turned out okay with Antonio, Lingard, TAA and Pereira all returning
    • Salah joined the other big hitters in disappointing with a blank
    • The Machine got a small red arrow to go from 533k to 543k
  • Gameweek 38
    • The Machine has 2 free transfers available. However, these will heavily depend on late team news
    • Assuming that Bruno & Shaw see reduced minutes due to the upcoming Europa league final, the suggested moves are to get Mane and Reece James for the two of them
    • Captain is Salah, vice captain Kane


Expected number of returns for GW 38 per position according to the Machine

My Team

  • Gameweek 37
    • Meslier did not even show up - and to make matters worse, his replacement Casilla got 9 points
    • The defence was underwhelming, with TAA's clean sheet the only returns to come from them
    • Bruno, Salah, Son and Kane all disappointed and managed to get only 13 points among them, including the captaincy
    • Lingard got a late assist to allow the team to go past 40 points
    • Bamford was the hero with 12 points and Raphinha was unlucky to blank
    • Another red arrow from 1744 to 2296
  • Gameweek 38
    • With Bruno & Shaw expected to be rested + Meslier unlikely to play, the prospects for Gameweek 38 do not look great
    • The money in the bank allows me to move Shaw to Robertson - if there are no further price changes
    • The plan is to wait for late team news so I won't be making any early moves 
    • If Bruno does not play too, I can take a hit to bring in a differential player who will need to score very big for me to have any hope of getting into the top 1k
    • The captaincy will stay on Salah, barring late injury news

Follow me on Twitter if you want to keep track of these teams and see the final teams before deadline

42. Man vs Machine Learning: Trying to Finish in the Top 1k

In Gameweek 36, there was some respite for the Machine's team as it scored an excellent 69 points in a low scoring gameweek to get a massive green arrow for the first time in a long time.

Meanwhile, my team had a forgettable week with multiple flops in the first team leaving the dream of a top 1k finish hanging by a thread.

The Machine's Team

  • Gameweek 36
    • TAA's late assist to Alisson's wonder goal was the only return in defence
    • The midfield did much better with Pereira continuing his great form and Salah returning 3 bonus points
    • But the real hero was Harrison's 16 points. This was an example of a move that I felt was risky but it paid off for the Machine
    • Watkins and Kane got returns to finish on 69 points
    • The Machine got a green arrow to go from 670k to 533k
  • Gameweek 37
    • The suggested move is to bring Antonio in for Watkins and it has been made (2 free transfers available)
    • Captain is Kane, vice Captain Bruno
    • The second free transfer is not being used. In case Bruno and Shaw miss out in GW 38, 2 free transfers could be useful


Expected number of returns for GW 37-38 per position according to the Machine

My Team

  • Gameweek 36
    • Meslier proved a good transfer in and got 7 points
    • Ward got 0 despite playing and Jota got 0 without playing
    • Bamford was subbed just before the 60th minute to get 1 point and Davis came on with 5 minutes left to get 1 too
    • TAA, Kane and Salah were the only other ones to not blank in this forgettable gameweek
    • Coufal lost his clean sheet in the 84th minute, as did Lingard
    • Son kept his clean sheet point to hit the half century mark
    • A red arrow from 1707 to 1744

  • Gameweek 37
    • One forced change has to be made due to Jota's injury and the lack of a decent bench
    • The original plan was to save a transfer in 37 and keep options open for 38, especially as Shaw and Bruno could be rotated
    • The two main players under consideration are Greenwood and Raphinha
    • Greenwood is an exciting move with fans in the stadium against a potentially hapless Fulham team. However, gameweek 38 could be a bloodbath of rotation for United players
    • Raphinha is a slightly more boring move with his GW 37 fixture being away to Southampton, although he has a good last fixture vs West Brom at home
    • As far as the captaincy is concerned, I'm currently torn between Bruno and Kane, with Salah being an outside shout
    • Kane could be playing his last game in front of the Spurs fans and is chasing the golden boot
    • Salah has the added motivation of a potential CL spot
    • Both the transfer and captaincy decisions could go down to the wire - I'm currently leaning towards Raphinha for the transfer and Kane for captain

Follow me on Twitter if you want to keep track of these teams and see the final teams before deadline

41. Man vs Machine Learning: Rank 1k vs Rank 600k

Gameweek 34 saw red arrows for both teams with my team getting its first red arrow in 8 weeks. The navigation of the double followed by the blank has proved to be tricky and the hope is that GW 36 will see the teams gain back some of the advantage.

A momentary occasion for me was when my team was in the top 1k for the first time ever, reaching a high live-rank of 651. The gap in the two teams now is almost 300 points. This can be explained by the over performance of my team combined with the underperformance of the ML team.

My team finished around 50k overall rank the last three seasons. Currently, I am a 100 points ahead of the 50k mark. Also, the Machine has been hampered by the fixture changes more drastically than a human would be. I believe this contributed to at least 50 points, if not 100. Finally, the model itself has room for improvement. Risky captaincy picks, ignoring obvious moves, lack of transparency of starts meant a gap of around 100 to 150 points between the two teams would have been a reasonable expectation in a normal season. 



The Machine's Team

  • Gameweek 35
    • Shaw got 2 points from three games. TAA was the only player in defence to do well, with his 16 points.
    • Captain Bruno and Salah both got good scores and Pereira scored a goal to keep the points ticking
    • Iheanacho got 9 points but Watkins' red and Kane's blank meant that the team did not cross 100 points
    • The Machine got a red arrow to go from 596k to 670k
  • Gameweek 36
    • The suggested move is to bring Wood in for Iheanacho and it has been made (2 free transfers available
    • Captain is Salah, vice Captain Kane (I know the pic says Wood but that's wrong)
    • The second free transfer is not being used. In case Veltman doesn't play, Harrison should come on


Expected number of returns for GW 36-38 per position according to the Machine

My Team

  • Gameweek 35
    • Mendy and TAA got double digit returns in their double gameweek, with Mendy playing only one of the games
    • The midfield all did well, except Lingard's 1 pointer
    • Iheanacho ticked over with points one last time to finish on 115 points
    • A red arrow from 1340 to 1707

  • Gameweek 36
    • One change has been made so far. Bamford comes in for Iheanacho. He's the second highest scoring forward and has 3 good fixtures + Leeds are in form.
    • Forster may not play due to the Southampton goalkeeper rotation and Veltman is injured so there are a few options in mind with the second transfer
    • One option is Veltman to Coleman, another option is Mendy to Meslier. The third option is to do both for a hit
    • I considered a move for Bruno but decided against it
    • Captain is Salah

Follow me on Twitter if you want to keep track of these teams and see the final teams before deadline