EPL 23-24th January 2016

EPL 23-24th January 2016

Another interesting weekend in the premier league. Here is the usual look through the shot statistics underlying each of the matches.

In [1]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '23/01/2016', '24/01/2016')
Home Away
Team Crystal Palace Tottenham
Goals 1 3
Shots 11 24
SOT 3 11
Home Away
Team Leicester Stoke
Goals 3 0
Shots 15 3
SOT 5 2
Home Away
Team Man United Southampton
Goals 0 1
Shots 8 7
SOT 1 2
Home Away
Team Norwich Liverpool
Goals 4 5
Shots 6 13
SOT 5 7
Home Away
Team Sunderland Bournemouth
Goals 1 1
Shots 10 15
SOT 5 5
Home Away
Team Watford Newcastle
Goals 2 1
Shots 13 11
SOT 5 2
Home Away
Team West Brom Aston Villa
Goals 0 0
Shots 4 15
SOT 0 4
Home Away
Team West Ham Man City
Goals 2 2
Shots 10 16
SOT 3 3
Home Away
Team Arsenal Chelsea
Goals 0 1
Shots 9 12
SOT 1 6
Home Away
Team Everton Swansea
Goals 1 2
Shots 20 7
SOT 2 5
Position Team Points
1 Leicester 47
2 Arsenal 44
- Man City 44
4 Tottenham 42
5 Man United 37
6 West Ham 36
7 Liverpool 34
8 Stoke 33
- Southampton 33
10 Watford 32
11 Crystal Palace 31
12 Everton 29
13 West Brom 28
- Chelsea 28
15 Swansea 25
- Bournemouth 25
17 Norwich 23
18 Newcastle 21
19 Sunderland 19
20 Aston Villa 13
Position Team Team Rating
1 Man City 0.26123319200527234
2 Tottenham 0.21872013366750204
3 Liverpool 0.12822145747204197
4 Arsenal 0.11717646655770717
5 Southampton 0.0983791562309665
6 Man United 0.07721113821911055
7 Leicester 0.07085959897616796
8 Chelsea 0.03440623694914642
9 Everton 0.006848613572154542
10 Bournemouth -0.005672918011988444
11 Watford -0.008990466755551717
12 West Ham -0.011628274987099847
13 Swansea -0.07376439073320283
14 Crystal Palace -0.0862566024940662
15 Stoke -0.09019226229085878
16 Norwich -0.11939129288277771
17 Aston Villa -0.13796049478737474
18 West Brom -0.1437079793887076
19 Sunderland -0.18321482552252205
20 Newcastle -0.18776224701173522
Position Team PDO
1 Leicester 0.11229314420803782
2 Everton 0.10434782608695653
3 West Ham 0.08359788359788362
4 Man United 0.08317901234567898
5 Arsenal 0.08105646630236796
6 Stoke 0.0648148148148148
7 Watford 0.037878787878787845
8 Man City 0.02800969566388367
9 West Brom 0.02049910873440286
10 Sunderland 0.01522227988237329
11 Tottenham 0.005847953216374269
12 Chelsea -0.0005772005772005651
13 Crystal Palace -0.01736842105263159
14 Newcastle -0.03302611367127495
15 Norwich -0.03824955908289246
16 Southampton -0.03975535168195715
17 Swansea -0.08863049095607234
18 Aston Villa -0.12472433227150206
19 Bournemouth -0.14207221350078497
20 Liverpool -0.1428571428571429

Crystal Palace 1-3 Tottenham

Tottenham really starting to look like possible title contenders, especially this week making up ground on both Arsenal and Manchester City. Crystal Palace ended nearly 500 minutes without a goal, but they still have a pretty desparate run of form, they now lead the league in both longest current winless run, with 6, and longest current losing run, with 4. Losing four or more consecutive games is non-trivial, it has happened 5 times so far this season, Aston Villa managed 7, Sunderland managed 5 and Norwich, Bournemouth, Watford and now Crystal Palace have managed 4. Crystal Palace have Bournemouth at home next Tuesday and will not wish to join Aston Villa and Sunderland in the greater than 4 consecutive losses club.

