EPL 27-28th February 2016
EPL 27-28th February 2016¶
Only 8 games this weekend and Manchester City sink 9 points behind leaders Leicester, although now we have to start qualifying all such statements with the fact that Manchester City have played one fewer game than everyone else bar Liverpool. Manchester City also managed to pick up some kind of trophy or something at the weekend.
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
display(HTML(league_analysis.blog_weekly_header(epl, '27/02/2016', '28/02/2016')))
Leicester City 1-0 Norwich¶
Norwich will be truly gutted not to have taken a point here, a point they so desperately needed. The Leicester juggernaut sort of continues to roll on. It's hard to believe that Arsenal, Tottenham, or Manchester City would have been reduced to just 3 shots on target whilst playing the majority of the game at 0-0 against Norwich. Still, dominating shots has not really been Leicester's stick this season and what they have done they have obviously done successfully. It's pretty easy to see that the Leicester doubters will look at this sort of win as clear evidence Leicester are going to struggle to win the league, whilst those bullish on Leicester will see this as the sort of win that champions make.
Norwich now winless in 7, Newcastle, Sunderland on 1, Aston Villa on 2. If that does not worry Norwich fans, then, well perhaps they're just not that worried about life in the Championship.
league_analysis.display_current_runs(epl)
Southampton 1-2 Chelsea¶
Speaking of juggernauts, that is now 11 games unbeaten for Chelsea. This was a game that looked tough for them on paper, but to be away to Southampton and to not only win, but out-shoot their hosts pretty comprehensively has me now thinking that Chelsea are pretty much a top four side once again. Of course I don't think they'll make it back into the top four this season they're too far behind, but if I were a Chelsea fan I'd be reasonably encouraged about next season. Just to drill that point home, here are the statistics for the last ten games:
stats = league_analysis.last_x_game_stats(epl, 10)
display(HTML(league_analysis.header_stat_tables(epl, stats=stats)))
Note that Southampton are good, despite this loss. Both at the top for PDO, but also 4th (Chelsea) and 6th for team rating. Things look more rosy for these two teams than their current league positions suggest, and that is despite Southampton being in a pretty credible 7th.
Stoke 2-1 Aston Villa¶
Not much more to write about Aston Villa, 8 points from safety and they just don't look likely to pick up 8 extra points. Stoke are a pretty interesting team, but they are surely beatable. But you're going to struggle if you get exactly one shot on target, even if you manage to score from it.
So what of Stoke? They are certainly more entertaining than the old Stoke. But they are projecting mid-table. Currently 8th, but a lot of teams are on a similar set of points, West Brom are just 4 points back but 5 places in 13th. It is hard to see Stoke improving on 8th, the only team above them that may drop back is West Ham, but there are a few, such as Chelsea lurking just 3 points back, who could beat them into a higher placed finish.
Stoke face Chelsea, Southampton, and Watford after Newcastle, so this run will either see them consolidate 8th, or drop back. I'm afraid I see them losing to Chelsea and Liverpool, so dropping back, but I'm horrible at predictions.
league_analysis.compare_fixtures(epl, ['West Ham', 'Stoke', 'Liverpool', 'Watford', 'Chelsea' ])
Watford 0-0 Bournemouth¶
Definitely a game that seemed like Bournemouth should have won, even though they actually took fewer shots. They did have more shots on target and at least according to the MOTD highlights had more of the game. Watford look pretty safe. Bournemouth are clearly not safe, they certainly look good enough to retain premier league status, and you have to think with Norwich and Swansea below them now there are enough poorer teams below them to save them. But a bad run of luck, which Bournemouth have had enough of this season, could yet see them drop. That would be a shame for a number of reasons.
West Brom 3-2 Crystal Palace¶
Crystal Palace actually had more shots, but that is likely due to spending a lot of this game behind, Palace were behind from the 12th minute, and at least 2 goals behind from the 20th minute to the 80th minute. Not really like a Pulis team to give up a 3 goal lead to win by just the single goal, but whatever the score line, and however many shots, this was something of a convincing win.
Palace. Worst team for the last ten games (and a bit beyond) as their winless streak now extends to 10 games, and they have managed just 3 points in those ten games. That is 4 worst than then next poorest haul of points from the last ten games. It is difficult to pin-point exactly what has gone wrong for Palace. They have certainly been a touch unfortunate with a PDO of -0.21, but they have also failed to impress being 19th in the league for team rating. So perhaps the 3 points is a touch unfortunate but it looks like a reasonable haul would have been something like 7, which would have put them on 36 points and probably clear of the relegation zone. As it stands 32 points is not quite enough for them to relax. They have an away game to Sunderland to come and they'll want to win that, because after that it is Liverpool, Manchester United, and Leicester, difficult to see Palace winning any of those games (though perhaps Leicester will struggle to break them down).
league_analysis.compare_fixtures(epl, ['Crystal Palace', 'Bournemouth', 'Norwich', 'Swansea' ])
Encouragingly though, Palace's away form is significantly better than their home form, at least relative to the rest of the league. They lie 18th in home form, but 10th equal in away form.
display(HTML('<h2>Home Form</h2>'))
display(HTML(league_analysis.header_stat_tables(epl, stats=epl.home_team_stats.values())))
display(HTML('<h2>Away Form</h2>'))
display(HTML(league_analysis.header_stat_tables(epl, stats=epl.away_team_stats.values())))
West Ham 1-0 Sunderland¶
West Ham have won several games despite not out-shooting opponents and they managed it again here. Here is a table of points scored from games in which a team has been out-shot. It's not surprising that teams like Manchester City and Liverpool do so badly here, simply because there are very few games in which they have been out-shot.
def points_from_outshot(stats):
def process_game(game):
if stats.teamname == game.HomeTeam:
team_shots = game.HS
opp_shots = game.AS
team_goals = game.FTHG
opp_goals = game.FTAG
else:
assert stats.teamname == game.AwayTeam
team_shots = game.AS
opp_shots = game.HS
team_goals = game.FTAG
opp_goals = game.FTHG
if team_shots < opp_shots:
if team_goals > opp_goals:
return 3
elif team_goals == opp_goals:
return 1
else:
assert team_goals < opp_goals
return 0
else:
return 0
return sum(process_game(g) for g in stats.games)
pairs = [(stats.teamname, points_from_outshot(stats)) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Points from Outshot'], pairs, reverse=True)
Really notable that Leicester are leading here, but West Ham (and West Brom) are just a single drawn match behind. Still, none of this helps Sunderland who badly need points. However, Sunderland appear to be in good enough form to maybe get themselves out of the relegation zone. In the last ten games they are 14th for team rating. Bit of a shame that Newcastle did not play this weekend, so the comparison is a bit out of sync. I have a bet since the start of the season that Sunderland would be relegated, it's looked good for most of the year, but is probably now the worst it has looked all season.
Tottenham 2-1 Swansea¶
Phew, 34 is a lot of shots. That is roughly how many shots Manchester United have taken all season (okay not quite it just feels like that). 14 shots on target is also pretty incredible. Any lingering doubts for Tottenham fans? A 2-1 victory doesn't really seem as convincing as it should have been given that level of domination. Tottenham for me though are now favourites for the league, maybe I said that last week, but they are.
Manchester United 3-2 Arsenal¶
I don't know how Manchester United are doing it, but 3 goals from 5 on target and just 7 shots. Scoring 3 goals with just 5 shots on target is not that rare, but doing so whilst also having only 7 shots in total is pretty rare:
def high_conversion(game):
home = game.FTHG >= 3 and (game.HS <= 7 and game.HST <= 5)
away = game.FTAG >= 3 and (game.AS <= 7 and game.AST <= 5)
return home or away
league_analysis.display_given_matches(g for g in epl.matches if high_conversion(g))
So just four games so far this season, two teams have managed this against Liverpool, Sunderland actually managed to out-do this feat by scoring 4 goals against Swansea with the same 7 total shots and 5 on target. Norwich are the only team to manage this and still lose, which is a pretty incredible feat.
To wrap up, I'm bearish on Manchester United making the top four, I'm a hold for Arsenal winning the title, mostly because I'm so bullish for Tottenham to do so.
As always thanks for reading. Don't forget there are mid-week games this week, Liverpool and Manchester City get to re-run their cup final on Wednesday.
Comments
Comments powered by Disqus