0. Packages

I used the kableExtra package to create tables and the hexbin package to perform hexagonal binning (explained in section 4.2.2. Correlations). If needed, you can install them using the commands below.

install.packages("kableExtra")
install.packages("hexbin")


1. Introduction

FIFA21 is a football simulation video game. Here, I analyze Lucas Weyrich’s dataset of FIFA21 player statistics to determine the total wage expenses per club (team) and other interesting insights.


2. Data

2.1. Source

I saved the CSV file from Lucas’ discussion post on Blackboard and then uploaded it to my GitHub repository.

2.2. Input

I read the CSV file into a dataframe (tibble). Due to the size of the dataframe, only the first 100 rows are shown.

fifa21_data_raw <- read_csv('https://media.githubusercontent.com/media/alexandersimon1/Data607/main/Project2/Dataset2/fifa21_raw_data.csv', show_col_types = FALSE)
kbl_display(head(fifa21_data_raw, 100), "100%", "500px")
photoUrl LongName playerUrl Nationality Positions Name Age ↓OVA POT Team & Contract ID Height Weight foot BOV BP Growth Joined Loan Date End Value Wage Release Clause Attacking Crossing Finishing Heading Accuracy Short Passing Volleys Skill Dribbling Curve FK Accuracy Long Passing Ball Control Movement Acceleration Sprint Speed Agility Reactions Balance Power Shot Power Jumping Stamina Strength Long Shots Mentality Aggression Interceptions Positioning Vision Penalties Composure Defending Marking Standing Tackle Sliding Tackle Goalkeeping GK Diving GK Handling GK Kicking GK Positioning GK Reflexes Total Stats Base Stats W/F SM A/W D/W IR PAC SHO PAS DRI DEF PHY Hits
https://cdn.sofifa.com/players/158/023/21_60.png Lionel Messi http://sofifa.com/player/158023/lionel-messi/210005/ Argentina RW ST CF L. Messi 33 93 93 FC Barcelona 2004 ~ 2021 158023 5’7” 159lbs Left 93 RW 0 Jul 1, 2004 N/A €67.5M €560K €138.4M 429 85 95 70 91 88 470 96 93 94 91 96 451 91 80 91 94 95 389 86 68 72 69 94 347 44 40 93 95 75 96 91 32 35 24 54 6 11 15 14 8 2231 466 4 ★ 4★ Medium Low 5 ★ 85 92 91 95 38 65 372
https://cdn.sofifa.com/players/020/801/21_60.png C. Ronaldo dos Santos Aveiro http://sofifa.com/player/20801/c-ronaldo-dos-santos-aveiro/210005/ Portugal ST LW Cristiano Ronaldo 35 92 92 Juventus 2018 ~ 2022 20801 6’2” 183lbs Right 92 ST 0 Jul 10, 2018 N/A €46M €220K €75.9M 437 84 95 90 82 86 414 88 81 76 77 92 431 87 91 87 95 71 444 94 95 84 78 93 353 63 29 95 82 84 95 84 28 32 24 58 7 11 15 14 11 2221 464 4 ★ 5★ High Low 5 ★ 89 93 81 89 35 77 344
https://cdn.sofifa.com/players/200/389/21_60.png Jan Oblak http://sofifa.com/player/200389/jan-oblak/210005/ Slovenia GK J. Oblak 27 91 93 Atlético Madrid 2014 ~ 2023 200389 6’2” 192lbs Right 91 GK 2 Jul 16, 2014 N/A €75M €125K €159.4M 95 13 11 15 43 13 109 12 13 14 40 30 307 43 60 67 88 49 268 59 78 41 78 12 140 34 19 11 65 11 68 57 27 12 18 437 87 92 78 90 90 1413 489 3 ★ 1★ Medium Medium 3 ★ 87 92 78 90 52 90 86
https://cdn.sofifa.com/players/192/985/21_60.png Kevin De Bruyne http://sofifa.com/player/192985/kevin-de-bruyne/210005/ Belgium CAM CM K. De Bruyne 29 91 91 Manchester City 2015 ~ 2023 192985 5’11” 154lbs Right 91 CAM 0 Aug 30, 2015 N/A €87M €370K €161M 407 94 82 55 94 82 441 88 85 83 93 92 398 77 76 78 91 76 408 91 63 89 74 91 408 76 66 88 94 84 91 186 68 65 53 56 15 13 5 10 13 2304 485 5 ★ 4★ High High 4 ★ 76 86 93 88 64 78 163
https://cdn.sofifa.com/players/190/871/21_60.png Neymar da Silva Santos Jr.  http://sofifa.com/player/190871/neymar-da-silva-santos-jr/210005/ Brazil LW CAM Neymar Jr 28 91 91 Paris Saint-Germain 2017 ~ 2022 190871 5’9” 150lbs Right 91 LW 0 Aug 3, 2017 N/A €90M €270K €166.5M 408 85 87 62 87 87 448 95 88 89 81 95 453 94 89 96 91 83 357 80 62 81 50 84 356 51 36 87 90 92 93 94 35 30 29 59 9 9 15 15 11 2175 451 5 ★ 5★ High Medium 5 ★ 91 85 86 94 36 59 273
https://cdn.sofifa.com/players/188/545/21_60.png Robert Lewandowski http://sofifa.com/player/188545/robert-lewandowski/210005/ Poland ST R. Lewandowski 31 91 91 FC Bayern München 2014 ~ 2023 188545 6’0” 176lbs Right 91 ST 0 Jul 1, 2014 N/A €80M €240K €132M 423 71 94 85 84 89 407 85 79 85 70 88 407 77 78 77 93 82 420 89 84 76 86 85 391 81 49 94 79 88 88 96 35 42 19 51 15 6 12 8 10 2195 457 4 ★ 4★ High Medium 4 ★ 78 91 78 85 43 82 182
https://cdn.sofifa.com/players/231/747/21_60.png Kylian Mbappé http://sofifa.com/player/231747/kylian-mbappe/210005/ France ST LW RW K. Mbappé 21 90 95 Paris Saint-Germain 2018 ~ 2022 231747 5’10” 161lbs Right 91 ST 5 Jul 1, 2018 N/A €105.5M €160K €203.1M 408 78 91 73 83 83 394 92 79 63 70 90 458 96 96 92 92 82 404 86 77 86 76 79 341 62 38 91 80 70 84 100 34 34 32 42 13 5 7 11 6 2147 466 4 ★ 5★ High Low 3 ★ 96 86 78 91 39 76 646
https://cdn.sofifa.com/players/212/831/21_60.png Alisson Ramses Becker http://sofifa.com/player/212831/alisson-ramses-becker/210005/ Brazil GK Alisson 27 90 91 Liverpool 2018 ~ 2024 212831 6’3” 201lbs Right 90 GK 1 Jul 19, 2018 N/A €62.5M €160K €120.3M 114 17 13 19 45 20 138 27 19 18 44 30 268 56 47 40 88 37 240 64 52 32 78 14 140 27 11 13 66 23 65 50 15 19 16 439 86 88 85 91 89 1389 490 3 ★ 1★ Medium Medium 3 ★ 86 88 85 89 51 91 79
https://cdn.sofifa.com/players/209/331/21_60.png Mohamed Salah http://sofifa.com/player/209331/mohamed-salah/210005/ Egypt RW M. Salah 28 90 90 Liverpool 2017 ~ 2023 209331 5’9” 157lbs Left 90 RW 0 Jul 1, 2017 N/A €78M €250K €144.3M 392 79 91 59 84 79 406 90 83 69 75 89 460 94 92 91 92 91 393 80 69 85 75 84 376 63 55 91 84 83 90 122 38 43 41 62 14 14 9 11 14 2211 470 3 ★ 4★ High Medium 3 ★ 93 86 81 90 45 75 164
https://cdn.sofifa.com/players/208/722/21_60.png Sadio Mané http://sofifa.com/player/208722/sadio-mane/210005/ Senegal LW S. Mané 28 90 90 Liverpool 2016 ~ 2023 208722 5’9” 152lbs Right 90 LW 0 Jul 1, 2016 N/A €78M €250K €144.3M 410 76 90 84 85 75 391 91 76 64 71 89 460 95 93 93 93 86 406 84 86 88 70 78 358 75 35 92 85 71 84 122 42 42 38 56 10 10 15 7 14 2203 469 4 ★ 4★ High Medium 3 ★ 94 85 80 90 44 76 170
https://cdn.sofifa.com/players/203/376/21_60.png Virgil van Dijk http://sofifa.com/player/203376/virgil-van-dijk/210005/ Netherlands CB V. van Dijk 28 90 91 Liverpool 2018 ~ 2023 203376 6’4” 203lbs Right 90 CB 1 Jan 1, 2018 N/A €75.5M €210K €145.3M 316 53 52 87 79 45 363 70 60 70 86 77 354 72 79 61 89 53 402 81 90 75 92 64 347 83 90 47 65 62 90 272 93 93 86 58 13 10 13 11 11 2112 455 3 ★ 2★ Medium Medium 3 ★ 76 60 71 71 91 86 170
https://cdn.sofifa.com/players/192/448/21_60.png Marc-André ter Stegen http://sofifa.com/player/192448/marc-andre-ter-stegen/210005/ Germany GK M. ter Stegen 28 90 93 FC Barcelona 2014 ~ 2022 192448 6’2” 187lbs Right 90 GK 3 Jul 1, 2014 N/A €69.5M €260K €147.7M 118 18 14 11 61 14 144 21 18 12 63 30 254 38 50 37 86 43 268 66 79 35 78 10 171 43 22 11 70 25 70 48 25 13 10 439 88 85 88 88 90 1442 484 4 ★ 1★ Medium Medium 3 ★ 88 85 88 90 45 88 93
https://cdn.sofifa.com/players/200/145/21_60.png Carlos Henrique Venancio Casimiro http://sofifa.com/player/200145/carlos-henrique-venancio-casimiro/210005/ Brazil CDM Casemiro 28 89 89 Real Madrid 2013 ~ 2023 200145 6’1” 185lbs Right 89 CDM 0 Jul 11, 2013 N/A €59.5M €310K €122M 349 58 64 80 84 63 369 69 63 74 84 79 343 60 69 61 87 66 437 88 87 90 91 81 396 91 87 72 80 66 84 259 84 88 87 67 13 14 16 12 12 2220 463 3 ★ 2★ High High 3 ★ 65 73 76 72 86 91 131
https://cdn.sofifa.com/players/192/119/21_60.png Thibaut Courtois http://sofifa.com/player/192119/thibaut-courtois/210005/ Belgium GK T. Courtois 28 89 90 Real Madrid 2018 ~ 2024 192119 6’6” 212lbs Left 89 GK 1 Aug 9, 2018 N/A €56M €250K €119M 86 14 14 13 33 12 110 13 19 20 35 23 284 42 52 61 84 45 249 56 68 38 70 17 122 23 15 13 44 27 66 54 20 18 16 420 84 89 74 85 88 1325 468 3 ★ 1★ Medium Medium 4 ★ 84 89 74 88 48 85 89
https://cdn.sofifa.com/players/167/495/21_60.png Manuel Neuer http://sofifa.com/player/167495/manuel-neuer/210005/ Germany GK M. Neuer 34 89 89 FC Bayern München 2011 ~ 2023 167495 6’4” 203lbs Right 89 GK 0 Jul 1, 2011 N/A €29M €125K €47.9M 119 15 13 25 55 11 160 30 14 11 59 46 286 54 60 51 86 35 284 68 77 43 80 16 188 29 30 12 70 47 70 38 17 10 11 440 87 87 91 86 89 1515 497 4 ★ 1★ Medium Medium 5 ★ 87 87 91 89 57 86 90
https://cdn.sofifa.com/players/165/153/21_60.png Karim Benzema http://sofifa.com/player/165153/karim-benzema/210005/ France CF ST K. Benzema 32 89 89 Real Madrid 2009 ~ 2022 165153 6’1” 179lbs Right 89 CF 0 Jul 9, 2009 N/A €53M €350K €108.7M 426 75 88 91 86 86 404 87 81 73 73 90 388 77 72 79 91 69 400 84 79 78 80 79 363 63 39 90 87 84 90 89 47 24 18 41 13 11 5 5 7 2111 442 4 ★ 4★ Medium Low 4 ★ 74 85 81 86 40 76 169
https://cdn.sofifa.com/players/155/862/21_60.png Sergio Ramos García http://sofifa.com/player/155862/sergio-ramos-garcia/210005/ Spain CB Sergio Ramos 34 89 89 Real Madrid 2005 ~ 2021 155862 6’0” 181lbs Right 89 CB 0 Aug 1, 2005 N/A €24.5M €300K €50.2M 374 66 65 92 82 69 381 65 74 76 83 83 378 72 70 78 92 66 402 79 93 81 85 64 414 90 88 73 71 92 88 263 85 88 90 46 11 8 9 7 11 2258 463 3 ★ 3★ High Medium 4 ★ 71 70 76 73 88 85 187
https://cdn.sofifa.com/players/153/079/21_60.png Sergio Agüero http://sofifa.com/player/153079/sergio-aguero/210005/ Argentina ST S. Agüero 32 89 89 Manchester City 2011 ~ 2021 153079 5’8” 154lbs Right 89 ST 0 Jul 28, 2011 N/A €53M €300K €98.1M 411 70 94 78 83 86 397 88 83 73 64 89 424 79 78 84 92 91 403 89 78 78 74 84 341 65 24 94 83 75 91 83 30 29 24 59 13 15 6 11 14 2118 439 4 ★ 4★ High Medium 4 ★ 78 90 77 88 33 73 103
https://cdn.sofifa.com/players/215/914/21_60.png N’Golo Kanté http://sofifa.com/player/215914/ngolo-kante/210005/ France CDM CM N. Kanté 29 88 88 Chelsea 2016 ~ 2023 215914 5’6” 154lbs Right 88 CDM 0 Jul 16, 2016 N/A €51M €190K €96.9M 328 68 65 54 85 56 336 79 49 49 79 80 420 79 76 82 91 92 381 71 77 96 72 65 386 90 91 72 79 54 85 264 89 90 85 54 15 12 10 7 10 2169 468 3 ★ 2★ Medium High 3 ★ 77 66 76 81 86 82 169
https://cdn.sofifa.com/players/212/622/21_60.png Joshua Kimmich http://sofifa.com/player/212622/joshua-kimmich/210005/ Germany CDM RB J. Kimmich 25 88 90 FC Bayern München 2015 ~ 2023 212622 5’9” 161lbs Right 88 CDM 2 Jul 1, 2015 N/A €65M €145K €112.1M 383 91 66 72 87 67 400 83 85 61 86 85 399 77 66 84 88 84 403 78 79 95 67 84 379 89 82 80 84 44 85 245 82 84 79 60 8 15 7 15 15 2269 473 4 ★ 3★ High Medium 3 ★ 71 72 86 84 81 79 317
https://cdn.sofifa.com/players/211/110/21_60.png Paulo Dybala http://sofifa.com/player/211110/paulo-dybala/210005/ Argentina CF CAM P. Dybala 26 88 89 Juventus 2015 ~ 2022 211110 5’10” 165lbs Left 89 CAM 1 Jul 1, 2015 N/A €71M €190K €122.5M 405 82 84 64 87 88 436 91 88 88 75 94 437 89 82 92 84 90 382 82 75 78 60 87 348 48 42 85 87 86 84 120 32 48 40 26 5 4 4 5 8 2154 452 3 ★ 4★ Medium Medium 3 ★ 85 85 84 92 43 63 239
https://cdn.sofifa.com/players/210/257/21_60.png Ederson Santana de Moraes http://sofifa.com/player/210257/ederson-santana-de-moraes/210005/ Brazil GK Ederson 26 88 91 Manchester City 2017 ~ 2024 210257 6’2” 190lbs Left 88 GK 3 Jul 1, 2017 N/A €53.5M €195K €103M 123 20 14 14 57 18 157 23 15 20 59 40 322 64 63 60 87 48 273 70 66 41 78 18 172 38 27 20 70 17 70 52 29 15 8 435 86 82 93 86 88 1534 498 3 ★ 1★ Medium Medium 2 ★ 86 82 93 88 63 86 56
https://cdn.sofifa.com/players/202/652/21_60.png Raheem Sterling http://sofifa.com/player/202652/raheem-sterling/210005/ England LW RW R. Sterling 25 88 90 Manchester City 2015 ~ 2023 202652 5’7” 152lbs Right 88 LW 2 Jul 14, 2015 N/A €72.5M €270K €139.6M 360 78 85 46 84 67 387 90 77 63 69 88 464 96 90 94 90 94 358 78 57 79 65 79 332 59 30 92 82 69 80 147 47 53 47 63 15 12 12 15 9 2111 455 3 ★ 4★ High Medium 3 ★ 93 81 79 90 45 67 130
https://cdn.sofifa.com/players/202/126/21_60.png Harry Kane http://sofifa.com/player/202126/harry-kane/210005/ England ST H. Kane 26 88 89 Tottenham Hotspur 2010 ~ 2024 202126 6’2” 196lbs Right 88 ST 1 Jul 1, 2010 N/A €71M €220K €140.2M 420 75 94 85 81 85 395 80 80 68 83 84 367 66 69 69 90 73 424 91 79 84 84 86 382 81 35 93 83 90 91 130 56 36 38 54 8 10 11 14 11 2172 449 4 ★ 3★ High High 3 ★ 68 91 80 80 47 83 229
https://cdn.sofifa.com/players/201/024/21_60.png Kalidou Koulibaly http://sofifa.com/player/201024/kalidou-koulibaly/210005/ Senegal CB K. Koulibaly 29 88 88 Napoli 2014 ~ 2023 201024 6’2” 196lbs Right 88 CB 0 Jul 1, 2014 N/A €50M €140K €85M 224 30 22 84 74 14 262 69 28 28 63 74 328 73 77 52 85 41 316 55 82 70 94 15 294 87 87 35 52 33 82 267 91 89 87 43 7 11 7 13 5 1734 401 3 ★ 2★ Medium High 3 ★ 75 28 55 68 89 86 124
https://cdn.sofifa.com/players/183/277/21_60.png Eden Hazard http://sofifa.com/player/183277/eden-hazard/210005/ Belgium LW ST E. Hazard 29 88 88 Real Madrid 2019 ~ 2024 183277 5’9” 163lbs Right 88 LW 0 Jul 1, 2019 N/A €58M €350K €118.9M 388 77 82 61 85 83 427 93 83 79 81 91 448 91 86 92 86 93 361 82 56 82 63 78 353 54 41 85 86 87 90 83 34 27 22 45 11 12 6 8 8 2105 446 4 ★ 4★ High Medium 4 ★ 88 82 83 92 35 66 172
https://cdn.sofifa.com/players/182/521/21_60.png Toni Kroos http://sofifa.com/player/182521/toni-kroos/210005/ Germany CM T. Kroos 30 88 88 Real Madrid 2014 ~ 2023 182521 6’0” 168lbs Right 88 CM 0 Jul 17, 2014 N/A €55M €310K €112.8M 397 88 76 58 93 82 432 80 86 84 93 89 332 57 52 63 89 71 355 89 32 75 73 86 378 60 79 76 90 73 88 205 72 73 60 51 10 11 13 7 10 2150 447 5 ★ 3★ Medium Medium 4 ★ 54 81 91 81 71 69 114
https://cdn.sofifa.com/players/162/835/21_60.png Samir Handanovič http://sofifa.com/player/162835/samir-handanovic/210005/ Slovenia GK S. Handanovič 35 88 88 Inter 2012 ~ 2021 162835 6’4” 203lbs Right 88 GK 0 Jul 1, 2012 N/A €16M €100K €27.2M 86 12 10 10 42 12 100 18 12 14 40 16 272 51 55 47 83 36 264 55 78 41 71 19 123 25 22 12 41 23 69 48 25 10 13 424 88 85 73 89 89 1317 477 3 ★ 1★ Medium Medium 3 ★ 88 85 73 89 53 89 46
https://cdn.sofifa.com/players/233/049/21_60.png Jadon Sancho http://sofifa.com/player/233049/jadon-sancho/210005/ England RM LM CAM J. Sancho 20 87 93 Borussia Dortmund 2017 ~ 2023 233049 5’11” 168lbs Right 89 CAM 6 Aug 31, 2017 N/A €69.5M €82K €132.1M 373 83 81 38 88 83 380 92 81 48 68 91 435 86 81 91 87 90 328 70 51 77 67 63 313 44 39 83 87 60 84 105 32 41 32 52 7 11 10 11 13 1986 430 3 ★ 5★ High Medium 3 ★ 83 74 81 91 37 64 663
https://cdn.sofifa.com/players/231/281/21_60.png Trent Alexander-Arnold http://sofifa.com/player/231281/trent-alexander-arnold/210005/ England RB T. Alexander-Arnold 21 87 92 Liverpool 2015 ~ 2024 231281 5’11” 152lbs Right 87 RB 5 Oct 7, 2015 N/A €60M €110K €115.5M 365 93 56 69 85 62 426 77 88 85 89 87 391 77 83 74 83 74 370 80 66 88 62 74 371 74 82 76 84 55 81 241 79 83 79 56 14 15 14 6 7 2220 464 4 ★ 3★ High Medium 2 ★ 80 66 87 80 80 71 479
https://cdn.sofifa.com/players/218/667/21_60.png Bernardo Mota Carvalho e Silva http://sofifa.com/player/218667/bernardo-mota-carvalho-e-silva/210005/ Portugal RW CAM CM Bernardo Silva 25 87 88 Manchester City 2017 ~ 2025 218667 5’8” 141lbs Left 87 RW 1 Jul 1, 2017 N/A €60M €230K €115.5M 371 85 79 51 86 70 411 92 84 67 76 92 434 85 78 94 85 92 350 76 51 93 54 76 356 69 49 85 85 68 87 148 49 59 40 54 9 10 14 12 9 2124 451 3 ★ 4★ High High 2 ★ 81 77 83 92 51 67 203
https://cdn.sofifa.com/players/216/267/21_60.png Andrew Robertson http://sofifa.com/player/216267/andrew-robertson/210005/ Scotland LB A. Robertson 26 87 89 Liverpool 2017 ~ 2024 216267 5’10” 141lbs Left 87 LB 2 Jul 21, 2017 N/A €53M €155K €102M 328 90 57 67 82 32 358 80 82 38 76 82 400 79 85 78 84 74 365 78 62 95 65 65 378 85 82 77 79 55 83 248 83 84 81 50 11 8 10 7 14 2127 461 2 ★ 3★ High High 3 ★ 82 62 80 80 81 76 198
https://cdn.sofifa.com/players/212/218/21_60.png Aymeric Laporte http://sofifa.com/player/212218/aymeric-laporte/210005/ France CB A. Laporte 26 87 90 Manchester City 2018 ~ 2024 212218 6’2” 187lbs Left 88 CB 3 Jan 30, 2018 N/A €56M €200K €107.8M 311 58 45 86 82 40 351 63 61 69 80 78 331 60 65 59 87 60 348 68 76 72 85 47 331 81 87 54 65 44 85 266 89 89 88 45 10 11 5 14 5 1983 422 3 ★ 2★ Medium Medium 2 ★ 63 50 72 68 88 81 122
https://cdn.sofifa.com/players/212/198/21_60.png Bruno Miguel Borges Fernandes http://sofifa.com/player/212198/bruno-miguel-borges-fernandes/210005/ Portugal CAM CM Bruno Fernandes 25 87 90 Manchester United 2020 ~ 2025 212198 5’10” 152lbs Right 88 CAM 3 Jan 30, 2020 N/A €63M €195K €124.4M 396 87 77 58 88 86 433 85 86 87 87 88 398 78 76 79 86 79 411 89 72 94 67 89 408 70 74 83 90 91 86 194 72 67 55 63 12 14 15 8 14 2303 476 4 ★ 4★ High High 2 ★ 77 83 88 85 68 75 565
https://cdn.sofifa.com/players/209/499/21_60.png Fábio Henrique Tavares http://sofifa.com/player/209499/fabio-henrique-tavares/210005/ Brazil CDM Fabinho 26 87 89 Liverpool 2018 ~ 2023 209499 6’2” 172lbs Right 87 CDM 2 Jul 1, 2018 N/A €54.5M €155K €104.9M 345 75 63 75 85 47 365 76 71 53 83 82 349 66 68 66 84 65 395 81 75 88 81 70 412 86 87 70 79 90 84 258 86 87 85 47 13 12 6 8 8 2171 460 2 ★ 3★ Medium High 3 ★ 67 69 79 77 85 83 152
https://cdn.sofifa.com/players/201/942/21_60.png Roberto Firmino Barbosa de Oliveira http://sofifa.com/player/201942/roberto-firmino-barbosa-de-oliveira/210005/ Brazil CF Roberto Firmino 28 87 87 Liverpool 2015 ~ 2023 201942 5’11” 168lbs Right 87 CF 0 Jul 6, 2015 N/A €52M €190K €96.2M 400 73 80 75 87 85 403 90 81 65 76 91 416 78 77 85 90 86 402 82 81 88 74 77 377 75 58 86 86 72 88 166 60 64 42 44 8 11 9 6 10 2208 467 4 ★ 5★ High High 3 ★ 77 80 81 90 61 78 140
https://cdn.sofifa.com/players/200/104/21_60.png Heung Min Son http://sofifa.com/player/200104/heung-min-son/210005/ Korea Republic LM CF H. Son 27 87 87 Tottenham Hotspur 2015 ~ 2023 200104 6’0” 172lbs Right 87 LM 0 Aug 28, 2015 N/A €52.5M €165K €99.8M 399 81 86 68 83 81 400 88 85 70 70 87 429 86 90 86 89 78 385 88 56 87 64 90 345 62 39 88 83 73 88 117 50 34 33 53 11 13 13 6 10 2128 453 5 ★ 4★ High High 3 ★ 88 86 80 87 43 69 276
https://cdn.sofifa.com/players/194/765/21_60.png Antoine Griezmann http://sofifa.com/player/194765/antoine-griezmann/210005/ France ST CF LW A. Griezmann 29 87 87 FC Barcelona 2019 ~ 2024 194765 5’9” 161lbs Left 87 ST 0 Jul 12, 2019 N/A €50.5M €290K €103.5M 425 83 88 83 84 87 429 87 86 85 82 89 425 80 79 91 92 83 402 81 90 86 63 82 382 73 49 89 85 86 89 162 59 54 49 63 14 8 14 13 14 2288 465 3 ★ 4★ Medium Medium 4 ★ 79 85 84 88 57 72 209
https://cdn.sofifa.com/players/193/041/21_60.png Keylor Navas http://sofifa.com/player/193041/keylor-navas/210005/ Costa Rica GK K. Navas 33 87 87 Paris Saint-Germain 2019 ~ 2023 193041 6’1” 176lbs Right 87 GK 0 Sep 2, 2019 N/A €27M €110K €50M 78 11 15 11 30 11 98 16 11 15 37 19 312 54 53 60 84 61 257 56 74 39 75 13 161 32 20 16 68 25 67 56 28 14 14 418 90 81 75 82 90 1380 471 3 ★ 1★ Medium Medium 3 ★ 90 81 75 90 53 82 25
https://cdn.sofifa.com/players/192/387/21_60.png Ciro Immobile http://sofifa.com/player/192387/ciro-immobile/210005/ Italy ST C. Immobile 30 87 87 Lazio 2016 ~ 2025 192387 6’1” 187lbs Right 87 ST 0 Jul 27, 2016 N/A €48.5M €125K €82.5M 394 55 93 81 80 85 341 83 70 51 53 84 409 82 85 75 90 77 398 86 77 78 77 80 369 77 40 93 71 88 86 99 34 33 32 47 6 8 15 12 6 2057 438 4 ★ 3★ High Medium 3 ★ 84 88 67 83 39 77 136
https://cdn.sofifa.com/players/189/511/21_60.png Sergio Busquets Burgos http://sofifa.com/player/189511/sergio-busquets-burgos/210005/ Spain CDM CM Sergio Busquets 31 87 87 FC Barcelona 2008 ~ 2023 189511 6’2” 168lbs Right 87 CDM 0 Sep 1, 2008 N/A €38M €240K €77.9M 330 62 67 68 89 44 386 81 66 68 83 88 284 40 43 67 84 50 337 61 66 81 75 54 387 81 85 77 84 60 93 249 86 83 80 48 5 8 13 9 13 2021 424 3 ★ 3★ Medium Medium 4 ★ 42 62 80 80 83 77 109
https://cdn.sofifa.com/players/188/567/21_60.png Pierre-Emerick Aubameyang http://sofifa.com/player/188567/pierre-emerick-aubameyang/210005/ Gabon ST LW P. Aubameyang 31 87 87 Arsenal 2018 ~ 2023 188567 6’2” 176lbs Right 87 ST 0 Jan 31, 2018 N/A €45M €170K €85.5M 403 76 91 75 77 84 383 80 81 76 64 82 418 91 94 77 88 68 389 82 75 80 74 78 339 43 48 93 77 78 88 92 27 29 36 48 6 9 15 9 9 2072 441 4 ★ 4★ High High 3 ★ 93 86 75 80 38 69 139
https://cdn.sofifa.com/players/186/153/21_60.png Wojciech Szczęsny http://sofifa.com/player/186153/wojciech-szczesny/210005/ Poland GK W. Szczęsny 30 87 87 Juventus 2017 ~ 2024 186153 6’5” 198lbs Right 87 GK 0 Jul 19, 2017 N/A €34M €105K €56.1M 86 12 12 16 32 14 99 11 16 14 36 22 286 51 47 55 82 51 250 55 71 45 65 14 135 40 15 14 48 18 65 45 20 13 12 416 86 82 73 87 88 1317 465 3 ★ 1★ Medium Medium 3 ★ 86 82 73 88 49 87 42
https://cdn.sofifa.com/players/183/898/21_60.png Ángel Di María http://sofifa.com/player/183898/angel-di-maria/210005/ Argentina RW LW A. Di María 32 87 87 Paris Saint-Germain 2015 ~ 2021 183898 5’11” 152lbs Left 87 RW 0 Aug 6, 2015 N/A €39M €160K €72.2M 379 88 79 51 83 78 432 88 89 88 80 87 419 82 83 94 84 76 379 83 72 78 60 86 360 73 42 84 88 73 86 148 41 55 52 51 10 7 11 12 11 2168 453 2 ★ 5★ High Medium 4 ★ 83 81 85 88 48 68 99
https://cdn.sofifa.com/players/177/003/21_60.png Luka Modrić http://sofifa.com/player/177003/luka-modric/210005/ Croatia CM L. Modrić 34 87 87 Real Madrid 2012 ~ 2021 177003 5’8” 146lbs Right 87 CM 0 Aug 1, 2012 N/A €24.5M €260K €50.2M 380 86 72 55 91 76 427 85 85 78 89 90 417 76 70 91 88 92 371 79 68 84 58 82 391 62 79 78 90 82 92 214 68 75 71 52 13 9 7 14 9 2252 463 4 ★ 4★ High Medium 4 ★ 73 76 89 88 71 66 137
https://cdn.sofifa.com/players/176/580/21_60.png Luis Suárez http://sofifa.com/player/176580/luis-suarez/210005/ Uruguay ST L. Suárez 33 87 87 Atlético Madrid 2020 ~ 2022 176580 6’0” 183lbs Right 87 ST 0 Sep 25, 2020 N/A €31.5M €115K €64.6M 429 80 92 84 83 90 413 84 86 82 77 84 386 72 68 76 92 78 409 89 69 78 85 88 386 87 41 91 84 83 85 140 57 45 38 153 27 25 31 33 37 2316 459 4 ★ 3★ High Medium 5 ★ 70 90 82 83 51 83 166
https://cdn.sofifa.com/players/167/948/21_60.png Hugo Lloris http://sofifa.com/player/167948/hugo-lloris/210005/ France GK H. Lloris 33 87 87 Tottenham Hotspur 2012 ~ 2022 167948 6’2” 181lbs Left 87 GK 0 Aug 31, 2012 N/A €27M €125K €51.3M 94 13 10 10 50 11 115 10 11 10 50 34 321 65 62 55 85 54 223 51 74 41 43 14 138 31 27 10 30 40 65 57 29 10 18 413 89 82 68 84 90 1361 476 1 ★ 1★ Medium Medium 4 ★ 89 82 68 90 63 84 56
https://cdn.sofifa.com/players/138/956/21_60.png Giorgio Chiellini http://sofifa.com/player/138956/giorgio-chiellini/210005/ Italy CB G. Chiellini 35 87 87 Juventus 2005 ~ 2021 138956 6’2” 187lbs Left 87 CB 0 Jul 1, 2005 N/A €15.5M €94K €25.6M 280 54 33 83 65 45 276 59 60 31 65 61 326 60 70 57 82 57 355 78 87 54 87 49 306 90 88 28 50 50 84 272 94 90 88 15 3 3 2 4 3 1830 399 3 ★ 2★ Medium High 4 ★ 66 46 58 60 90 79 80
https://cdn.sofifa.com/players/208/830/21_60.png Jamie Vardy http://sofifa.com/player/208830/jamie-vardy/210005/ England ST J. Vardy 33 86 86 Leicester City 2012 ~ 2023 208830 5’10” 163lbs Right 86 ST 0 May 1, 2012 N/A €28M €160K €53.2M 390 68 92 79 69 82 330 77 67 57 48 81 414 90 87 72 90 75 378 87 79 79 68 65 385 87 49 92 73 84 87 160 57 50 53 62 15 14 7 15 11 2119 447 3 ★ 3★ High High 3 ★ 88 85 66 78 55 75 104
https://cdn.sofifa.com/players/204/963/21_60.png Daniel Carvajal Ramos http://sofifa.com/player/204963/daniel-carvajal-ramos/210005/ Spain RB Carvajal 28 86 86 Real Madrid 2013 ~ 2022 204963 5’8” 161lbs Right 86 RB 0 Jul 5, 2013 N/A €38M €230K €77.9M 339 84 51 72 83 49 359 78 76 47 74 84 403 79 80 79 84 81 355 68 77 89 74 47 361 84 83 75 74 45 82 251 83 83 85 65 13 13 15 9 15 2133 454 3 ★ 3★ High High 3 ★ 80 54 78 80 82 80 89
https://cdn.sofifa.com/players/201/535/21_60.png Raphaël Varane http://sofifa.com/player/201535/raphael-varane/210005/ France CB R. Varane 27 86 88 Real Madrid 2011 ~ 2022 201535 6’3” 179lbs Right 87 CB 2 Jul 1, 2011 N/A €46.5M €220K €98.8M 293 42 46 85 78 42 309 55 46 52 77 79 351 79 85 62 86 39 347 52 81 75 86 53 321 80 87 52 59 43 83 262 89 87 86 50 11 11 9 5 14 1933 428 3 ★ 2★ Medium High 3 ★ 82 49 64 64 87 82 150
https://cdn.sofifa.com/players/199/556/21_60.png Marco Verratti http://sofifa.com/player/199556/marco-verratti/210005/ Italy CM CDM M. Verratti 27 86 87 Paris Saint-Germain 2012 ~ 2024 199556 5’5” 132lbs Right 86 CM 1 Jul 18, 2012 N/A €50M €135K €96.3M 344 75 60 55 90 64 411 90 78 64 89 90 401 68 61 91 87 94 308 56 65 76 53 58 397 89 85 71 88 64 94 243 78 82 83 64 12 12 15 15 10 2168 445 4 ★ 4★ Medium High 3 ★ 64 60 85 90 79 67 112
https://cdn.sofifa.com/players/195/864/21_60.png Paul Pogba http://sofifa.com/player/195864/paul-pogba/210005/ France CM CDM P. Pogba 27 86 87 Manchester United 2016 ~ 2021 195864 6’3” 185lbs Right 86 CM 1 Aug 9, 2016 N/A €50M €190K €98.8M 400 80 75 75 86 84 435 87 85 82 91 90 365 66 79 73 81 66 426 90 82 83 89 82 394 78 64 81 88 83 87 195 63 67 65 20 5 6 2 4 3 2235 476 4 ★ 5★ High Medium 4 ★ 73 81 86 85 66 85 285
https://cdn.sofifa.com/players/193/080/21_60.png David De Gea Quintana http://sofifa.com/player/193080/david-de-gea-quintana/210005/ Spain GK De Gea 29 86 86 Manchester United 2011 ~ 2023 193080 6’4” 181lbs Right 86 GK 0 Jul 1, 2011 N/A €31.5M €150K €59.9M 114 17 13 21 50 13 143 18 21 19 47 38 304 57 58 63 83 43 241 59 67 43 60 12 170 38 30 12 61 29 65 59 25 21 13 418 88 81 78 82 89 1449 476 3 ★ 1★ Medium Medium 4 ★ 88 81 78 89 58 82 133
https://cdn.sofifa.com/players/189/596/21_60.png Thomas Müller http://sofifa.com/player/189596/thomas-muller/210005/ Germany CAM RM RW T. Müller 30 86 86 FC Bayern München 2008 ~ 2023 189596 6’1” 165lbs Right 86 CAM 0 Aug 10, 2008 N/A €42M €130K €69.3M 419 85 85 81 84 84 375 75 81 59 78 82 374 68 68 73 94 71 388 78 77 86 66 81 359 62 58 94 85 60 84 150 47 57 46 52 6 7 11 14 14 2117 437 4 ★ 3★ High High 4 ★ 68 82 82 78 56 71 96
https://cdn.sofifa.com/players/189/332/21_60.png Jordi Alba Ramos http://sofifa.com/player/189332/jordi-alba-ramos/210005/ Spain LB Jordi Alba 31 86 86 FC Barcelona 2012 ~ 2024 189332 5’7” 150lbs Left 86 LB 0 Jul 1, 2012 N/A €32M €220K €65.6M 372 85 73 70 84 60 387 81 80 63 79 84 433 88 88 90 82 85 359 64 80 88 61 66 377 76 81 83 78 59 80 236 74 80 82 60 13 15 13 6 13 2224 471 3 ★ 3★ High Medium 3 ★ 88 69 81 83 78 72 69
https://cdn.sofifa.com/players/183/711/21_60.png Jordan Henderson http://sofifa.com/player/183711/jordan-henderson/210005/ England CDM CM J. Henderson 30 86 86 Liverpool 2011 ~ 2023 183711 6’0” 176lbs Right 86 CDM 0 Jun 9, 2011 N/A €36.5M €140K €67.5M 377 82 73 65 86 71 403 78 80 74 87 84 354 66 65 69 86 68 399 77 78 91 78 75 394 84 85 78 83 64 82 244 84 83 77 49 7 13 7 9 13 2220 465 3 ★ 3★ High High 2 ★ 65 74 84 79 81 82 143
https://cdn.sofifa.com/players/178/603/21_60.png Mats Hummels http://sofifa.com/player/178603/mats-hummels/210005/ Germany CB M. Hummels 31 86 86 Borussia Dortmund 2019 ~ 2022 178603 6’3” 207lbs Right 86 CB 0 Jul 1, 2019 N/A €33M €93K €56.1M 349 65 55 87 82 60 355 69 66 53 86 81 323 46 67 63 87 60 341 71 68 65 86 51 366 71 91 56 80 68 89 264 90 88 86 42 15 6 10 5 6 2040 431 3 ★ 3★ High High 4 ★ 58 58 77 72 89 77 100
https://cdn.sofifa.com/players/177/683/21_60.png Yann Sommer http://sofifa.com/player/177683/yann-sommer/210005/ Switzerland GK Y. Sommer 31 86 86 Borussia Mönchengladbach 2014 ~ 2023 177683 6’0” 174lbs Right 86 GK 0 Jul 1, 2014 N/A €28.5M €55K €48.5M 84 13 13 10 40 8 96 15 12 13 31 25 299 48 54 55 84 58 262 64 73 45 68 12 162 38 21 15 64 24 57 40 9 19 12 423 80 86 85 87 85 1366 474 4 ★ 1★ Medium Medium 3 ★ 80 86 85 85 51 87 38
https://cdn.sofifa.com/players/168/542/21_60.png David Josué Jiménez Silva http://sofifa.com/player/168542/david-josue-jimenez-silva/210005/ Spain CAM CM David Silva 34 86 86 Real Sociedad 2020 ~ 2022 168542 5’8” 148lbs Left 86 CAM 0 Aug 17, 2020 N/A €22.5M €58K €47.3M 383 84 72 53 92 82 420 86 82 77 84 91 388 68 61 85 87 87 325 72 64 70 46 73 358 56 50 86 91 75 92 140 58 53 29 46 6 15 7 6 12 2060 421 2 ★ 4★ High Medium 4 ★ 64 74 88 88 52 55 83
https://cdn.sofifa.com/players/152/729/21_60.png Gerard Piqué Bernabeu http://sofifa.com/player/152729/gerard-pique-bernabeu/210005/ Spain CB Piqué 33 86 86 FC Barcelona 2008 ~ 2022 152729 6’4” 187lbs Right 86 CB 0 Jul 1, 2008 N/A €21M €220K €43.1M 344 57 65 84 81 57 325 63 58 43 81 80 292 48 64 57 88 35 343 62 74 69 87 51 371 79 87 64 72 69 87 258 88 86 84 58 10 11 14 15 8 1991 422 3 ★ 2★ High Medium 4 ★ 57 61 71 67 86 80 67
https://cdn.sofifa.com/players/143/076/21_60.png Alejandro Gómez http://sofifa.com/player/143076/alejandro-gomez/210005/ Argentina CAM CF ST A. Gómez 32 86 86 Atalanta 2014 ~ 2022 143076 5’6” 150lbs Right 86 CAM 0 Sep 2, 2014 N/A €34.5M €100K €58.7M 359 83 80 38 86 72 411 87 82 79 77 86 453 94 86 93 86 94 345 76 70 73 44 82 337 56 40 82 87 72 85 114 50 30 34 46 8 11 12 9 6 2065 435 4 ★ 4★ High Medium 3 ★ 90 79 84 88 39 55 207
https://cdn.sofifa.com/players/235/790/21_60.png Kai Havertz http://sofifa.com/player/235790/kai-havertz/210005/ Germany CAM RM CF K. Havertz 21 85 93 Chelsea 2020 ~ 2025 235790 6’2” 183lbs Left 87 CAM 8 Sep 4, 2020 N/A €57M €105K €119.7M 400 73 85 78 84 80 388 86 84 53 78 87 403 78 88 78 85 74 378 74 75 82 69 78 319 42 38 84 82 73 84 123 39 46 38 47 6 8 11 10 12 2058 441 4 ★ 4★ Medium Medium 3 ★ 84 81 79 85 45 67 416
https://cdn.sofifa.com/players/235/243/21_60.png Matthijs de Ligt http://sofifa.com/player/235243/matthijs-de-ligt/210005/ Netherlands CB M. de Ligt 20 85 92 Juventus 2019 ~ 2024 235243 6’2” 196lbs Right 87 CB 7 Jul 18, 2019 N/A €49.5M €80K €91.6M 308 52 50 86 75 45 319 66 48 55 74 76 343 68 75 56 84 60 396 82 84 76 88 66 313 83 83 44 63 40 82 253 86 85 82 56 12 11 11 12 10 1988 435 4 ★ 2★ Medium High 3 ★ 72 59 66 69 85 84 315
https://cdn.sofifa.com/players/232/363/21_60.png Milan Škriniar http://sofifa.com/player/232363/milan-skriniar/210005/ Slovakia CB M. Škriniar 25 85 89 Inter 2017 ~ 2023 232363 6’2” 176lbs Right 86 CB 4 Jul 7, 2017 N/A €44.5M €130K €79M 277 40 42 82 73 40 269 67 34 30 69 69 320 70 68 48 83 51 315 50 78 73 84 30 315 86 86 30 57 56 81 262 92 87 83 55 10 13 12 8 12 1813 403 4 ★ 2★ Medium High 1 ★ 69 41 59 66 87 81 206
https://cdn.sofifa.com/players/231/866/21_60.png Rodrigo Hernández Cascante http://sofifa.com/player/231866/rodrigo-hernandez-cascante/210005/ Spain CDM CM Rodri 24 85 88 Manchester City 2019 ~ 2024 231866 6’3” 181lbs Right 85 CDM 3 Jul 4, 2019 N/A €44M €145K €84.7M 346 63 64 75 85 59 359 76 65 54 82 82 350 66 65 68 82 69 382 74 69 84 79 76 362 76 83 75 82 46 85 245 83 84 78 49 10 10 7 14 8 2093 448 4 ★ 3★ Medium High 2 ★ 65 68 77 77 82 79 124
https://cdn.sofifa.com/players/231/677/21_60.png Marcus Rashford http://sofifa.com/player/231677/marcus-rashford/210005/ England LM ST M. Rashford 22 85 91 Manchester United 2014 ~ 2023 231677 6’1” 154lbs Right 86 RM 6 Jul 1, 2014 N/A €53M €150K €111.3M 382 77 83 68 81 73 399 87 82 76 69 85 429 89 93 86 86 75 406 90 72 87 76 81 360 73 42 82 82 81 82 120 47 40 33 53 11 6 15 7 14 2149 461 4 ★ 5★ High Medium 2 ★ 91 83 78 86 45 78 424
https://cdn.sofifa.com/players/230/621/21_60.png Gianluigi Donnarumma http://sofifa.com/player/230621/gianluigi-donnarumma/210005/ Italy GK G. Donnarumma 21 85 92 Milan 2015 ~ 2021 230621 6’5” 198lbs Right 85 GK 7 Jul 1, 2015 N/A €41.5M €34K €78.9M 78 12 12 12 34 8 106 28 12 14 24 28 281 46 54 64 79 38 253 57 72 34 72 18 144 30 26 14 50 24 68 50 20 14 16 418 89 81 76 83 89 1330 468 3 ★ 1★ Medium Medium 3 ★ 89 81 76 89 50 83 191
https://cdn.sofifa.com/players/228/702/21_60.png Frenkie de Jong http://sofifa.com/player/228702/frenkie-de-jong/210005/ Netherlands CM F. de Jong 23 85 90 FC Barcelona 2019 ~ 2024 228702 5’11” 163lbs Right 87 CM 5 Jul 1, 2019 N/A €50.5M €190K €107.3M 363 75 63 66 90 69 409 87 84 64 86 88 410 80 80 83 88 79 369 68 76 90 74 61 356 70 82 73 86 45 90 229 76 76 77 49 7 13 10 10 9 2185 468 3 ★ 4★ Medium High 3 ★ 80 64 84 87 76 77 454
https://cdn.sofifa.com/players/223/848/21_60.png Sergej Milinković-Savić http://sofifa.com/player/223848/sergej-milinkovic-savic/210005/ Serbia CM CDM CAM S. Milinković-Savić 25 85 89 Lazio 2015 ~ 2024 223848 6’3” 168lbs Right 86 CM 4 Aug 6, 2015 N/A €49M €94K €87M 389 64 80 86 85 74 412 86 78 75 85 88 348 66 72 64 83 63 421 83 85 85 88 80 377 79 78 79 85 56 84 231 78 79 74 47 7 10 7 16 7 2225 475 4 ★ 4★ High Medium 2 ★ 69 79 80 83 79 85 271
https://cdn.sofifa.com/players/222/492/21_60.png Leroy Sané http://sofifa.com/player/222492/leroy-sane/210005/ Germany LM L. Sané 24 85 90 FC Bayern München 2020 ~ 2025 222492 6’0” 165lbs Left 85 LM 5 Jul 15, 2020 N/A €51.5M €100K €88.8M 402 83 81 72 81 85 402 88 83 82 64 85 427 91 95 84 79 78 368 87 64 70 69 78 332 61 34 84 82 71 80 103 36 32 35 52 8 12 9 9 14 2086 444 3 ★ 4★ High Medium 2 ★ 93 81 79 86 38 67 249
https://cdn.sofifa.com/players/220/440/21_60.png Clément Lenglet http://sofifa.com/player/220440/clement-lenglet/210005/ France CB C. Lenglet 25 85 89 FC Barcelona 2018 ~ 2023 220440 6’1” 179lbs Left 86 CB 4 Jul 12, 2018 N/A €44.5M €190K €94.6M 292 55 39 83 78 37 297 57 59 31 74 76 353 76 72 61 84 60 347 58 85 75 83 46 336 80 87 54 66 49 82 257 90 86 81 48 10 10 9 12 7 1930 419 4 ★ 2★ Medium High 2 ★ 74 45 67 65 87 81 121
https://cdn.sofifa.com/players/212/188/21_60.png Timo Werner http://sofifa.com/player/212188/timo-werner/210005/ Germany ST LW T. Werner 24 85 88 Chelsea 2020 ~ 2025 212188 5’11” 168lbs Right 87 ST 3 Jul 1, 2020 N/A €49.5M €135K €97.8M 399 69 88 78 78 86 352 84 70 58 55 85 428 93 89 83 87 76 388 85 75 83 67 78 331 63 37 88 65 78 82 78 39 20 19 50 9 9 8 15 9 2026 435 4 ★ 3★ High Medium 3 ★ 91 85 69 84 35 71 246
https://cdn.sofifa.com/players/210/243/21_60.png Ricardo Barbosa Pereira http://sofifa.com/player/210243/ricardo-barbosa-pereira/210005/ Portugal RB Ricardo Pereira 26 85 86 Leicester City 2018 ~ 2023 210243 5’9” 154lbs Right 85 RB 1 Jun 9, 2018 N/A €39.5M €120K €78M 352 82 63 65 83 59 372 82 78 52 78 82 410 84 83 79 85 79 370 74 75 88 69 64 373 79 81 75 77 61 81 249 82 84 83 65 16 12 15 11 11 2191 467 4 ★ 3★ High High 3 ★ 83 66 79 82 81 76 171
https://cdn.sofifa.com/players/208/670/21_60.png Hakim Ziyech http://sofifa.com/player/208670/hakim-ziyech/210005/ Morocco CAM RW H. Ziyech 27 85 86 Chelsea 2020 ~ 2025 208670 5’11” 143lbs Left 85 CAM 1 Jul 1, 2020 N/A €44M €140K €86.9M 374 88 73 53 86 74 425 83 90 78 89 85 407 83 77 85 84 78 336 83 37 80 59 77 363 73 52 82 89 67 79 140 44 56 40 51 11 7 11 8 14 2096 443 2 ★ 5★ High High 3 ★ 80 76 87 84 50 66 148
https://cdn.sofifa.com/players/207/865/21_60.png Marcos Aoás Corrêa http://sofifa.com/player/207865/marcos-aoas-correa/210005/ Brazil CB CDM Marquinhos 26 85 89 Paris Saint-Germain 2013 ~ 2024 207865 6’0” 165lbs Right 87 CB 4 Jul 19, 2013 N/A €44M €115K €84.7M 298 68 33 84 82 31 312 64 55 32 82 79 364 70 73 69 85 67 340 61 89 80 75 35 340 80 86 59 68 47 86 261 87 87 87 47 6 6 12 10 13 1962 421 3 ★ 3★ Medium High 3 ★ 72 41 73 70 87 78 122
https://cdn.sofifa.com/players/206/113/21_60.png Serge Gnabry http://sofifa.com/player/206113/serge-gnabry/210005/ Germany RM LM RW S. Gnabry 24 85 87 FC Bayern München 2017 ~ 2023 206113 5’9” 165lbs Right 85 RM 2 Jul 1, 2017 N/A €47.5M €100K €81.9M 368 79 85 42 79 83 380 87 74 62 74 83 425 90 76 86 85 88 379 86 65 78 69 81 337 63 38 85 83 68 80 132 45 44 43 50 14 10 10 9 7 2071 442 4 ★ 4★ High Medium 3 ★ 82 83 78 86 43 70 229
https://cdn.sofifa.com/players/204/485/21_60.png Riyad Mahrez http://sofifa.com/player/204485/riyad-mahrez/210005/ Algeria RW RM R. Mahrez 29 85 85 Manchester City 2018 ~ 2023 204485 5’10” 148lbs Left 85 RW 0 Jul 10, 2018 N/A €37.5M €210K €69.4M 366 83 79 48 80 76 418 90 84 78 75 91 427 87 79 92 81 88 350 79 60 76 55 80 321 48 39 80 84 70 84 98 45 31 22 54 15 9 13 11 6 2034 430 4 ★ 5★ Medium Medium 3 ★ 83 79 81 90 38 59 109
https://cdn.sofifa.com/players/202/556/21_60.png Memphis Depay http://sofifa.com/player/202556/memphis-depay/210005/ Netherlands CF LW CAM M. Depay 26 85 88 Olympique Lyonnais 2017 ~ 2021 202556 5’9” 172lbs Right 86 CAM 3 Jan 20, 2017 N/A €48.5M €115K €95.8M 386 83 83 65 81 74 414 85 85 86 74 84 413 85 87 80 82 79 408 87 76 81 81 83 344 75 28 84 84 73 78 80 29 31 20 50 8 14 6 12 10 2095 446 3 ★ 5★ High Low 3 ★ 86 83 81 84 32 80 329
https://cdn.sofifa.com/players/201/399/21_60.png Mauro Icardi http://sofifa.com/player/201399/mauro-icardi/210005/ Argentina ST M. Icardi 27 85 86 Paris Saint-Germain 2020 ~ 2024 201399 5’11” 165lbs Right 85 ST 1 Jun 8, 2020 N/A €45M €135K €86.6M 386 47 90 88 76 85 336 76 76 48 54 82 381 74 73 73 86 75 387 85 93 66 72 71 324 56 22 92 72 82 83 89 45 24 20 43 13 9 5 7 9 1946 405 4 ★ 3★ Medium Medium 3 ★ 73 85 65 78 36 68 70
https://cdn.sofifa.com/players/198/706/21_60.png Luis Alberto Romero Alconchel http://sofifa.com/player/198706/luis-alberto-romero-alconchel/210005/ Spain CAM CM CF Luis Alberto 27 85 85 Lazio 2016 ~ 2025 198706 6’0” 163lbs Right 85 CAM 0 Aug 31, 2016 N/A €40.5M €99K €68.9M 368 76 77 49 90 76 430 86 86 81 89 88 383 76 72 81 80 74 345 77 53 75 64 76 308 29 55 80 88 56 78 171 58 68 45 43 6 8 6 12 11 2048 438 3 ★ 4★ Medium Medium 2 ★ 74 76 86 85 58 59 96
https://cdn.sofifa.com/players/198/219/21_60.png Lorenzo Insigne http://sofifa.com/player/198219/lorenzo-insigne/210005/ Italy LW CF L. Insigne 29 85 85 Napoli 2010 ~ 2022 198219 5’4” 130lbs Right 85 LW 0 Jul 1, 2010 N/A €37.5M €120K €63.8M 374 83 75 59 83 74 425 90 87 77 78 93 442 92 84 93 80 93 316 78 50 70 34 84 300 34 26 81 85 74 83 99 53 24 22 45 8 4 14 9 10 2001 420 4 ★ 4★ High Medium 3 ★ 88 78 83 91 36 44 97
https://cdn.sofifa.com/players/193/747/21_60.png Jorge Resurrección http://sofifa.com/player/193747/jorge-resurreccion/210005/ Spain CM RM LM Koke 28 85 85 Atlético Madrid 2011 ~ 2024 193747 5’9” 165lbs Right 85 CM 0 Jan 1, 2011 N/A €38M €92K €77.9M 361 85 72 61 87 56 409 80 85 76 84 84 375 68 66 73 88 80 395 83 63 94 75 80 384 79 80 82 84 59 84 230 80 80 70 54 14 12 5 10 13 2208 465 4 ★ 3★ High High 3 ★ 67 75 85 81 77 80 89
https://cdn.sofifa.com/players/192/563/21_60.png Bernd Leno http://sofifa.com/player/192563/bernd-leno/210005/ Germany GK B. Leno 28 85 87 Arsenal 2018 ~ 2023 192563 6’3” 181lbs Right 85 GK 2 Jul 1, 2018 N/A €33.5M €105K €66.2M 91 9 9 13 50 10 116 16 9 8 48 35 288 55 56 52 81 44 260 60 73 43 70 14 139 28 25 7 56 23 66 60 27 15 18 418 85 83 80 84 86 1372 474 3 ★ 1★ Medium Medium 3 ★ 85 83 80 86 56 84 73
https://cdn.sofifa.com/players/192/505/21_60.png Romelu Lukaku http://sofifa.com/player/192505/romelu-lukaku/210005/ Belgium ST R. Lukaku 27 85 86 Inter 2019 ~ 2024 192505 6’3” 207lbs Left 85 ST 1 Aug 8, 2019 N/A €45M €165K €79.9M 400 73 86 85 79 77 371 78 78 66 71 78 353 77 84 60 86 46 400 87 71 73 95 74 340 71 27 86 78 78 83 101 30 41 30 54 8 15 14 7 10 2019 437 4 ★ 3★ Medium Medium 3 ★ 81 83 76 75 38 84 210
https://cdn.sofifa.com/players/191/043/21_60.png Alex Sandro Lobo Silva http://sofifa.com/player/191043/alex-sandro-lobo-silva/210005/ Brazil LB LM Alex Sandro 29 85 85 Juventus 2015 ~ 2023 191043 5’11” 176lbs Left 85 LB 0 Aug 21, 2015 N/A €31.5M €120K €52M 364 84 55 76 81 68 369 80 78 59 71 81 400 78 83 78 84 77 398 80 79 90 77 72 364 82 82 70 70 60 80 243 80 81 82 40 7 7 9 12 5 2178 465 3 ★ 3★ High Medium 3 ★ 81 65 77 80 81 81 82
https://cdn.sofifa.com/players/190/460/21_60.png Christian Eriksen http://sofifa.com/player/190460/christian-eriksen/210005/ Denmark CAM CM RM C. Eriksen 28 85 85 Inter 2020 ~ 2024 190460 5’11” 168lbs Right 85 CAM 0 Jan 28, 2020 N/A €39M €155K €66.3M 385 86 77 52 90 80 428 77 89 85 87 90 385 74 70 77 84 80 370 84 49 92 56 89 341 46 56 82 90 67 86 138 59 57 22 43 9 14 7 7 6 2090 438 5 ★ 4★ High High 3 ★ 72 81 88 81 53 63 146
https://cdn.sofifa.com/players/189/513/21_60.png Daniel Parejo Muñoz http://sofifa.com/player/189513/daniel-parejo-munoz/210005/ Spain CM Parejo 31 85 85 Villarreal CF 2020 ~ 2024 189513 6’0” 163lbs Right 85 CM 0 Aug 12, 2020 N/A €33M €59K €69.3M 394 86 83 61 92 72 439 82 88 93 90 86 316 52 49 63 80 72 366 81 49 78 70 88 398 58 81 82 89 88 85 209 70 70 69 48 5 9 12 14 8 2170 444 4 ★ 3★ Medium Medium 2 ★ 50 83 90 81 71 69 62
https://cdn.sofifa.com/players/189/509/21_60.png Thiago Alcântara http://sofifa.com/player/189509/thiago-alcantara/210005/ Spain CM CDM Thiago 29 85 85 Liverpool 2020 ~ 2024 189509 5’9” 154lbs Right 85 CM 0 Sep 18, 2020 N/A €37M €150K €68.5M 373 78 68 54 89 84 432 90 85 77 89 91 395 74 55 91 85 90 355 75 75 73 59 73 372 54 83 75 85 75 86 206 67 71 68 46 6 11 7 9 13 2179 443 3 ★ 5★ Medium Medium 3 ★ 64 72 85 90 70 62 165
https://cdn.sofifa.com/players/188/377/21_60.png Kyle Walker http://sofifa.com/player/188377/kyle-walker/210005/ England RB K. Walker 30 85 85 Manchester City 2017 ~ 2024 188377 6’0” 154lbs Right 85 RB 0 Jul 14, 2017 N/A €30.5M €170K €56.4M 341 81 51 74 78 57 381 79 76 71 76 79 403 90 94 66 84 69 406 86 83 89 79 69 358 78 80 68 69 63 75 242 77 83 82 57 12 6 16 15 8 2188 470 2 ★ 3★ High High 3 ★ 92 63 76 77 80 82 129
https://cdn.sofifa.com/players/188/350/21_60.png Marco Reus http://sofifa.com/player/188350/marco-reus/210005/ Germany CAM CF M. Reus 31 85 85 Borussia Dortmund 2012 ~ 2023 188350 5’11” 157lbs Right 85 CAM 0 Jul 1, 2012 N/A €34M €94K €57.8M 389 85 86 44 85 89 422 85 88 86 76 87 410 82 78 83 85 82 373 87 70 67 66 83 360 51 48 86 84 91 85 132 50 37 45 61 12 12 13 13 11 2147 443 4 ★ 4★ High Medium 4 ★ 80 86 84 85 45 63 162
https://cdn.sofifa.com/players/185/122/21_60.png Péter Gulácsi http://sofifa.com/player/185122/peter-gulacsi/210005/ Hungary GK P. Gulácsi 30 85 85 RB Leipzig 2015 ~ 2023 185122 6’3” 190lbs Right 85 GK 0 Jul 1, 2015 N/A €26M €65K €44.2M 94 16 10 23 35 10 104 19 18 11 31 25 251 42 44 41 82 42 250 62 67 35 74 12 134 34 23 11 42 24 45 61 25 16 20 421 84 85 82 84 86 1315 464 2 ★ 1★ Medium Medium 2 ★ 84 85 82 86 43 84 35
https://cdn.sofifa.com/players/184/344/21_60.png Leonardo Bonucci http://sofifa.com/player/184344/leonardo-bonucci/210005/ Italy CB L. Bonucci 33 85 85 Juventus 2018 ~ 2024 184344 6’3” 187lbs Right 85 CB 0 Aug 2, 2018 N/A €18M €110K €29.7M 311 44 48 84 77 58 345 69 56 61 84 75 319 58 62 60 84 55 369 74 85 66 79 65 354 82 90 38 74 70 86 256 90 86 80 13 2 2 3 2 4 1967 421 4 ★ 2★ Medium High 3 ★ 60 58 69 70 87 77 67
https://cdn.sofifa.com/players/184/087/21_60.png Toby Alderweireld http://sofifa.com/player/184087/toby-alderweireld/210005/ Belgium CB T. Alderweireld 31 85 85 Tottenham Hotspur 2015 ~ 2023 184087 6’1” 179lbs Right 85 CB 0 Jul 8, 2015 N/A €28.5M €130K €54.2M 308 64 45 82 79 38 351 62 63 69 82 75 331 60 65 59 85 62 375 78 82 78 79 58 338 81 85 52 62 58 86 262 88 89 85 66 16 6 14 16 14 2031 423 3 ★ 2★ Medium Medium 3 ★ 63 55 72 67 87 79 65
https://cdn.sofifa.com/players/182/493/21_60.png Diego Godín http://sofifa.com/player/182493/diego-godin/210005/ Uruguay CB D. Godín 34 85 85 Cagliari 2020 ~ 2023 182493 6’2” 172lbs Right 85 CB 0 Sep 24, 2020 N/A €14.5M €56K €24.7M 305 52 42 85 79 47 295 53 49 49 70 74 298 59 55 57 74 53 346 67 89 62 85 43 322 85 87 48 52 50 80 260 90 86 84 49 6 8 15 5 15 1875 396 3 ★ 2★ Medium High 3 ★ 57 48 64 61 87 79 47
https://cdn.sofifa.com/players/181/291/21_60.png Georginio Wijnaldum http://sofifa.com/player/181291/georginio-wijnaldum/210005/ Netherlands CM G. Wijnaldum 29 85 85 Liverpool 2016 ~ 2021 181291 5’9” 152lbs Right 85 CM 0 Jul 22, 2016 N/A €37M €150K €68.5M 386 72 75 78 88 73 405 85 78 73 81 88 411 77 76 84 86 88 399 78 81 93 74 73 386 75 79 79 79 74 86 226 78 79 69 54 16 6 14 12 6 2267 475 4 ★ 4★ High High 3 ★ 76 75 81 86 78 79 112
https://cdn.sofifa.com/players/180/206/21_60.png Miralem Pjanić http://sofifa.com/player/180206/miralem-pjanic/210005/ Bosnia Herzegovina CM M. Pjanić 30 85 85 FC Barcelona 2020 ~ 2024 180206 5’10” 159lbs Right 85 CM 0 Aug 24, 2020 N/A €35.5M €220K €72.8M 359 81 56 60 90 72 440 86 86 92 87 89 374 68 66 75 84 81 359 78 59 81 59 82 383 70 78 68 88 79 86 224 78 76 70 42 7 7 13 7 8 2181 449 4 ★ 3★ Medium Medium 3 ★ 67 68 87 85 75 67 77
https://cdn.sofifa.com/players/175/943/21_60.png Dries Mertens http://sofifa.com/player/175943/dries-mertens/210005/ Belgium CF ST D. Mertens 33 85 85 Napoli 2013 ~ 2022 175943 5’7” 134lbs Right 85 CF 0 Jul 1, 2013 N/A €24M €115K €40.8M 355 79 84 40 82 70 412 88 82 79 74 89 444 90 82 94 86 92 326 80 58 70 37 81 342 59 36 85 83 79 81 105 25 40 40 39 7 10 8 10 4 2023 423 4 ★ 4★ High Low 3 ★ 86 82 80 89 35 51 106
https://cdn.sofifa.com/players/164/240/21_60.png Thiago Emiliano da Silva http://sofifa.com/player/164240/thiago-emiliano-da-silva/210005/ Brazil CB Thiago Silva 35 85 85 Chelsea 2020 ~ 2021 164240 6’0” 174lbs Right 85 CB 0 Aug 28, 2020 N/A €11.5M €93K €21.9M 322 60 40 81 80 61 349 67 62 61 80 79 332 57 61 67 81 66 379 71 90 71 82 65 353 76 88 59 70 60 86 257 87 86 84 45 9 12 5 9 10 2037 420 3 ★ 2★ Medium High 4 ★ 59 54 72 71 86 78 84
https://cdn.sofifa.com/players/239/085/21_60.png Erling Haaland http://sofifa.com/player/239085/erling-haaland/210005/ Norway ST E. Haaland 19 84 92 Borussia Dortmund 2020 ~ 2024 239085 6’4” 194lbs Left 85 ST 8 Jan 1, 2020 N/A €45M €56K €85.5M 356 46 87 67 74 82 341 75 77 62 49 78 393 80 88 75 83 67 415 93 70 78 91 83 357 82 41 86 68 80 83 113 45 38 30 52 7 14 13 11 7 2027 438 3 ★ 3★ High High 2 ★ 84 87 63 76 43 85 1.3K


