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 Jan. 8:
Liverpool goalkeeper Alisson
Premier League: Week 21
Ranking | Player | Team | Games | xG Prevented/90 Min |
---|---|---|---|---|
1 | Alisson | Liverpool | 12 | 0.48 |
2 | Ederson | Manchester City | 17 | 0.31 |
3 | Adrian | Liverpool | 9 | 0.25 |
4 | Paulo Gazzaniga | Tottenham | 14 | 0.23 |
5 | David de Gea | Manchester United | 21 | 0.20 |
6 | Bernd Leno | Arsenal | 21 | 0.15 |
7 | Kasper Schmeichel | Leicester City | 21 | 0.13 |
8 | Vicente Guaita | Crystal Palace | 19 | 0.12 |
9 | Lukasz Fabianski | West Ham | 9 | 0.10 |
10 | Martin Dubravka | Newcastle United | 21 | 0.04 |
11 | Alex McCarthy | Southampton | 11 | 0.04 |
12 | Ben Foster | Watford | 21 | -0.02 |
13 | Mathew Ryan | Brighton & Hove Albion | 21 | -0.02 |
14 | Aaron Ramsdale | Bournemouth | 21 | -0.07 |
15 | Hugo Lloris | Tottenham | 7 | -0.08 |
16 | Jordan Pickford | Everton | 21 | -0.08 |
17 | Roberto | West Ham | 7 | -0.10 |
18 | Dean Henderson | Sheffield United | 20 | -0.11 |
19 | Tom Heaton | Aston Villa | 20 | -0.13 |
20 | Tim Krul | Norwich City | 19 | -0.17 |
21 | Rui Patricio | Wolverhampton | 21 | -0.20 |
22 | Kepa | Chelsea | 21 | -0.26 |
23 | Nick Pope | Burnley | 21 | -0.31 |
24 | Angus Gunn | Southampton | 10 | -0.49 |
Yann Sommer of Borussia Moenchengladbach
Bundesliga: Week 17
Ranking | Player | Team | Games | xG Prevented/90 Min |
---|---|---|---|---|
1 | Yann Sommer | Monchengladbach | 17 | 0.36 |
2 | Kevin Trapp | Eintracht Frankfurt | 6 | 0.34 |
3 | Alexander Nubel | Schlake 04 | 15 | 0.26 |
4 | Koen Casteels | VfL Wolfsburg | 9 | 0.18 |
5 | Lukas Hradecky | Bayer Leverkusen | 17 | 0.18 |
6 | Peter Gulacsi | RB Leipzig | 16 | 0.18 |
7 | Mark Flekken | SC Freiburg | 9 | 0.14 |
8 | Pavao Pervan | VfL Wolfsburg | 8 | 0.14 |
9 | Rafal Gikiewicz | Union Berlin | 17 | 0.11 |
10 | Manuel Neuer | Bayern Munich | 17 | 0.11 |
11 | Frederik Ronnow | Eintracht Frankfurt | 8 | 0.10 |
12 | Rune Jarstein | Hertha BSC | 15 | 0.10 |
13 | Leopold Zingerle | SC Paderborn 07 | 11 | 0.07 |
14 | Roman Burki | Borussia Dortmund | 14 | 0.04 |
15 | Robin Zentner | Mainz 05 | 14 | -0.09 |
16 | Oliver Baumann | 1899 Hoffenheim | 17 | -0.18 |
17 | Timo Horn | FC Koln | 17 | -0.20 |
18 | Jiri Pavlenka | Werder Bremen | 17 | -0.25 |
19 | Zack Steffen | Fortuna Dusseldorf | 17 | -0.25 |
20 | Alexander Schwolow | SC Freiburg | 8 | -0.26 |
21 | Tomas Koubek | FC Augsburg | 17 | -0.37 |
22 | Jannik Huth | SC Paderborn 07 | 6 | -0.71 |
Robin Olsen of Cagliari Calcio
Serie A: Week 18
Ranking | Player | Team | Games | xG Prevented/90 Min |
---|---|---|---|---|
1 | Robin Olsen | Cagliari | 13 | 0.46 |
2 | Wojciech Szczesny | Juventus | 11 | 0.33 |
3 | Gianluigi Buffon | Juventus | 7 | 0.30 |
4 | Samir Handanovic | Inter Milan | 18 | 0.25 |
5 | David Ospina | Napoli | 5 | 0.22 |
6 | Pau Lopez | AS Roma | 17 | 0.22 |
7 | Thomas Strakosha | SS Lazio | 17 | 0.13 |
8 | Jesse Joronen | Brescia | 15 | 0.12 |
9 | Luigi Sepe | Parma | 18 | 0.08 |
10 | Ionut Radu | Genoa | 17 | 0.07 |
11 | Salvatore Sirigu | Torino FC | 18 | 0.07 |
12 | Marco Silvestri | Verona | 17 | 0.07 |
13 | Etrit Berisha | SPAL | 18 | 0.04 |
14 | Gianluigi Donnarumma | AC Milan | 17 | 0.04 |
15 | Bartlomiej Dragowski | ACF Fiorentina | 18 | 0.00 |
16 | Emil Audero | Sampdoria | 18 | -0.10 |
17 | Alex Meret | Napoli | 13 | -0.13 |
18 | Gabriel | Lecce | 18 | -0.14 |
19 | Juan Musso | Udinese | 18 | -0.15 |
20 | Andrea Consigli | Sassuolo | 13 | -0.18 |
21 | Lukasz Skorupski | Bologna | 18 | -0.27 |
22 | Pierluigi Gollini | Atalanta | 16 | -0.42 |
23 | Rafael | Cagliari | 5 | -1.01 |
Unai Simon of Athletic Club
La Liga: Week 19
Ranking | Player | Team | Games | xG Prevented/90 Min |
---|---|---|---|---|
1 | Unai Simon | Athletic Bilbao | 18 | 0.32 |
2 | Sergio Asenjo | Villareal | 16 | 0.32 |
3 | Jan Oblak | Atletico Madrid | 19 | 0.28 |
4 | Thibaut Courtois | Real Madrid | 16 | 0.25 |
5 | Jasper Cillessen | Valencia | 14 | 0.10 |
6 | Tomas Vaclik | Sevilla | 19 | 0.08 |
7 | Marc-Andre ter Stegen | Barcelona | 18 | 0.07 |
8 | Miguel Angel Moya | Real Sociedad | 7 | 0.06 |
9 | Aitor Fernandez | Levante | 19 | 0.06 |
10 | Jaume Domenech | Valencia | 5 | 0.04 |
11 | Manuel Reina | Mallorca | 18 | -0.00 |
12 | Juan Soriano | Leganes | 7 | -0.04 |
13 | Joel Robles | Real Betis | 18 | -0.05 |
14 | Alex Remiro | Real Sociedad | 12 | -0.06 |
15 | Jordi Masip | Valladolid | 19 | -0.06 |
16 | Ivan Cuellar | Leganes | 12 | -0.08 |
17 | Ruben | Osasuna | 13 | -0.08 |
18 | Fernando Pacheco | Alaves | 16 | -0.09 |
19 | Ruben Blanco | Celta Vigo | 17 | -0.10 |
20 | David Soria | Getafe | 19 | -0.10 |
21 | Rui Silva | Grenada | 19 | -0.22 |
22 | Marko Dmitrovic | Eibar | 19 | -0.34 |
23 | Diego Lopez | Espanyol | 19 | -0.35 |
Goalkeeper Keylor Navas of Paris Saint Germain
Ligue 1: Week 19
Ranking | Player | Team | Games | xG Prevented/90 Min |
---|---|---|---|---|
1 | Keylor Navas | Paris SG | 13 | 0.42 |
2 | Geronimo Rulli | Montpellier | 18 | 0.28 |
3 | Edouard Mendy | Rennes | 14 | 0.28 |
4 | Predrag Rajkovic | Reims | 18 | 0.24 |
5 | Benoit Costil | Bordeaux | 19 | 0.15 |
6 | Steve Mandanda | Marseille | 18 | 0.10 |
7 | Walter Benitez | Nice | 17 | 0.09 |
8 | Anthony Lopes | Lyon | 19 | 0.06 |
9 | Benjamin Lecomte | Monaco | 18 | 0.05 |
10 | Mike Maignan | Lille | 19 | 0.05 |
11 | Alban Lafont | Nantes | 19 | 0.05 |
12 | Alfred Gomis | Dijon | 14 | 0.01 |
13 | Gautier Larsonneur | Brest | 18 | 0.00 |
14 | Matz Sels | Strasbourg | 19 | -0.03 |
15 | Stephane Ruffier | St. Etienne | 16 | -0.14 |
16 | Regis Gurtner | Amiens | 18 | -0.16 |
17 | Alexandre Oukidja | Metz | 18 | -0.18 |
18 | Paul Bernardoni | Nimes | 15 | -0.18 |
19 | Ludovic Butelle | Angers | 19 | -0.31 |
20 | Baptiste Reynet | Toulouse | 19 | -0.32 |
21 | Runar Alex Runarsson | Dijon | 5 | -0.46 |