Who is the best soccer player?

In this article we use data science to answer the question: Who is the best soccer player? We use the TrueSkill ranking algorithm developed by Microsoft Research and used in the Xbox matchmaking system. We use data from the UEFA Champions League competition.

It is relativelly easy to measure the performance of a stricker, for example, by counting the number of goals. Measuring the performance of other player positions, where the contribution is more subtle, such as a midfield, is not an easy task. Usually the strikers get most of the credit for a team win, as they are the responsible to finish the play with a goal. As a result, they are often the most expensive and adored players. The reality is that the goal is the result of the work of an entire team of skilled players, with very different roles. The objective of this article is to provide a methodology to evaluate and rank the skills of each individual player fairly and independently of their position.

The Elo rating system is a generally accepted method of measuring the relative skill levels of players in competitor-versus-competitor games with a clear outcome (win, draw or lose) such as chess or go. With some modifications it has been used to measure the skill level of teams as a whole such as National Football Teams or Club Football teams. In a previous article [Spanish], we use this system to rank the clubs in the Spanish Liga.

Elo was designed for two players. In order to measure the skill of each individual player in a team, a hack can be done to the original Elo rating system known as the “duelling heuristic”. Another option is to use TrueSkill, which has been designed for multiplayer games by Microsoft Research and used in the Xbox matchmaking system. In this article you will find a great explanation of how the algorithm works.

In this study we present the results of applying the TrueSkill algorithm for the UEFA Champions League competition. In the following table we show a list of the top 250 players by TrueSkill as of May 1st 2016.