2.3. Dimensions

The data frame has 18,979 rows (game players) and 77 columns (variables).

dim(fifa21_data_raw)
## [1] 18979    77


3. Data checks and transformations

3.1. Select columns

I selected the most important data columns needed to perform exploratory data analysis and answer Lucas’ question. I also renamed columns to make them easier to work with.

fifa21_data <- fifa21_data_raw %>%
  select(
    Nationality,
    Name, 
    Age,
    Team_contract = `Team & Contract`,
    ID, 
    Height, 
    Weight, 
    Foot = foot, 
    Joined, 
    Wage, 
    Skill)


3.2. Data types

A glimpse of the data frame shows that Height, Weight, and Wage need to be converted to numeric format and Joined needs to be converted to date format. Name and Team_contract contain multiple variables and need to be separated into components.

glimpse(fifa21_data)
## Rows: 18,979
## Columns: 11
## $ Nationality   <chr> "Argentina", "Portugal", "Slovenia", "Belgium", "Brazil"…
## $ Name          <chr> "L. Messi", "Cristiano Ronaldo", "J. Oblak", "K. De Bruy…
## $ Age           <dbl> 33, 35, 27, 29, 28, 31, 21, 27, 28, 28, 28, 28, 28, 28, …
## $ Team_contract <chr> "\n\n\n\nFC Barcelona\n2004 ~ 2021\n\n", "\n\n\n\nJuvent…
## $ ID            <dbl> 158023, 20801, 200389, 192985, 190871, 188545, 231747, 2…
## $ Height        <chr> "5'7\"", "6'2\"", "6'2\"", "5'11\"", "5'9\"", "6'0\"", "…
## $ Weight        <chr> "159lbs", "183lbs", "192lbs", "154lbs", "150lbs", "176lb…
## $ Foot          <chr> "Left", "Right", "Right", "Right", "Right", "Right", "Ri…
## $ Joined        <chr> "Jul 1, 2004", "Jul 10, 2018", "Jul 16, 2014", "Aug 30, …
## $ Wage          <chr> "€560K", "€220K", "€125K", "€370K", "€270K", "€240K", "€…
## $ Skill         <dbl> 470, 414, 109, 441, 448, 407, 394, 138, 406, 391, 363, 1…


