Visualising how NHL players have performed in expected goals versus goals in 2021

The NHL officially wrapped up the 2021 regular season in the middle of the first round of the playoffs. The Calgary Flames and Vancouver Canucks took part in the final non-playoff game, which means all regular season outcomes and stats are complete for 2021. This provides an opportunity to use full-season data to explore the storylines that happened in the shortened 56 game season. First, we can revisit how players fared in terms of expected goals versus actual goals.

In hockey, expected goals (xG) are an advanced counting metric that uses past information of previous shots taken and gives context to derive shot quality of new shots. Using various inputs from previous shots such as shot location, events leading up to a shot, and league shooting averages spanning many seasons, every new shot taken can be assigned an expected goal value, independent from whether the shot turned into a goal.

Different xG models created by the hockey analytics community take various metrics into account, but most publicly available models all aim to achieve the same thing of determining shot quality. As the number of variables/inputs accounted for each model will differ, so too will the xG values. When using xG to compare teams or players, it’s important to use numbers from the same model and to state which model was used!

In short, xG provides valuable information to better the understanding of shot quality, and helps advance the understanding of the sport overall.

Expected goals vs goals performance banners

To compare how players have fared with respect to the differences in their expected goals versus their actual goal outputs, I created a data visualisation using slope charts (or parallel coordinate charts) to get a sense of which teams have are enjoying immense goal scoring boosts with their overperformers and which teams are snake-bitten with underperformers.

The slopes are used to compare every single player’s individual expected goals (ixG) to their actual goals by connecting the two values with a line. The left hand columns show ixG totals, and the right hand columns plot total goals. Therefore, looking at the slope of the line gives a direct indication of whether a player is scoring more or less than expected.

The more positive the slope (i.e. up and to the right), the more they’re overperforming. The more negative the slope (i.e. down and to the right), the more they’re underperforming. If a line is flat, then a player is scoring right about where they are expected to. The league’s top scorers will almost always outscore their expected goals pace, as above average talent and skill factors into how many goals above expected a player may score.

For the visualisation, xG data was obtained from, and contains data from all games from the 2021 season. The plots were created in R using “ggplot2” and “GGally” packages, and edited on Adobe Illustrator. Click on the image to see the full size.

Data visualisation showing slope charts of individual expected goals to actual goals for every NHL player during the 2020-21 season grouped by team. <a rel=


Better than expected

Here are the top ten players with the most goals scored above expected.

PlayerTeamGames PlayedGoalsixGGoals scored above expected
Alex DeBrincatCHI523216.615.4
Auston MatthewsTOR524125.7315.27
Brad MarchandBOS53291712.00
Leon DraisaitlEDM56312011.00
Ryan O’ReillySTL56241311.00
Connor McDavidEDM563322.3510.65
Nikolaj EhlersWPG472110.6510.35
Andre BurakovskyCOL53198.8510.15
Tyler ToffoliMTL522817.8910.11
Sam ReinhartBUF542514.9210.08

Alex DeBrincat scored a whopping 32 goals on just 16.6 ixG, almost doubling up on expectations. Auston Matthews won this year’s Maurice Richard Trophy, but also posted the highest total ixG of any player with a mark of 25.73. Most players in the group are known to be some of the league’s best scorers, but there are also some surprise names like Andre Burakovsky and Tyler Toffoli. That speaks volumes of the types of seasons they both had this year, particularly with Toffoli totally 28 goals in 52 games played.

Worse than expected

Similarly, here are the bottom ten players.

PlayerTeamGames PlayedGoalsixGGoals scored above expected
Nazem KadriCOL561118.31-7.31
Brady TkachukOTT561724.11-7.11
Rickard RakellANA52915.13-6.13
Ryan DonatoS.J50611.9-5.90
David KampfCHI5616.45-5.45
Lawson CrouseARI5148.65-4.65
Michael RasmussenDET4037.52-4.52
Kyle PalmieriNJD, NYI511014.5-4.50
Nick PaulOTT5659.26-4.26
Mikael BacklundCGY54913.04-4.04

These are essentially the league’s most snakebitten players, which has Nazem Kadri as the player who was most deserving of some more goals than he actually scored. Brady Tkachuk was just a bit behind Matthews, coming in second for ixG, but the two players had completely different seasons where Matthews scored an extra 15+ goals than expected while Tkachuk scored over seven less than expected.

Team observations

There are some observations that can be made about teams and divisions as well:

  • The Boston Bruins, Montreal Canadiens, and Pittsburgh Penguins were a few teams that had all of their top scorers outperform expectations. Notice how many of the slopes for these teams trend upward.
  • Conversely, the Detroit Red Wings, Nashville Predators, and Anaheim Ducks had more players either just about meeting expectations or hardly overperforming.
  • Some teams had their best scorers leading the way for both ixG and goals, such as the Edmonton Oilers, Washington Capitals, and Vancouver Canucks, this can be seen by noticing how the slopes for the top players don’t intersect.

There are plenty more observations that can be made and further explored by looking at the visualisation, these are just a few that stood out.

Exceptional expectations

Over the 56 game season, a few players were highly impressive throughout, while for others it felt like they needed just a few more games to catch a break. With the condensed number of games, have a few players outperforming or underperforming on a team can really change the outcome of the entire season.

As the league’s top 16 teams play on into the new playoff format, there’s additional emphasis on how literally anything can happen. For example, a Canadian team in guaranteed to head to the semifinals given the playoff format, and with Rounds One and Two of the playoffs being divisional, every team knows their opponent very, very well.

It’s true that anything can happen in the NHL playoffs, and this year it feels particularly more obvious. For the time being, let’s just all enjoy playoff hockey.

Back to top button