Error message

  • Warning: Undefined array key 2 in t18v3z5_preprocess_node() (line 141 of /var/www/html/docroot/sites/all/themes/t18v3z5/template.php).
  • Warning: Undefined array key 2 in t18v3z5_preprocess_node() (line 138 of /var/www/html/docroot/sites/all/themes/t18v3z5/template.php).
  • Warning: Undefined array key 2 in t18v3z5_preprocess_node() (line 138 of /var/www/html/docroot/sites/all/themes/t18v3z5/template.php).
  • Warning: Undefined array key 2 in t18v3z5_preprocess_node() (line 141 of /var/www/html/docroot/sites/all/themes/t18v3z5/template.php).
  • Warning: Undefined array key 2 in t18v3z5_preprocess_node() (line 138 of /var/www/html/docroot/sites/all/themes/t18v3z5/template.php).
  • 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

Are Liverpool's Recent Struggles Just A Poor Run Of Form Or A Sign Of Deeper Problems?

It's not very often that a team can have a disappointing campaign but still find themselves at the top of the table. With the competitiveness of the Premier League, a struggling season means at best mid-table misery, at worst, relegation. 

Liverpool is currently even with Manchester United at the top of the Premier League table, but given the exceptional performances of last season, the club's form this year is below Jurgen Klopp's lofty standards.

Through 17 league matches, the Reds have 16 fewer points than they did at this stage last year and are experiencing their worst league form in more than two-and-a-half years. 

Klopp's side is currently enduring a 258-minute goalless stretch, the longest such of the German's Merseyside tenure, and has gone three Premier League matches without a win, the club's lengthiest winless run since April and May of 2018.  

Embed from Getty Images

This sort of regression was almost inevitable because Liverpool was never going to be as invincible as it was last season, when it won 32 of 38 EPL matches and secured the title in record time. 

But is this regression just a run of bad form or a signal of greater problems for Jurgen Klopp's men? Let's investigate.

This table shows the expected goal (xG) and expected point totals for Liverpool through 17 league matches both this season and 19/20 (stats via FBRef and Experimental361). It also compares the expected totals to actual results for both seasons:

Liverpool form

Liverpool form

The big takeaway? There is not a significant difference between the expected totals from last year to this year. The discrepancy comes from the level of performance relative to the expected goal and point totals. 

Liverpool has five fewer points than expected this year, while after 17 matches last year the club had exceeded its expected point total by nine full points. These results become even more obvious when investigating on a game-to-game basis.

2019/20 Liverpool won three matches in the first half of the season when it had a lower xG than its opponent. 2020/21 Liverpool has dropped points in five matches where it had a higher xG than the other team, including each of the club's three most recent matches:

Scores & Fixtures 2020-2021 Liverpool: Premier League Table
Date Round Result GF GA Opponent xG xGA
2020-12-27 Matchweek 15 D 1 1 West Brom 1.6 0.5
2020-12-30 Matchweek 16 D 0 0 Newcastle Utd 1.1 0.3
2021-01-04 Matchweek 17 L 0 1 Southampton 1.1 0.6
Provided by FBref.com: View Original Table
Generated 1/7/2021.

In 2020/21 Liverpool has also only won just one match when it had a lower xG total, albeit by a difference of just -0.1 xG against Tottenham. This season's Liverpool isn't as much underachieving; it's more that last year's Liverpool managed to have a historic level of overachievement.

Based on expected goals, Liverpool gained 11 more points than expected in 19/20 and should have finished in second place, six points behind Manchester City (which set the EPL record for goal difference but underperformed by 13 points). 

Embed from Getty Images

But supremacy doesn't last forever. After Manchester City's dominance during its first few seasons under Pep, the club saw a decline of nearly 20 points last year. This isn't abnormal — Arsenal's final total dropped 23 points in just two seasons after its Invincibles campaign of 03/04.

Now, after averaging 98 points over the last two Premier League campaigns, it looks like Jurgen Klopp's Liverpool is in for a regression as well (and a significant one too). 

One of the unique complexities about sports is that it is nearly impossible to play at such a high level for an extended period of time. Some of it is out of the players' hands: injuries are piling up for Liverpool this year, plus the effects of the COVID-19 pandemic likely are not helping.

Playing near-perfect football is also mentally taxing. Liverpool has been the number one target in the Premier League for some time now, meaning that the other 19 EPL clubs are gunning to beat the Reds every week.

Eventually, those teams are going to catch up. Eventually, those games where Liverpool was shoddy but still got the win, they will become draws and defeats. Call it luck, call it failing to play well; in the end it doesn't really matter because points dropped is points dropped

But you get the feeling that this is the time when truly great managers prove themselves. Sure, winning a league title is tough, but how many managers can guide their side back to success after an elongated run of poor form the next season?

Liverpool has one just three of its last eight matches, scoring a single goal or less in all five non-wins, but hope is still there. Liverpool is still in first for Pete's sake. That eight-game lull also included a 4-0 showing against Wolves and a seven-goal stomping of Crystal Palace.

Klopp has managed to get this far with such limited resources this season, and the team has held strong. The January transfer window provides a chance to address the glaring lack of depth in the squad.

To win the Premier League, Liverpool just can't simply keep pace with other title contenders, it has to out-run them. But does Jurgen Klopp's squad have it in them?

Videos you might like