What is an attacking player in soccer supposed to do?
We'll start here: score goals. And well, that's mostly it: Score a lot of goals, and no one really cares about anything else. Can't dribble? Won't defend? Don't like to pass? If you can overcome all that and find a way to get the ball past the opposing goalkeeper on a consistent basis, then we'll forgive all of your other sins.
For all of the mysteries and complexities of the beautiful game, the ability to smash the ball over the goal line, again and again, vastly outweighs anything else a player might be able to do on a soccer field.
But if we go one step back, then someone still has to create the opportunity for the goal, right? How do you do that? Most of the time, by passing the ball to a teammate who is in a better position to score. If goal-scoring is the most important thing -- the conversion of chances into goals -- then it stands to reason that the ability to create the capacity for a goal to be scored is the second-most-important thing.
Of course, the ball doesn't just magically appear in the area where it can then be turned into a chance, either. Someone has to create the capacity for goal scoring, and someone also has to create the capacity ... for the capacity of goal scoring to be created. Put more simply: Someone has to move the ball up the field.
On offense or in attack, however you want to phrase it, there are three phases: moving the ball up the field, creating chances and taking shots. We can measure all of these things in different ways, but what if we tried to combine the various metrics accounting for all three phases into what everyone loves: a single number stat? And what if we then used those to do the other thing that everyone loves: rank the best players in the world?
The methodology
We're operating from the following premise: simpler is better.
I'm not trying to create any kind of predictive metric. I don't want to account for team or league dynamics. I don't care about age curves. I'm ignoring defense and off-ball movement. I just want to know what players are moving the ball up the field, creating chances and scoring goals. And then I want to know who is doing it most often.
In baseball and basketball, they have something called "game score" -- an adjusted point total that awards pitchers and all basketball players for all of the basic stats they accrue in a single game. How much is eight rebounds, 15 points and two steals worth compared to 35 points and nothing else? Game scores can help. That doesn't exist in soccer, so we're devising a way to do something similar.
What are we including in this stat? First: goals. You score a goal, you get one point. In the interest of keeping things simple, I don't care if it's a shot from midfield, a tap-in or a penalty -- if you put the ball into the goal, we're giving you the full point.
Next, we're going a little more complex, but not too much: expected assists. Based on where you complete your passes to, how many assists would you normally accrue? We're giving each player full value for whatever their expected assist totals are. We don't care what your teammates did when you passed them the ball, we just want to know: What kind of goal-scoring capacity are you creating for others?
Then, lastly, we need to reward the players who move the ball up the field. To do that, we're using progressive carries and progressive passes. The definitions vary here from data provider to provider, and neither of the ones we're using are perfect, but they're simple enough.
We're defining progressive carries as "carries in the opposition half that are greater than five meters long and move the ball at least five meters toward the goal." And for progressive passes: "passes at least 10 meters long that also move the ball at least 25% of the remaining distance to the end line." Over the past two seasons, a goal has been scored for every 88.44 progressive actions. So we're giving each player 0.0113 points (or 1.13% of a goal) for each progressive pass or carry.
How that looks in practice: The best game of the Premier League season was Cole Palmer's 4.75 against Brighton. He scored four goals, created 0.62 expected assists, completed eight progressive passes and made four progressive carries.
For the rankings, we're only looking at domestic play in Europe's "Big Five" leagues, and we're also not minutes-adjusting or anything like that. That naturally favors Premier League players, who have played more games than those in other leagues. That'll even out if we look back on this later in the season, but for now: simpler is better. Who has scored goals, created chances and moved the ball up the field the most so far throughout this season? These cold, hard numbers will give us our top 100 ranking.
100. Noni Madueke, winger, Chelsea: 8.64
99. Justin Kluivert, winger, Bournemouth: 8.67
T-98. Rodrygo, winger, Real Madrid: 8.78
T-98. Alexandre Lacazette, forward, Lyon: 8.78
96. Rayan Cherki, attacking midfielder, Lyon: 8.80
Remember how I said this list would penalize players who haven't played a lot of games or a lot of minutes? Well, Cherki still broke the top 100 despite notching only 657 minutes so far in Ligue 1 play.
He might be ... the most interesting player in the world? At only 21 and with fewer than 700 minutes played, he's fourth in Ligue 1 in expected assists. He scores goals, and normalized per minute, his progressive passing and carry numbers are some of the best you'll see.

