EPL 2nd-3rd February 2016

EPL 2nd-3rd February 2016

A round of mid-week games, plenty of interesting results as Leicester continue lead the league after a tricky home fixture against Liverpool.

In [2]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '02/02/2016', '04/02/2016')
Home Away
Team Arsenal Southampton
Goals 0 0
Shots 21 14
SOT 11 3
Home Away
Team Crystal Palace Bournemouth
Goals 1 2
Shots 14 8
SOT 3 4
Home Away
Team Leicester Liverpool
Goals 2 0
Shots 13 14
SOT 6 2
Home Away
Team Man United Stoke
Goals 3 0
Shots 15 10
SOT 5 0
Home Away
Team Norwich Tottenham
Goals 0 3
Shots 10 17
SOT 2 6
Home Away
Team Sunderland Man City
Goals 0 1
Shots 11 6
SOT 2 2
Home Away
Team West Brom Swansea
Goals 1 1
Shots 17 18
SOT 7 4
Home Away
Team West Ham Aston Villa
Goals 2 0
Shots 25 6
SOT 6 2
Home Away
Team Everton Newcastle
Goals 3 0
Shots 18 7
SOT 7 3
Home Away
Team Watford Chelsea
Goals 0 0
Shots 12 12
SOT 3 4
Position Team Points
1 Leicester 50
2 Man City 47
3 Tottenham 45
- Arsenal 45
5 Man United 40
6 West Ham 39
7 Southampton 34
- Liverpool 34
9 Stoke 33
- Watford 33
11 Everton 32
12 Crystal Palace 31
13 Chelsea 29
- West Brom 29
15 Bournemouth 28
16 Swansea 26
17 Norwich 23
18 Newcastle 21
19 Sunderland 19
20 Aston Villa 13
Position Team Team Rating
1 Man City 0.2558456585656961
2 Tottenham 0.22758742157933667
3 Arsenal 0.12138638879163716
4 Liverpool 0.11567555704949581
5 Man United 0.09561155805535647
6 Southampton 0.08803579229425912
7 Leicester 0.0757651539734471
8 Chelsea 0.03330344468908802
9 Everton 0.02622097173136405
10 West Ham 0.011737311477217065
11 Bournemouth -0.0067631715573161985
12 Watford -0.009179063501253512
13 Swansea -0.06948538938000491
14 Crystal Palace -0.08267609813206361
15 Stoke -0.10447483509349206
16 Norwich -0.13288891768800465
17 West Brom -0.13632251964933156
18 Aston Villa -0.15917210454960845
19 Sunderland -0.17896679906510082
20 Newcastle -0.2011378206098156
Position Team PDO
1 Leicester 0.11513157894736842
2 Everton 0.11373356565816567
3 Man United 0.09796511627906973
4 West Ham 0.08779688779688782
5 Arsenal 0.06250921421200056
6 Stoke 0.04850868567682726
7 Watford 0.03881987577639756
8 Man City 0.037727704394371064
9 Tottenham 0.02172425590147109
10 West Brom 0.005695792880258899
11 Sunderland 0.004662004662004671
12 Southampton -0.0034423407917383853
13 Chelsea -0.004135203164329415
14 Crystal Palace -0.02374411302982732
15 Newcastle -0.04852154075633941
16 Norwich -0.052481110884214865
17 Swansea -0.0743413516609393
18 Aston Villa -0.12929475587703437
19 Bournemouth -0.13057989153108052
20 Liverpool -0.1417814113597246

Arsenal 0-0 Southampton

Arsenal clearly had a lot of this game and managing 11 shots on target against a Southampton side that generally do not allow many shots on target against them is comendable. I am sure they would rather the three points, as they now sit equal with Tottenham and 5 points adrift of the league leaders. Southampton sit 4th equal for repressing shots on target against as well as 7th for general shots, in both cases sitting ahead of their hosts.