Read more…

EPL 16-18th January 2016

EPL 16-18th January 2016

Another look at some of the simple statistics underlying the matches in the English Premier league. A weekend that saw Manchester City claw back two points on Arsenal and Leicester who remain on top of the league separated only by goal difference and then only by a point to Manchester City.

In [2]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '16/01/2016', '18/01/2016')
Home Away
Team Aston Villa Leicester
Goals 1 1
Shots 14 12
SOT 5 5
Home Away
Team Bournemouth Norwich
Goals 3 0
Shots 15 10
SOT 8 3
Home Away
Team Chelsea Everton
Goals 3 3
Shots 14 9
SOT 7 4
Home Away
Team Man City Crystal Palace
Goals 4 0
Shots 17 9
SOT 4 3
Home Away
Team Newcastle West Ham
Goals 2 1
Shots 23 10
SOT 10 3
Home Away
Team Southampton West Brom
Goals 3 0
Shots 9 9
SOT 5 0
Home Away
Team Tottenham Sunderland
Goals 4 1
Shots 26 5
SOT 11 2
Home Away
Team Liverpool Man United
Goals 0 1
Shots 19 7
SOT 4 1
Home Away
Team Stoke Arsenal
Goals 0 0
Shots 14 8
SOT 6 3
Position Team Points
1 Leicester 44
- Arsenal 44
3 Man City 43
4 Tottenham 39
5 Man United 37
6 West Ham 35
7 Stoke 33
8 Crystal Palace 31
- Liverpool 31
10 Southampton 30
11 Watford 29
- Everton 29
13 West Brom 27
14 Chelsea 25
15 Bournemouth 24
16 Norwich 23
17 Newcastle 21
18 Swansea 19
19 Sunderland 18
20 Aston Villa 12
Position Team Team Rating
1 Man City 0.268646140939205
2 Tottenham 0.2095837986514689
3 Arsenal 0.12968815748790902
4 Liverpool 0.12594760206332867
5 Southampton 0.09705813917529782
6 Man United 0.08331574714593583
7 Leicester 0.04992989660149112
8 Chelsea 0.027711637191637863
9 Everton -6.215174755661024e-05
10 West Ham -0.007394766925740114
11 Bournemouth -0.011344341125768903
12 Watford -0.016013565655321492
13 Stoke -0.06797834104243798
14 Crystal Palace -0.06864341529257256
15 Swansea -0.07359592731905512
16 Norwich -0.11707431145573177
17 West Brom -0.1353146231932329
18 Aston Villa -0.1538345508230108
19 Sunderland -0.18576134406507852
20 Newcastle -0.18866298263445705
Position Team PDO
1 Everton 0.10705009276437849
2 Leicester 0.09603208104685523
3 Man United 0.09358974358974359
4 Stoke 0.09020523534472166
5 West Ham 0.08571428571428569
6 Arsenal 0.07997867235403891
7 Watford 0.05212355212355213
8 Man City 0.035278413424866484
9 Sunderland 0.019766997708174194
10 Tottenham 0.008633980881899483
11 West Brom 0.00773993808049539
12 Chelsea 0.0064102564102563875
13 Crystal Palace -0.0196629213483146
14 Newcastle -0.035048165607706516
15 Norwich -0.04611528822055139
16 Southampton -0.048308542845860225
17 Swansea -0.10833088018840153
18 Aston Villa -0.11191522357198241
19 Liverpool -0.14617044228694714
20 Bournemouth -0.15066266566641662

Aston Villa 1-1 Leicester

Aston Villa have not managed to out-shoot many teams this season, so to do so against (one of) the league leaders is possibly a sign of improvement. Which makes it a bit of shame that they are now further from safety than previously due to those closest to them having good weekends, notably Newcastle and Swansea.

Bournemouth 3-0 Norwich

Bournemouth continue to improve and that result sees them leapfrog Norwich into 15th. Again because of the good weekends for Newcastle and Swansea they are still quite far from a comfortable position. Norwich beginning to slide rather worryingly.

Chelsea 3-3 Everton