3.3. Tidy variables

3.3.1. Name

Rather than design a regex to extract the players’ last names, I found it easier to remove the leading and trailing parts of player names.

fifa21_data <- fifa21_data %>%
  mutate(
    Last_name = str_remove(Name, " (Jr|Sr)$"),
    Last_name = str_remove(Last_name, "^.* ")
  )

3.3.2. Team name and contract dates

Some team names are accompanied by contract years while other are not. I separated the cases by checking for the presence of the date range symbol (~), and then either extracted the team name or stripped the whitespace around the team name. For players with contracts, I extracted the starting and ending years as numeric values.

fifa21_data <- fifa21_data %>%
  mutate(
    Team = if_else(grepl("~", Team_contract), 
                   str_extract(Team_contract, "(?<=\n{4}).*(?=\n)"), str_trim(Team_contract)),
    Year_start = if_else(grepl("~", Team_contract),
                         as.numeric(str_extract(Team_contract, "(?<=\n)\\d{4}(?= ~)")), NA),
    Year_end = if_else(grepl("~", Team_contract),
                         as.numeric(str_extract(Team_contract, "(?<=~ )\\d{4}(?=\n{2})")), NA)    
  )

3.3.3. Height

I extracted the number of feet and inches, and then converted the height to inches.

fifa21_data <- fifa21_data %>%
  mutate(
    Height_ft = as.numeric(str_extract(Height, "\\d(?=')")),
    Height_in = as.numeric(str_extract(Height, "(?<=')\\d")),
    Height_total_in = (Height_ft * 12) + Height_in
  )

