EPL 6th-7th February 2016

EPL 6-7th February 2016

Leicester continue to win at the top of the table this time winning away from home with arguably their closest title rivals, who themselves have dropped to fourth place, albeit only a point behind 2nd.

In [1]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '06/02/2016', '07/02/2016')
Home Away
Team Aston Villa Norwich
Goals 2 0
Shots 10 12
SOT 3 4
Home Away
Team Liverpool Sunderland
Goals 2 2
Shots 16 7
SOT 5 2
Home Away
Team Man City Leicester
Goals 1 3
Shots 22 14
SOT 4 7
Home Away
Team Newcastle West Brom
Goals 1 0
Shots 19 7
SOT 7 0
Home Away
Team Southampton West Ham
Goals 1 0
Shots 8 18
SOT 2 2
Home Away
Team Stoke Everton
Goals 0 3
Shots 11 14
SOT 3 6
Home Away
Team Swansea Crystal Palace
Goals 1 1
Shots 19 12
SOT 3 2
Home Away
Team Tottenham Watford
Goals 1 0
Shots 26 3
SOT 9 0
Home Away
Team Bournemouth Arsenal
Goals 0 2
Shots 17 10
SOT 4 5
Home Away
Team Chelsea Man United
Goals 1 1
Shots 16 17
SOT 5 7
Position Team Points
1 Leicester 53
2 Tottenham 48
- Arsenal 48
4 Man City 47
5 Man United 41
6 West Ham 39
7 Southampton 37
8 Everton 35
- Liverpool 35
10 Watford 33
- Stoke 33
12 Crystal Palace 32
13 Chelsea 30
14 West Brom 29
15 Bournemouth 28
16 Swansea 27
17 Newcastle 24
18 Norwich 23
19 Sunderland 20
20 Aston Villa 16
Position Team Team Rating
1 Tottenham 0.24439721722889646
2 Man City 0.23934883186101397
3 Arsenal 0.11892156954189927
4 Liverpool 0.11790372912864908
5 Man United 0.09126485530226136
6 Southampton 0.08068393497172398
7 Leicester 0.0732797128665453
8 Everton 0.03817934055163824
9 Chelsea 0.029991428191271593
10 West Ham 0.015666371188515715
11 Bournemouth -0.008346162815690755
12 Watford -0.035893132231974934
13 Swansea -0.060670405388337116
14 Crystal Palace -0.08556647623187502
15 Stoke -0.1155426735898446
16 Norwich -0.13460521435422776
17 Aston Villa -0.14715674758120906
18 West Brom -0.14815862798573418
19 Sunderland -0.1787900006841753
20 Newcastle -0.17988417583715616
Position Team PDO
1 Everton 0.12608791048050905
2 Leicester 0.11842975206611567
3 Man United 0.08526249209361164
4 West Ham 0.07735461441213654
5 Arsenal 0.07506152584085313
6 Watford 0.05410183875530411
7 Stoke 0.02521008403361341
8 Man City 0.024273345701917137
9 Sunderland 0.017756128221244505
10 West Brom 0.015757575757575748
11 Tottenham 0.012704321087554649
12 Southampton 0.007120743034055743
13 Chelsea 0.0012077294685990392
14 Crystal Palace -0.0203738317757009
15 Newcastle -0.05928211791456878
16 Norwich -0.07485513441626296
17 Swansea -0.07526881720430106
18 Aston Villa -0.10092514718250634
19 Bournemouth -0.1405565084810368
20 Liverpool -0.15002513826043234

Aston Villa 2-0 Norwich

The plunge continues for Norwich who now enter the relegation zone. An excellent three points for Aston Villa who have certainly deserved more results like this. They were actually out-shot by Norwich both in total shots and in shots on target, but marginally so. In such cases it usually means either that the match was pretty close and could have been won by either team, but the victory cannot be said to be entirely undeserved. Alternatively a team takes an early lead and hence has less ambition than the team behind. In such cases the victory is probably well deserved. The goals here came just before and after half-time, so probably this result was somewhere between the two. First goal was likely very important.

But enough speculation, what that means for Norwich is that they are in definite trouble now. For both teams there are a lack of suitable alternative candidates for relagation. Both of course will be hopeful that Newcastle's recent bounce is a statistical blip rather than a genuine improvement perhaps on the back of over £28m spent. Other than that, Swansea seem good enough to keep up pace with the bottom three and thus avoid relegation, but Swansea could of course be on the receiving end of some not so great luck. Aston Villa have the additional problem of still being 8 points behind 17th, so even if Newcastle revert to pre-Christmas form, Aston Villa are still struggling to make up the 8 points, or 11 on Swansea.