RankNameTrueSkill μ
1Philipp Lahm35.07
2Javier Mascherano34.11
3Yannick Carrasco33.97
4Koke33.71
5Nacho Monreal33.66
6Patrice Evra33.43
7Isco32.90
8Christian Trasch32.76
9Daniel Carvajal32.75
10Karim Benzema32.33
11Angel Di Maria32.09
12Diego Godin31.97
13Aleksandar Dragovic31.95
14Juanfran31.92
15Filipe Luis31.75
16Max Kruse31.68
17Seydou Keita31.64
18Marcelo31.54
19Bacary Sagna31.54
20Per Mertesacker31.38
21Cristiano Ronaldo31.33
22Luis Suarez31.11
23Luiz Gustavo31.00
24Blaise Matuidi30.74
25Augusto Fernandez30.67
26Casemiro30.59
27Fernandinho30.51
28Fernando30.40
29Vieirinha30.37
30Sergio Busquets30.33
31Dani Alves30.32
32Manuel Neuer30.30
33Raphael Varane30.20
34Laurent Koscielny30.19
35Marc Andre Ter Stegen30.14
36Vitorino Antunes30.10
37Jesus Navas30.02
38Marco Verratti29.99
39Luka Modric29.81
40Robert Lewandowski29.70
41Thomas Muller29.42
42Zlatan Ibrahimovic29.39
43Gabi29.37
44Andre Almeida29.33
45Maxwell29.29
46Nelson Semedo29.23
47Sergio Ramos29.23
48Ricardo Rodriguez29.19
49Gerard Pique29.17
50Victor Lindelof29.12
51Raheem Sterling29.10
52Medhi Benatia29.08
53Andres Guardado29.02
54Joe Hart29.02
55Luuk De Jong28.98
56Neymar28.95
57Andre Schurrle28.94
58Gianluigi Buffon28.91
59Ezequiel Garay28.87
60Fernando Torres28.76
61Xabi Alonso28.74
62Nicolas Otamendi28.70
63Gael Clichy28.64
64Franck Ribery28.64
65Thibaut Courtois28.60
66Mathieu Flamini28.60
67Saul Niguez28.53
68Cesc Fabregas28.43
69Jeremy Mathieu28.33
70Julio Cesar28.31
71David Luiz28.29
72Ivan Rakitic28.26
73Jardel28.26
74Danny28.25
75Oleg Shatov28.25
76Kevin De Bruyne28.18
77Mesut Ozil28.14
78Petr Cech28.14
79Arjen Robben28.09
80Sergiy Rybalka27.96
81Stefan Savic27.90
82Antonio Rudiger27.87
83Andreas Samaris27.84
84Leonardo Bonucci27.77
85Gary Cahill27.76
86Diego Costa27.71
87Kevin Trapp27.66
88Olivier Giroud27.62
89Robin Knoche27.61
90Koen Casteels27.61
91Jonas27.54
92Maximilian Arnold27.46
93Andres Iniesta27.41
94Danilo Silva27.33
95Mohamed Salah27.30
96Javi Garcia27.26
97Renato Sanches27.25
98Dante27.24
99Douglas Costa27.23
100Jose Gimenez27.17
101Keylor Navas27.14
102Edin Dzeko27.13
103Cesar Azpilicueta27.08
104Lucas Hernandez27.06
105Konstantinos Mitroglou27.00
106Eliseu26.97
107Claudio Marchisio26.96
108Thomas Foket26.95
109Sami Khedira26.95
110Lionel Messi26.94
111Willian26.89
112Mehdi Carcela Gonzalez26.85
113Hector Bellerin26.80
114Pizzi26.79
115Hulk26.72
116Evgen Khacheridi26.67
117Thiago Silva26.66
118Gaston Pereiro26.63
119Kingsley Coman26.59
120Diego Benaglio26.53
121Raul Jimenez26.52
122John Obi Mikel26.49
123James Rodriguez26.44
124Naldo26.43
125Branislav Ivanovic26.42
126Ljubomir Fejsa26.41
127Luciano Vietto26.38
128Pablo Zabaleta26.34
129Stephan El Shaarawy26.31
130Yaya Toure26.16
131Josuha Guilavogui26.16
132Gregory Van Der Wiel26.14
133Antoine Griezmann26.12
134Santiago Arias26.11
135Sergio Aguero26.10
136Arturo Vidal26.09
137Stefan Mitrovic26.09
138Laurent Depoitre26.09
139Miguel Veloso25.98
140Konstantinos Manolas25.97
141Eden Hazard25.96
142Jan Oblak25.92
143Edinson Cavani25.89
144David Silva25.87
145Jeffrey Bruma25.86
146Marquinhos25.84
147Lucas25.78
148Bruno Henrique25.77
149Luciano Narsingh25.77
150Paulo Dybala25.73
151Rafinha25.69
152Abdul Rahman Baba25.63
153Juan Cuadrado25.56
154Toni Kroos25.51
155Jurgen Locadia25.50
156Jeroen Zoet25.47
157Davy Propper25.47
158Stephan Lichtsteiner25.42
159Mohamed Elneny25.41
160Andriy Yarmolenko25.40
161Lukasz Teodorczyk25.38
162Sven Kums25.38
163Renato Neto25.38
164Nana Asare25.38
165Matz Sels25.38
166Lasse Nielsen25.38
167Danijel Milicevic25.38
168Toto Salvio25.37
169Brecht Dejaegere25.34
170Jordi Alba25.23
171Derlis Gonzalez25.19
172Julian Draxler25.18
173Joshua Kimmich25.17
174Gareth Bale25.12
175Danilo25.01
176Paul Pogba24.84
177Oleksandr Shovkovsky24.81
178Axel Witsel24.78
179Vitali Buyalsky24.72
180Hernanes24.68
181Ederson24.66
182Sebastian Jung24.65
183Hector Moreno24.64
184Alex Iwobi24.64
185Nicolas Isimat Mirin24.63
186Mario Mandzukic24.60
187David Alaba24.58
188Pepe24.53
189Aleksandr Anyukov24.49
190Jetro Willems24.49
191Miralem Pjanic24.46
192Oliver Torres24.39
193Wojciech Szczesny24.31
194Alvaro Morata24.31
195Moses Simon24.30
196Andrea Barzagli24.27
197Alex Sandro24.25
198Juan Bernat24.23
199Kenedy24.22
200Alex Oxlade Chamberlain24.20
201Nicolas Lombaerts24.16
202Rami Gershon24.14
203Ervin Zukanovic24.10
204Eliaquim Mangala24.10
205Adrien Rabiot24.06
206Aleksandr Kokorin23.89
207Thiago23.76
208Lucas Vazquez23.74
209Artem Dzyuba23.64
210Javi Martinez23.62
211Aaron Ramsey23.62
212Alessandro Florenzi23.61
213Denys Garmash23.54
214Oleg Gusev23.19
215Domenico Criscito23.11
216Thiago Motta22.85
217Neto22.77
218Serge Aurier22.64
219William Vainqueur22.64
220Mauricio22.63
221Lucas Digne22.60
222Radja Nainggolan22.59
223Yuri Zhirkov22.48
224Thomas Matton22.33
225Diego Perotti22.27
226Marco Van Ginkel22.21
227Nico Gaitan22.16
228Francis Coquelin21.33
229Alexis Sanchez21.24
230Pedro21.23
231David Ospina21.12
232Vincent Kompany19.53
233Yuri Lodygin19.50
234Danny Welbeck19.45
235Domagoj Vida19.35
236Gabriel Paulista19.01