3.3.4. Weight

Similarly, I extracted the weight without the unit (lbs).

fifa21_data <- fifa21_data %>%
  mutate(
    Weight_lb = as.numeric(str_extract(Weight, "\\d+(?=lbs)"))
  )

3.3.5. Date joined

I converted this field to YYYY-MM-DD date format.

fifa21_data <- fifa21_data %>%
  mutate(
    Join_year = str_extract(Joined, "(?<=,\\s)\\d{4}"),
    Join_day = str_extract(Joined, "(?<=\\s)\\d{1,2}(?=,)"),
    Join_month = str_extract(Joined, "[[:alpha:]]{3}(?=\\s)"),
    Join_month_as_number = case_when(
      Join_month == "Jan" ~ 1,
      Join_month == "Feb" ~ 2,
      Join_month == "Mar" ~ 3,
      Join_month == "Apr" ~ 4,
      Join_month == "May" ~ 5,
      Join_month == "Jun" ~ 6,
      Join_month == "Jul" ~ 7,
      Join_month == "Aug" ~ 8,
      Join_month == "Sep" ~ 9,
      Join_month == "Oct" ~ 10,
      Join_month == "Nov" ~ 11,
      Join_month == "Dec" ~ 12,
      .default = NA
    ),
    Join_date = ymd(paste(Join_year, Join_month_as_number, Join_day, sep = "-"))
  )

