Analyzing Consistency Among NHL Forwards Performance

Authors

Zhongyang (Celine) Su

Chisunta Chikwamu

Cole Shegan Siniawski

Published

July 26, 2024


Introduction

In hockey like many other sports, consistency, the quality of being able to maintain high or low level performance, is the hallmark of athlete importance and investment. For example, we have two players, Player A and Player B who have played the same number of games through the same time span, and both players even put the same amount of points through that span of games. Which player would you like to have on your team?

Table 1: Player Performance
(a) Player A
Date Goals Assists Pts
Oct 10 0 2 2
Oct 13 0 2 2
Oct 17 1 1 2
Oct 19 0 1 1
Oct 22 0 0 0
Oct 13 1 1 2
Oct 26 1 0 1
Oct 31 1 1 2
Total 4 8 12
(b) Player B
Date Goals Assists Pts
Oct 10 3 3 6
Oct 13 2 4 6
Oct 17 0 0 0
Oct 19 0 0 0
Oct 22 0 0 0
Oct 13 0 0 0
Oct 26 0 0 0
Oct 31 0 0 0
Total 5 7 12

The answer to this question depends on what a team in general values. In terms of consistency, Player A is more consistent than Player B. This is because Player A scores one goal in many games and earns at least one point in all games but one. Player B, on the other hand, scores and only earns points in two games. The idea of consistency is so important because it may allow teams to make well-informed decisions that eventually lead to team success. Now as a general manager, if you value consistency, a player who scores and earns points in many games is a better choice than a player who is unpredictable in scoring. In this project, our main goal is to measure the consistency among NHL forwards’ offensive performance and examine the value of consistency.

Data

For this project, we downloaded player performance data from the open-source hockey statistics website Hockey-Reference. We used player statistics from the past 8 seasons, 2016-2017 season to the 2023-2024 season.

The Hockey-Reference data contains a multitude of separate tables with basic statistics to shootout statistics. For our work, we were interested in the basic statistics, advanced statistics, TOI/shift statistics (time on ice), and miscellaneous statistics. All of these combined have 112 variables and about 8000 observations, one observation for each player and season. To ensure we have a sample of active players, we manipulate the dataset to include players who have participated in at least five seasons and played in a minimum of 20 games per season. Due to Covid, we adjust the games played to an 82-game regular season for the 2019-20 and 202-21 seasons.

We are only interested in 9 variables, but we also create several new variables within each metric, and even combine metrics to measure consistency. For the new variables we create, we take existing performance metrics and transform them into /60 minutes metrics. We do so by taking the metric, dividing it by the player’s total time on the ice, and multiplying it by 60. An example of this is taking a player’s total even strength assists, dividing it by their total time on the ice, and multiplying it by 60 to find the number of even strength assists a player would have for every 60 minutes of time on ice.

Exploratory Data Analysis

Metric Stickiness

In order to select the performance metrics we want to use for measuring consistency, we examine the correlation, “stickiness”, between the metric in one season compared to the next. These scatterplots below represent the correlation between the metric in one season compared to the next season. A significant correlation indicates that the metric is predictable and can be used reliably in analyses. After we examine the “stickiness” of the metrics in the raw data, we select even strength goals, even strength assists, and shooting percentage based on their higher predictability.

Response Explanatory R^2_{EVGoals} R^2_{EVAssists} R^2_{ShotPerc}
2023 2022 0.162 0.167 0.130
2022 2021 0.129 0.272 0.059
2021 2020 0.188 0.234 0.109
2020 2019 0.069 0.353 0.048
2019 2018 0.214 0.227 0.084
2018 2017 0.179 0.216 0.111
2017 2016 0.046 0.097 0.062

Methods

As we aim to measure the consistency of forwards offensive performance, we want to visualize how their offensive performance varies over the 8 seasons, and create directional clustering in terms of how well players play and their consistency.

Z-score Analysis

Since our selected performance metrics have different scales and units, we use z-scores to standardize the performance metrics thus allowing us to combine metrics effectively and perform unbiased comparisons across players and seasons. To compute the z-score for each player, we first calculate the mean and standard deviation of each performance metric, subtract the mean of the metric from an individual player’s statistic, and then divide by the standard deviation of that metric.

Z = \frac{X - \mu}{\sigma}

The z-score indicates how a player’s performance deviates from the population mean. A positive z-score represents above-average performance, while a negative z-score indicates below-average performance. After our standardization process of computing a z-score for each individual performance metric of each player, we want to create a combined z-score for each player ability by applying weights to individual z-scores.

Principal Component Analysis

To determine the weights applied to each individual z-scores, we perform principal component analysis to those individual z-scores of performance metrics, normalize the loading values generated from PCA, and apply the normalized loading values as appropriate weights for computing the combined z-scores.

Weighted Mean Change

We use weighted mean change for measuring the consistency as it calculates the difference of a metric from one season to the next, and weights it based on the number of games played for each season. We compute the weighted mean change of each individual offensive metric for each player to capture the variability of their performance over eight seasons, and also calculate the weighted mean change of each player’s combined z-scores over the eight seasons, which aggregates the individual metric changes into a single, composite change value that reflects the overall trend in a player’s offensive performance consistency.

