Error message

  • Deprecated function: Return type of Aws\HandlerList::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 32 of /var/www/html/vendor/aws/aws-sdk-php/src/HandlerList.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of & Aws\Endpoint\Partition::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Aws\Credentials\Credentials implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in include() (line 8 of /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/Credentials.php).
  • Deprecated function: Return type of Aws\Command::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of & Aws\Command::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Result::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of & Aws\Result::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
×

Entertainment

Investigating The Most Egregious Ballon d'Or Winners Of The Last 20 Years

After a decade-plus of domination by Lionel Messi and Cristiano Ronaldo, fans expected Ballon d'Or voting to bring some different results in 2021.

The obvious choice was Bayern Munich striker Robert Lewandowski, who was coming off a record-breaking 41-goal campaign in the Bundesliga. 

Instead it was Messi — seemingly entering the twilight of his career — who won the award for the seventh time. "Surely something must be done," the people exclaimed at this perceived injustice. "He still can't be the best player in the world."

Messi still is the best, but we'll get to that later.

How about some other questionable Ballon d'Or results — ones that reek of ineptitude and injustice. Well, those are aplenty.

Let's look at all of the Ballon d'Or results of the last 20 years to determine the most egregious outcomes.

Most Egregious Ballon d'Or Winners


2001 Winner: Michael Owen (Liverpool)

At his peak, a young Michael Owen cut through defenses like a hot knife through butter, but statistically, 2000-01 was his third-best season. He had 18 goals and 10 assists in the EPL as a 17-year-old in 1997-98 and posted a 19-goal, five-assist year in 02-03.

2001 was a down year for footballing talent, but does 16 goals and three assists in the Premier League warrant a Ballon d'Or for Michael Owen?

By comparison, Arsenal's Thierry Henry finished seventh after a 17-goal, nine-assist campaign, while Raul's 24 LaLiga goals and a league title were only good enough for second.

Egregiousness: 6/10

2002 Winner: Ronaldo (Inter Milan, Real Madrid)

In terms of talent, Ronaldo was the best player in the world in 2002. His Golden Boot performance at the World Cup led Brazil to the title, scoring eight goals in seven games and two in the final against Germany.

But can you give the Ballon d'Or to someone who only played 13 league matches in 2002? If we give the award based on season performance, Oliver Kahn and Thierry Henry are more deserving recipients.

Egregiousness: 7/10

2003 Winner: Pavel Nedvěd (Juventus)

Look, Pavel Nedvěd was a good player. He's an underrated midfielder that doesn't get enough recognition these days. But giving him the Ballon d'Or is the definition of egregious. 

Thierry had his best season statistically in 2002-03 with 24 goals and a league-record 20 assists in the EPL — maybe the only 20-20 season we'll see in the EPL. 

Over in Spain, Ronaldo had his first healthy season in half a decade, posting 23 goals while finishing 11th (!) in the voting one year after winning the award.

Even UCL winner Paolo Maldini would have been an acceptable choice, with the Milan defender still the best in the world at 35 years old. 

Egregiousness: 11/10

2004 Winner: Andriy Shevchenko (AC Milan)

 

Serie A's top goal-scorer in 2003-04, Shevchenko finished with one fewer goal involvement than Ronaldo and nine fewer than Thierry Henry.

Henry ended up fourth in the voting despite 30 EPL goals and an undefeated season with Arsenal. Makes no sense.

Egregiousness: 9/10

2005 Winner: Ronaldinho (Barcelona)

Ronaldinho's 18 goal involvements represent his worst full season at Barça, but his 14 goals across all competitions through the first three months of the 05-06 campaign were enough to sway the voters.

He was better than Steven Gerrard and Frank Lampard (second and third-place finishers), but it's hard to believe that Thierry Henry was snubbed again after a 25-14 line in the EPL.

Egregiousness: 5/10

2006 Winner: Fabio Cannavaro (Juventus, Real Madrid)

By this point, the voters said: "Hey, Cannavaro has been really good for a while, we snubbed Maldini and now he's too old, so we should give the award to the next best Italian defender."

Are we forgetting that Ronaldinho had the most goals + assists of any season in his career, or that Thierry Henry had another world-class year (27 goals, eight assists)? I mean really, what did Henry have to do to win a Ballon d'Or?

