Visualising the luckiest Calgary Flames in the past five seasons using expected goals

The Calgary Flames have seen plenty of ups and downs in the past five years, both on and off the ice. In terms of their on-ice product, they’ve had one of their best franchise performances in 2018-19, just one season removed from missing the playoffs. This past season, they might have tended closer to what may be their true talent level in the standings—not a league-leading threat but definitely a playoff calibre team.

It goes without saying that a big portion of hockey involves luck. Some players can go through dry spells without a single goal to show for otherwise dominant performances, while others may see their shots hit the back of the net time and time again without being effective anywhere else.

To break down at how the Flames have fared in terms of luck, I decided to compare the difference between goals scored and individual expected goals for every player that suited up for the Flames in the past five seasons.

Visualising expectations

Since quantifying luck is no exact science, I tried looking at the difference between goals scored versus expected goals, also known as goals above or below expected, as a simple way to compare different players and their performances over the years. Simply put, if a player has a highly positive differential, they may have been luckier in that season. Similarly, if they have a negative differential, then they would have been deemed unlucky.

I plotted every player to play at least one game for the Flames between 2015-16 and 2019-20 using data at all situations, courtesy of NaturalStatTrick. I did not think filtering out players with limited games as necessary in this case, as there’s always a chance a skater was highly limited in ice time but still managed to get rather lucky.

A limitation of this plot is that in measuring luck as a differential, it treats players that play well at expected levels identically to players that play poorly at expected levels. However, that isn’t the purpose of the plot as it is supposed to identify luck rather than skill.

To provided added context, players are split into forwards and defencemen based on shape, and total time on ice is shown using colour. The plot was made with R using ggplot2 and ggbeeswarm, and the colour palette was from Carto.

Observations from the data visualisation

From here, we can make high level observations of the Flames for each season. For example, 2015-16, 2016-17, and 2018-19 included several players that exceeded expectations, and on aggregate those seasons were probably overshoots in terms of goal outputs. In contrast, 2017-18 was filled with players who underperformed, with just a handful of skaters having a positive differential.

However, 2019-20 was interesting, as much of the team floated close to breaking even, all bound to plus or minus 2.5 goals difference from expected with the exception of just two players, Elias Lindholm on the positive end and Tobias Rieder on the negative. If this metric shows anything, perhaps this past season was the closest indication of the Flames’ true talent level after all.

Looking at the distributions, most players who float around a zero differential often played limited minutes, as most data points are closer to the yellow side of the colour scale than the purple. The colour palette was chosen such that most if not all of the pale yellow data points would be close to the zero line and not distract too heavily from other data points.

For time on ice context to go with the colour scale, the most purple data points and the largest time on ice totals came in 2015-16 and 2017-18, when Mark Giordano posted nearly identical total ice times at 2033.0 and 2032.5 minutes.

Speaking of time on ice, some players logged a lot of minutes, scored a lot of goals, and still floated right at the zero line. The player of note in this regard would be no other than Johnny Gaudreau. In 2019-20, he scored 18 goals with 18.30 expected goals and in 2016-17, he scored 18 goals with 17.85. Both performances were exceptionally close to expectations.

However, the closest performances to expectations go to Matt Stajan in 2016-17 and Dillon Dube in 2019-20. Stajan scored six goals on 6.01 expected goals, and Dube similarly scored six goals on 5.98 expected goals.

Overall, there’s lots to see and discuss just by looking at goals above or below expected, and to round it all out, we can dive into the numbers and see which players were the luckiest and unluckiest over this time frame.

Luckiest Flames

RankSeasonPlayerGoalsxGG – xG
12019-20Elias Lindholm2916.1612.84
22018-19Johnny Gaudreau3625.6910.31
32015-16Mark Giordano2111.699.31
42018-19Matthew Tkachuk3425.328.68
52015-16Johnny Gaudreau3021.618.39
62015-16Joe Colborne1911.237.77
72018-19Elias Lindholm2720.086.92
82016-17Kris Versteeg159.855.15
92018-19Mark Giordano1711.95.1
102018-19Sean Monahan3429.294.71
112015-16Mikael Backlund2116.454.55
122016-17Micheal Ferland1510.564.44
132018-19Michael Frolik1612.073.93
142016-17Mark Giordano128.233.77
152018-19T.J. Brodie95.343.66

This past year, Elias Lindholm posted nearly 13 more goals than expected, leading the way for all Flames. In 2018-19 when it seemed like every Flame caught lightning in a bottle, Gaudreau led the way, but was joined by Matthew Tkachuk, Lindholm, Giordano, Sean Monahan, Michael Frolik, and T.J. Brodie as players with some of the best differentials in the past five years.

Giordano had himself a year back in 2015-16 as well, leading the team in goals above expected with over 9 extra goals. He was joined that year by Gaudreau and… Joe Colborne. Unfortunately the Flames didn’t make the playoffs that season.

Unluckiest Flames

RankSeasonPlayerGoalsxGG – xG
1402015-16Dennis Wideman24.34-2.34
1412017-18Travis Hamonic13.49-2.49
1422017-18Jaromir Jagr13.62-2.62
1432016-17Matthew Tkachuk1316.05-3.05
1442017-18Troy Brouwer69.09-3.09
1452015-16Lance Bouma25.22-3.22
1462017-18Matt Stajan47.37-3.37
1472017-18Michael Frolik1013.66-3.66
1482017-18Garnet Hathaway47.72-3.72
1492017-18Sam Bennett1115.69-4.69
1502017-18Mikael Backlund1419.33-5.33
1512017-18Curtis Lazar27.35-5.35
1522019-20Tobias Rieder49.48-5.48
1532018-19James Neal712.92-5.92
1542015-16Micheal Ferland411.88-7.88

As mentioned earlier, 2017-18 wasn’t a good year for the Flames, as nine different players ended up in the bottom-15. That year, the Flames just couldn’t seem to catch a break, and it was overall quite forgettable. Personally, the only detail of note was a part of the Travis Hamonic trade, where the Flames didn’t lottery protect the first round pick they traded to acquire him. That ended up being 12th overall pick Noah Dobson. Anyway, I digress.

Some of the unluckiest Flames in the past five years include names like Jaromir Jagr, Troy Brouwer, and Curtis Lazar. The James Neal experiment comes right near the bottom, with only Micheal Ferland posting worse luck back in 2015-16.

As luck would have it

Comparing the positive to negative differentials, it appears as though it’s easier to outperform expectations, as five players posted higher positive differentials than the lowest negative one. But as the saying goes, you have to be good to be lucky. The players atop the list often were some of the Flames’ best after all.

To really understand luck as measured by goals above or below expected requires a much more in depth analysis, but looking at how the Flames have fared over the years provides a good discussion and acts as a starting point.

To look at all Flames over the past five years, you can download the data below.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s