Offensive players’ contribution are often measured in Assists or Goals scored. Players who are essential in the build-up play however are often overlooked. Subjectively we know which players are more offensively gifted and are able to start an offense, but is there a way to prove players’ ability with numbers?

How to measure offensive contribution

Football compared to other sports suffers from being inherently hard to measure. Goals, which are the events we want to measure, are incredibly rare. When looking at a sport like basketball, we have about 80 scoring events each game in about half the playing time. In football this number is sometimes 0 and most of the time not higher than 3.

This makes it very hard to robustly and effectively measure the contribution on offense if we can only measure a very scarce event; a goal.

Therefore we need a different approach. A metric that doesn’t only reward Forwards, but also players involved in the build-up play. Moreover in order to measure this reliably, we need more data than a few goals per game (or in Hamburg per season).

Instead of only looking for goals, we can see every shot as a successful event. A sign that the offense did something right, to bring somebody in the position to shoot.



Please note that this is not a novel approach and I first found this method in a blog article from 2-3 years back, which I now can’t find again (please link me if you know). Since then more and more people have thought of this. A quick Google search reveals for example this Statsbomb article.

To me however it is still the gold standard of measuring offensive contribution and it deserves to be explained again. Moreover our approach differs a bit from the rest, since we also take into consideration the difficulty involved in making the contribution by looking at the pass probability.

Every shot gives us information

Of course some shots are different than others.

A shot under pressure from 25 meters away should be valued differently than an open shot in the penalty box.

This can be modelled, by trying to estimate the probability of a shot going in. In order to do this we have to give the model information about the shot, which it can then use to estimate how good of an opportunity the shot is.

As an example we can look at a sample shot:

Distance X Y Rebound Big

Chance Header Assisted Set Piece 27.39 72.9 29.1 No No No No Yes

This sample shot was from 27 meters away, in an almost central position on the pitch. It followed a set piece, but was not assisted by a teammate, not a header and also did not follow another shot (rebound). The Opta analysts also did not mark it as a Big Chance.

Some more characteristics of a shot are used in establishing a probability, like the type of assist (through ball, long ball or cross), the angle or whether the shot followed a dribbling. Our model trained on this information gives this particular shot a probability of 3.26% of finding the back of the net.

Luckily it did. It’s the Premier League goal of the season 2018/2019.

However it is easy to see why the probability of this shot going in is so minuscule.

Using this model we have a way of attributing value to each possession, that ended in a shot. To quantify offensive contributions by each player, we can now look at 15,000+ shots per season, instead of only taking into account the some hundred goals.

Attributing value

Knowing the value of the shot, we can now reward players that contributed to creating that chance.

First we need to define the possession and establish which actions led to the shot. Each possession gets assigned the probability of the shot that was created. The shot by Townsend for example, would assign 3.26% to that possession.

Having assigned each shot a possession, it’s time to think about how to split up the value between all involved players.

I find this easier to showcase with a real example, so let’s look at this magnificent goal of Arsenal against Leicester:

Our expected goal probability for this shot is about 56%. This seems very low considering that Aubameyang only had to put it into the empty net from about 5 meters away.

However we have to bear in mind that on average only 11% of all shots go in, meaning our model is strongly biased towards non-goals, predicting on average also a probability of 11%. This shot therefore is way above average and our model is basically saying: This shot is 5 times more likely to be a goal than the average shot.

Who did what?

This offensive possession therefore has an overall value of 0.56 (56%).

There are multiple approaches that can be used to split up the value between the players involved.

The easiest would be to split the value equally amongst all players involved. Another approach might favour passes in the last third or reward passes exponentially stronger that are later in the possession.

Introducing Pass Probability

In my opinion it leads to the best results to include the difficulty of a pass as a measure of contribution.

This will automatically reward players that are playing the crucial passes, since it is generally harder to play successful passes in the last third. But it will also reward the long diagonal balls Boateng used to play before he got interested in fashion.



For modelling the pass probability we will use another model very similar to the expected Goals model.

Since I’ve already spent some time explaining that, I will not go deeper into the xP – Model here. If you are interested in that, please check it out in the Models and Definition section.



Below you find a table of all passes (and the final shot) in this possession, together with the coordinates, pass probability and the calculated added value.