This was also the year that Gianluigi Buffon finished second and four other Italians received votes, so the voters were enamored with that 2006 World Cup-winning side.

Egregiousness: 9/10

2007 Winner: Kaká (AC Milan)

For so many of the Ballon d'Or winners in the early aughts, it seemed as if they never got the award at their peak. That was not the case for Kaká. 

While the Brazilian was always solid in Serie A, he seemed to save his best performances for under the European lights. He had 10 goals and three assists during Milan's Champions League-winning campaign in 06-07, including three goals in the semifinals against Manchester United.

Ronaldinho's 21-goal, eight-assist masterclass with Barça deserves consideration, but Kaká dominated the game like no one else in 2007.

Egregiousness: 3/10

2008 Winner: Cristiano Ronaldo (Manchester United)

And thus begins the Messi-Ronaldo show. For the next 10 years, Andrés Iniesta was the only player outside of this galactic duo to finish in the top two in Ballon d'Or voting.

Ronaldo's 31 EPL goals in 07-08 tied Alan Shearer's single-season record and he had eight more in his first nine league matches in 2008. For comparison, Fernando Torres was at his peak in 2008 and still only had 24 EPL goals.

Egregiousness: 1/10

2009 Winner: Lionel Messi (Barcelona)

While Ronaldo had a bit of a down year, Messi had his first true world-class campaign as a 21-year-old in 2008-09 as he led Barça to a historic treble.

Egregiousness: 1/10

2010 Winner: Lionel Messi (Barcelona)

Ronaldo had a solid first season at Real Madrid, but Messi stepped his game up to another level with 47 goals in all competitions. Another no-brainer.

Egregiousness: 1/10

2011 Winner: Lionel Messi (Barcelona)

While Messi and Ronaldo had an even number of goal involvements, Barcelona's Champions League semifinal victory over Real Madrid likely secured the award for the Argentine.

Egregiousness: 2/10

2012 Winner: Lionel Messi (Barcelona)

2012 was the year that Messi scored a record 91 goals, overshadowing Ronaldo's absurd 59 goals and 15 assists across all competitions in 11-12. Enough said.

Egregiousness: 0/10

Embed from Getty Images

2013 Winner: Cristiano Ronaldo (Real Madrid)

A year after Real Madrid set a LaLiga record with 100 points in a season, Barcelona returned the favor and regained the title with a 100-point campaign of its own. 

On paper, 12-13 and 13-14 were Ronaldo's two worst league campaigns in Spain outside of his debut season. But for the 2013 calendar year, the Portuguese attacker was on fire.

He had 62 goals and 14 assists across the 50 games he played for club and country. Messi had 31 goals and 16 assists in 48 games. 

No love though for Luis Suarez, who was in the midst of the best goal-scoring stretch in Premier League history but finished 19th.

Egregiousness: 2/10

Embed from Getty Images

2014 Winner: Cristiano Ronaldo (Real Madrid)

2013-14 was Messi's worst season since 2008-09, as the Argentine finished with just 28 goals and 10 assists in LaLiga, and Barcelona's only trophy was the Supercopa de España. 

Meanwhile, Real Madrid won the Champions League on the back of Ronaldo's 10 goals and four assists. 

Egregiousness: 1/10

2015 Winner: Lionel Messi (Barcelona)

How do you bounce back from a disappointing year? How about a treble-winning campaign with 58 goals and 27 goals across all competitions? Even Ronaldo's 48 goals and 16 assists weren't enough to keep Messi from regaining his crown, although Ronaldo had a slight case with 60 goals in 50 matches.

Egregiousness: 2/10

2016 Winner: Cristiano Ronaldo (Real Madrid)

Barca wins La Liga and Real wins the Champions League. It's a tough choice, but Ronaldo's nine extra league goals put him in front. Luis Suarez's 40 LaLiga goals and 16 assists — equal to Ronaldo and more than Messi — are only good enough for fourth.

Egregiousness: 3/10

2017 Winner: Cristiano Ronaldo (Real Madrid)

Messi takes the Golden boot in LaLiga, but Ronaldo wins the Champions League, UCL Golden Boot and takes home the domestic crown, all despite the fewest LaLiga goals of his career. This whole Messi vs. Ronaldo thing is getting pretty repetitive, isn't it?

Egregiousness: 3/10