Table 1: Top 250 players by TrueSkill as of May 1st 2016.



In the following chart we show a plot with the TrueSkill of the top 25 players over time.

In the following table we show a list of the top 250 players by their highest TrueSkill reached in their career.

RankNameTrueSkill μDate
1Paulo Sousa38.022001-09-26
2Michael Carrick37.722011-04-26
3Emre Belozoglu37.352004-10-20
4Fabien Barthez36.912003-02-25
5Philipp Lahm36.452013-11-27
6Mark Van Bommel36.382012-02-15
7Jan Vennegoor Of Hesselink35.772005-09-13
8Victor Sanchez35.682004-04-06
9Ivan Helguera35.662001-02-13
10Dida35.582005-04-26
11Kevin Prince Boateng35.442013-10-01
12Jorge Costa35.312004-05-26
13Patrice Evra35.272011-04-26
14Samuel Etoo35.212010-04-20
15Florent Malouda35.192006-11-01
16Gonzalo Higuain35.152013-12-11
17Michael Essien35.022007-04-10
18Seydou Keita35.002011-04-27
19Pep Guardiola34.962000-05-10
20Javier Mascherano34.922016-04-05
21Jorg Heinrich34.902000-03-01
22Roberto Carlos34.842001-02-13
23Didier Deschamps34.791997-04-23
24Bixente Lizarazu34.702001-05-23
25Diego Milito34.672010-04-20
26Nacho Monreal34.592015-12-09
27Alvaro Arbeloa34.542014-12-09
28Andrew Cole34.522000-03-15
29Gennaro Gattuso34.422005-04-26
30Xavi34.402003-02-18
31Karim Benzema34.362015-02-18
32Isco34.352015-02-18
33Lucio34.332010-04-20
34Mario Basler34.281999-04-21
35Marc Planus34.222010-04-07
36Thierry Henry34.202010-03-17
37Christoph Metzelder34.152011-04-13
38Eidur Gudjohnsen34.122005-04-06
39Denis Irwin34.062000-03-21
40Clarence Seedorf34.022005-04-26
41Yannick Carrasco33.972016-04-13
42Oliver Kahn33.962001-05-23
43Paul Lambert33.852001-10-10
44Alessandro Del Piero33.771997-09-17
45Paolo Maldini33.761994-03-02
46Giorgio Chiellini33.732012-12-05
47Hasan Sas33.732002-03-13
48Juan Sebastian Veron33.712006-03-29
49Koke33.712016-04-27
50Rio Ferdinand33.692008-05-21
51Rodrigo Taddei33.692008-03-05
52Riccardo Montolivo33.572013-02-20
53Adriano33.542012-03-07
54Giovane Elber33.422001-05-23
55Bastian Schweinsteiger33.362013-11-05
56Anderson33.302009-05-05
57Marco Reus33.292014-11-04
58Ricardo Carvalho33.252014-10-01
59Robin Van Persie33.242012-10-23
60Manuel Neuer33.232013-11-27
61Phillip Cocu33.222005-11-01
62Daniel Carvajal33.172016-04-12
63Peter Crouch33.132011-02-15
64Angel Di Maria33.132016-03-09
65Steve Mcmanaman33.092001-03-06
66Fernando Hierro33.082002-09-25
67Gianluca Zambrotta33.082006-03-07
68Marc Andre Ter Stegen33.012015-05-06
69Deco33.002006-09-12
70Franck Ribery32.982013-11-05
71Dennis Bergkamp32.942005-11-02
72Luis Suarez32.932016-04-05
73Angelo Peruzzi32.891997-04-23
74Francesco Antonioli32.872002-02-26
75Mathieu Flamini32.822008-03-04
76Mahamadou Diarra32.772006-03-08
77Christian Trasch32.762016-03-08
78Demetrio Albertini32.741995-04-19
79Jorge Fucile32.732010-02-17
80Marcelo32.712015-02-18
81Paulo Ferreira32.672010-11-23
82Laurent Blanc32.672002-11-13
83Sergio Conceicao32.632003-09-16
84Rivaldo32.622004-11-23
85Alessandro Costacurta32.561994-03-02
86Raphael Varane32.532015-02-18
87Glen Johnson32.522009-09-16
88Ludovic Giuly32.502008-02-19
89Christian Panucci32.501995-04-19
90Joel Matip32.472013-02-20
91Edgar Davids32.472003-05-14
92Ashley Cole32.462012-05-19
93Carles Puyol32.462003-02-18
94Mauro Tassotti32.441993-04-07
95Danijel Pranjic32.422010-11-03
96Diego Godin32.402014-04-30
97Jocelyn Angloma32.392001-03-13
98Antonio Conte32.381999-03-03
99Luiz Adriano32.342011-03-08
100Fernando32.292010-03-17
101Marouane Chamakh32.272011-09-28
102Okan Buruk32.272006-12-05
103Miroslav Klose32.252009-03-10
104Toni Kroos32.252012-04-25
105Samuel Kuffour32.232001-05-23
106Ronald De Boer32.221996-03-20
107Lilian Thuram32.212005-12-07
108Eric Rabesandratana32.202001-03-13
109Bacary Sagna32.192009-02-24
110Juan Sanchez32.172001-03-13
111Aaron Hunt32.132008-12-09
112Laurent Koscielny32.122013-10-01
113Nemanja Vidic Lrm 32.112009-05-05
114Gianluigi Lentini32.091993-04-07
115Cristiano Ronaldo32.082015-02-18
116Juan Mata32.072012-10-02
117Victor Valdes32.072011-05-28
118Gilles Grimandi32.032001-02-13
119Dejan Stankovic32.032000-03-22
120Luiz Gustavo32.022016-04-06
121Miranda32.022015-04-14
122Max Tonetto32.012008-03-05
123Patrick Vieira31.992002-02-27
124Andrea Pirlo31.962005-04-26
125Willian31.962011-03-08
126Theo Lucius31.962005-09-13
127Aleksandar Dragovic31.952016-03-15
128Juanfran31.922016-04-27
129Basile Boli31.901993-05-26
130Ezequiel Lavezzi31.902014-04-02
131Martin Kree31.881997-12-10
132Titus Bramble31.882003-03-11
133Finidi George31.871995-10-18
134Manuel Almunia31.852010-03-31
135Quinton Fortune31.852003-12-09
136Vieirinha31.842016-04-06
137Fredrik Ljungberg31.822004-03-10
138Kily Gonzalez31.792001-03-07
139Cristian Chivu31.792009-09-16
140Ole Gunnar Solskjaer31.782003-09-16
141Gary Neville31.772000-03-21
142Alen Boksic31.751997-04-23
143Filipe Luis31.752016-04-27
144Abedi Pele31.751993-05-26
145Alessandro Nesta31.752000-09-20
146Paolo Negro31.742001-10-24
147Giannis Maniatis31.722014-09-16
148Jamie Carragher31.722008-04-08
149Per Mertesacker31.712015-12-09
150Atsuto Uchida31.712011-04-13
151Gregory Coupet31.702006-03-08
152Fabiano31.702015-04-15
153Max Kruse31.682016-03-08
154Mateja Kezman31.682008-04-02
155Gaizka Mendieta31.652003-03-19
156Fernando Morientes31.652001-03-06
157Mehmet Scholl31.632001-05-23
158Olivier Dacourt31.622001-02-21
159Lima31.612013-12-10
160Alex Song31.612012-10-23
161Amedeo Carboni31.602000-10-17
162Diego Tristan31.602003-02-25
163Lars Ricken31.591997-12-10
164Stefan Reuter31.581998-03-18
165Casemiro31.572016-03-08
166Steven Gerrard31.572008-04-08
167Gary Pallister31.561997-11-27
168Stefan Effenberg31.552001-05-23
169Marcelo Bordon31.532008-03-05
170Tomas Necid31.522010-03-16
171Frank Rijkaard31.521995-05-24
172Gerard Lopez31.522000-04-05
173Jeremy Menez31.512010-11-23
174Andrea Barzagli31.512013-03-06
175Ulf Kirsten31.512001-10-10
176Vitor Baia31.502004-05-26
177Andriy Gusin31.501999-03-17
178Arjen Robben31.492014-02-19
179Javier Pastore31.492014-11-25
180Roque Santa Cruz31.472006-10-18
181Dmitri Khlestov31.471998-09-30
182Salvatore Sirigu31.452014-11-25
183Jermaine Jenas31.442003-03-11
184Christian Schulz31.432006-10-18
185Antonio Nocerino31.422013-09-18
186Blaise Matuidi31.412014-11-25
187Victor Ikpeba31.391998-04-15
188Pablo Aimar31.392004-09-14
189Dani Alves31.382011-05-28
190Francesco Totti31.372008-12-09
191Sebastian Eguren31.352009-04-07
192Lomana Lualua31.342007-12-11
193Ivica Olic31.332010-04-27
194Txiki Begiristain31.331995-03-01
195Sami Hyypia31.322008-04-08
196Owen Hargreaves31.322004-11-23
197Jens Jeremies31.311999-04-21
198Peter Schmeichel31.302000-09-12
199Gianluca Pessotto31.301997-10-22
200Dejan Savicevic31.291996-09-25
201Doni31.292008-12-09
202Torsten Frings31.282010-09-14
203Tomislav Kocijan31.282000-10-25
204Jurgen Kohler31.261997-10-01
205Sergio Porrini31.261999-10-20
206Oleksiy Gai31.252010-12-08
207Nicky Butt31.242003-02-25
208Alin Stoica31.242000-11-22
209Manuel Pablo31.242003-10-21
210Wayne Bridge31.232004-10-20
211Pierre Wome31.222006-11-22
212Markus Babbel31.222000-05-09
213Neven Subotic31.212013-04-24
214Jean Pierre Papin31.211993-12-01
215Andoni Zubizarreta31.201994-04-27
216Albert Ferrer31.201994-04-27
217Francesco Coco31.202003-05-07
218Lukas Hartig31.192001-12-04
219Emmanuel Eboue31.192013-10-23
220William Gallas31.192004-11-02
221Mickael Ciani31.182010-03-17
222Cedric Carrasso31.182010-03-17
223Benoit Tremoulinas31.182010-03-17
224Sergio Busquets31.182016-04-05
225Marco Verratti31.162014-04-02
226Moreno Torricelli31.141997-12-10
227Santi Cazorla31.132015-03-17
228Rudi Voller31.131993-05-26
229Stephane Chapuisat31.101997-10-01
230Zinedine Zidane31.081997-04-23
231Derlei31.072008-12-09
232Wesley Sneijder31.072010-04-20
233Marcel Desailly31.071994-03-02
234Lasse Schone31.062013-11-26
235Michael Laudrup31.061996-03-05
236Ji Sung Park31.052008-04-29
237Ezequiel Garay31.052015-11-24
238Uli Borowka31.051994-04-13
239Tino Costa31.042012-12-05
240Alcides31.032006-03-08
241Helton31.022010-02-17
242Dominic Matteo30.972001-02-21
243Carsten Ramelow30.972001-10-10
244Alan Smith30.972001-02-21
245Raul Meireles30.962012-04-18
246Ivan Rakitic30.952015-05-06
247Milan Baros30.952005-05-25
248Walter Baseggio30.942000-11-22
249Tomasz Radzinski30.942000-11-22
250Jan Koller30.942000-11-22

Table 2: Top 250 players by highest TrueSkill.

Coming up

We are currently working on extending our work by adding other soccer international competitions such as the FIFA World Cup, the UEFA European Championship and other continental international competitions.