A very entertaining game with a bit of controversy at the end. However, it's hard to make the case that Chelsea didn't deserve a draw overall. On a non-stat related note, I don't have much love for John Terry, but I was surprised that no-one on MOTD mentioned that although his draw-saving goal was clearly off-side, it was a pretty good finish.

It's hard to really see Chelsea as relegation candidates, but it's hard not to comment on the fact that they are just 4 points from safety. However, they are equally just 5 points from 10th placed Southampton. Chelsea are currently 8th for team rating, and it does not seem entirely unlikely that they could end the season there. Whilst Southampton and Liverpool stand between Chelsea in 8th there is a trio of teams above 8th who could slip back in Crystal Palace, Stoke City and West Ham United.

Manchester City 4-0 Crystal Palace

The two Manchester teams managed 5 shots on target between them and scored all five of them. In truth though the sky blue half of Manchester were entirely on top here and were always going to win. Crystal Palace are having a tough time of it at the moment.

Newcastle 2-1 West Ham

A deserved victory for Newcastle, something I don't think we've said so far this season.

Southampton 3-0 West Brom

Interesting one, both teams had nine shots, but West Brom did not manage a single shot on target whilst Southampton managed 5. It is clear who deserved this one.

Tottenham 4-1 Sunderland

About as one-sided as it gets. Worrying times for Sunderland, who might have thought the 4-2 victory over Swansea could have represented a rise in form. Not on this evidence. Having said that Tottenham are one of the best teams in the league, so perhaps away to Tottenham is just not the kind of game relegation scrappers have much hope for.

Liverpool 0-1 Manchester United

Not much less one-side than the Tottenham, but in this case Liverpool lose. The big difference here is the shots on target, 4-1 is not that large an advantage.

Stoke 0-0 Arsenal

Bit of a slip up this for Arsenal and Stoke, if anything, deservered a win.

In [ ]:
 

EPL 12-13th January 2016

EPL 12-13th January 2016

The FA cup break behind us we're back to the Premier league and perhaps the biggest story is that the longest winless streak has finally come to an end with Aston Villa winning for the first time since they beat Bournemouth on the 8th of August on the opening day of the season.

In [1]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '12/01/2016', '13/01/2016')
Home Away
Team Aston Villa Crystal Palace
Goals 1 0
Shots 13 9
SOT 3 1
Home Away
Team Bournemouth West Ham
Goals 1 3
Shots 11 10
SOT 4 5
Home Away
Team Newcastle Man United
Goals 3 3
Shots 14 12
SOT 6 4
Home Away
Team Chelsea West Brom
Goals 2 2
Shots 14 13
SOT 2 6
Home Away
Team Liverpool Arsenal
Goals 3 3
Shots 22 14
SOT 6 5
Home Away
Team Man City Everton
Goals 0 0
Shots 22 7
SOT 5 2
Home Away
Team Southampton Watford
Goals 2 0
Shots 15 4
SOT 7 1
Home Away
Team Stoke Norwich
Goals 3 1
Shots 14 5
SOT 4 2
Home Away
Team Swansea Sunderland
Goals 2 4
Shots 10 7
SOT 5 5
Home Away
Team Tottenham Leicester
Goals 0 1
Shots 21 10
SOT 5 2
Position Team Points
1 Leicester 43
- Arsenal 43
3 Man City 40
4 Tottenham 36
5 West Ham 35
6 Man United 34
7 Stoke 32
8 Crystal Palace 31
- Liverpool 31
10 Watford 29
11 Everton 28
12 Southampton 27
- West Brom 27
14 Chelsea 24
15 Norwich 23
16 Bournemouth 21
17 Swansea 19
18 Sunderland 18
- Newcastle 18
20 Aston Villa 11
Position Team Team Rating
1 Man City 0.25798149131189135
2 Tottenham 0.1874811337986284
3 Arsenal 0.1403975040593338
4 Liverpool 0.12423195806907998
5 Man United 0.09639488609176142
6 Southampton 0.08637669838793786
7 Leicester 0.05404850666250128
8 Chelsea 0.023188075661112532
9 West Ham 0.010086082705770744
10 Everton 0.004928263233376362
11 Watford -0.016013565655321492
12 Bournemouth -0.03287275563351866
13 Crystal Palace -0.045022564553981896
14 Swansea -0.07359592731905512
15 Stoke -0.07611864399807539
16 Norwich -0.10269458909412432
17 West Brom -0.12444479697746133
18 Sunderland -0.1637326186494665
19 Aston Villa -0.1637779203750562
20 Newcastle -0.21827211455099696
Position Team PDO
1 Stoke 0.10876712328767121
2 Everton 0.1014253253460029
3 Leicester 0.10039878020173587
4 West Ham 0.08070175438596489
5 Arsenal 0.0721800116890707
6 Man United 0.07150188162846388
7 Watford 0.05212355212355213
8 West Brom 0.02352941176470591
9 Crystal Palace 0.023132848645076032
10 Sunderland 0.018666666666666665
11 Chelsea 0.015581395348837235
12 Tottenham 0.007807118254879453
13 Man City 0.0033735432426906797
14 Newcastle -0.022030651340996132
15 Norwich -0.03205761898037002
16 Southampton -0.06351836509251585
17 Swansea -0.10833088018840153
18 Aston Villa -0.11633663366336633
19 Liverpool -0.12775643761559252
20 Bournemouth -0.17519489723600284