2018 Winner: Luka Modrić (Real Madrid)

After watching Modrić galvanize an underdog Croatia side to the World Cup final, the Ballon d'Or voters decided it was finally time to end the Messi-Ronaldo stranglehold, and who better than a guy with three goals and 11 assists for the entirety of 2018?

Sure, it was time for a change, and Luka Modrić cannot be defined by his goal and assist totals, but I don't think anyone could argue that Modrić is even the best player on his team.

You have Mohammed Salah, who just put up 32 and 10 in his first EPL campaign and Harry Kane with a 30-goal season for Spurs, yet neither of them even cracked the top five.

Ronaldo came second despite fewer goal involvements than Kane or Salah while everyone was drooling over Kylian Mbappe's 13 goals and nine assists at age 18, so much that they gave him third-place.

Then there's top European scorer Messi — who also had 10 more goal-creating actions than anyone in Europe — who finished fifth in the voting. Not a great year for the voters.

Egregiousness: 9/10

2019 Winner: Lionel Messi (Barcelona)

Just seven votes separated Messi from second-place Virgil van Dijk. Was Barcelona's semifinal collapse at Anfield nearly the deciding factor here? 

Elsewhere, Cristiano Ronaldo finished third despite a below-expectations debut in Italy with Juventus, while Kylian Mbappe finished three spots lower in 2019 even though he posted a career-high 33 league goals. 

A slightly questionable result, but it's acceptable in the end.

Egregiousness: 4/10

2021 Winner: Lionel Messi (Barcelona, PSG)

Let me start by saying this: anybody that voted for Jorginho is absolutely clueless.

Per WhoScored?, of the 25 players that have appeared in the Premier League for Chelsea this season, Jorginho currently ranks 20th amongst them in player rating. Last season, he had the ninth-best player rating on the squad.

He ranks in the 90th percentile or better among European players when it comes to passes completed, passes attempted and interceptions, yet when it comes to more useful stats like progressive passes and progressive carries, he lags behind Sergio Busquets (among others) in both categories (per FBref). Would anyone even consider Busquests for the Ballon d'Or? Never.

This whole voting for a good player on a trophy-winning team has gotten completely out of hand.

Now for the real controversy: Messi over Lewandowski. How can you possibly vote against Lewandowski's 62 goals in the last 12 months? Take away his eight penalty kicks and he still has more goals than anyone in Europe.

But when you look at the advanced stats, the choice becomes simple:

FBref.com Logo Lionel Messi Scouting Report Table
Statistic Per 90 Percentile
Non-Penalty Goals 0.75
97
 
npxG 0.56
91
 
Shots Total 5.30
99
 
Assists 0.31
94
 
xA 0.32
99
 
npxG+xA 0.88
98
 
Shot-Creating Actions 6.43
99
 
Passes Attempted 70.85
99
 
Pass Completion % 83.4%
98
 
Progressive Passes 9.95
99
 
Progressive Carries 14.83
99
 
Dribbles Completed 3.85
99
 
Touches (Att Pen) 6.46
83
 
Provided by FBref.com: View Original Table
Generated 12/7/2021.

While there were a few players (namely Lewandowski) who narrowly exceed Messi in terms of goal-scoring, when it comes to creating chances, Messi is unsurpassed. The Argentine ranks in the 99th percentile amongst European footballers when it comes to expected assists, shot-creating actions, progressive passes and progressive carries, among a myriad other stats.

As for Lewandowski, those aforementioned goal-scoring numbers are impressive, but he is simply not the all-around attacking force that Messi is:

FBref.com Logo Robert Lewandowski Scouting Report Table
Statistic Per 90 Percentile
Non-Penalty Goals 1.15
99
 
npxG 0.95
99
 
Shots Total 4.49
98
 
Assists 0.13
51
 
xA 0.16
75
 
npxG+xA 1.12
99
 
Shot-Creating Actions 2.95
76
 
Passes Attempted 24.35
56
 
Pass Completion % 76.8%
77
 
Progressive Passes 1.82
67
 
Progressive Carries 3.59
68
 
Dribbles Completed 1.05
55
 
Touches (Att Pen) 8.52
98
 
Provided by FBref.com: View Original Table
Generated 12/7/2021.

Egregiousness: 3/10 overall, 10/10 for Jorginho

Videos you might like