Visualizing statistics by player age

rubenflamshep

Registered User
Dec 6, 2023
70
81
Toronto
scoutthe.xyz
Hey folks,

For the last couple months I've been tooling around with visualizing player statistics normalized by age. What drew me to this was issues with how we look at draft prospects - at any given point in time, a player born in January can be effectively a year older than a player born in December of that same year, even though these players are ostensibly in the same draft class/birth year (there's a well documented bias towards players born earlier in the year).

scoutthe.xyz is my attempt to correct for that. Now we can normalize player metrics for their age down to the day. For example we can see that Jason Robertson had a similar OHL point production to Max Domi (taken 27 picks earlier):
Screenshot 2023-12-06 at 4.18.30 PM.png


We can also express metrics as percentiles against every other player's performance at that exact age. To that end we can see that Alex DeBrincat's OHL point production percentile is not that far off of Mattew Tkachuk's (99.5 vs 99.8; Tkachuk would be taken 33 spots earlier that draft):

Screenshot 2023-12-06 at 4.30.26 PM.png


I've also tried to highlight the top players for their age. The scout league page for the NHL has a lot of the usual suspects but helps reinforce the notion that a lot of players are playing the best hockey anyone has ever seen for a player their age in the last 20 years (ravg = rolling average):
Screenshot 2023-12-06 at 4.34.07 PM.png


Anyways, I'd love to put this tool out there and get any feedback y'all can levy my way. I think it's a cool way of thinking about analytics and I suspect there are some people out there that share that sentiment!
 

Attachments

  • Screenshot 2023-12-06 at 4.06.45 PM.png
    Screenshot 2023-12-06 at 4.06.45 PM.png
    239.9 KB · Views: 11
  • Screenshot 2023-12-06 at 4.08.53 PM.png
    Screenshot 2023-12-06 at 4.08.53 PM.png
    222.7 KB · Views: 13
  • Screenshot 2023-12-06 at 4.25.50 PM.png
    Screenshot 2023-12-06 at 4.25.50 PM.png
    212.1 KB · Views: 14
Last edited:

TheStatican

Registered User
Mar 14, 2012
1,656
1,367
tyty! Let me know if you have any thoughts. I'm pretty eager for feedback
Impressive work there, the site is looking good. Few minor fixes I'd recommend; I know the search function is there and it works well but I would still place the names in the drop down list in alphabetical ordering, just looks cleaner that way. Also, I take it the "g" in the 10g 20g 30 g stands for games. That is reasonably inferred but I'd still recommend using the acronym "gm" instead due to "g" being the common nomenclature for goals.
 

rubenflamshep

Registered User
Dec 6, 2023
70
81
Toronto
scoutthe.xyz
Impressive work there, the site is looking good. Few minor fixes I'd recommend; I know the search function is there and it works well but I would still place the names in the drop down list in alphabetical ordering, just looks cleaner that way. Also, I take it the "g" in the 10g 20g 30 g stands for games. That is reasonably inferred but I'd still recommend using the acronym "gm" instead due to "g" being the common nomenclature for goals.
Yupp, have gotten that dropdown feedback before. Will look to deploy these changes this weekend. Thanks for taking the time to click around!
 

rubenflamshep

Registered User
Dec 6, 2023
70
81
Toronto
scoutthe.xyz
Impressive work there, the site is looking good. Few minor fixes I'd recommend; I know the search function is there and it works well but I would still place the names in the drop down list in alphabetical ordering, just looks cleaner that way. Also, I take it the "g" in the 10g 20g 30 g stands for games. That is reasonably inferred but I'd still recommend using the acronym "gm" instead due to "g" being the common nomenclature for goals.
The "gm" acronym and alphabetical drown have been added! I've also implemented a "comparable players" feature on the player page. Bedard finds himself in interesting company 👀

Screenshot 2023-12-27 at 3.46.01 PM.png


How this is calculated is a bit naive. I just compare the metric for the player in question for the last age it's available to other players at that same age and output those with the smallest delta. This isn't perfect and gets some weird outputs (CHL overagers tend to not have a lot of comparables) but it's fine as a first implementation. I'll further refine it if there's enough interest.
 
Last edited:

Kairi Zaide

Unforgiven
Aug 11, 2009
104,901
12,291
Quebec City
That's actually pretty neat. Good job on that !

Wonder if it'd be possible to eventually be able to include some advanced metrics (and other miscellaneous metrics, i guess) and maybe /60 metrics rather than per games (for the NHL). I guess that would be quite a challenge, and i'm unsure if there'd be a crowd for that (to justify the efforts), but that'd definitely be cool.
 
  • Like
Reactions: rubenflamshep

rubenflamshep

Registered User
Dec 6, 2023
70
81
Toronto
scoutthe.xyz
That's actually pretty neat. Good job on that !

Wonder if it'd be possible to eventually be able to include some advanced metrics (and other miscellaneous metrics, i guess) and maybe /60 metrics rather than per games (for the NHL). I guess that would be quite a challenge, and i'm unsure if there'd be a crowd for that (to justify the efforts), but that'd definitely be cool.
That's definitely possible. Per 60 min stats for the NHL make a lot of sense and I'll look to include those in the next update. As you suspect, most statistics should be possible, it's just a question of interest level/prioritization. What stats you like to see on your end if you could choose?
 

Kairi Zaide

Unforgiven
Aug 11, 2009
104,901
12,291
Quebec City
That's definitely possible. Per 60 min stats for the NHL make a lot of sense and I'll look to include those in the next update. As you suspect, most statistics should be possible, it's just a question of interest level/prioritization. What stats you like to see on your end if you could choose?
That's a good question. I tend to really love the more advanced stuff - stuff that requires a lot of computing like Evolving-Hockey's RAPM, GAR/WAR, etc. I doubt getting a hold of these stats for your site (and contextualized on a per-game basis at that) would be doable unless you partner with one of the analytics folks or compute those yourself.

"Mid-advanced" stuff (in a way) like xG are interesting because they're much easier to calculate and don't require the same level of contextualization more advanced stuff requires. There's multiple ways to calculate them, still, but it should be doable with NHL.com data. Just have to choose between "on-ice" and "individual" as to what you want to show (or both). I believe HockeyViz already has something similar in their visualizations, but you can't do comparisons and you don't have that level of details (it's very smoothed).

As a start, you can always try some of the basic stuff that's readily available on NHL.com if you're already scraping from there. Corsi, Fenwick, that kind of stuff.
 
  • Like
Reactions: rubenflamshep

Shad

Registered User
Mar 5, 2011
1,128
1,065
This is a pretty good idea and website.

A way to separate goals and assists would be excellent since total points are misleading, given that an average of ~1.7 assists are awarded per goal scored. I.e. a 17 assist player is worth about the same as a 10 goal scorer in a vacuum, but using total points makes the assist player look almost twice as good graphically.

Edit: Never-mind, I see a way now to look at both options. Excellent work.
 
Last edited:
  • Like
Reactions: rubenflamshep

rubenflamshep

Registered User
Dec 6, 2023
70
81
Toronto
scoutthe.xyz
This is a pretty good idea and website.

A way to separate goals and assists would be excellent since total points are misleading, given that an average of ~1.7 assists are awarded per goal scored. I.e. a 17 assist player is worth about the same as a 10 goal scorer in a vacuum, but using total points makes the assist player look almost twice as good graphically.

Edit: Never-mind, I see a way now to look at both options. Excellent work.
Thanks for the feedback! I've had other people comment that the drop downs aren't super intuitive and it seems that you missed them at first. Do you think it could be more obvious that they're a clickable element?
 

Ad

Upcoming events

Ad

Ad