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.

In [1]:
%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')))
Home Away
Team Leicester Norwich
Goals 1 0
Shots 13 9
SOT 3 1
Home Away
Team Southampton Chelsea
Goals 1 2
Shots 7 16
SOT 2 4
Home Away
Team Stoke Aston Villa
Goals 2 1
Shots 11 5
SOT 3 1
Home Away
Team Watford Bournemouth
Goals 0 0
Shots 14 11
SOT 1 3
Home Away
Team West Brom Crystal Palace
Goals 3 2
Shots 11 15
SOT 5 2
Home Away
Team West Ham Sunderland
Goals 1 0
Shots 9 13
SOT 3 4
Home Away
Team Tottenham Swansea
Goals 2 1
Shots 34 10
SOT 14 4
Home Away
Team Man United Arsenal
Goals 3 2
Shots 7 13
SOT 5 5
Position Team Points
1 Leicester 56
2 Tottenham 54
3 Arsenal 51
4 Man City 47
5 Man United 44
6 West Ham 43
7 Southampton 40
8 Stoke 39
9 Liverpool 38
10 Watford 37
11 Chelsea 36
12 Everton 35
- West Brom 35
14 Crystal Palace 32
15 Bournemouth 29
16 Swansea 27
17 Norwich 24
- Newcastle 24
19 Sunderland 23
20 Aston Villa 16
Position Team Team Rating
1 Tottenham 0.23955953857081358
2 Man City 0.23638459957781202
3 Liverpool 0.14026653809433803
4 Arsenal 0.1260747487231492
5 Man United 0.06905509317288838
6 Southampton 0.06810321276058692
7 Leicester 0.05915796067491008
8 Chelsea 0.05622452190825179
9 Everton 0.05561406767290818
10 West Ham 0.014085728288286144
11 Bournemouth -0.018456573319753443
12 Watford -0.03146851466179693
13 Crystal Palace -0.08018565041057944
14 Swansea -0.08402388689992549
15 Stoke -0.08906208633497704
16 Norwich -0.13127243981231576
17 West Brom -0.15228259204352992
18 Sunderland -0.15760114310455756
19 Aston Villa -0.17460298611210157
20 Newcastle -0.18926507726470765
Position Team PDO
1 Leicester 0.11479873427036574
2 Everton 0.09966937594710018
3 Watford 0.0772932022932023
4 West Ham 0.0755613720898195
5 Man United 0.07246963562753034
6 Arsenal 0.06052042858824919
7 West Brom 0.04519774011299432
8 Stoke 0.041336153710558765
9 Chelsea 0.03609521791339976
10 Sunderland 0.012001340931947713
11 Tottenham 0.010206786850477212
12 Man City 0.01018848700967906
13 Southampton 0.00354191263282172
14 Crystal Palace -0.03829278021539689
15 Swansea -0.05255949323745934
16 Norwich -0.06263736263736264
17 Newcastle -0.0847839135654262
18 Liverpool -0.11701734957548915
19 Aston Villa -0.125
20 Bournemouth -0.14482406935237124

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.

In [4]:
league_analysis.display_current_runs(epl)
Position Team Winning Run
1 Tottenham 6
2 Stoke 2
- West Brom 2
- Chelsea 2
5 Man United 1
- Leicester 1
- West Ham 1
- Liverpool 1
9 Southampton 0
- Everton 0
- Norwich 0
- Man City 0
- Swansea 0
- Watford 0
- Crystal Palace 0
- Bournemouth 0
- Arsenal 0
- Aston Villa 0
- Sunderland 0
- Newcastle 0
Position Team Unbeaten Run
1 Chelsea 11
2 Tottenham 6
3 Watford 2
- Stoke 2
- West Ham 2
- West Brom 2
- Liverpool 2
8 Man United 1
- Leicester 1
- Bournemouth 1
11 Southampton 0
- Everton 0
- Norwich 0
- Man City 0
- Swansea 0
- Crystal Palace 0
- Arsenal 0
- Aston Villa 0
- Sunderland 0
- Newcastle 0
Position Team Winless
1 Crystal Palace 10
2 Norwich 7
3 Swansea 4
4 Bournemouth 3
5 Man City 2
- Aston Villa 2
7 Southampton 1
- Everton 1
- Watford 1
- Arsenal 1
- Sunderland 1
- Newcastle 1
13 Stoke 0
- Man United 0
- Leicester 0
- West Ham 0
- West Brom 0
- Chelsea 0
- Liverpool 0
- Tottenham 0
Position Team Losing
1 Man City 2
- Swansea 2
- Crystal Palace 2
- Aston Villa 2
5 Southampton 1
- Everton 1
- Norwich 1
- Arsenal 1
- Sunderland 1
- Newcastle 1
11 Watford 0
- Stoke 0
- Man United 0
- Leicester 0
- Bournemouth 0
- West Ham 0
- West Brom 0
- Chelsea 0
- Liverpool 0
- Tottenham 0

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:

In [6]:
stats = league_analysis.last_x_game_stats(epl, 10)
display(HTML(league_analysis.header_stat_tables(epl, stats=stats)))
Position Team Points
1 Tottenham 25
2 Southampton 19
3 Leicester 18
- West Ham 18
- Chelsea 18
6 Stoke 16
7 Man City 15
- Man United 15
- Arsenal 15
- West Brom 15
11 Liverpool 14
12 Everton 12
- Swansea 12
14 Sunderland 11
15 Bournemouth 10
16 Watford 9
- Aston Villa 9
18 Newcastle 8
19 Norwich 7
20 Crystal Palace 3
Position Team Team Rating
1 Tottenham 0.32825135138028105
2 Man City 0.20624302547677692
3 Liverpool 0.15722416161620223
4 Chelsea 0.1466243326673592
5 Everton 0.12332072391718414
6 Southampton 0.0959495617627332
7 West Ham 0.05973383631417903
8 Arsenal 0.006261704026431772
9 Man United 0.0008759053328820558
10 Leicester -0.00958274383199606
11 Bournemouth -0.040675013648226545
12 Stoke -0.04348717643912149
13 West Brom -0.08894697642408966
14 Sunderland -0.10937107755314025
15 Newcastle -0.1163225921978699
16 Swansea -0.1249154804183991
17 Watford -0.14340709083949604
18 Aston Villa -0.18378633114687876
19 Crystal Palace -0.18810791559570592
20 Norwich -0.19202645797978035
Position Team PDO
1 Southampton 0.19768403639371382
2 Chelsea 0.1746031746031746
3 Leicester 0.15294117647058822
4 West Ham 0.10233029381965553
5 Watford 0.09090909090909094
6 Sunderland 0.05110565110565113
7 Swansea 0.04411764705882354
8 Man City 0.02613981762917933
9 Everton 0.018803418803418792
10 West Brom 0.015202702702702686
11 Man United 0.0012570710245128902
12 Arsenal -0.010421189752496729
13 Tottenham -0.015350877192982448
14 Stoke -0.018796992481203034
15 Liverpool -0.04728720756595317
16 Norwich -0.050264550264550234
17 Bournemouth -0.11711711711711709
18 Newcastle -0.19130434782608696
19 Aston Villa -0.19264069264069264
20 Crystal Palace -0.2095959595959596

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.

In [8]:
league_analysis.compare_fixtures(epl, ['West Ham', 'Stoke', 'Liverpool', 'Watford', 'Chelsea' ])
West Ham Stoke Liverpool Watford Chelsea
Tottenham (H) Newcastle (H) Man City (H) Man United (A) Norwich (A)
Everton (A) Chelsea (A) Crystal Palace (A) Leicester (H) Stoke (H)
Watford (H) Southampton (H) Chelsea (H) West Ham (A) Liverpool (A)
Chelsea (A) Watford (A) Southampton (A) Stoke (H) West Ham (H)
Crystal Palace (H) Swansea (H) Tottenham (H) Arsenal (A) Aston Villa (A)
Arsenal (H) Liverpool (A) Stoke (H) Everton (H) Swansea (A)
Leicester (A) Tottenham (H) Bournemouth (A) West Brom (A) Man City (H)
Man United (H) Man City (A) Newcastle (H) Norwich (A) Bournemouth (A)
West Brom (A) Sunderland (H) Swansea (A) Aston Villa (H) Tottenham (H)
Swansea (H) Crystal Palace (A) Watford (H) Liverpool (A) Sunderland (A)
Stoke (A) West Ham (H) West Brom (A) Sunderland (H) Leicester (H)

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).

In [10]:
league_analysis.compare_fixtures(epl, ['Crystal Palace', 'Bournemouth', 'Norwich', 'Swansea' ])
Crystal Palace Bournemouth Norwich Swansea
Sunderland (A) Southampton (H) Chelsea (H) Arsenal (A)
Liverpool (H) Newcastle (A) Swansea (A) Norwich (H)
Man United (A) Swansea (H) Man City (H) Bournemouth (A)
Leicester (H) Tottenham (A) West Brom (A) Aston Villa (H)
West Ham (A) Man City (H) Newcastle (H) Stoke (A)
Norwich (H) Aston Villa (A) Crystal Palace (A) Chelsea (H)
Arsenal (A) Liverpool (H) Sunderland (H) Newcastle (A)
Everton (H) Chelsea (H) Watford (H) Leicester (A)
Newcastle (A) Everton (A) Arsenal (A) Liverpool (H)
Stoke (H) West Brom (H) Man United (H) West Ham (A)
Southampton (A) Man United (A) Everton (A) Man City (H)

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.

In [13]:
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())))

Home Form