The only catch: He seems to fall out with his manager every season. Then again, Lyon have been an organizational disaster for the entirety of Cherki's professional career, so who knows?
I could see Cherki becoming one of those cult-hero types who has one or two great league seasons for a random club in Spain or Italy. I could see him in the Saudi league in three years. I could also see him becoming a starter on one of the best teams in the world. Pretty much everything is in play with this guy.
95. Arnaud Kalimuendo, forward, Rennes: 8.81
94. Cody Gakpo, winger, Liverpool: 8.84
93. Valentín Castellanos, forward, Lazio: 8.87
92. Trent Alexander-Arnold, fullback, Liverpool: 8.92
As a long-time defender of TAA's defending, I will admit: He was terrible without the ball against Manchester United. The conditions -- plus the positioning of Bruno Fernandes and Diogo Dalot -- really seemed to throw him off. But (A) he doesn't play this poorly on the defensive end every game, and (B) he's one of only three defenders who made this list.
One of the reasons Liverpool have been so solid under manager Arne Slot is that he realized that defensive trade-offs could be made elsewhere on the field -- more conservative positioning, slightly different personnel -- since he had a defender who could contribute like a top attacker.
91. Ludovic Blas, attacking midfielder, Rennes: 8.96
90. Harvey Barnes, winger, Newcastle: 8.97
He has played fewer than 800 minutes, but he has scored five goals, racked up a bunch of expected assists and contributed with a high level of carries, too. I was about to say something like, "This kind of improvement is what you might expect from someone at Barnes' age." But then I realized that he's already 27 years old. When the heck did that happen?
89. Enzo Fernández, midfielder, Chelsea: 9.02
88. Alexander Sorloth, forward, Atletico Madrid: 9.06
87. Achraf Hakimi, fullback, Paris Saint-Germain: 9.10
T-86. Himad Abdelli, attacking midfielder, Angers: 9.13
T-86. Christian Pulisic, attacking midfielder, AC Milan: 9.13
Thanks to a couple of injuries, Pulisic has played fewer than 1,000 minutes, and yet he leads his team in expected assists and is tied for the lead in goals.

