EPL 12-14th December 2015
EPL 12-14th December
A great weekend in the premier league, which saw the meeting between the two sides that the public continues to believe will eventually revert back to last season's form. Leicester flying high at the top of the table are expected to wane at least some of they way down the league table whilst the champions Chelsea are expected to start pulling together a string of victories to propel them up the league towards some semblance of at least competing for a champions' league spot.
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
weekend_matches = league_analysis.get_matches(epl, '12/12/2015', '14/12/2015')
league_analysis.display_given_matches(weekend_matches)
pairs = [(stats.teamname, stats.points) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Points'], pairs)
Bournemouth 2-1 Manchester United
Two of the more statistically interesting teams in the league. For a while stat watchers have been expecting Bournemouth to improve results since their underlying performances looked quite decent whilst their results were awful. Manchester United continued to have pretty lukewarm shots and are generally playing "low-event" football. I'd really like to spend a full post talking about why I think low-event football for a generally superior team is a poor strategy but for the time being Manchester United have appeared to some to be riding their luck. Whether they are really riding their luck or simply providing an excellent case study is a topic to be explored. For the interested a good couple of statsbomb articles:
I'm quite interested in Bournemouth, in the last two weeks they have shot themselves up the table to 14th with 6 points from two games they probably were not hoping for much from when eyeing up the fixture list before the season began. Here Bournemouth playing at home didn't just compete well but matched United shot for shot. Last week I said that it was probably more interesting that Bournemouth competed so well with Chelsea rather than that they won, and that carries over to this now two game streak. Bournemouth should be pleased to have competed so well with Chelsea and Manchester United, and take the 6 points as a very handy, and much needed, bonus.
All this means is that the current winning streaks table looks like this:
pairs = [(stats.teamname, stats.current_winning_run) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Current Winning Streak'], pairs)
Crystal Palace 1-0 Southampton
A pretty even affair. Personally think that ultimately Southampton are the better team, but they are going through a bit of a difficult patch at the moment. Here is the table for the current winless run. Obvious problems for some, but I guess the 4 next to Southampton might count as the more surprising.
pairs = [(stats.teamname, stats.current_winless_run) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Current Winless Run'], pairs)
Manchester City 2-1 Swansea
Well Swansea clearly in a bit of trouble, that is six games now without a win. But they have actually competed very well against a team that often simply blows teams out of the water at home. Most of the mainstream media have picked up on City's lukewarm form, and suggested that injuries cannot be an excuse because of the cost of the players that are playing. Possibly.
Norwich 1-1 Everton
Everton continue to frustrate their fans to some degree. This is a decent away point, and clearly they had the better of the match, though not by a great deal.
Sunderland 0-1 Watford
Watford's third win in-a-row propels them to the top of the table, well the top of the current-winning-steak table. Still this little run has lifted Watford from getting pretty apprehensive about relegation worries to 7th in the table. They are now only 10 points off the top of the table and 4 from champions' league qualification. Pretty astounding, but probably goes more to show what an exciting season we may be in for.
West Ham 0-0 Stoke
Just when West Ham have actually started to shoot, their shooting-percentage has crashed and burned. So they are in the position of actually improving their underlying performances whilst seeing their results hit something of a bump in the road. That six game run without a win is starting to look mighty ugly. Their good results early on in the season mean that they are not worried about relegation for the time being, and I would have to believe their improved performances will bear fruit at some point. But this has gotten interesting. Here is how West Ham's shooting percentage (ratio of shots on target to goals) has declined over the course of the season, but their tsr has gotten better until roughly levelling out recently.
after_game_no_dicts = league_analysis.collect_after_game_dicts(epl, '01/08/2015', '15/12/2015')
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'goals_sot_for_ratio', teams=['West Ham'])
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'tsr', teams=['West Ham'])
Aston Villa 0-2 Arsenal
An amazing shock. Okay so Aston Villa didn't win, they have not done that since the first day of the season, but they did have 18 shots:
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'shots_for', teams=['Aston Villa'])
Okay when you graph it it does not look all that interesting. I had kind of expected the jump up to look like a ramp. Oh well. Still a potential for hope? Probably not, but at this point Villa will have to take anything they can get.
Liverpool 2-2 West Brom
Liverpool are starting to look pretty good from a shots point of view. They may have required a very late equaliser to salvage a home point against opposition they may have hoped to retain all three points against. However, Liverpool clearly somewhat dominated the game, perhaps having more shots from being in a losing position. One might argue that Liverpool are showing signs of having difficulty in breaking down teams that are set up to frustrate them.
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'tsr', teams=['Liverpool'], rankings=True)
pairs = [(stats.teamname, stats.tsr) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'TSR'], pairs)
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'team_rating', teams=['Liverpool'], rankings=True)
These two graphs clearly show some steady improvement from Liverpool over the course of the season. Only Manchester City and Arsenal have a better TSR than Liverpool now and both have been somewhat prolific.
Tottenham 1-2 Newcastle
And so the league's longest running lossless streak comes to an end. Newcastle have been involved in some funny games, winning against both Bournemouth and now Tottenham whilst having very poor shot statistics, and also a strange game against Norwich in which they scored all 6 of their shots on target. But Newcastle also lost to Sunderland whilst dominating them. So, interesting times for Newcastle. However, two wins in two for Newcastle may well give their manager some breathing space, but I'd still be worried if I were him:
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'tsr', teams=['Tottenham', 'Newcastle'], rankings=True)
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'team_rating', teams=['Tottenham', 'Newcastle'], rankings=True)
So Newcastle stuck to the bottom of both TSR and team rating leagues. Hmm. Tottenham though look fine.
Leicester 2-1 Chelsea
So, their manager has not lasted to meet Sunderland on Saturday. What are the chances of Chelsea actually being relegated? We looked at the three game winning streak of Watford and how it has propelled them up the league. It is really quite possible that Chelsea could pull off something similar. Their next three fixtures are Sunderland, Watford and Manchester United. Equally though, their current position is not born of unprecedented bad luck. They are, currently, at best a mid-table team, so they may be a bit below where they should be but they are not playing as a champions' league team (despite progressing to the knock-out stages in that competition this year). So a bit of bad luck could see them in the relegation zone. I expect them to dominate Sunderland on Saturday, and probably win, whoever is in charge.
Leicester of course are great. They are just as surely sitting higher than they really should be, but I make them now 6th in team rating. As I've said before, 6th in team rating winning the league is unlikely, but it certainly makes a champions' league position attainable. They have some signs of worry, their PDO is pretty high. Still, I don't see any sign that they will drop off the charts in the sort of style that West Ham managed last season. I'd be surprised if they don't manage a top 7 finish.
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'pdo', teams=['Leicester', 'Chelsea'], rankings=True)
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'team_rating', teams=['Leicester', 'Chelsea'], rankings=True)
pairs = [(stats.teamname, stats.team_rating) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Team Rating'], pairs)
Well as always thanks for reading.
Comments
Comments powered by Disqus