EPL First Weekend

EPL First Weekend

A quick post with some statistics from the first weekend of matches in the EPL. Of course at this stage it is not very sensible to draw any conclusions.

In [1]:
%matplotlib inline
import league_analysis
epl = league_analysis.year_201516.epl_league

Matches

Here are the matches:

In [2]:
league_analysis.display_matches(epl, '08/08/15', '10/08/15')
Home Away
Team Bournemouth Aston Villa
Goals 0 1
Shots 11 7
SOT 2 3
Home Away
Team Chelsea Swansea
Goals 2 2
Shots 11 18
SOT 3 10
Home Away
Team Everton Watford
Goals 2 2
Shots 10 11
SOT 5 5
Home Away
Team Leicester Sunderland
Goals 4 2
Shots 19 10
SOT 8 5
Home Away
Team Man United Tottenham
Goals 1 0
Shots 9 9
SOT 1 4
Home Away
Team Norwich Crystal Palace
Goals 1 3
Shots 17 11
SOT 6 7
Home Away
Team Arsenal West Ham
Goals 0 2
Shots 22 8
SOT 6 4
Home Away
Team Newcastle Southampton
Goals 2 2
Shots 9 15
SOT 4 5
Home Away
Team Stoke Liverpool
Goals 0 1
Shots 7 8
SOT 1 3
Home Away
Team West Brom Man City
Goals 0 3
Shots 9 19
SOT 2 7

Interesting week. Swansea really dominated Chelsea in shots and shots on target at Stamford Bridge, probably a result of Chelsea losing their goal keeper to a red card.

Two of the new boys Bournemouth and Norwich both managed to out-shoot their opponents, but they had fewer shots on target and that proved telling as both lost. Watford can be assured that their draw with Everton was well-deserved.

Graphs

For no particular reason now graphing the shots and shots on target differences against the goals difference. First the difference in total shots vs the difference in goals.

In [3]:
def get_shots_diff(match):
    if match.FTR == 'H' or match.FTR == 'D':
        return match.HS - match.AS
    else:
        return match.AS - match.HS
def get_goals_diff(match):
    return abs(match.FTHG - match.FTAG)
league_analysis.scatter_match_stats(epl.matches, xlabel='Shots Diff', ylabel='Goals Diff',
                                    title='Shots Difference vs Goals Difference',
                                    get_x_stat=get_shots_diff, get_y_stat=get_goals_diff)
line of best fit: 0.02114 x + 1.022

Note that it makes a slight difference what we do with drawn matches. Here we are plotting the shots difference from the point of view of the home team (for no particular reason). So all three draws have a negative shot ratio. In any case we are mostly all over the place here. The Arsenal and Norwich losses are preventing any kind of positive relationship. One thing though, on this basis, Leicester deserve to be top of the league, the only luck they have had is being drawn against Sunderland so far.

Now we graph the shots on target vs the difference in goals.

In [4]:
def get_sot_diff(match):
    if match.FTR == 'H' or match.FTR == 'D':
        return match.HST - match.AST
    else:
        return match.AST - match.HST
league_analysis.scatter_match_stats(epl.matches, xlabel='SOT Diff', ylabel='Goals Diff',
                                    title='Shots on Target Difference vs Goals Difference',
                                    get_x_stat=get_sot_diff, get_y_stat=get_goals_diff)
line of best fit: 0.09223 x + 0.9545

Now we have what looks like a more positive trend line. Of course one weekend is not enough data to make any kind of trend line worthwhile, this is just for fun. On this measure though Tottenham were more unfortunate than Arsenal.

As I say, these things do not tell us anything, but it's fun to look at whilst we wait for the next round of matches.

Comments

Comments powered by Disqus