Para crear las clasificaciones de las ligas, tomamos todos los disparos a los que se han enfrentado todos los porteros hasta la fecha en su liga. Aprendemos un conjunto de incrustaciones que capturan las diferentes habilidades de un portero, que luego podemos intercambiar para simular su rendimiento.
Esto nos da el número total de goles que cada portero habría encajado (xG) si se hubiera enfrentado a todos los disparos. Para hacerlo más interpretable, primero normalizamos los xG de un total de temporada a por partido, y luego lo tomamos de la media de la liga.
Este valor final es el número de xG que un portero habría evitado o concedido en comparación con la media de la liga. Sin más preámbulos, aquí está la clasificación de porteros de Stats PerformPerform para el 10 de diciembre:

Paulo Gazzaniga, del Tottenham Hotspur
Premier League: Semana 15
| Clasificación | Nombre del jugador | Equipo | Juegos jugados | xG Evitado/90 Min |
|---|---|---|---|---|
| 1 | Paulo Gazzaniga | Tottenham | 9 | 0.35 |
| 2 | Ederson | Manchester City | 14 | 0.33 |
| 3 | David de Gea | Manchester United | 16 | 0.25 |
| 4 | Adrian | Liverpool | 9 | 0.25 |
| 5 | Bernd Leno | Arsenal | 16 | 0.23 |
| 6 | Vicente Guaita | Palacio de Cristal | 14 | 0.22 |
| 7 | Kasper Schmeichel | Leicester City | 16 | 0.22 |
| 8 | Alisson | Liverpool | 8 | 0.19 |
| 9 | Lukasz Fabianski | West Ham | 7 | 0.07 |
| 10 | Mathew Ryan | Brighton y Hove Albion | 16 | 0.06 |
| 11 | Martin Dubravka | Newcastle United | 16 | 0.05 |
| 12 | Roberto | West Ham | 6 | 0.05 |
| 13 | Aaron Ramsdale | Bournemouth | 16 | -0.04 |
| 14 | Hugo Lloris | Tottenham | 7 | -0.08 |
| 15 | Rui Patricio | Wolverhampton | 16 | -0.09 |
| 16 | Tom Heaton | Aston Villa | 15 | -0.09 |
| 17 | Dean Henderson | Sheffield United | 15 | -0.09 |
| 18 | Ben Foster | Watford | 16 | -0.15 |
| 19 | Jordan Pickford | Todo el mundo | 16 | -0.18 |
| 20 | Alex McCarthy | Southampton | 6 | -0.19 |
| 21 | Kepa | Chelsea | 16 | -0.21 |
| 22 | Tim Krul | Norwich City | 14 | -0.32 |
| 23 | Nick Pope | Burnley | 16 | -0.34 |
| 24 | Angus Gunn | Southampton | 10 | -0.52 |

Yann Sommer, portero del Moenchengladbach
Bundesliga: Semana 14
| Clasificación | Nombre del jugador | Equipo | Juegos jugados | xG Evitado/90 Min |
|---|---|---|---|---|
| 1 | Yann Sommer | Mönchengladbach | 14 | 0.38 |
| 2 | Koen Casteels | VfL Wolfsburgo | 6 | 0.37 |
| 3 | Mark Flekken | SC Friburgo | 6 | 0.32 |
| 4 | Kevin Trapp | Eintracht de Fráncfort | 6 | 0.31 |
| 5 | Peter Gulacsi | RB Leipzig | 13 | 0.26 |
| 6 | Alexander Nubel | Schlake 04 | 14 | 0.23 |
| 7 | Lukas Hradecky | Bayer Leverkusen | 14 | 0.23 |
| 8 | Rafal Gikiewicz | Unión Berlín | 14 | 0.12 |
| 9 | Frederik Ronnow | Eintracht de Fráncfort | 7 | 0.11 |
| 10 | Pavao Pervan | VfL Wolfsburgo | 8 | 0.10 |
| 11 | Manuel Neuer | Bayern de Múnich | 14 | 0.10 |
| 12 | Roman Burki | Borussia Dortmund | 11 | 0.03 |
| 13 | Jiri Pavlenka | Werder Bremen | 14 | 0.02 |
| 14 | Leopold Zingerle | SC Paderborn 07 | 8 | -0.01 |
| 15 | Rune Jarstein | Hertha BSC | 12 | -0.09 |
| 16 | Robin Zentner | Maguncia 05 | 11 | -0.14 |
| 17 | Oliver Baumann | 1899 Hoffenheim | 14 | -0.21 |
| 18 | Zack Steffen | Fortuna Düsseldorf | 14 | -0.28 |
| 19 | Alexander Schwolow | SC Friburgo | 8 | -0.29 |
| 20 | Timo Horn | FC Colonia | 14 | -0.31 |
| 21 | Tomas Koubek | FC Augsburgo | 14 | -0.51 |
| 22 | Jannik Huth | SC Paderborn 07 | 6 | -0.75 |

