To create the league rankings, we take all shots faced by all goalkeepers to date in their league. We learn a set of embeddings that captures the different skillsets of a goalkeeper, which we can then swap in order to simulate their performance.
This gives us the total number of goals each goalkeeper would have been expected to concede (xG) if they faced every shot. To make this more interpretable, we first standardise the xG’s from a season total to per game, and then take this from the league average.
This final value is the number of xG’s a goalkeeper would have either prevented or conceded compared to the league average. So without further ado, here are Stats Perform’s goalkeeper rankings for Dec. 3:
Premier League: Week 14
Ranking | Player Name | Team | Games Played | xG Prevented/90 Min |
---|---|---|---|---|
1 | Adrian | Liverpool | 8 | 0.38 |
2 | Ederson | Manchester City | 12 | 0.31 |
3 | Paulo Gazzaniga | Tottenham | 7 | 0.25 |
4 | Bernd Leno | Arsenal | 14 | 0.17 |
5 | Alisson | Liverpool | 7 | 0.17 |
6 | David de Gea | Manchester City | 14 | 0.17 |
7 | Kasper Schmeichel | Leicester City | 14 | 0.16 |
8 | Vicente Guaita | Crystal Palace | 12 | 0.15 |
9 | Lukasz Fabianski | West Ham | 7 | 0.05 |
10 | Aaron Ramsdale | Bournemouth | 14 | 0.04 |
11 | Roberto | West Ham | 6 | 0.02 |
12 | Mathew Ryan | Brighton & Hove Albion | 14 | -0.01 |
13 | Tom Heaton | Aston Villa | 13 | -0.02 |
14 | Jordan Pickford | Everton | 14 | -0.05 |
15 | Martin Dubravka | Newcastle United | 14 | -0.05 |
16 | Hugo Lloris | Tottenham | 7 | -0.09 |
17 | Dean Henderson | Sheffield United | 13 | -0.10 |
18 | Rui Patricio | Wolverhampton | 14 | -0.11 |
19 | Nick Pope | Burnley | 14 | -0.14 |
20 | Ben Foster | Watford | 14 | -0.17 |
21 | Kepa | Chelsea | 14 | -0.27 |
22 | Tim Krul | Norwich City | 12 | -0.31 |
23 | Angus Gunn | Southampton | 10 | -0.54 |
Bundesliga: Week 13
Ranking | Player Name | Team | Games Played | xG Prevented/90 Min |
---|---|---|---|---|
1 | Koen Casteels | VfL Wolfsburg | 5 | 0.41 |
2 | Yann Sommer | Monchengladbach | 13 | 0.40 |
3 | Mark Flekken | SC Freiburg | 5 | 0.32 |
4 | Kevin Trapp | Eintracht Frankfurt | 6 | 0.31 |
5 | Peter Gulacsi | RB Leipzig | 12 | 0.26 |
6 | Alexander Nubel | Schalke 04 | 13 | 0.23 |
7 | Frederik Ronnow | Eintracht Frankfurt | 6 | 0.22 |
8 | Lukas Hradecky | Bayer Leverkusen | 13 | 0.19 |
9 | Pavao Pervan | VfL Wolfsburg | 8 | 0.10 |
10 | Rafal Gikiewicz | Union Berlin | 13 | 0.09 |
11 | Manuel Neuer | Bayern Munich | 13 | 0.08 |
12 | Roman Burki | Borussia Dortmund | 10 | 0.02 |
13 | Jiri Pavlenka | Werder Bremen | 13 | -0.01 |
14 | Leopold Zingerle | SC Paderborn 07 | 7 | -0.05 |
15 | Rune Jarstein | Hertha BSC | 12 | -0.10 |
16 | Robin Zentner | Mainz 05 | 10 | -0.13 |
17 | Oliver Baumann | 1899 Hoffenheim | 13 | -0.18 |
18 | Zack Steffen | Fortuna Dusseldorf | 13 | -0.23 |
19 | Alexander Schwolow | SC Freiburg | 8 | -0.30 |
20 | Timo Horn | FC Koln | 13 | -0.35 |
21 | Tomas Koubek | FC Augsburg | 13 | -0.51 |
22 | Jannik Huth | SC Paderborn 07 | 6 | -0.76 |
La Liga: Week 14
Ranking | Player Name | Team | Games Played | xG Prevented/90 Min |
---|---|---|---|---|
1 | Unai Simon | Athletic Bilbao | 14 | 0.42 |
2 | Sergio Asenjo | Villareeal | 12 | 0.29 |
3 | Jan Oblak | Atletico Madrid | 15 | 0.23 |
4 | Aitor Fernandez | Levante | 15 | 0.14 |
5 | Tomas Vaclik | Sevilla | 15 | 0.12 |
6 | Fernando Pacheco | Alaves | 12 | 0.12 |
7 | Thibaut Courtois | Real Madrid | 11 | 0.11 |
8 | Manuel Reina | RCD Mallorca | 14 | 0.11 |
9 | Miguel Angel Moya | Real Sociedad | 7 | 0.08 |
10 | Joel Robles | Real Betis | 14 | 0.08 |
11 | Jasper Cillessen | Valencia | 13 | 0.06 |
12 | Ruben Blanco | Celta Vigo | 13 | 0.00 |
13 | Juan Soriano | CD Leganes | 7 | -0.01 |
14 | Marc-Andre ter Stegen | Barcelona | 14 | -0.01 |
15 | Jordi Masip | Valladolid | 15 | -0.02 |
16 | Ruben | Osasuna | 13 | -0.05 |
17 | Alex Remiro | Real Sociedad | 8 | -0.11 |
18 | David Soria | Getafe CF | 15 | -0.23 |
19 | Rui Silva | Granada | 15 | -0.26 |
20 | Diego Lopez | Espanyol | 15 | -0.26 |
21 | Marko Dmitrovic | Eibar | 15 | -0.33 |
22 | Ivan Cuellar | CD Leganes | 8 | -0.48 |
Ligue 1: Week 15
Ranking | Player Name | Team | Games Played | xG Prevented/90 Min |
---|---|---|---|---|
1 | Geronimo Rulli | Montpellier | 14 | 0.32 |
2 | Keylor Navas | PSG | 9 | 0.25 |
3 | Predrag Rajkovic | Stade de Reims | 15 | 0.24 |
4 | Benoit Costil | Bordeaux | 15 | 0.20 |
5 | Edouard Mendy | Stade Rennais | 10 | 0.18 |
6 | Mike Maignan | Lille | 15 | 0.13 |
7 | Steve Mandanda | Marseille | 15 | 0.12 |
8 | Anthony Lopes | Olympique Lyonnais | 15 | 0.06 |
9 | Walter Benitez | OGC | 13 | 0.04 |
10 | Alfred Gomis | Dijon FCO | 11 | 0.00 |
11 | Benjamin Lecomte | Monaco | 14 | -0.06 |
12 | Matz Sels | Strasbourg | 15 | -0.06 |
13 | Alban Lafont | Nantes | 15 | -0.06 |
14 | Gautier Larsonneur | Brest | 14 | -0.09 |
15 | Stephane Ruffier | St-Etienne | 12 | -0.10 |
16 | Regis Gurtner | Amiens SC | 15 | -0.11 |
17 | Alexandre Oukidja | Metz | 15 | -0.19 |
18 | Paul Bernardoni | Nimes Olympique | 11 | -0.25 |
19 | Baptiste Reynet | Toulouse | 15 | -0.30 |
20 | Ludovic Butelle | Angers | 15 | -0.34 |
Serie A: Week 14
Ranking | Player Name | Team | Games Played | xG Prevented/90 Min |
---|---|---|---|---|
1 | Robin Olsen | Cagliari | 12 | 0.51 |
2 | Wojciech Szczesny | Juventus | 9 | 0.50 |
3 | Gianluigi Buffon | Juventus | 5 | 0.19 |
4 | David Ospina | Napoli | 5 | 0.16 |
5 | Pau Lopez | AS Roma | 14 | 0.15 |
6 | Thomas Strakosha | SS Lazio | 14 | 0.10 |
7 | Luigi Sepe | Parma | 14 | 0.07 |
8 | Samir Handanovic | Inter Milan | 14 | 0.02 |
9 | Marco Silvestri | Verona | 14 | 0.02 |
10 | Ionut Radu | Genoa | 14 | 0.01 |
11 | Jesse Joronen | Brescia | 12 | 0.00 |
12 | Bartlomiej Dragowski | ACF Fiorentina | 14 | -0.02 |
13 | Salvatore Sirigu | Torino FC | 14 | -0.03 |
14 | Alex Meret | Napoli | 9 | -0.03 |
15 | Etrit Berisha | SPAL | 14 | -0.04 |
16 | Gianluigi Donnarumma | AC Milan | 13 | -0.08 |
17 | Emil Audero | Sampdoria | 14 | -0.12 |
18 | Gabriel | Lecce | 14 | -0.18 |
19 | Juan Musso | Udinese | 14 | -0.21 |
20 | Andrea Consigli | Sassuolo | 12 | -0.28 |
21 | Pierluigi Gollini | Atalanta | 13 | -0.35 |
22 | Lukasz Skorupski | Bologna | 14 | -0.39 |