Aston Villa

Aston Villa deserved this victory, out-shooting their visitors Crystal Palace for both total shots and shots on target. However, they are still 7 points behind their nearest rivals and 8 points behind the first non-relegation position. They were not helped by Newcastle managing a point against Manchester United and Sunderland managing an away victory.

Newcastle

What a performance from Newcastle. This has been a pretty strange season with many expectations being thrown out the window. Newcastle have been pretty abject this season, even when winning they seem to have done so despite not being the better team, the most extreme example of this being the victory against Bournemouth. But this was a good performance and Newcastle likely deserved at least their point. Manchester United seem to have been pretty frugal with their shooting but also pretty efficient. This match was not so unusual for Manchester United this season, scoring three goals from 4 shots on target.

Bournemouth

Still somehow flirting with relegation. They are probably still better than than at least Villa, Sunderland and Newcastle, and that should probably keep them up. Their PDO is still comfortably the worst in the league. It may be some artefact of the way they are playing, but even if so their team rating still suggests they should be higher than 16th. However, their low points total so far will likely mean it is a nervy second half of the season, unless their luck strongly improves.

Chelsea

Remain unflattering. Giving up 6 shots on target at home to West Brom is not a great sign.

Liverpool and Arsenal

Great game. Despite being pretty well played here, Arsenal are still title contenders, obviously given that they are in equal first. Liverpool, continue to be very good against teams that generally seek to dominate possession, but if they wish to move up the league further they will need to somehow find ways to break down teams that are happy to give up possession. However, assuming that obstacle can be overcome, Liverpool can easily manage 5th this season, possibly even 4th if Leicester do capitulate, though I don't expect them to.

Mancester City and Everton

Great point for Everton, but Manchester City continue to look the best team in the league. A few draws here and there will concern them, but despite the current three-point deficit I think City have to be favourites to win the league.

Southampton and Watford

Two teams that have been pretty hard to predict this season, now just separated by two points. Southampton will not be pleased with their 12th place, but Watford are probably pretty happy with 10th. Southampton seem the most likely team in the bottom half to race up and contend for Europe, even including Everton.

Stoke and Norwich

Another two teams that have been quite hard to predict. Stoke still posting numbers that should see them quite a bit worse off than 7th, but this was a fairly comprehensive win.

Swansea and Sunderland

Alarm bells must be ringing, or ringing more loudly than before, at Swansea now. Now just a point ahead of the relegation zone and more importantly losing at home to a relegation rival. Albeit this was significantly affected by the first half red-card. There is no doubt that Sunderland are bad, but with some luck, or more rather a lack of luck for Swansea or Norwich, they could manage a pretty lucky escape.

Tottenham and Leicester

And still Leicester refuse to quietly recede from the spot-light. There is no doubt this was something of a steal. In fact, we should be more asking the question whether or not Tottenham are title contenders. Just seven points back, and they now have a team rating that is second best in the league. Clearly Manchester City are a better bet, but were I a Tottenham fan I would not be throwing in the towel just yet.