Position Team Points
1 Man City 28
- Leicester 28
- Tottenham 28
4 Arsenal 27
5 Man United 25
6 Southampton 23
- West Ham 23
8 Stoke 20
- Chelsea 20
10 Watford 19
- West Brom 19
12 Swansea 17
- Liverpool 17
- Newcastle 17
15 Everton 16
- Norwich 16
17 Sunderland 15
18 Crystal Palace 14
19 Bournemouth 13
20 Aston Villa 10
Position Team Team Rating
1 Tottenham 0.2923597987524312
2 Man City 0.2766260512401658
3 Man United 0.2337791234982247
4 Liverpool 0.18236657427150557
5 Arsenal 0.16309089838596033
6 Southampton 0.10848127242525303
7 Everton 0.10108706004836762
8 Chelsea 0.09739130728381235
9 West Ham 0.09656831486641974
10 Leicester 0.09432402471122739
11 Watford 0.04700082586056169
12 Bournemouth 0.045777950862696606
13 Stoke 0.024971472217109908
14 Norwich 0.014497625343774101
15 Crystal Palace -0.018163964910808947
16 Newcastle -0.03163223853151367
17 Swansea -0.03744230524301533
18 Sunderland -0.058082084108647666
19 West Brom -0.061143651621451994
20 Aston Villa -0.08610679703958697
Position Team PDO
1 Man United 0.1878787878787879
2 Sunderland 0.14295485636114913
3 Leicester 0.11666666666666664
4 Arsenal 0.10569456427955132
5 Man City 0.08104395604395609
6 Chelsea 0.05927601809954747
7 Newcastle 0.05205811138014527
8 Stoke 0.051577152600170484
9 Everton 0.04802076573653474
10 West Ham 0.04019688269073013
11 Watford 0.03613945578231295
12 Southampton 0.022727272727272763
13 Tottenham 0.014506769825918753
14 West Brom 0.003710575139146577
15 Norwich -0.0008525149190110604
16 Swansea -0.02380952380952378
17 Crystal Palace -0.10256410256410253
18 Aston Villa -0.12458471760797343
19 Bournemouth -0.17857142857142855
20 Liverpool -0.23444976076555024

Away Form

Position Team Points
1 Leicester 28
2 Tottenham 26
3 Arsenal 24
4 Liverpool 21
5 West Ham 20
6 Everton 19
- Man City 19
- Stoke 19
- Man United 19
10 Watford 18
- Crystal Palace 18
12 Southampton 17
13 Bournemouth 16
- West Brom 16
- Chelsea 16
16 Swansea 10
17 Norwich 8
- Sunderland 8
19 Newcastle 7
20 Aston Villa 6
Position Team Team Rating
1 Man City 0.1725730325769805
2 Tottenham 0.17033454803656944
3 Liverpool 0.08981412570356766
4 Arsenal 0.08177113126267696
5 Leicester 0.02743044475163485
6 Southampton 0.015710776410565102
7 Chelsea 0.0008611422646379874
8 Everton -0.002692833117750884
9 Man United -0.049251292161275724
10 West Ham -0.06140146320442257
11 Bournemouth -0.07508376378741534
12 Watford -0.10386298679909228
13 Swansea -0.12072163382910531
14 Crystal Palace -0.13770496694482226
15 Stoke -0.18172995712711232
16 Sunderland -0.23769642540966424
17 Aston Villa -0.24872344066731975
18 Norwich -0.25587357471233346
19 West Brom -0.260371233704567
20 Newcastle -0.3479487649605296
Position Team PDO
1 Everton 0.16181818181818183
2 Watford 0.14041514041514042
3 West Ham 0.1197827329902802
4 Leicester 0.11207598371777477
5 West Brom 0.05902777777777779
6 Crystal Palace 0.04231974921630094
7 Stoke 0.030266706622715023
8 Tottenham 0.010038610038610063
9 Arsenal 0.002843111915223573
10 Chelsea 0.0
11 Man United -0.0013668671405139277
12 Southampton -0.034042553191489355
13 Liverpool -0.039649986327590925
14 Swansea -0.07072368421052633
15 Sunderland -0.08880726015557477
16 Man City -0.0976190476190476
17 Bournemouth -0.109391124871001
18 Aston Villa -0.12059620596205961
19 Norwich -0.12573839662447256
20 Newcastle -0.23593073593073596

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.

In [15]:
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)
Position Team Scoring Draws
1 Leicester 26
2 West Ham 25
- West Brom 25
4 Stoke 22
5 Crystal Palace 18
6 Everton 16
- Swansea 16
- Newcastle 16
9 Watford 15
10 Man United 14
- Sunderland 14
12 Southampton 12
- Arsenal 12
14 Aston Villa 9
15 Bournemouth 8
- Tottenham 8
17 Norwich 7
18 Chelsea 4
19 Man City 3
- Liverpool 3

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:

In [18]:
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))
Home Away
Team Watford Liverpool
Goals 3 0
Shots 6 12
SOT 5 4
Home Away
Team Swansea Sunderland
Goals 2 4
Shots 10 7
SOT 5 5
Home Away
Team Norwich Liverpool
Goals 4 5
Shots 6 13
SOT 5 7
Home Away
Team Man United Arsenal
Goals 3 2
Shots 7 13
SOT 5 5

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