3.3.6. Length of time with team

Since the dataset only specifies the year for contract start and end dates, I could only calculate the number of years that players were with a team. For players without contract dates, I assigned NA.

fifa21_data <- fifa21_data %>%
  mutate(
    Years_with_team = if_else(!is.na(Year_start) & !is.na(Year_end), Year_end - Year_start + 1, NA)
  )

3.3.7. Wage

I extracted the numeric portion of the wage and converted it to numeric format. If a multiplier (K) was present, I calculated the actual wage.

fifa21_data <- fifa21_data %>%
  mutate(
    Wage_short = as.numeric(str_extract(Wage, "(?<=€)\\d+")),
    Wage_long = if_else(grepl("K", Wage), Wage_short * 1000, Wage_short)
  )

3.3.8. Clean up

fifa21_data <- fifa21_data %>%
  select(ID, 
         Name = Last_name, 
         Nationality, 
         Age, 
         Height_in = Height_total_in, 
         Weight_lb, 
         Foot, 
         Team, 
         Join_date,
         Years_with_team,
         Wage_euro = Wage_long, 
         Skill)


3.4. Duplicate rows

There was 1 duplicate row, so I removed it.

sprintf("Total rows: %s", nrow(fifa21_data))
## [1] "Total rows: 18979"
sprintf("Distinct rows: %s", nrow(distinct(fifa21_data)))        
## [1] "Distinct rows: 18978"
fifa21_data <- distinct(fifa21_data)