Player x y xP Added Value S. Mustafi 26 18 98% 0.033 M. Guendouzi 46 53 99% 0.033 L. Torreira 36 46 93% 0.035 Bellerín 43 8 95% 0.034 M. Guendouzi 46 16 95% 0.035 Bellerín 44 10 99% 0.033 S. Mustafi 32 21 99% 0.033 B. Leno 9 35 99% 0.033 R. Holding 19 59 91% 0.036 G. Xhaka 28 59 97% 0.034 L. Torreira 27 48 91% 0.036 M. Özil 44 31 98% 0.034 M. Guendouzi 43 18 81% 0.039 Bellerín 73 12 67% 0.044 A. Lacazette 82 34 67% 0.044 M. Özil 93 26 37% 0.054 P. Aubameyang 96 36 100% 0.033

There are 2 steps in our approach:

i) Divide overall value by stations in the possession.

Here: 0.56 / 17 = 0.033

ii) Multiply this value by a factor that includes the pass probability.



If we follow these steps in this case we will first divide the expected Goal value of 0.56 by the number of stations in this possession; 0.56 / 17 = 0.033.

This would be the value we would distribute amongst all players if we went for the approach to reward each player equally. Here however we want to include the difficulty of the pass, which leads to step 2.

We want to reward players more, that played the more difficult passes. The last 3 passes in this possession have the lowest pass probability, with Özils assist being the hardest pass in the whole possession. We would therefore calculate his added value by

0.033 * 1 + (1 - prob. of successful pass) = 0.033 * (2 - prob. of successful pass) = 0.033 * 1.63 = 0.054

Bernd Lenos added value of this possession on the other hand is only 0.033, since his pass was almost certain to be played successfully. This is how we can reward players who constantly play the most difficult passes in an offence.

Since we do not have any pass probability for a shot, we will just take the value of 0.033 for Aubameyang.

Who are the biggest contributors?

In order to analyse who contributes the most to ones’ offense, we only need to sum up their added values out of each possession over the season.

Below you will find the Top 5 of the 2018/2019 season of the big 4 European Leagues plus the UCL.

Player Created Value Team Name R. Lewandowski 14.17 FC Bayern München A. Kramarić 12.67 TSG 1899 Hoffenheim J. Kimmich 11.18 FC Bayern München J. Brandt 11.00 Bayer 04 Leverkusen L. Jović 10.57 Eintracht Frankfurt

Bundesliga 2018/2019

Player Created Value Team Name Mohamed Salah 13.53 Liverpool FC R. Fraser 12.76 AFC Bournemouth G. Sigurðsson 12.35 Everton FC E. Hazard 12.14 Chelsea FC J. Maddison 11.47 Leicester City FC

Premier League 2018/2019

Player Created Value Team Name L. Messi 14.62 FC Barcelona L. Suárez 12.80 FC Barcelona Dani Parejo 12.59 Valencia CF W. Ben Yedder 12.44 Sevilla FC A. Griezmann 11.28 Club Atlético de Madrid

La Liga 2018/2019

Player Created Value Team Name A. Gómez 16.78 Atalanta Bergamasca Calcio R. de Paul 13.81 Udinese Calcio F. Quagliarella 13.02 UC Sampdoria Cristiano Ronaldo 12.49 Juventus FC D. Zapata 11.02 Atalanta Bergamasca Calcio

Serie A 2018/2019

Player Added Value Team S. Mané 4.14 Liverpool FC Mohamed Salah 4.09 Liverpool FC L. Messi 4.08 FC Barcelona H. Ziyech 3.86 Ajax Amsterdam M. Pjanić 3.82 Juventus FC

UCL 2018/2019

To me the Top 5’s of all leagues seem to pass the eye test. I must admit that I was a bit surprised by Fraser being so high up in the Premier League. Also I am not following the Serie A regularly, so I cannot really judge on that.

Biases of this metric

It is important to note however, that there is a strong bias towards those players in these tables that play a lot of minutes. Added Value can only increase, players that play more should automatically have a higher value than players who play less.

In the Bundesliga for example Marco Reus is a close 6th with an added value of 9.70. He however, played about 350 minutes less than Julian Brandt.

Another problem is that you will be heavily dependent on your teammates. Bad teams will create fewer shots and therefore less value. Compared to your teammates you will still look good, but it will be very hard to compare yourself to players from the best teams in the league.

