Predicting Serie A using xG

After 20 weeks of competition Juventus is already quite far ahead with a 9 points lead over Napoli which has 7 points more than the third of the league (Inter Milan). Then it’s much much tighter : there are only 7 points between the 12th and the 4rth !

In this article, based on the xG statistic (that I already explained previously), I will predict the final ranking of the Serie A plus the top scorers.

The Data

With WhoScored I collected, shots and goals statistics in order to calculate the Expected Goal (xG) value per game. Therefore for both teams and players I stored the xG/G (expected goal per game).

Then, I have decided to simulate 10 times the end of the season like a cross-validation. This allows the model to be more robust.

Team Results

First I have displayed the xG/G for every team.

Not surprising that Atalanta comes first as long as it is the team that scored the most after 20 weeks (44 goals). I’m quite surprised of Sampdoria which is 18th while they have already scored 35 goals (ie 1,75 goals/game). That means that Sampdoria is a really efficient team.

Now that we got xG for each team we can predict the final ranking.

The number on the right is the median of the 10 simulations.

Juventus will keep the 10 points lead till the end and maybe reach the 100 points. It seems that Inter, Milan AC and Roma will fight for 2 places for the Champions League. Atalanta will play the Europa League qualifiers. 2018-2019 seems to be a disappointing season for Lazio after playing Europa League this season.

At the opposite Chievo, Frosinone and Bologna should be relegated to Serie B.

Player Results

With the same method I predicted the 10 top scorers at the end of the season.

The number on the right is the median of the 10 simulations

We find Ronaldo at first place with 30 goals followed by Zapata with 27 goals and Piatek with 26 goals. Quite disappointing season for Icardi, the top scorer of 2017-2018 season, with 17 goals and a 8th place.