Producing time series from a simple Expected Goals model

Aim: To produce time series from a simple Expected Goals model to help analyse the progress of football matches.

Expected Goals is a derived statistic that estimates the number of goals a team would score on average from its opportunities. It has become so widespread it now features on Match of the Day.

Unlike observed statistics like goals or shots, it depends on a model. These models can be incredibly sophisticated – see Michael Caley’s excellent work.

A couple of years ago I tried creating my own much simpler version. You can read about it here. I was mainly investigating using the data for prediction. As on Match of the Day, expected goals are most commonly used for analysis, i.e. describing what happened after the event.

I wanted to build a slightly modified version for analysing games myself. As far as categories go, out go headers (these are now lumped together with other shots), in come penalties and shots in the 6 yard box. So now the four categories of shot used in the model are:

  • penalties
  • shots in the 6 yard box
  • shots in the rest of the penalty box
  • shots outside the penalty box

Still pretty simple – unfortunately time and a lack of finer grained data prevent me from going much further.

Expected Goals over time

However, what I have added is the ability to record how cumulative expected goals build up over the course of a match.

Here is one example from last weeks Premier League:


The graph captures the ups and downs of a roller-coaster match quite well. Liverpool were slow to start, then dominated after half-time. They probably should have sealed the win but a late surge from Watford was enough to share the points.

I will try to publish more examples here and on my Spurs blog and use them as a tool in my own analysis of games. I hope to refine the model over time. Maybe put headers back, or split the locations into finer buckets. Unfortunately getting the data is the main barrier.

Note: the model was calibrated from Premier League data from the last 6 seasons from

Follow me on Twitter @ABPSpurs



One thought on “Producing time series from a simple Expected Goals model

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s