Liverpool 2-2 Sunderland

This is another game that Liverpool could have won but did not. I briefly attempted to tease out a pattern here, Liverpool have been involved in 6 scoring draws, but there are a few teams with 6 and Everton lead the way on that measure with 8.

In [8]:
def scoring_draws(stats):
    return len([game for game in stats.games
                if game.FTR == 'D' and game.FTHG > 0])

pairs = [(stats.teamname, scoring_draws(stats)) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Scoring Draws'], pairs, reverse=True)
Position Team Scoring Draws
1 Everton 8
2 Tottenham 6
- Swansea 6
- Chelsea 6
- Liverpool 6
- West Ham 6
- Leicester 6
8 West Brom 5
- Sunderland 5
- Norwich 5
- Aston Villa 5
- Bournemouth 5
13 Southampton 4
- Newcastle 4
15 Arsenal 3
- Watford 3
- Stoke 3
- Man United 3
19 Crystal Palace 2
20 Man City 1

Dominate but Draw

Okay, so how about the TSR for those games in which the team have drawn. I thought Liverpool might have a high TSR here, and indeed they are second only to Manchester City. However, Liverpool have the second highest TSR in the league for all matches played anyway. There does not really seem to be a pattern here. The most interesting thing is here is that Everton generally have a TSR of 0.49, 9th in the league, but in drawn matches they have a TSR of 0.44 which is 16th in the league. Given that Everton have the highest PDO in the league this might suggest that either some of those 8 scoring draws were somewhat fortunate, or perhaps they are holding on for draws when more endeavour might net them more points.

In [12]:
def tsr_draws(stats):
    draws = [game for game in stats.games if game.FTR == 'D']
    draw_stats = league_analysis.TeamStats(stats.teamname, draws)
    return draw_stats.tsr

pairs = [(stats.teamname, tsr_draws(stats)) for stats in epl.team_stats.values()]
tsr_draw_table_data = (['Team', 'TSR Draws'], pairs, True)
tsr_table_data = league_analysis.get_stat_table_data(epl, 'TSR', 'tsr', True)
league_analysis.display_ranked_tables([tsr_draw_table_data, tsr_table_data])
Position Team TSR Draws
1 Man City 0.6782608695652174
2 Liverpool 0.6260869565217392
3 Tottenham 0.5793991416309013
4 Man United 0.5722222222222222
5 Bournemouth 0.5477707006369427
6 Swansea 0.5232558139534884
7 West Ham 0.5214007782101168
8 Watford 0.5136986301369864
9 Southampton 0.5024630541871922
10 Chelsea 0.5
- Aston Villa 0.5
12 Leicester 0.4950980392156863
13 Arsenal 0.49411764705882355
14 Crystal Palace 0.48214285714285715
15 Norwich 0.4444444444444444
16 Everton 0.4440789473684211
17 Newcastle 0.4383561643835616
18 Stoke 0.4276729559748428
19 West Brom 0.3482587064676617
20 Sunderland 0.3333333333333333
Position Team TSR
1 Man City 0.6509863429438544
2 Liverpool 0.6251920122887865
3 Tottenham 0.6137026239067055
4 Arsenal 0.5467836257309941
5 Man United 0.5420560747663551
6 Chelsea 0.5390625
7 Bournemouth 0.5368782161234992
8 Southampton 0.5342679127725857
9 Everton 0.49850746268656715
10 Leicester 0.4977578475336323
11 West Ham 0.4845505617977528
12 Swansea 0.4798061389337641
13 Watford 0.47039473684210525
14 Aston Villa 0.4475043029259897
15 Norwich 0.44741235392320533
16 Crystal Palace 0.4375
17 Stoke 0.4287974683544304
18 West Brom 0.40604026845637586
19 Sunderland 0.40031152647975077
20 Newcastle 0.39634146341463417

Manchester City 1-3 Leicester

Great game and an excellent result for the league leaders. Manchester City had 22 shots, often enough to win a game. However, Leicester managed 7 shots on target to City's 4, suggesting that Manchester City were getting somewhat desperate. It's hard to argue that this was anything other than a game between two pretty evenly matched teams. Leicester clearly finished better.

Newcastle 1-0 West Brom

In truth this could have been more. Pretty encouraging for Newcastle. West Brom failed to get a shot on target. There are probably just enough poorer teams below them for them not to have to worry. But on this performance it is hard to suggest that Newcastle are one of them. Of course that is just on this performance, I wouldn't want to suggest Newcastle fans can rest easy. West Brom on a 5 game winnless streak.

Southampton 1-0 West Ham

As usual a red card, especially relatively early on, kind of messes with the shot statistics somewhat. However, it is notable that although West Ham huffed and puffed somewhat, they only managed 2 shots on target. Southampton are well set-up defensively and are probably one of the better teams in the league at protecting a lead, even with reduced ranks.

Stoke 0-3 Everton

Reminds me of the 3-0 defeat Everton handed out to Southampton earlier in the league. Not quite the same as they do have the better of the play, just nothing that would suggest such a large margin of victory. As mentioned above Everton have the highest PDO in the league, but it is not clear to me exactly how many points they have gained from this. Here is a good example where their PDO has given them a large margin of victory but it was probably a game Everton deserved to win in any case.

Stoke have gone 4 games without a win now. Beginning to slip, not quite in the manner of Crystal Palace yet and both teams are likely far enough ahead not to be too worried about relegation. But both teams could do with a win.

Swansea 1-1 Crystal Palace

That is now 8 games without a win for Crystal Palace, but they at least stopped their run of 5 losses. They are currently on 32 points, 30 points seemed a very rosy total 8 games ago, but it is not looking so hot now. Like Stoke they are probably too far ahead of the relegation zone to worry, but unless their form improves what looked like being a very successful season will turn into a very drab one. Unfortuantely for Stoke and Crystal Palace, their team rating rankings are still below their league table rankings. So whilst we would not really expect a further 8 games without a win, it would not be too surprising to see them roughly tread water from here to the end of the season.

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

So why are things so bad at the moment for Palace? Let's compare some simple statistics for Palace over the whole season against Palace over this 8 game winless run:

In [22]:
cp_stats = epl.team_stats['Crystal Palace']
cp_last_eight = league_analysis.TeamStats('Crystal Palace', cp_stats.games[-8:])
rows = [['Team Rating', cp_stats.team_rating, cp_last_eight.team_rating],
        ['PDO', cp_stats.pdo, cp_last_eight.pdo],
        ['TSR', cp_stats.tsr, cp_last_eight.tsr],
        ['SOTR', cp_stats.sotr, cp_last_eight.sotr]]
league_analysis.display_table(['Stat', 'Palace All Season', 'Palace Last 8'], rows)
Stat Palace All Season Palace Last 8
Team Rating -0.08556647623187502 -0.25134474601733203
PDO -0.0203738317757009 -0.22222222222222224
TSR 0.4375 0.43315508021390375
SOTR 0.4830917874396135 0.3333333333333333

So team rating and PDO have both dropped significantly. Interestingly TSR has not budged but their ratio of shots on target has. I'm not quite sure what to make of that.

Tottenham 1-0 Watford

There are only so many times that I can say that Tottenham look like very serious title contenders. They may be rueing some of their earlier draws and this is a game that they may have drawn earlier in the season. Watford can safely forget this game and move on, but three shots and none on target is pretty woeful.

Bournemouth 0-2 Arsenal

Wow, Bournemouth competed pretty well here, although two early goals pretty much settled the game, it is probable that Bournemouth's stats here are inflated by a lack of ambition from Arsenal. Still, Bournemouth deserve to be easily mid-table. Arsenal are good enough to be in this title race for a lot longer yet. I think both Tottenham and Manchester City represent more likely title winners, but it probably is not far from a three-way tie. The question of course is where do Leicester fit in relation to that three-way tie?

Chelsea 1-1 Manchester United

Surprising many shots here. Manchester United actually out-shot their hosts depsite having the lead for the final 30 minutes and will be kicking themselves not to have taken all three points and Chelsea's unbeaten run back home with them. As it stands Chelsea continue their unbeaten run to 9 games. How much longer? Well:

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

Looking good to avoid defeat against Newcastle at home, but may well have to keep a clean-sheet when they visit Southampton. Leicester must face Arsenal next, tough given that they lost 5-2 earlier in the season. Southampton have gone 5 games without losing a goal never mind a game, and that run includes Arsenal and Mancester United. Nothing in their up-coming games suggests they cannot continue that, other than the aforementioned game against Chelsea. Tottenham have Manchester City next. Swansea to keep up their run of draws? Perhaps.

Thanks for reading.

Comments

Comments powered by Disqus