EPL 2nd-3rd January 2016

EPL 2-3rd January 2016

Weekly look at some of the statistics underlying the games in the English Premier League.

In [1]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '02/01/2016', '03/01/2016')
Home Away
Team Arsenal Newcastle
Goals 1 0
Shots 16 15
SOT 3 6
Home Away
Team Leicester Bournemouth
Goals 0 0
Shots 16 9
SOT 2 0
Home Away
Team Man United Swansea
Goals 2 1
Shots 19 9
SOT 6 4
Home Away
Team Norwich Southampton
Goals 1 0
Shots 10 10
SOT 1 4
Home Away
Team Sunderland Aston Villa
Goals 3 1
Shots 13 8
SOT 6 3
Home Away
Team Watford Man City
Goals 1 2
Shots 11 16
SOT 3 5
Home Away
Team West Brom Stoke
Goals 2 1
Shots 16 10
SOT 5 3
Home Away
Team West Ham Liverpool
Goals 2 0
Shots 18 23
SOT 10 2
Home Away
Team Crystal Palace Chelsea
Goals 0 3
Shots 8 10
SOT 4 4
Home Away
Team Everton Tottenham
Goals 1 1
Shots 12 19
SOT 3 4
Position Team Points
1 Arsenal 42
2 Leicester 40
3 Man City 39
4 Tottenham 36
5 Man United 33
6 West Ham 32
7 Crystal Palace 31
8 Liverpool 30
9 Stoke 29
- Watford 29
11 Everton 27
12 West Brom 26
13 Southampton 24
14 Norwich 23
- Chelsea 23
16 Bournemouth 21
17 Swansea 19
18 Newcastle 17
19 Sunderland 15
20 Aston Villa 8
Position Team Team Rating
1 Man City 0.25274141500356173
2 Tottenham 0.18875382309311
3 Arsenal 0.15897409683950772
4 Liverpool 0.12666656029943602
5 Man United 0.10715417543350494
6 Southampton 0.06700027740708017
7 Leicester 0.06278034088070752
8 Chelsea 0.02413298735319074
9 Everton 0.01978844876646884
10 Watford 0.007551657781780111
11 West Ham 0.002718168747877888
12 Bournemouth -0.025743341072525225
13 Crystal Palace -0.03688053260444255
14 Swansea -0.07140071711301835
15 Norwich -0.08808956290209
16 Stoke -0.10052972130574239
17 West Brom -0.13269205759568145
18 Sunderland -0.17946032624610592
19 Aston Villa -0.17986994141967189
20 Newcastle -0.23580324940169203
Position Team PDO
1 Everton 0.0953859804791482
2 Stoke 0.09006211180124227
3 Leicester 0.08053861788617889
4 Arsenal 0.0786627335299902
5 Man United 0.07
6 West Ham 0.06640168342296005
7 Watford 0.05675146771037182
8 West Brom 0.0384897360703812
9 Crystal Palace 0.02965631929046561
10 Tottenham 0.025846153846153852
11 Man City 0.006550933508024881
12 Chelsea 0.0010131712259371928
13 Sunderland -0.010714285714285732
14 Norwich -0.020142359533545373
15 Newcastle -0.0246212121212121
16 Southampton -0.06917293233082705
17 Swansea -0.0912579245912579
18 Aston Villa -0.12384615384615383
19 Liverpool -0.1270772238514174
20 Bournemouth -0.16429249762583098

Sunderland 3-1 Aston Villa

This may well have been the result that condemns Aston Villa to life outside of the premier league for the first time since it started. In his half season review James Yorke suggested that only Aston Villa can be reliably discarded and I say much against that. For much of December I've stated that Aston Villa are likely a bad but not quite relegation standard team that have had some bad luck and unfortunately are not quite good enough to avoid relegation having had that bad luck even if it does not continue into the new year. This result, and performance, is evidence that Aston Villa are more like a relegation team in any case. That Sunderland are bad is not much in question and they have pretty well out-played, or at least out-shot Aston Villa here.