As you can see above, this wasn't the kind of Pulisic we're used to seeing: the winger who would break into the box and cause chaos inside the penalty area. Instead he created a ton of chances from more traditional creative-playmaker areas: atop the box and in the half-spaces.
Former AC Milan manager Paulo Fonseca really seemed to unlock something new in Pulisic with this role. He was fired a little over a week ago, and we'll see whether his new manager, Sérgio Conceição, utilizes the American in the same way.
84. Dominic Solanke, forward, Tottenham: 9.14
83. Hakan Çalhanoglu, midfielder, Inter Milan: 9.15
82. Sandro Ramirez, attacking midfielder, Las Palmas: 9.19
For the handful of Everton fans out there wondering what might have been: Sandro has scored seven goals from 2.2 expected goals (xG), so far this season. Chop off just one of his goals, and he's not in the top 100. Drop him down toward his expected total, and he's not even in the top 500.
But hey, regardless of what's likely to happen in the future, he did score those goals, and that's a big reason why Las Palmas are well outside the relegation zone in Spain.
T-81. Hamed Traoré, winger, Auxerre: 9.36
T-81. Jamie Gittens, winger, Borussia Dortmund: 9.36
79. Luis Henrique, attacking midfielder, Marseille: 9.42
78. Alassane Pléa, attacking midfielder, Borussia Monchengladbach: 9.50
T-77. Tijjani Reijnders, midfielder, AC Milan: 9.53
T-77. Morgan Gibbs-White, attacking midfielder, Nottingham Forest: 9.53
75. Kai Havertz, forward, Arsenal: 9.54
74. Gabriel Martinelli, winger, Arsenal: 9.61
Our first two Arsenal players finally appear on this list. Want to know why, despite Manchester City's collapse, Arsenal have a less-than-20% chance of winning the league, according to every sportsbook? They have only one player ranked in the top 70 on this list -- and he's out injured until March.
73. Eliesse Ben Seghir, attacking midfielder, Monaco: 9.62
72. Patrik Schick, forward, Bayer Leverkusen: 9.66
My favorite entry on this list. He doesn't carry the ball. He doesn't pass the ball forward. He doesn't create for his teammates. Heck, he doesn't even really play: just 499 minutes, by far the fewest of anyone to make the top 100. But he has scored nine goals -- more than all but three other players in the Bundesliga -- so he still cracks the top 75.
71. Jens Stage, midfielder, Werder Bremen: 9.67
70. Florian Thauvin, forward, Udinese: 9.69
69. Brennan Johnson, winger, Tottenham: 9.74
68. Ayoze Pérez, forward, Villarreal: 9.76
67. Oihan Sancet, attacking midfielder, Athletic Club: 9.77
66. Federico Valverde, midfielder, Real Madrid: 9.80
65. Joshua Kimmich, midfielder Bayern Munich: 9.94
Selfishly, I want to see Kimmich leave Bayern Munich. He has managed to make his way up to 65th despite scoring only one goal, and he gets there with a freakish number of progressive passes and expected assists, plus a large number of carries, too. Just based on his on-ball numbers, he has been an absurdly dominant player for the past half-decade. As statistical analysis gets more sophisticated and becomes more mainstream, future generations are going to look back on Kimmich's Bundesliga stats and wonder whether he wasn't the best player in the world.
But I'd love to know exactly how much of that comes down to the style of play in Germany -- so much space in midfield -- and the dominance Bayern holds over the rest of the league. While it would be a massive risk for Manchester City to sign a 29-year-old with lots of miles on his legs, I want to see it happen. You know, for science.
64. Liam Delap, forward, Ipswich Town: 10.00
63. Vincenzo Grifo, attacking midfielder, Freiburg: 10.06
62. Keito Nakamura, winger, Reims: 10.11
61. Raúl Jiménez, forward, Fulham: 10.13
60. Ollie Watkins, striker, Aston Villa: 10.15
59. Antoine Semenyo, winger, Bournemouth: 10.18
T-58. Khvicha Kvaratskhelia, winger, Napoli: 10.23
T-58. Charles De Ketelaere, attacking midfielder, Atalanta: 10.23
56. Hugo Ekitike, striker, Eintracht Frankfurt: 10.36
I don't know what's in the water over in Frankfurt, but this team has transferred out four center-forwards for a combined €320 million over the past four years: Luka Jovic to Real Madrid, Sébastien Haller to West Ham, André Silva to RB Leipzig and Randal Kolo-Muani to PSG.
Ekitike is on loan from PSG, so Frankfurt won't get the transfer windfall from his breakout season, but their incredible center-forward scouting and/or development might get them into the Champions League next season.
55. Andrej Kramaric, attacking midfielder, Hoffenheim: 10.38
54. Nadiem Amiri, midfielder, Mainz: 10.51
53. Marvin Ducksch, forward, Werder Bremen: 10.54
52. Josko Gvardiol, left back, Manchester City: 10.66
He's ... in the 90th percentile or above for all players in goals, expected assists, progressive passes and progressive carries? I'm not convinced this is a good thing for Manchester City, but there's still an incredible amount of talent and versatility in this player. I mean, he's a center back playing fullback and somehow he almost broke the top 50 of this list?
T-51. Iago Aspas, forward, Celta Vigo: 10.68
T-51. Son Heung-Min, forward, Tottenham Hotspur: 10.68
These two men above are a combined 69 years old. The players directly below and above them are 22 and 23, respectively.
49. Nicolas Jackson, forward Chelsea: 10.70
48. Paulo Dybala, attacking midfielder, Roma: 10.71
47. Bruno Fernandes, attacking midfielder, Manchester United: 10.92
46. Jude Bellingham, midfielder, Real Madrid: 10.94
T-45. Anthony Gordon, left winger, Newcastle United: 11.09
T-45. Morgan Rogers, attacking midfielder, Aston Villa: 11.09
43. Ante Budimir, striker, Osasuna: 11.30
42. Junya Ito, winger, Reims: 11.39
41. Evann Guessand, forward, Nice: 11.48
40. Dejan Kulusevski, midfielder, Tottenham Hotspur: 11.52
In theory, I love manager Ange Postecoglou's decision to bump Kulusevski back into the midfield. That makes him a plus attacker for his position, while when he plays on the wing, he just doesn't have the athleticism to constantly stress the opposing defense.
However, with Kulusevski in the midfield, especially when the guy next to him is James Maddison, you need some heavy defensive cover in the holding midfield role and from your center backs. Very few of those players exist, anywhere in the world, at the base of midfield, while the couple of Spurs center backs who could help cover this lighter midfield have been out injured for the past few months.
39. Jarrod Bowen, forward, West Ham: 11.56
38. Luis Díaz, forward, Liverpool: 11.60
37. Lamine Yamal, winger, Barcelona: 11.61
I know this might feel disappointing -- more goals and more progressive passes would push him higher -- but the guy is still just 17. To put that into perspective: he's four years younger than anyone who is ahead of him on the list.
36. Dodi Lukebakio, forward, Sevilla: 11.64
35. Yoane Wissa, forward, Brentford: 11.67
34. Jonathan Burkardt, forward, Mainz 05: 11.76
33. Lee Kang-In, winger, PSG: 11.79
32. Pedri, midfielder, Barcelona: 11.84
31. Giovani Lo Celso, attacking midfielder, Real Betis: 11.93
30. Antoine Griezmann, forward, Atletico Madrid: 12.17
29. Michael Olise, winger, Bayern Munich: 12.23
28. Moise Kean, forward, Fiorentina: 12.36
27. Alex Iwobi, attacking midfielder, Fulham: 12.44
I don't really know how this became an Everton column, but here we are. These are the guys Everton fans should actually shake their fists toward.
Despite the ongoing rumors about manager Sean Dyche being on the hot seat, "bad coaching" is not their issue. Rather, it's "not having enough good players." Well, only 10 players in Europe's top five leagues have scored more goals than Kean this season, and Iwobi has developed into a really nice ball-moving midfielder for Fulham.
Five years ago, they were both playing at Goodison Park.
26. Tim Kleindienst, forward, Borussia Monchengladbach: 12.46
25. Álex Baena, left midfielder, Villarreal: 12.70
24. Chris Wood, forward, Nottingham Forest: 11.67
In 2022, Newcastle acquired Chris Wood from Burnley to weaken one of their direct rivals for relegation. At least, it seemed that way. More importantly, it worked, Burnley went down, and Newcastle let him leave for Nottingham Forest a year later. Newcastle ascended into the Champions League, and they sent Wood back down toward the bottom of the table, where he'd spent most of his career.
Fast forward a few seasons, though, and Wood is now the leading scorer for one of the teams that might keep Newcastle out of the Champions League places. It's funny how things work out sometimes, huh?
23. Bukayo Saka, right winger, Arsenal: 12.91
22. Mateo Retegui, forward, Atalanta: 12.97
21. Jonathan David, forward, Lille: 13.34
20. Vinícius Júnior, winger, Real Madrid: 14.11
19. Bradley Barcola, winger, PSG: 14.30
18. Jamal Musiala, attacking midfielder, Bayern Munich: 14.45
Gab Marcotti and Julien Laurens discuss the future of Bayern stars Jamal Musiala, Leroy Sane, Joshua Kimmich and Alphonso Davies with contract expirations looming.
17. Kylian Mbappé, forward, Real Madrid: 14.66
16. Ademola Lookman, winger, Atalanta: 14.78
Save for Retegui, who is a goal-scoring forward and not much else, and David, who gives you goals and assists, pretty much everyone else from Saka through Lookman is a creative ball-carrying wide attacker.
Lookman lands on top because he's in the 99th percentile among all players for goals and expected assists, but I think Musiala and Mbappe stand out the most. Mbappe, because he's not supposed to be only 17th in any kind of metric that is adding up all of the things players do on the attacking end. Musiala, because he's good at everything: scoring, dribbling, creating and passing.
Musiala is getting penalized because he plays in the Bundesliga, where they haven't played as many games yet, and Bayern still do seem to be managing his minutes. But Musiala is one of the core members of the group that's going to form the next generation of the best players in the world. The nice thing, too, is that you don't have to take my word for it. Just go watch him play for 15 minutes, and you'll know.
15. Marcus Thuram, forward, Inter Milan: 14.90
14. James Maddison, attacking midfielder, Tottenham Hotspur: 15.02
13. Ousmane Dembélé, winger, PSG: 15.10
12. Florian Wirtz, attacking midfielder, Bayer Leverkusen: 15.28
This is pretty much the topping-out point for high-volume ball progressors. Maddison, Dembele and Wirtz all just relentlessly move the ball upfield and create tons of chances for their teammates. They all score, too, but not at the high volumes necessarily to break into the upper portion of this list.
As you can see, the gap between 12th and 11th is way bigger than at any other point in the 100. In fact, the gap between 12th and 11th is roughly as big as the gap between 100th and 66th.
11. Matheus Cunha, forward, Wolverhampton Wanderers: 16.25
10. Alexander Isak, forward, Newcastle United: 16.88
James Olley assesses Arsenal's chances of a big January transfer move for a top striker like Alexander Isak or Viktor Gyökeres.
9. Mason Greenwood, attacking midfielder, Marseille: 16.90
From Cunha to Greenwood, we have three all-attackers who have scored at near-elite rates, create chances for their teammates, and still do a little bit of ball progression. But I also think they all might be benefiting from the "our team isn't that good, so I get to do a little bit of everything" effect, too.
These are fantastic seasons, but ones I'd be wary of from the outside. That is, other than Isak: He's clearly just a fantastic goal-scoring center forward whose pace also allows him to create lots of chances for his teammates.
8. Robert Lewandowski, forward, Barcelona: 17.52
7. Erling Haaland, forward, Manchester City: 17.69
What's the limit for your ranking when you score 16 goals but don't really do much else? Right around seventh or eighth.
6. Harry Kane, forward, Bayern Munich: 18.04
5. Omar Marmoush, forward, Eintracht Frankfurt: 18.18
4. Raphinha, left attacking midfielder, Barcelona: 19.80
3. Bryan Mbeumo, right winger, Brentford: 20.08
2. Cole Palmer, center attacking midfielder, Chelsea: 21.89
Now, from a pure score perspective, both Kane and Marmoush would fit better into a tier with Lewandowski and Haaland, but that's really only because they've both played significantly fewer minutes in Germany. From a performance perspective -- goals, creating chances, pushing the ball upfield -- they belong in the second-to-last tier.
Kane continues to be one of the most productive attackers in the world -- scoring goals and creating for others -- while doing a little bit of ball progression, too. Marmoush is that, but with elite ball-carrying. Frankfurt are doing it again, and unlike with Ekitke, someone is going to pay them a ton of money to acquire the services of their 25-year-old star forward.
Raphinha is probably the best all-around winger in the world right now. He's fantastic on and off the ball, he can dribble, pass and get shots for himself. Mbeumo might be the most underrated player in the world; his production seemingly shape-shifts every season based on what Brentford need him to do.
Palmer, meanwhile, is probably the best all-around attacker in the world right now. He's an elite goal scorer, creator, ball carrier and passer. Normally, that would be enough to land first on a list like this.
1. Mohamed Salah, right attacking midfielder, Liverpool: 24.85
If he only scored goals and did nothing else, Salah would've finished seventh on this list. But Europe's leading goal-scorer doesn't just score goals. He has transformed into one of the great creators in world soccer over the past few seasons, and a long ball out to Salah on the right wing has become a ball-progression cheat code for the current best team in the world.
Ping a ball out to Salah on the flank, he'll hold off the fullback like he's a center forward, and then he'll drive the ball into the opposition penalty area. Oh, and he has also added nearly a goal's worth of progressive passes this season, too.
I'm not sure there has ever been a better contract year -- in any sport.