\text{Weighted Mean Change} = \frac{(w_1 + w_2) \cdot \Delta x_{1,2} + (w_2 + w_3) \cdot \Delta x_{2,3} + (w_3 + w_4) \cdot \Delta x_{3,4} + \ldots + (w_{n-1} + w_n) \cdot \Delta x_{n-1, n}}{\sum_{i=1}^{n} w_i}

The weighted mean change of either a single metric or a player’s overall offensive performance is a good measure for clustering. We use the weighted mean change of each player’s combined z-scores over the eight seasons on one axis as consistency, and the average combined z-scores over the same period as performance output on the other for our clustering analyses.

Results

PCA weights and Weighted Mean Change

As shown below, we obtain the weights for each individual z-score resulting from principal component analysis. The only component we are interested in is the first component since it explains for the most variance. The results can be interpreted as we weight the even strength assists z-score by 0.227, even strength goals z-score by 0.389, and shooting percentage z-score by 0.384. Hence, to create a combined metric using all three z-scores, we will use the loadings to weight each metric as described above for every player and season.

Variable Component 1 Component 2 Component 3
EVA Z-Score 0.227 0.630
EVG Z-Score 0.389 -0.165 -0.491
S% Z-Score 0.384 -0.205 0.481

Once the combined z-scores are calculated for every player and season, we find the mean combined z-score to represent each player’s performance. In addition, we measure the weighted mean change of those combined z-scores through all 8 seasons of data. Table 3 shows the top players with the highest performance and their respective weighted mean change. A weighted mean change closer to zero indicates that the player is very consistent and varies little from season to season, and a larger mean combined z-score indicates better performance.

Player Mean_Total_zscore Weighted_Mean_Change
Mark Scheifele 1.2066578 0.0008275
Nikolaj Ehlers 0.8895559 0.0009704
Brett Connolly 0.8795580 0.0010505
Nikita Kucherov 1.3859245 0.0012091
Leon Draisaitl 1.3422992 0.0013208
Mark Stone 0.8764098 0.0017772
Sebastian Aho 0.8682306 0.0018033
Sidney Crosby 1.0729822 0.0018781
Mikko Rantanen 0.9907957 0.0018910
Mitch Marner 0.6942425 0.0019240

Clustering

Using the mean combined z-score, we cluster both the player’s mean z-score and their weighted mean change of each metric and combined metrics. The clustering results show that players located in the bottom-right quadrant of the graph are consistent and high performing players. Players in the bottom-left quadrant are consistent but poor performing players. Players in the upper-right quadrant are inconsistent but high performing players. Players in the upper-left quadrant are inconsistent and poor performing players. The quadrants are created through the medians of the weighted mean change and the mean combined z-scores of each metric and combined metrics.

Performance, Consistency, and Salary

Finally, we were curious if there is currently value in consistency based on players’ salaries. Based on our results, there is a correlation between salary and player performance with an adjusted r-squared value of 0.344, while there might not be a correlation between salary and consistency with an adjusted r-squared value of 0.018.

Correlation Table Between Salary and Consistency & Salary and Performance
Adjusted.R.Squared Variable1 Variable2
Cap_WMC 0.0184667 Cap Hit Consistency
Cap_Zscore 0.3436713 Cap Hit Performance
Top 5 Players in Offensive Performance and Consistency
Player Mean_Total_zscore Weighted_Means_Change Salary
Mark Scheifele 1.2066578 0.0008275 8500000
Logan Couture 0.4605859 0.0008584 8000000
Nikolaj Ehlers 0.8895559 0.0009704 6000000
Brett Connolly 0.8795580 0.0010505 3500000
Jonathan Huberdeau 0.5746333 0.0011661 10500000

Discussion

Conclusion

Our project focuses on measuring consistency of player performance through the use of metric predictability, z-scores, principal component analysis, and weighted mean change. Each method provides useful numeric measures that allows us to identify how well players perform and how consistent their performance is through clustering.

Analyzing salary also gives us insights into the value of consistency. Players’ salaries are more subjective to performance than that of consistency, meaning teams might see more value in player performance than they do in consistency. Consistency seems to be a minor factor when it comes to determining players’ salaries, at least for forwards.

Limitations and Future Work

There are some limitations to our project though. First, we only examine season to season data, which might not be as accurate as game to game data. Second, there are only a few performance metrics for defensemen and goalies with predictability that we can use to measure consistency. In addition, we lack good quality performance data for measuring other abilities other than offense.

Some potential future work would be looking at measuring consistency on a game-to-game basis. This could involve looking if players are receiving consistent ice time each game or if they fluctuate up and down the roster. Additionally, we also want to consider examining consistency among defensemen and goalies since this project only covers forwards. Lastly, there is some potential modeling we could do to predict player consistency.

Acknowledgements

Special thanks to Katerina Wu, Caleb Pena, Luke Zulyak, Quang Nguyen, and CMU Stats Department for their guidance and feedback throughout the span of the project.

Contact Information

Zhongyang (Celine) Su, Wake Forest University, suz21@wfu.edu

Chisunta Chikwamu, Whitman College, chikwamm@whitman.edu

Cole Shegan Siniawski, Denison University, shegan_c1@denison.edu