In general team rating as the bottom three on points, Newcastle, Sunderland, and Aston Villa as the bottom three so their positions seem deserving, if perhaps Newcastle should not even be as high as 18th. As pointed out above, perhaps only Aston Villa can be confidently condemned at this point, but surely Sunderland and Newcastle are the favourites to join them, and not just because of their current league positions.

Read more…

EPL 19-21st December 2015

English Premier League 19-21st December

Another weekly look at the shot statistics from the English Premier League.

In [1]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
league_analysis.blog_weekly_header(epl, '19/12/2015', '21/12/2015')
Home Away
Team Chelsea Sunderland
Goals 3 1
Shots 17 11
SOT 7 3
Home Away
Team Everton Leicester
Goals 2 3
Shots 13 10
SOT 5 5
Home Away
Team Man United Norwich
Goals 1 2
Shots 11 6
SOT 2 4
Home Away
Team Newcastle Aston Villa
Goals 1 1
Shots 8 10
SOT 4 7
Home Away
Team Southampton Tottenham
Goals 0 2
Shots 11 13
SOT 4 6
Home Away
Team Stoke Crystal Palace
Goals 1 2
Shots 26 12
SOT 5 3
Home Away
Team West Brom Bournemouth
Goals 1 2
Shots 6 16
SOT 2 7
Home Away
Team Swansea West Ham
Goals 0 0
Shots 21 11
SOT 2 2
Home Away
Team Watford Liverpool
Goals 3 0
Shots 6 12
SOT 5 4
Home Away
Team Arsenal Man City
Goals 2 1
Shots 8 20
SOT 5 6
Position Team Points
1 Leicester 38
2 Arsenal 36
3 Man City 32
4 Crystal Palace 29
- Man United 29
- Tottenham 29
7 Watford 28
8 West Ham 25
9 Liverpool 24
10 Stoke 23
- Everton 23
12 Southampton 21
13 West Brom 20
14 Bournemouth 19
15 Chelsea 18
16 Newcastle 17
- Norwich 17
18 Swansea 15
19 Sunderland 12
20 Aston Villa 7
Position Team Team Rating
1 Man City 0.24891148068124508
2 Arsenal 0.1948585208991753
3 Tottenham 0.18121421144120595
4 Man United 0.11482230106557523
5 Liverpool 0.10950340835100668
6 Leicester 0.0984538870780712
7 Southampton 0.05409860888326491
8 Watford 0.03470513695322288
9 Everton 0.009721425007073015
10 Chelsea 0.007845509607072353
11 Bournemouth -0.006609427820242583
12 West Ham -0.011354682317004143
13 Crystal Palace -0.023759837368866082
14 Swansea -0.05913621875071391
15 Norwich -0.09761055927846143
16 Stoke -0.11992821842325234
17 Aston Villa -0.16745687037522403
18 Sunderland -0.18570423491380045
19 West Brom -0.19117694766284546
20 Newcastle -0.22445174685440208
Position Team PDO
1 Everton 0.11967779056386652
2 Man United 0.11927642736009045
3 Arsenal 0.10104477611940299
4 Leicester 0.09652023303416785
5 Watford 0.07937584803256445
6 West Brom 0.06298815822625348
7 West Ham 0.06060606060606061
8 Crystal Palace 0.055135692201992464
9 Stoke 0.05090311986863713
10 Tottenham 0.017879948914431648
11 Newcastle 0.0034364261168384758
12 Man City -0.011475409836065598
13 Sunderland -0.013184584178498993
14 Chelsea -0.03764705882352937
15 Norwich -0.06411862990810363
16 Aston Villa -0.08595531235750109
17 Southampton -0.09390243902439022
18 Swansea -0.11208791208791208
19 Bournemouth -0.15984555984555981
20 Liverpool -0.19308641975308644

Chelsea 3-1 Sunderland

This was a pretty kind game for Chelsea to have without a manager. Sunderland are showing some small signs of improvement, but they are small and they remain 18th for team rating. As for Chelsea, well, we'll have to wait and see what happens under Hiddink. Up to 10th in team rating and finally a positive score for team rating. It is worth noting that there is not much between the mid-table sides, but Chelsea have been hovering just below 10th for a while:

Read more…

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.

In [1]:
%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)
Home Away
Team Bournemouth Man United
Goals 2 1
Shots 11 11
SOT 5 5
Home Away
Team Crystal Palace Southampton
Goals 1 0
Shots 12 15
SOT 5 3
Home Away
Team Man City Swansea
Goals 2 1
Shots 13 13
SOT 5 7
Home Away
Team Norwich Everton
Goals 1 1
Shots 9 15
SOT 2 3
Home Away
Team Sunderland Watford
Goals 0 1
Shots 14 13
SOT 2 6
Home Away
Team West Ham Stoke
Goals 0 0
Shots 22 12
SOT 9 3
Home Away
Team Aston Villa Arsenal
Goals 0 2
Shots 18 8
SOT 2 4
Home Away
Team Liverpool West Brom
Goals 2 2
Shots 28 4
SOT 8 2
Home Away
Team Tottenham Newcastle
Goals 1 2
Shots 20 8
SOT 8 4
Home Away
Team Leicester Chelsea
Goals 2 1
Shots 9 11
SOT 5 5
Position Team Points
1 Leicester 35
2 Arsenal 33
3 Man City 32
4 Man United 29
5 Tottenham 26
- Crystal Palace 26
7 Watford 25
8 West Ham 24
- Liverpool 24
10 Everton 23
- Stoke 23
12 Southampton 21
13 West Brom 20
14 Bournemouth 16
- Newcastle 16
16 Chelsea 15
17 Swansea 14
- Norwich 14
19 Sunderland 12
20 Aston Villa 6

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:

Read more…

EPL 5-7th December 2015

EPL 5th-7th December

Our weekly brief look into the statistics that have been behind the weekend's games in the English Premier League.

In [1]:
%matplotlib inline
import league_analysis
from IPython.display import display, HTML
epl = league_analysis.epl
weekend_matches = league_analysis.get_matches(epl, '05/12/2015', '07/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)
Home Away
Team Arsenal Sunderland
Goals 3 1
Shots 16 11
SOT 7 4
Home Away
Team Chelsea Bournemouth
Goals 0 1
Shots 19 15
SOT 6 5
Home Away
Team Man United West Ham
Goals 0 0
Shots 21 9
SOT 1 2
Home Away
Team Southampton Aston Villa
Goals 1 1
Shots 23 9
SOT 5 2
Home Away
Team Stoke Man City
Goals 2 0
Shots 7 11
SOT 4 4
Home Away
Team Swansea Leicester
Goals 0 3
Shots 10 16
SOT 2 5
Home Away
Team Watford Norwich
Goals 2 0
Shots 14 6
SOT 7 1
Home Away
Team West Brom Tottenham
Goals 1 1
Shots 11 9
SOT 4 3
Home Away
Team Newcastle Liverpool
Goals 2 0
Shots 6 10
SOT 1 1
Home Away
Team Everton Crystal Palace
Goals 1 1
Shots 19 14
SOT 4 5
Position Team Points
1 Leicester 32
2 Arsenal 30
3 Man City 29
- Man United 29
5 Tottenham 26
6 Crystal Palace 23
- West Ham 23
- Liverpool 23
9 Everton 22
- Stoke 22
- Watford 22
12 Southampton 21
13 West Brom 19
14 Chelsea 15
15 Swansea 14
16 Norwich 13
- Newcastle 13
- Bournemouth 13
19 Sunderland 12
20 Aston Villa 6

Arsenal 3-1 Sunderland

So we have a relatively straightforward win for Arsenal. Sunderland though are showing signs of improvement. Here is how Sunderland's team rating has changed over the course of the season:

In [2]:
after_game_no_dicts = league_analysis.collect_after_game_dicts(epl, '01/08/2015', '09/12/2015')
league_analysis.plot_changing_stats(epl, after_game_no_dicts, 'team_rating', rankings=False, 
                                    teams=['Sunderland', 'Aston Villa', 'Newcastle', 'West Brom', 'Stoke'])