Sergio Asenjo, portero del Villareal
La Liga: Semana 15
| Clasificación | Nombre del jugador | Equipo | Juegos jugados | xG Evitado/90 Min |
|---|---|---|---|---|
| 1 | Sergio Asenjo | Villarreal | 13 | 0.31 |
| 2 | Jan Oblak | Atlético de Madrid | 16 | 0.26 |
| 3 | Unai Simon | Athletic de Bilbao | 15 | 0.23 |
| 4 | Thibaut Courtois | Real Madrid | 12 | 0.17 |
| 5 | Tomas Vaclik | Sevilla | 16 | 0.16 |
| 6 | Jasper Cillessen | Valencia | 14 | 0.12 |
| 7 | Joel Robles | Real Betis | 15 | 0.11 |
| 8 | Aitor Fernández | Levante | 16 | 0.08 |
| 9 | Miguel Ángel Moya | Real Sociedad | 7 | 0.08 |
| 10 | Jordi Masip | Valladolid | 16 | 0.04 |
| 11 | Fernando Pacheco | Alavés | 13 | -0.01 |
| 12 | Marc-Andre ter Stegen | Barcelona | 15 | -0.02 |
| 13 | Juan Soriano | CD Leganés | 7 | -0.02 |
| 14 | Rubén Blanco | Celta de Vigo | 14 | -0.04 |
| 15 | Manuel Reina | RCD Mallorca | 15 | -0.05 |
| 16 | Rubén | Osasuna | 13 | -0.05 |
| 17 | Alex Remiro | Real Sociedad | 9 | -0.07 |
| 18 | David Soria | Getafe CF | 16 | -0.15 |
| 19 | Rui Silva | Granada | 16 | -0.20 |
| 20 | Iván Cuéllar | CD Leganés | 9 | -0.24 |
| 21 | Diego López | Espanyol | 16 | -0.27 |
| 22 | Marko Dmitrovic | Eibar | 16 | -0.44 |

Keylor Navas, portero del PSG
Ligue 1: Semana 16
| Clasificación | Nombre del jugador | Equipo | Juegos jugados | xG Evitado/90 Min |
|---|---|---|---|---|
| 1 | Keylor Navas | PSG | 11 | 0.34 |
| 2 | Gerónimo Rulli | Montpellier | 16 | 0.33 |
| 3 | Edouard Mendy | Stade Rennais | 12 | 0.28 |
| 4 | Predrag Rajkovic | Estadio de Reims | 16 | 0.26 |
| 5 | Benoit Costil | Burdeos | 17 | 0.19 |
| 6 | Mike Maignan | Lille | 17 | 0.17 |
| 7 | Steve Mandanda | Marsella | 17 | 0.14 |
| 8 | Anthony Lopes | Olympique Lyonnais | 17 | 0.06 |
| 9 | Walter Benítez | OGC | 15 | 0.05 |
| 10 | Alfred Gomis | Dijon FCO | 12 | 0.04 |
| 11 | Alban Lafont | Nantes | 17 | 0.01 |
| 12 | Stéphane Ruffier | St-Etienne | 14 | 0.00 |
| 13 | Gautier Larsonneur | Brest | 16 | -0.02 |
| 14 | Benjamin Lecomte | Mónaco | 16 | -0.02 |
| 15 | Regis Gurtner | Amiens SC | 16 | -0.06 |
| 16 | Matz Sels | Estrasburgo | 17 | -0.09 |
| 17 | Alexandre Oukidja | Metz | 16 | -0.18 |
| 18 | Baptiste Reynet | Toulouse | 17 | -0.23 |
| 19 | Paul Bernardoni | Olímpico de Nimes | 13 | -0.29 |
| 20 | Ludovic Butelle | Angers | 17 | -0.30 |
| 21 | Runar Alex Runarsson | Dijon FCO | 5 | -0.69 |

Robin Olsen, del Cagliari Calcio
Serie A: Semana 15
| Clasificación | Nombre del jugador | Equipo | Juegos jugados | xG Evitado/90 Min |
|---|---|---|---|---|
| 1 | Robin Olsen | Cagliari | 12 | 0.52 |
| 2 | Wojciech Szczesny | Juventus | 10 | 0.25 |
| 3 | Gianluigi Buffon | Juventus | 5 | 0.20 |
| 4 | David Ospina | Nápoles | 5 | 0.17 |
| 5 | Pau López | AS Roma | 14 | 0.17 |
| 6 | Thomas Strakosha | SS Lazio | 15 | 0.12 |
| 7 | Luigi Sepe | Parma | 15 | 0.12 |
| 8 | Samir Handanovic | Inter de Milán | 15 | 0.05 |
| 9 | Marco Silvestri | Verona | 15 | 0.05 |
| 10 | Jesse Joronen | Brescia | 13 | 0.04 |
| 11 | Salvatore Sirigu | Torino FC | 15 | 0.02 |
| 12 | Ionut Radu | Génova | 15 | 0.01 |
| 13 | Etrit Berisha | SPAL | 15 | -0.01 |
| 14 | Gianluigi Donnarumma | AC Milan | 14 | -0.01 |
| 15 | Alex Meret | Nápoles | 10 | -0.07 |
| 16 | Bartlomiej Dragowski | ACF Fiorentina | 15 | -0.08 |
| 17 | Emil Audero | Sampdoria | 15 | -0.13 |
| 18 | Gabriel | Lecce | 15 | -0.16 |
| 19 | Juan Musso | Udinese | 15 | -0.21 |
| 20 | Andrea Consigli | Sassuolo | 12 | -0.26 |
| 21 | Lukasz Skorupski | Bolonia | 15 | -0.37 |
| 22 | Pierluigi Gollini | Atalanta | 14 | -0.44 |