3.5. Missing values

There were no null (NA) values in any columns except Years_with_team, due to the players without contracts.

map(fifa21_data, ~ sum(is.na(.)))
## $ID
## [1] 0
## 
## $Name
## [1] 0
## 
## $Nationality
## [1] 0
## 
## $Age
## [1] 0
## 
## $Height_in
## [1] 0
## 
## $Weight_lb
## [1] 0
## 
## $Foot
## [1] 0
## 
## $Team
## [1] 0
## 
## $Join_date
## [1] 0
## 
## $Years_with_team
## [1] 1250
## 
## $Wage_euro
## [1] 0
## 
## $Skill
## [1] 0

Because of this, I limited my analyses to players who had contracts. The first 100 rows of the tidied dataframe is shown below.

players_with_contracts <- drop_na(fifa21_data, Years_with_team)
kbl_display(head(players_with_contracts, 100), "100%", "500px")
ID Name Nationality Age Height_in Weight_lb Foot Team Join_date Years_with_team Wage_euro Skill
158023 Messi Argentina 33 67 159 Left FC Barcelona 2004-07-01 18 560000 470
20801 Ronaldo Portugal 35 74 183 Right Juventus 2018-07-10 5 220000 414
200389 Oblak Slovenia 27 74 192 Right Atlético Madrid 2014-07-16 10 125000 109
192985 Bruyne Belgium 29 61 154 Right Manchester City 2015-08-30 9 370000 441
190871 Neymar Brazil 28 69 150 Right Paris Saint-Germain 2017-08-03 6 270000 448
188545 Lewandowski Poland 31 72 176 Right FC Bayern München 2014-07-01 10 240000 407
231747 Mbappé France 21 61 161 Right Paris Saint-Germain 2018-07-01 5 160000 394
212831 Alisson Brazil 27 75 201 Right Liverpool 2018-07-19 7 160000 138
209331 Salah Egypt 28 69 157 Left Liverpool 2017-07-01 7 250000 406
208722 Mané Senegal 28 69 152 Right Liverpool 2016-07-01 8 250000 391
203376 Dijk Netherlands 28 76 203 Right Liverpool 2018-01-01 6 210000 363
192448 Stegen Germany 28 74 187 Right FC Barcelona 2014-07-01 9 260000 144
200145 Casemiro Brazil 28 73 185 Right Real Madrid 2013-07-11 11 310000 369
192119 Courtois Belgium 28 78 212 Left Real Madrid 2018-08-09 7 250000 110
167495 Neuer Germany 34 76 203 Right FC Bayern München 2011-07-01 13 125000 160
165153 Benzema France 32 73 179 Right Real Madrid 2009-07-09 14 350000 404
155862 Ramos Spain 34 72 181 Right Real Madrid 2005-08-01 17 300000 381
153079 Agüero Argentina 32 68 154 Right Manchester City 2011-07-28 11 300000 397
215914 Kanté France 29 66 154 Right Chelsea 2016-07-16 8 190000 336
212622 Kimmich Germany 25 69 161 Right FC Bayern München 2015-07-01 9 145000 400
211110 Dybala Argentina 26 61 165 Left Juventus 2015-07-01 8 190000 436
210257 Ederson Brazil 26 74 190 Left Manchester City 2017-07-01 8 195000 157
202652 Sterling England 25 67 152 Right Manchester City 2015-07-14 9 270000 387
202126 Kane England 26 74 196 Right Tottenham Hotspur 2010-07-01 15 220000 395
201024 Koulibaly Senegal 29 74 196 Right Napoli 2014-07-01 10 140000 262
183277 Hazard Belgium 29 69 163 Right Real Madrid 2019-07-01 6 350000 427
182521 Kroos Germany 30 72 168 Right Real Madrid 2014-07-17 10 310000 432
162835 Handanovič Slovenia 35 76 203 Right Inter 2012-07-01 10 100000 100
233049 Sancho England 20 61 168 Right Borussia Dortmund 2017-08-31 7 82000 380
231281 Alexander-Arnold England 21 61 152 Right Liverpool 2015-10-07 10 110000 426
218667 Silva Portugal 25 68 141 Left Manchester City 2017-07-01 9 230000 411
216267 Robertson Scotland 26 61 141 Left Liverpool 2017-07-21 8 155000 358
212218 Laporte France 26 74 187 Left Manchester City 2018-01-30 7 200000 351
212198 Fernandes Portugal 25 61 152 Right Manchester United 2020-01-30 6 195000 433
209499 Fabinho Brazil 26 74 172 Right Liverpool 2018-07-01 6 155000 365
201942 Firmino Brazil 28 61 168 Right Liverpool 2015-07-06 9 190000 403
200104 Son Korea Republic 27 72 172 Right Tottenham Hotspur 2015-08-28 9 165000 400
194765 Griezmann France 29 69 161 Left FC Barcelona 2019-07-12 6 290000 429
193041 Navas Costa Rica 33 73 176 Right Paris Saint-Germain 2019-09-02 5 110000 98
192387 Immobile Italy 30 73 187 Right Lazio 2016-07-27 10 125000 341
189511 Busquets Spain 31 74 168 Right FC Barcelona 2008-09-01 16 240000 386
188567 Aubameyang Gabon 31 74 176 Right Arsenal 2018-01-31 6 170000 383
186153 Szczęsny Poland 30 77 198 Right Juventus 2017-07-19 8 105000 99
183898 María Argentina 32 61 152 Left Paris Saint-Germain 2015-08-06 7 160000 432
177003 Modrić Croatia 34 68 146 Right Real Madrid 2012-08-01 10 260000 427
176580 Suárez Uruguay 33 72 183 Right Atlético Madrid 2020-09-25 3 115000 413
167948 Lloris France 33 74 181 Left Tottenham Hotspur 2012-08-31 11 125000 115
138956 Chiellini Italy 35 74 187 Left Juventus 2005-07-01 17 94000 276
208830 Vardy England 33 61 163 Right Leicester City 2012-05-01 12 160000 330
204963 Carvajal Spain 28 68 161 Right Real Madrid 2013-07-05 10 230000 359
201535 Varane France 27 75 179 Right Real Madrid 2011-07-01 12 220000 309
199556 Verratti Italy 27 65 132 Right Paris Saint-Germain 2012-07-18 13 135000 411
195864 Pogba France 27 75 185 Right Manchester United 2016-08-09 6 190000 435
193080 Gea Spain 29 76 181 Right Manchester United 2011-07-01 13 150000 143
189596 Müller Germany 30 73 165 Right FC Bayern München 2008-08-10 16 130000 375
189332 Alba Spain 31 67 150 Left FC Barcelona 2012-07-01 13 220000 387
183711 Henderson England 30 72 176 Right Liverpool 2011-06-09 13 140000 403
178603 Hummels Germany 31 75 207 Right Borussia Dortmund 2019-07-01 4 93000 355
177683 Sommer Switzerland 31 72 174 Right Borussia Mönchengladbach 2014-07-01 10 55000 96
168542 Silva Spain 34 68 148 Left Real Sociedad 2020-08-17 3 58000 420
152729 Piqué Spain 33 76 187 Right FC Barcelona 2008-07-01 15 220000 325
143076 Gómez Argentina 32 66 150 Right Atalanta 2014-09-02 9 100000 411
235790 Havertz Germany 21 74 183 Left Chelsea 2020-09-04 6 105000 388
235243 Ligt Netherlands 20 74 196 Right Juventus 2019-07-18 6 80000 319
232363 Škriniar Slovakia 25 74 176 Right Inter 2017-07-07 7 130000 269
231866 Rodri Spain 24 75 181 Right Manchester City 2019-07-04 6 145000 359
231677 Rashford England 22 73 154 Right Manchester United 2014-07-01 10 150000 399
230621 Donnarumma Italy 21 77 198 Right Milan 2015-07-01 7 34000 106
228702 Jong Netherlands 23 61 163 Right FC Barcelona 2019-07-01 6 190000 409
223848 Milinković-Savić Serbia 25 75 168 Right Lazio 2015-08-06 10 94000 412
222492 Sané Germany 24 72 165 Left FC Bayern München 2020-07-15 6 100000 402
220440 Lenglet France 25 73 179 Left FC Barcelona 2018-07-12 6 190000 297
212188 Werner Germany 24 61 168 Right Chelsea 2020-07-01 6 135000 352
210243 Pereira Portugal 26 69 154 Right Leicester City 2018-06-09 6 120000 372
208670 Ziyech Morocco 27 61 143 Left Chelsea 2020-07-01 6 140000 425
207865 Marquinhos Brazil 26 72 165 Right Paris Saint-Germain 2013-07-19 12 115000 312
206113 Gnabry Germany 24 69 165 Right FC Bayern München 2017-07-01 7 100000 380
204485 Mahrez Algeria 29 61 148 Left Manchester City 2018-07-10 6 210000 418
202556 Depay Netherlands 26 69 172 Right Olympique Lyonnais 2017-01-20 5 115000 414
201399 Icardi Argentina 27 61 165 Right Paris Saint-Germain 2020-06-08 5 135000 336
198706 Alberto Spain 27 72 163 Right Lazio 2016-08-31 10 99000 430
198219 Insigne Italy 29 64 130 Right Napoli 2010-07-01 13 120000 425
193747 Koke Spain 28 69 165 Right Atlético Madrid 2011-01-01 14 92000 409
192563 Leno Germany 28 75 181 Right Arsenal 2018-07-01 6 105000 116
192505 Lukaku Belgium 27 75 207 Left Inter 2019-08-08 6 165000 371
191043 Sandro Brazil 29 61 176 Left Juventus 2015-08-21 9 120000 369
190460 Eriksen Denmark 28 61 168 Right Inter 2020-01-28 5 155000 428
189513 Parejo Spain 31 72 163 Right Villarreal CF 2020-08-12 5 59000 439
189509 Thiago Spain 29 69 154 Right Liverpool 2020-09-18 5 150000 432
188377 Walker England 30 72 154 Right Manchester City 2017-07-14 8 170000 381
188350 Reus Germany 31 61 157 Right Borussia Dortmund 2012-07-01 12 94000 422
185122 Gulácsi Hungary 30 75 190 Right RB Leipzig 2015-07-01 9 65000 104
184344 Bonucci Italy 33 75 187 Right Juventus 2018-08-02 7 110000 345
184087 Alderweireld Belgium 31 73 179 Right Tottenham Hotspur 2015-07-08 9 130000 351
182493 Godín Uruguay 34 74 172 Right Cagliari 2020-09-24 4 56000 295
181291 Wijnaldum Netherlands 29 69 152 Right Liverpool 2016-07-22 6 150000 405
180206 Pjanić Bosnia Herzegovina 30 61 159 Right FC Barcelona 2020-08-24 5 220000 440
175943 Mertens Belgium 33 67 134 Right Napoli 2013-07-01 10 115000 412
164240 Silva Brazil 35 72 174 Right Chelsea 2020-08-28 2 93000 349
239085 Haaland Norway 19 76 194 Left Borussia Dortmund 2020-01-01 5 56000 341