A possible solution for both these problems are to normalise your created value. Either by looking at possessions you were engaged in, by your overall action or by the minutes you’ve played. Another idea might be to compare it to the average of created value in ones team.

As a third and last concern, this metric favours players that shoot a lot (mostly strikers). In the previous example to illustrate how we distribute value amongst players in a possession, we looked at a goal that was scored after 15 passes.

That immediately drops the value for each involved player to a very low level. In a corner however with possibly only two involved players, each of them get about half the value of the shot.

The corner in this case is just an example of a very short possession. In general, if you are shooting a lot, you will probably show up as a great player according to this metric.

If we now cut out all shots from the possessions, the Top 5 change quite a lot. Here is the updated Top 5 in the Premier League of the last season:

Player Added Value Team R. Fraser 11.24 AFC Bournemouth E. Hazard 8.65 Chelsea FC David Silva 8.07 Manchester City FC João Moutinho 8.07 Wolverhampton Wanderers FC J. Maddison 7.73 Leicester City FC

Sigurðsson and Salah drop out, while Fraser is now actually by far the strongest player, being vital in Bournemouths offense by assisting overall 14 goals. Hazard is now second, with the gap widening to Fraser, due to excluding his 16 goals this season. With David Silva and João Moutinho we see two more players entering the Top 5 that are crucial for setting up their teams’ offense.

Most important players for the offense

As discussed previously, created value is heavily dependent on how good your teammates are. However there are certain players that carry their teams offensively, who are the vocal point of the offense and create a lot more value than their teammates.



To check this, we will look at the player of each team that has the highest amount of created value and compare it to his teammates.

Leaders on offense 2017/2018

Vocal points on offense for the top four leagues

Messi is somehow unexpected. Did we think he would have a high (possibly the highest) created value across all players in Europe? Sure! But was he expected to produce almost 3x as much value as the average player in a team, that went almost undefeated? I’m not so sure.

The other outlier in terms of created value is also not surprising; Mohamed Salah in his first (and historic) Premier League season with 32 goals and 11 assists.

The other 3 most important players on a teams’ offense are what I hoped to see. Players on rather underachieving teams, that somehow managed to stand out and still play great seasons.

Simone Verdi for example assisted 10 and scored 10 goals by himself, initiating or scoring half of Bolognas total of 40 goals in that season, being absolutely crucial in their fight against relegation. After that season Napoli bought him out for 24.5 million euro.

Shaqiri’s season looks quite similar, although with a worse ending for his club. Stoke City managed to score only 35 goals, of which the running cube assisted 7 and scored 8 himself, not able to keep his club in the Premier League but getting Liverpool interested in him, where he was able to be a strong alternative this season for their offense.

The last player of the bunch, is the one with the lowest created value, however his team was so atrocious on offense, that he was still a positive outlier. UD Las Palmas managed to score 22 goals in 38 games, with Viera scoring 4 and assisting another 3 in 23 games. Of course, that cannot be put in the same category as Salahs and Messi’s season, however we can still argue that Viera was a very important piece for Las Palmas (horrible) offense, when he played.

Leaders on offense 2018/2019

The graph of this season once again confirms how incredible Salah and Messi performed last season. Nobody in Europe came close to their (especially Messi’s) output last year.

However compared to his teammates, Rodrigo De Paul was even more important this year for Udinese Calcio, than Messi was for Barcelona in 2017/2018.

Even though he contributed directly only to 17 goals (scored 9 times and assisted 8), he set up their offense many more times and was often involved in the build-up of a play, rather than finishing it. It will be very interesting to see how he can fare in a team with a stronger offense around him, should he actually be leaving Udinese this summer.

Fabio Quagliarella is also rather expected, being the best goalscorer of the last season in Italy and contributing to more than half of Sampdoria Genuas goals directly.

The best on each team

Even though the methodology, explanations and examples might make sense so far, you are probably not fully trusting me (or the metric) yet.

It’s always best to see who I claim is the best player on your favourite teams’ offense. For this, I am going to leave you with tables for the big European leagues (sorry France), showcasing the players with the highest created value (including shots) this past season for each team.

Over the next few weeks I will publish a few more articles for which the concept of created value will provide many more insights. Then we will look into which duos are the most dangerous in Europe and how each teams’ offensive network creates goal chances…but for now, here are the tables:

Team Name Player Created Value FC Bayern München R. Lewandowski 14.17 TSG 1899 Hoffenheim A. Kramarić 12.67 Bayer 04 Leverkusen J. Brandt 11.00 Eintracht Frankfurt L. Jović 10.57 Borussia VfL Mönchengladbach T. Hazard 9.72 BV Borussia 09 Dortmund M. Reus 9.70 FC Schalke 04 D. Caligiuri 9.57 SV Werder Bremen M. Kruse 9.00 Rasen Ballsport Leipzig T. Werner 8.57 Hertha BSC O. Duda 7.81 Düsseldorfer TuS Fortuna 1895 D. Lukebakio 7.77 VfL Wolfsburg W. Weghorst 7.70 FC Augsburg M. Gregoritsch 6.45 SC Freiburg C. Günter 6.27 1. FSV Mainz 05 J. Mateta 5.91 1. FC Nürnberg T. Leibold 4.99 VfB Stuttgart 1893 M. Gómez 4.75 Hannoverscher Sportverein 1896 H. Weydandt 4.29

Bundesliga 2018/2019

Team Name Player Created Value Liverpool FC Mohamed Salah 13.53 AFC Bournemouth R. Fraser 12.76 Everton FC G. Sigurðsson 12.35 Chelsea FC E. Hazard 12.14 Leicester City FC J. Maddison 11.47 Manchester City FC David Silva 11.16 Manchester United FC P. Pogba 10.72 Crystal Palace FC L. Milivojević 10.72 Arsenal FC P. Aubameyang 10.48 Tottenham Hotspur FC C. Eriksen 10.08 Wolverhampton Wanderers FC R. Jiménez 9.72 West Ham United FC Felipe Anderson 9.27 Fulham FC A. Mitrović 8.65 Watford FC A. Doucouré 8.22 Southampton FC N. Redmond 8.21 Newcastle United FC M. Ritchie 7.92 Cardiff City FC Víctor Camarasa 7.87 Burnley FC A. Barnes 7.57 Brighton & Hove Albion FC G. Murray 6.78 Huddersfield Town FC A. Mooy 5.25

Premier League 2018/2019

Team Name Player Created Value FC Barcelona L. Messi 14.62 Valencia CF Dani Parejo 12.59 Sevilla FC W. Ben Yedder 12.44 Club Atlético de Madrid A. Griezmann 11.28 Deportivo Alavés Jony 10.82 Real Madrid CF K. Benzema 10.14 Villarreal CF Santi Cazorla 9.88 Real Club Celta de Vigo Iago Aspas 9.46 Real Sociedad de Fútbol Willian José 9.36 Levante UD Campaña 9.18 Espanyol Barcelona Borja Iglesias 8.98 SD Eibar F. Orellana 8.97 Getafe Club de Fútbol Jorge Molina 8.64 Rayo Vallecano Adri Embarba 8.33 SD Huesca J. Hernández 7.67 Real Betis Balompié G. Lo Celso 7.41 Girona FC C. Stuani 7.29 Athletic Club Bilbao Raúl García 7.08 CD Leganés Óscar Rodríguez 6.52 Real Valladolid Club de Fútbol Míchel 5.89

La Liga 2018/2019

Team Name Player Created Value Atalanta Bergamasca Calcio A. Gómez 16.78 Udinese Calcio R. de Paul 13.81 UC Sampdoria F. Quagliarella 13.02 Juventus FC Cristiano Ronaldo 12.49 SS Lazio C. Immobile 10.68 FC Internazionale Milano I. Perišić 10.56 ACF Fiorentina J. Veretout 10.48 US Sassuolo Calcio D. Berardi 10.10 Empoli FC F. Caputo 9.91 AS Roma A. Kolarov 8.70 AC Milan H. Çalhanoğlu 8.39 Bologna FC 1909 E. Pulgar 8.09 SSC Napoli D. Mertens 8.02 Torino FC A. Belotti 7.85 Frosinone Calcio C. Ciano 7.66 Società Polisportiva Ars et Labor 2013 A. Petagna 7.33 Genoa CFC C. Kouamé 7.12 Parma Calcio 1913 Y. Gervinho 6.17 Cagliari Calcio João Pedro 5.74 AC Chievo Verona E. Giaccherini 5.22

Serie A 2018/2019