In [6]:
pairs = [(stats.teamname, stats.sot_against) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'SOT Against'], pairs, reverse=False)
pairs = [(stats.teamname, stats.shots_against) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'Shots Against'], pairs, reverse=False)
Position Team SOT Against
1 Tottenham 74
2 Man United 80
3 Man City 81
4 Southampton 83
- Liverpool 83
6 Watford 92
7 Bournemouth 94
8 Leicester 96
9 Swansea 97
10 Arsenal 102
11 West Brom 103
12 Crystal Palace 104
13 Chelsea 108
14 West Ham 110
15 Aston Villa 112
16 Stoke 113
17 Everton 118
- Norwich 118
19 Newcastle 131
20 Sunderland 143
Position Team Shots Against
1 Man City 216
2 Man United 229
3 Liverpool 237
4 Bournemouth 260
5 Tottenham 262
6 Chelsea 278
7 Southampton 281
8 Arsenal 293
9 Watford 296
10 Aston Villa 309
11 Swansea 310
12 Leicester 314
13 Norwich 321
14 Everton 325
15 West Brom 335
16 Stoke 347
17 West Ham 359
18 Crystal Palace 368
19 Sunderland 369
20 Newcastle 389

A lot has been made of Arsenal's recent lack of ability to find goals. I suspect it is a local/random dip.

Crystal Palace 1-2 Bournemouth

Crystal Palace actually managed to out-shoot Bournemouth here. Which might go some way to help relax fears that are surely starting to creep in, now that Palace have managed a 7 game winless run which now includes 5 straight defeats.

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

Leicester 2-0 Liverpool

You cannot really say this result was unwarranted. It felt like Liverpool had a lot of the play and a decent amount of good chances, but although they barely managed to out-shoot Leicester 14-13 shots, they only managed 2 shots on target, whilst Leicester conjured up 6. Liverpool are now again bottom for PDO, a position they seem to be dueling Bournemouth for on a weekly basis. Liverpool can certainly feel unlucky not to be higher than 7th in the table, but they can't feel too aggrieved to have lost this particular game.

Leicester are 6th for shots on target ratio and 9th for total shots ratio, hardly title winning statistics but a top four place does not appear to be entirely out of whack. As the header shows team-rating has Leicester now in 7th, so first place is almost certainly involving a bit of luck, and their first place in the PDO stats backs this up. However, it's not as if Leicester are a mid-table team.

In [11]:
pairs = [(stats.teamname, stats.sotr) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'SOTR'], pairs)
pairs = [(stats.teamname, stats.tsr) for stats in epl.team_stats.values()]
league_analysis.display_ranked_table(['Team', 'TSR'], pairs)
Position Team SOTR
1 Tottenham 0.6810344827586207
2 Man City 0.6383928571428571
3 Southampton 0.5743589743589743
- Liverpool 0.5743589743589743
5 Arsenal 0.5659574468085107
6 Leicester 0.5428571428571428
7 Bournemouth 0.5204081632653061
8 Man United 0.5180722891566265
9 West Ham 0.502262443438914
10 Chelsea 0.4881516587677725
11 Crystal Palace 0.48514851485148514
12 Swansea 0.48128342245989303
13 Watford 0.4772727272727273
14 Everton 0.47555555555555556
15 West Brom 0.42134831460674155
16 Stoke 0.4175257731958763
17 Aston Villa 0.41361256544502617
18 Norwich 0.4129353233830846
19 Newcastle 0.39908256880733944
20 Sunderland 0.3700440528634361
Position Team TSR
1 Man City 0.6532905296950241
2 Liverpool 0.6226114649681529
3 Tottenham 0.6012176560121766
4 Arsenal 0.5540334855403348
5 Southampton 0.5438311688311688
6 Man United 0.5438247011952191
7 Chelsea 0.5420098846787479
8 Bournemouth 0.5323741007194245
9 Leicester 0.5039494470774092
10 Everton 0.49612403100775193
11 Watford 0.48877374784110533
12 West Ham 0.47667638483965014
13 Swansea 0.47278911564625853
14 Aston Villa 0.4472271914132379
15 Norwich 0.4436741767764298
16 Crystal Palace 0.4398782343987823
17 Stoke 0.42833607907743
18 West Brom 0.41228070175438597
19 Sunderland 0.40387722132471726
20 Newcastle 0.3825396825396825