4. Analysis

4.1. Categorical variables

4.1.1. Nationality

I examined the number of players from different countries in the dataset. England and Germany have the most players, with more than 1000 each.

kbl_display(
player_nationalities <- players_with_contracts %>%
  group_by(Nationality) %>%
  summarise(Number_of_players = n()) %>%
  arrange(desc(Number_of_players)) %>%
  rename(region = Nationality),
  "50%", "500px")
region Number_of_players
England 1581
Germany 1124
Spain 958
France 949
Argentina 875
Brazil 860
Japan 466
Netherlands 416
United States 367
Sweden 362
Italy 360
Norway 346
China PR 342
Poland 338
Mexico 333
Portugal 328
Colombia 326
Saudi Arabia 326
Republic of Ireland 324
Austria 310
Korea Republic 310
Uruguay 309
Turkey 305
Romania 298
Denmark 279
Belgium 278
Scotland 269
Paraguay 231
Australia 226
Ecuador 219
Switzerland 205
Venezuela 190
Chile 185
Peru 159
Bolivia 139
Croatia 127
Serbia 124
Senegal 121
Nigeria 116
Wales 116
Ghana 104
Czech Republic 103
Greece 95
Ivory Coast 91
Morocco 76
Cameroon 74
Northern Ireland 73
Bosnia Herzegovina 72
Canada 72
Ukraine 66
Russia 65
Slovakia 64
South Africa 61
DR Congo 60
Finland 55
Algeria 51
Mali 51
Albania 50
Iceland 48
Kosovo 45
Slovenia 45
New Zealand 35
Costa Rica 28
Hungary 28
Tunisia 28
Guinea 27
Montenegro 26
Jamaica 25
North Macedonia 24
Cape Verde 23
Georgia 22
United Arab Emirates 22
Gambia 19
Bulgaria 18
Israel 18
Burkina Faso 17
Iran 16
Angola 15
Congo 15
Gabon 15
Guinea Bissau 15
Honduras 15
Togo 13
Zimbabwe 12
Benin 11
Comoros 11
Luxembourg 11
Curacao 10
Egypt 10
Haiti 10
Kenya 10
Moldova 10
Panama 10
Zambia 10
Lithuania 9
Madagascar 9
Sierra Leone 9
Uganda 9
Cyprus 7
Guyana 7
Latvia 7
Uzbekistan 7
Azerbaijan 6
Burundi 6
Dominican Republic 6
Equatorial Guinea 6
Kazakhstan 6
Mauritania 6
Trinidad & Tobago 6
Cuba 5
Estonia 5
Faroe Islands 5
Liechtenstein 5
Mozambique 5
Antigua & Barbuda 4
Armenia 4
El Salvador 4
Grenada 4
Iraq 4
Libya 4
Niger 4
Sudan 4
Syria 4
Belarus 3
Central African Republic 3
Jordan 3
Lebanon 3
Liberia 3
Montserrat 3
Namibia 3
Thailand 3
Afghanistan 2
Belize 2
Chinese Taipei 2
Eritrea 2
Ethiopia 2
Hong Kong 2
Palestine 2
Philippines 2
Saint Kitts and Nevis 2
South Sudan 2
Andorra 1
Aruba 1
Barbados 1
Bermuda 1
Guam 1
Guatemala 1
Indonesia 1
Korea DPR 1
Macau 1
Malawi 1
Malaysia 1
Malta 1
New Caledonia 1
Nicaragua 1
Papua New Guinea 1
Puerto Rico 1
Rwanda 1
Saint Lucia 1
Singapore 1
São Tomé & Príncipe 1


