Skip to main content

Era Adjustments (Part 2)

**Part 3 Includes HOF likelihood score and Tableau with all 100 seasons and more accurate data**
http://threepointgames.blogspot.com/2018/01/era-adjustments-part-3.html


This is a continuation of my first post seen here.

At the end of my last post, I mentioned several areas which I hoped to update, and in this post, I will address new changes.

The first change I made was switching the goal rate multiplier to a point rate multiplier. The relationship between these two is very strong, so the change wasn't too significant. This broadly means that over the last 50 years the NHL has generally assigned assists per goal at an even rate. I was also able to add the 2016-17 season to the data.

The next change I made was in the multiplier calculation. Originally, I converted each season from individual observations into percentiles so the seasons could be compared (different number of players each season). The percentile bins had different numbers of observations so this required the regression lines/multiplier as seen in the previous post. Instead of this method, I found the regression line for each season's Lorenz curve (Lorenz doesn't have a predict function), and using these curves I found the share for each player and created new multipliers. This method seems to have worked better and I'll be sharing the new top 20s below.

One of the observations made in the last version was Mario Lemieux's absence from top seasons. Because he played at the same time as other high scorers, this adjustment views this as meaning it was "easier" to achieve his results. Similarly, since there was a large gap between him and #1 (Gretzky), the adjustment was typically a little harsher on Lemieux. With that said, this new adjustment was more favorable to Lemieux, moving him up two spaces in career PTS and giving him more top 20 seasons.
Adjusted PTS | Difference | Player | Season
Top Seasons

Adjusted PTS | Difference | adj PPG | Player
Career Data















I also did some work looking at adjusted stats with HOF data to see how current players compare. This has been done in the past with previous adjustments and other era-adjusted stats and I just thought I'd give it a try. Here is a quick Tableau visualization I made for all career adjusted regular seasons stats from 1967-68 to 2016-17, showing HOF qualifications.

**For some reason the x-axis isn't loading but it is Adjusted Points
https://public.tableau.com/views/AdjustedPoints/Sheet3?:embed=y&:display_count=yes



Comments

Popular posts from this blog

Measuring Consistency

A while back I decided to look into player consistency, but after doing initial calculations, I never went any further. After Namita Nandakumar's VANHAC  presentation on consistency, I decided to go back, refine my old work, and release the results. Namita's methodology is likely much more statistically relevant and meaningful, but nonetheless, I use a different approach that I think is worth sharing. The methodology I adopted was taken from this article on Nylon Calculus on NBA player consistency written by Hal Brown. This consistency metric gets the normalized variance of a player's performance for a given metric. In this post, I will be calculating the consistency of a player's game score  (GS) in individual seasons, from 2007-08 to 2015-16, using the data provided at the bottom of the linked game score article. I also have a folder with my code + better resolution graphs + data at the bottom of the article if you'd like to check it out. Calculation T...

Who Plays Where? Determining Skater Positions Using Clustering

While browsing through various different websites keeping NHL player stats, I realized that the league does a terrible job of keeping updated player positions. I’m not exactly sure how or where they get their data from, but it is quite inaccurate. All sites do distinguish between forwards and defenseman, which is enough for most analysis, but I still think more specific player positions hold value, especially when looking at team depth and related areas. In an attempt to solve this problem, I decided to use k-means clustering on location information within play-by-play data (thanks to Emmanuel Perry and Corsica Hockey for making this cleaned data available to the public). Clustering has been used pretty frequently in hockey analysis, most recently (I believe) to identify different styles of goal scorers by Alex Novet. It has also been used by Ryan Stimson to identify team and player styles with data collected from his passing project and similarly on DTM About Heart’s old blog...

New Project Announcements

I recently completed two projects that were primarily shared through twitter but I'll briefly explain them on here. My first project is a shiny app that allows users to select two players from the entire history of the NHL, NBA, or MLB and view the shortest path between their careers by who they've played with. For example, here is how Jack Laviolette (born 1879) and Alex Formenton (born 1999) can be connected. You can use the tool here  jflancer.shinyapps.io/shiny_app/ . My second project was scraping NWHL play by play data and cleaning it into an easy to use format with R. This project entailed a lot of cleaning and formatting, and I additionally wrote a formula to calculate strength state from just the penalty and goal data available. If you'd like to check out the code or use the data it can be found here  https://github.com/jflancer/nwhl-scraper .