Manchester United 3-0 Stoke

Manchester United score in the first half, score three times, deservedly win with 15 shots, 5 of which were on target. This almost seems like a better than decent team fighting for a champions' league spot having a pretty routine home victory. Manchester United and Sunderland are the only two teams to be in the same position in the league as their ranking for team rating. Only 5 points behind Arsenal and Tottenham now, dare I suggest that this could turn out to be a pretty decent season for Manchester United?

Norwich 0-3 Tottenham

About as routine as away victories come. Tottenham starting to look like very plausible title winners. They are not just second for team rating, but pretty high above 3rd placed Arsenal. Norwich however, well that is 4 straight defeats and they remain 2 points above the relegation zone. Panic.

Sunderland 0-1 Manchester City

Much less routine than you would have expected. Pretty good performance from Sunderland, they actually out-shot their visitors. Not many teams have out-shot Manchester City this season. Still, it's points that both teams need, and City left with all three. Sunderland become only the second team to out-shoot Manchester City home or away this season:

In [14]:
def man_city_out_shot(game):
    return ((game.HomeTeam == 'Man City' and game.HS < game.AS) or
            (game.AwayTeam == 'Man City' and game.HS > game.AS))
league_analysis.display_given_matches([game for game in epl.team_stats['Man City'].games if man_city_out_shot(game)])
Home Away
Team Man City Liverpool
Goals 1 4
Shots 11 14
SOT 3 9
Home Away
Team Sunderland Man City
Goals 0 1
Shots 11 6
SOT 2 2

West Brom 1-1 Swansea

A veritable shot-fest. The highest shooting match for either team so far this season with 35 shots. Games involving either of these two teams and more than 30 shots are not common, there are only 3 of them so far this season, with both teams managing it on one other occassion. For West Brom that was the not terribly flattering game in which Liverpool had 28 shots. Swansea fared better against West Ham, though it appears to have been speculative shooting since both teams only managed 2 shots on target.

In [27]:
def high_shots(game):
    return (game.HS + game.AS > 30)
league_analysis.display_given_matches([game for game in epl.team_stats['West Brom'].games if high_shots(game)])
league_analysis.display_given_matches([game for game in epl.team_stats['Swansea'].games if high_shots(game)])
Home Away
Team Liverpool West Brom
Goals 2 2
Shots 28 4
SOT 8 2
Home Away
Team West Brom Swansea
Goals 1 1
Shots 17 18
SOT 7 4
Home Away
Team Swansea West Ham
Goals 0 0
Shots 21 11
SOT 2 2
Home Away
Team West Brom Swansea
Goals 1 1
Shots 17 18
SOT 7 4

West Ham 2-0 Aston Villa

Pretty much a hammering for Aston Villa. Their poor showing here is somewhat mitigated by the early red card. I think all that needs to be said about Aston Villa has been said. Poor team, probably not as poor as their position reflects, but not good enough to extracate themselves from there.

Everton 3-0 Newcastle

I had previously said that Newcastle were the most likely of the bottom three to escape the relegation zone. This looks like a pretty poor performance against a somewhat eratic Everton team. They are likely pretty pleased that all four teams in the bottom four lost and Swansea just above them only managed a draw. So it is somewhat as you were for the bottom five, but given that Sunderland were playing Manchester City and Norwich were playing Tottenham this has to go down as something of a missed opportunity for Newcastle.

Watford 0-0 Chelsea

Both teams continue to play about as good as a mid-table team. Watford probably over-shooting pre-season expectations whilst Chelsea are clearly undershooting pre-season expectations even if we look at their 8th placed team rating rather than their 13th placed table position. Still Chelsea retain their position at the top of the unbeaten run table which now extends to 8 games. Given that the team above them in the table is Crystal Palace with their longest 7 game winless streak and 5 successive losses Chelsea must be eyeing up further progression up the table. Although next up for Chelsea is Manchester United whilst Palace travel to Swansea.

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

As always, thanks for reading.

Comments

Comments powered by Disqus