I wanted to visualize the data on a map. To do this,1 I first generated a world map data and renamed a few countries to align with the nomenclature in the FIFA21 dataset.

mapdata <- map_data("world")
mapdata <- mapdata %>%
  mutate(
    region = str_replace(region, "UK", "England"),
    region = str_replace(region, "USA", "United States"),
    region = str_replace(region, "South Korea", "Korea Republic"),
    region = str_replace(region, "North Korea", "Korea DPR"),
    region = str_replace(region, "Democratic Republic of the Congo", "DR Congo"),
    region = str_replace(region, "Republic of Congo", "Congo"),
    region = str_replace(region, "China", "China PR"),
    region = str_replace(region, "Taiwan", "Chinese Taipei")    
  )

Next, I joined the map data with the player nationality data.

map_players <- left_join(mapdata, player_nationalities, by = "region")

The map shows that England has the most players, followed by western Europe, Brazil, and Argentina. Relatively few players are from Africa, eastern Europe (including Russia), and southeast Asia. No players are from India.

ggplot(map_players, aes(x = long, y = lat, group=group)) +
  coord_fixed(1.3) +
  geom_polygon(aes(fill = Number_of_players)) +
  scale_fill_distiller(palette = "RdBu", direction = -1) +
  theme_void()


4.2. Quantitative variables

The data frame below summarizes the summary statistics of 6 variables.

  • Age: Player ages range from 16 to 53 years. The average age is 25 years.

  • Height: Player heights range from 61 to 81 inches (5’ 1” to 6’ 9”). The mean height is 69 inches (5’ 9”).

  • Weight: Player weights range 110 to 243 lbs. The mean weight is 165 lbs.

  • Length of time with team: The length of time players were with a team range from 0 to 23 years. On average, players stay with a team 3.74 years (median 3 years).

  • Wage: Wages range from €500 to €560,000. The mean is €8941 and the median is €3000.

  • Skill: Skill levels range from 40 to 470. The mean and median are similar (approximately 260).

summary_stats <- players_with_contracts %>%
  summarise(across(
    .cols = c("Age", "Height_in", "Weight_lb", "Years_with_team", "Wage_euro", "Skill"),
    .fns = list(
      min = ~ min(.x),
      max = ~ max(.x),
      mean = ~ round(mean(.x), 2),
      SD = ~ round(sd(.x), 2),
      median = ~ median(.x),
      IQR = ~ IQR(.x)
    ),
    .names = "{col}-{fn}"
  ))

# Transpose results
intermediate_long_df <- summary_stats %>%
  pivot_longer(
    cols = everything(),
    names_to = c("variable", "fn"),
    names_sep = "-",
    values_to = "stat"
  )

summary_stats_transposed <- intermediate_long_df %>%
  pivot_wider(
    names_from = "fn",
    values_from = "stat"
  )

kbl_display(summary_stats_transposed, "100%")
variable min max mean SD median IQR
Age 16 53 25.25 4.73 25 8
Height_in 61 81 68.92 5.34 69 12
Weight_lb 110 243 165.43 15.60 165 22
Years_with_team 1 24 4.74 2.29 4 3
Wage_euro 500 560000 8941.03 19934.64 3000 7000
Skill 40 470 255.69 79.00 269 88

4.2.1. Distributions

4.2.1.1. Length of time with team

A histogram shows that most players are with their team for 1-5 years.

bin_width <- 1
ggplot(players_with_contracts, aes(x = Years_with_team)) +
  geom_histogram(binwidth = bin_width, color = "black", fill = "steelblue", alpha = 0.2) + 
  xlab("Length of time with team (years)") + ylab("Count") +
  theme(axis.title = element_text(face = "bold")) +
  scale_x_continuous(breaks = seq(0, 25, by = 5))


4.2.1.2. Wages

Due to the wide range of wages (ie, several orders of magnitude), I examined the distribution of \(log_{10}(Wage)\). The distribution shows that wages have discrete values between approximately €1000 (\(10^3\)) and €6000 (\(10^{3.8}\)) and that wages in this range are the most common in the dataset.

bin_width <- 0.01
ggplot(players_with_contracts, aes(x = log10(Wage_euro))) +
  geom_histogram(binwidth = bin_width, color = "black", fill = "steelblue", alpha = 0.2) +
  ylim (0, 3000) +
  ylab("Count") +
    theme(axis.title.y = element_text(face = "bold")) +
  xlab(bquote(bold(log[10](Wage)))) +
# I had a little difficulty customizing the axes with a log scale. A Stack Overflow webpage
# suggested using scale_x/y_continuous with a "log plus one" (log1p) transformation.
# https://stackoverflow.com/questions/24646594/how-to-improve-the-aspect-of-ggplot-histograms-with-log-scales-and-discrete-valu
# expand is a vector that specifies the offset of data points from an axis (https://ggplot2.tidyverse.org/reference/expansion.html)  
  scale_x_continuous(breaks=c(2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6), trans = "log1p", expand = c(0, 0.025))


4.2.1.3. Teams with highest total wage expenses

The top two teams, Real Madrid and FC Barcelona, each spend more than €4,000,000 on player wages. Most of the top 10 teams appear to be European.

kbl_display(
  players_with_contracts %>%
  group_by(Team) %>%
  summarise(Total_wage = sum(Wage_euro)) %>%
  arrange(desc(Total_wage)) %>%
  head(10),
  "50%")
Team Total_wage
Real Madrid 4678000
FC Barcelona 4073000
Manchester City 3629000
Liverpool 3026500
Manchester United 2961000
Chelsea 2533000
Inter 2315000
Tottenham Hotspur 2263000
Paris Saint-Germain 2203550
Juventus 2036000


4.2.1.3. Skill levels

The distribution of skill levels is bimodal with a large proportion of players around a peak skill of 260 to 300 and a smaller proportion of less-skilled players around a peak of ~80.

bin_width <- 10
ggplot(players_with_contracts, aes(x = Skill)) +
  geom_histogram(binwidth = bin_width, color = "black", fill = "steelblue", alpha = 0.2) + 
  xlab("Skill level") + ylab("Count") +
  theme(axis.title = element_text(face = "bold")) +
  scale_x_continuous(breaks = seq(0, 500, by = 50))


4.2.2. Correlations

4.2.2.1. Wage versus skill level

Due to the number of data points (nearly 19,000), a scatterplot is overplotted and nearly impossible to interpret. To improve the visualization, I created a hexagonal heatmap, which bins data points into hexagons and then maps the fill color to the number of data points in each hexagon. In the plot below, the bright red hexagons show that players most often earn about €2500 (\(10^{3.4}\)) and have a skill level between 200 to 300.

ggplot(players_with_contracts, aes(x = Skill, y = log10(Wage_euro))) +
  stat_binhex(bins = 50) +
  scale_fill_gradient(low = "lightblue", high = "red", limits = c(0, 250)) +
  xlab("Skill level") +
    theme(axis.title.x = element_text(face = "bold")) +
  ylab(bquote(bold(log[10](Wage))))


4.2.2.2. Skill level versus length of time with a team

This plot shows that players are most often with a team for 3-5 years and have a skill level between 200 to 300.

Interestingly, as the number of years that players have been with a team increases beyond 8 years,2 the divergence between more skilled and less skilled players widens (purple arrows). This suggests that players stay with a team a long time either because they are very good (and probably well paid) or because they have not been able to improve (and would find it difficult to switch to another team).

ggplot(players_with_contracts, aes(x = Years_with_team, y = Skill)) +
  stat_binhex(bins = 50) +
  scale_fill_gradient(low = "lightblue", high = "red", limits = c(0, 250)) +  
  geom_segment(aes(x = 9, y = 150, xend = 20, yend = 275),
               arrow = arrow(length = unit(0.25, "cm")),
               linewidth = 0.5, linetype = "dashed", color = "purple") +
  geom_segment(aes(x = 9, y = 150, xend = 20, yend = 100),
               arrow = arrow(length = unit(0.25, "cm")),
               linewidth = 0.5, linetype = "dashed", color = "purple") +
  xlab("Number of years with team") +
  ylab("Skill level") +
  theme(axis.title = element_text(face = "bold"))


4.2.2.3. Wage versus length of time with a team

This plot shows that players most often earn about €2500 (\(10^{3.4}\)) and have been with a team for 3-4 years.

ggplot(players_with_contracts, aes(x = Years_with_team, y = log10(Wage_euro))) +
  stat_binhex(bins = 50) +
  scale_fill_gradient(low = "lightblue", high = "red", limits = c(0, 800)) +    
  xlab("Number of years with team") +
    theme(axis.title.x = element_text(face = "bold")) +
  ylab(bquote(bold(log[10](Wage))))


4.2.3. Analysis of covariance

I didn’t analyze wage versus time with a team with skill as a covariate because I haven’t learned how to do this yet.


5. Conclusions

I cleaned and tidied the FIFA21 dataset and performed some exploratory data analyses. I answered Lucas’ question about team expenses for player wages and showed that Real Madrid has the highest wage expenditure. Pairwise correlations of wage, skill, and length of time with team showed that players most often earn about €2500 (\(10^{3.4}\)), have a skill level between 200 to 300, and stay with a team for 3-5 years.

In my opinion, the most interesting finding from this dataset was the increasing divergence between more skilled and less skilled players among those who are with a team for longer than 8 years. This appears to be the threshold for players to either improve their skills or remain stagnant.


  1. This website was helpful: https://sarahpenir.github.io/r/making-maps/↩︎

  2. The starting point of the divergence differs a little between the scatterplot (8 years) and hexbin heatmap (9 years). The latter is slightly different due to the binning process.↩︎