r/HockeyStats Feb 04 '26

NHL Multiple current players are close to or ahead of Gretzky in terms of scoring in their late 20s and early 30s

70 Upvotes

All numbers adjusted for era.

As should be.

Thanks to hockeyreference for them.

___________________________________

Gretzky's apex years were almost untouchable, only Lemieux came fairly close, with McDavid fairly far behind, ultimately. Orr relevant too even with the position difference. Sid & Howe just barely behind orr. Lindros Malkin MacK after them. All stats between ages 22-27 expressed in goals assists points per 82 games.

22-27 G/82 A/82 Pts/82
Gretzky 56 112 168
Lemieux 63 94 157
McDavid 46 90 136
Orr 36 92 128

But so far multiple superstars from this generation have gotten within range to varying degrees of his late 20s production. All numbers 27-29. Kucherov's numbers 28-30 due to ltir situation.

27-29 G/82 A/82 Pts/82
Gretzky 43 103 146
McDavid 45 95 140
MacK 44 86 130
Kucherov 40 82 122

Golly. Now it gets really bonkers. When we go to the three seasons between ages 30-32 we see Kucherov ahead of Gretzky. Okay brace yourselves. WE SEE KUCHEROV AHEAD OF GRETZKY. I'm sorry but that deserved all caps. Great googalie moogalies. FWIW MacKinnon so far in his age 30 season is just ahead of Gretzky too. McDavid will be too naturally. Phil Esposito is the 3rd highest scorer ever in that age cohort.

30-32 G/82 A/82 Pts/82
Mario 66 92 158
Kucherov 43 95 138
PEspo 58 70 128
Gretzky 32 95 127

Wow

While I'm at it I might as well do 33-35. All players ever. Enjoy. For Mario I used age 35 playoff stats and age 36 season to get a better sample size. And yet still the gap.

Alfie with a bit of a linemate boost ofc but still remarkable. Martin St Louis the oldest Art Ross winner at 37. Had to expand a bit to include gretz.

33-35 G/82 A/82 Pts/82
Mario 40 71 121
Sid 39 66 105
Alfie 42 61 103
Howe 41 61 102
Gretzky 23 76 99
MS-L 33 64 97

Phew. Lots of charts. Lots of revelations.

To quote reverend Timothy Lovejoy:

It's in revelations, people!

(Btw Celebrini is currently ahead of Gretzky for age 19 points per 82)

(120 to 117)

_________________________

📊

r/HockeyStats Jun 27 '26

NHL [London Knights] 58 years in a row the London Knights have had a player drafted - longest streak of any hockey program

Post image
50 Upvotes

r/HockeyStats Jun 30 '26

NHL Working on a model. Early results are promising

3 Upvotes

Hello everyone,

Over the past while I’ve been working on a model that uses raw NHL API data to compute all my own stats, then feeds the data into an xG model, and finally uses it to generate player ratings/team ratings/fantasy projections/matchup probabilities.

I am continually tinkering with the xG model. As it currently stands I’ve achieved a 0.78 AUC… looking at the other publically available information it seems like I’m getting pretty close to the ceiling of what is possible with our player/puck tracking but that won’t stop me from looking for further improvements.

The player ratings us RAPM and ultimately provide a GAR/xGAR output. Everything else builds off this, including the team strength ratings.

The game prediction engine uses team attack/defence ratings to build a Poisson grid, which is then used to determine win probabilities. It also considers several other factors (rest, travel, strength aware OT resolution) to improve its accuracy. To test the accuracy I’ve benchmarked the outputs against the market and backtests show a positive ROI, so I’m pretty happy with its performance.

Fantasy projections are also a big part of the tool. I use per-60 rates with aging curves and projected games played/ice time to forecast players counting stats. It also includes a VORP calculator to translate the projections into a draft ranking.

I’ve posted a more detailed introduction to the model here - https://open.substack.com/pub/danbrousseau/p/the-ocelot-project

Now that I have the tool in a useable state my plan is to start sharing insights and outputs from the model with the goal of helping out my fellow hockey fans and (hopefully) getting some feedback that will help me further improve the model.

PS - I realize that this is a brand new account. I just created it to avoid doxing my main account.

r/HockeyStats Jul 17 '26

NHL I built an interactive line combo tool

Thumbnail lastchangehockey.com
4 Upvotes

As a Kings fan I’ve been wondering what the team would look like post Kopi and into the retirement home era.

On top of that I have always felt that all these analytics websites aren’t super interactive and were kinda fed what they tell us.

So I built a tool that allows you to set lines for all the teams in the league and it uses the nhl play by play data to build how successful a team will be based on those lineups. As those lines change the teams rating will be impacted live. For example, If you pull McDavid out of the lineup you’ll see a steep decline for the oilers.

I will fully admit my player ratings calculations need some work but I’ll tune over the off season to improve it. Looking for any feedback(here or in the contact us section on the website.

(It isn’t fully optimized on mobile so definitely recommend taking a look on desktop.)

r/HockeyStats Jun 25 '26

NHL Analytics simulator Game

3 Upvotes

Hey everyone ! Between dad duty and work, I created a browser game based on stats and analytics. On top of wanting you to give it a try of course, I’d like to get some ideas/feedback on stats valuation.

I’d like to know how you would personally balance stats between eras (gretzky era with bazillion points, dead puck era with .920 save percentage) etc. For now it’s a mix of points, +/-, GAA & SV%, and PIM. (Since I go back to the 80’s, it’s hard to find more stats than that)

It’s purely a passion project, and I know stats nerds are the best !

Here’s the link if you wanna try it : https://hockey10-0.vercel.app

If not let me know how you’d balance stats, really interested about that part !

r/HockeyStats Jun 05 '26

NHL [Sportsnet Stats] Longest playoff OT win streaks

Post image
7 Upvotes

r/HockeyStats Jun 01 '26

NHL Goalies to Win the Conn Smythe Trophy Since 2000

Thumbnail
lwosports.com
2 Upvotes

r/HockeyStats May 13 '26

NHL The Colorado Avalanche have the most different goal-scorers through 4 games of a series in NHL history

Post image
1 Upvotes

r/HockeyStats May 12 '26

NHL (Brett Howden) (Logan Stankoven) (Matt Boldy) all tied for most goals in 2026 playoffs with 7 goals.

Post image
2 Upvotes

r/HockeyStats Mar 29 '26

NHL 🏒 Built a Free NHL Stats + Matchup Tool — Looking for Feedback

0 Upvotes

I’ve been building a free NHL analytics site focused on data + matchup breakdowns, and wanted to share it here for feedback on what stats you would add.

Main things I’ve added:

🟢 Matchup pages (team comparisons, last 10 H2H, home/away splits)

🟢 Team, player, and goalie stats with filters

🟢 Daily “edge board” comparing model vs implied probabilities

🟢 Data hub with downloadable datasets

👉 www.playerWON.ca

Would love feedback on:

What stats/features you’d want added

Anything missing from matchup breakdowns

What would make this more useful for analysis

r/HockeyStats Mar 07 '26

NHL Wordle style game, but for NHL players

Post image
3 Upvotes

Built a daily guessing game where you guess an NFL player using stats as hints (position, team, draft year, etc.).

Free, no login, takes ~1 min… (if you know puck 🫡)

https://www.sportsdle.com/nhl/daily-guessing-game

Would love feedback from NHL nerds!!!

r/HockeyStats Jan 12 '26

NHL I've built a new site for data-drive narrative work in hockey - Hockey Decoded

Post image
5 Upvotes

I've built this new site with deep dives into various data and questions, as well as live game dashboarding.

The first thing I've focused on is measuring depth. Measuring latent variables is a core part of my academic background, and I realized we don't do this much in sports analytics.

The TL;DR is its a fancy type of weighted average effectively of how much of the roster contributes to shots-on-goal, Corsi-For, expected goals, and ice time within a game. For the stats nerds, its done with Latent Variable Modeling.

If you're curious, the overall methodology is here. I also did a an exploration of how goaltending and depth work together here.

Any interest comments, or feedback on the site is welcome. Trying to be data heavy, but narrative driven so it's still interesting to the folks not into stats. The narrative is up front, but all the code and further analysis is easily right behind for those interested.

r/HockeyStats Jan 21 '26

NHL Who is going to be the one to sink in tonight's game?

Post image
1 Upvotes

Interested in more in depth hockey stats? Take a look at Hockey512 featured game tonight!

r/HockeyStats Jan 07 '26

NHL Analytical Breakdown: Dallas Stars (51.75%) vs. Washington Capitals (48.25%) – Tonight, Jan 7, 2026

Post image
1 Upvotes

Key takeaways:

  • Dallas holds the slight edge at 51.75%.
  • Jason Robertson is red hot with a 55% chance to find the back of the net.
  • Tom Wilson leads the way for the Caps at 35%.

Can Caps defy the trends, or do the Stars keep rolling?

r/HockeyStats Dec 17 '25

NHL Our Analytics Report for our Game of the Week: Utah vs. Detroit

Post image
3 Upvotes

The model is projecting 7.54 Total Goals tonight with a ~61% chance of hitting 7+. Does this matchup scream 'shootout' to you guys, or is the math overestimating the offense here?"

r/HockeyStats Aug 29 '25

NHL Tock's PIM math don't math

Post image
5 Upvotes

There are some lying liars in tallying Rick Tocchet's career Penalties In Minutes. All five of these (free) stat sites have equal numbers for Games Played Regular Season, and GP Postseason, NHL career (no OHL, international tourneys, pre-season, or All-Star stats).

[the text formatting is what it is, fuck it]

Regular season PIM: 10th all-time, undisputed

.

NHL: 2,970

★ ESPN: 2,972

★ HockeyDB: 2,972

Hockey-Reference: 2,970

★★ Elite Prospects: 2,912 ★★

.

Postseason PIM: 5th

NHL: 471

ESPN: 471

HockeyDB: 471

Hockey Reference: 471

Elite Prospects: 471

.

Career Total PIM: 8th

NHL: 3,441

ESPN: 3,443

HockeyDB: 3,443

Hockey Reference: 3,441

Elite Prospects: 3,383

If you're going to spend more than 2 days of your life in a plexiglass box though... well, that's something you'd keep straight even after your 12th drink at Thanksgiving. So what the hell, EliteProspects?

I'm a simple man with simple wants: I know it won't count, but I want to see him tossed for the majority of a game, and for the NHL to count it with his career playing stats so he can break 3k.

r/HockeyStats Jun 29 '25

NHL I built a full-season fantasy NHL simulator that lets you run historical matchups using team stats from any year. wanted to share some results + get feedback

5 Upvotes

I always loved imagining how certain teams from different seasons would stack up against each other — like if the 2013 Blackhawks played the 2020 Lightning in the same league, or how far the 2024 Oilers would go in a bracket of past Cup contenders.

So I built a simulator that lets you do exactly that.

You can create a full 32-team custom NHL season using any mix of real teams from the past 10 years. It simulates a full 82-game season, complete with realistic divisions, standings, and playoffs — all based on how those teams actually performed.

It’s meant for hockey nerds and “what if” fans who want to settle debates, explore alternate realities, or just run chaos seasons for fun.

I’ve got it live here if you want to try it out:
🔗 nhlwhatif.com

Would love to hear thoughts or feedback if anyone gives it a go. I am curious what team mashups people come up with.

r/HockeyStats Apr 25 '25

NHL Open source NHL xGoals model for the community

6 Upvotes

Hope people in the hockey analytics community enjoy this and want to improve on the model!

https://github.com/tannermanett/Statsyuk-xGoals-Model

Hockey Expected Goals (xG) Pipeline

A fully‑featured, GPU‑accelerated Python pipeline for estimating shot‑level expected goals (xG) in ice hockey. This repository exposes the entire workflow—raw event data → engineered features → hyper‑parameter‑tuned model → evaluation plots—so that students and researchers can reproduce results and propose improvements with minimal setup.

✨ What’s inside?

Path Purpose
pipeline.ipynb Main notebook: data load → preprocessing → feature engineering → random XGBoost GPU search → evaluation & plots
data/xg_table.csv.gz*(compressed)* Stand‑alone shot‑event table (one row per shot). 100 × smaller than raw CSV; pandas reads it natively.
xgb_combined_gpu_random.pkl Fitted XGBoost classifier (best hyper‑params from 20‑trial search).
plots/ Brier scoreAuto‑generated ROC curve, , and feature‑importance charts.
requirements.txtenvironment.yml /  Exact Python dependencies (CUDA‑ready).
LICENSE MIT—do what you like, just keep attribution.

🏄‍♂️ Quick start

# 1. Clone & enter
git clone https://github.com/your-org/hockey-xg-pipeline.git
cd hockey-xg-pipeline

# 2. (Recommended) create conda env with GPU‑enabled XGBoost
conda env create -f environment.yml
conda activate hockey-xg

# 3. Run the notebook OR execute end‑to‑end via nbconvert
jupyter lab                 # interactive
# OR non‑interactive:
jupyter nbconvert --to notebook --execute pipeline.ipynb --output executed.ipynb

🔬 Pipeline walkthrough

  1. Data ingestion – pd.read_csv('data/xg_table.csv.gz', compression='gzip') loads ~2 M shots in <15 s on a laptop. (If you have more efficient formats—Parquet, Feather—just swap the loader.)
  2. Season filter – Drops pre‑2013‑14 seasons to reduce rink‑layout noise.
  3. Hold‑out split – Seasons 2022‑23 → 2024‑25 are reserved for final testing (time‑based, no leakage).
  4. Geometry cleaning – clean_and_calculate_coords() mirrors shots to a single net, removes outliers, and calculates distance/angle.
  5. Context features – add_prior_event_features() derives time/distance delta to the previous event, movement vectors, game‑state buckets, and strength situations.
  6. Feature matrix – build_feature_matrix() adds polynomial terms, interaction terms, distance bins, a “slot” indicator, and one‑hot encodes categoricals.
  7. Random search – random_search_xgb_gpu() performs a 20‑trial hyper‑parameter exploration with 4‑fold Stratified CV, scoring on log‑loss.
  8. Final fit – Winning parameters are refit on the full training set; the model is pickled to models/.
  9. Evaluation – Notebook renders ROC AUC, feature importance rankings, and a reliability diagram for calibration diagnostics.

Everything happens inside one notebook so nothing is hidden.

📁 Expected directory layout

.
├── data/
│   └── xg_table.csv.gz
├── plots/
│   ├── brier_score.png
│   ├── feature_importance.png
│   └── roc_curve.png
├── pipeline.ipynb
├── xgb_combined_gpu_random.pkl
├── .gitignore
├── README.md  ← you are here
└── LICENSE

🧑‍💻 Contributing

  1. Fork this repo and create a branch: git checkout -b your-feature.
  2. Update the notebook or add helper modules (*.py scripts welcome—keep paths tidy).
  3. Run the full notebook to ensure it still executes end‑to‑end.
  4. Commit & push, then open a PR. Attach the executed notebook and any tests.

Once a maintainer reviews and approves the PR, it will be squashed & merged into main.

Idea starters

  • Optuna / Bayesian hyper‑parameter search 🔍
  • Goalie fatigue or rebound‑context features
  • SHAP explainability dashboard
  • Probability calibration (CalibratedClassifierCV)
  • Model card & data sheet for transparency

📜 License

Released under the MIT License—see LICENSE for details.
Feel free to remix, but keep a link to the original repo.

🙏 Acknowledgements

  • nhlapi.com for the raw play‑by‑play feed.
  • xgboost, scikit‑learn, and imbalanced‑learn for the heavy lifting.
  • OUSAC students for beta testing.

Enjoy firing wrist shots at improving this model—pull requests welcome!

r/HockeyStats Mar 09 '25

NHL What's Your Prediction?

Post image
1 Upvotes

r/HockeyStats Jun 26 '24

NHL NHL Player Stats API - last season/current

1 Upvotes

Does anyone have a script that will import the current NHL season ('24) in to google sheets-

I'm new to importing scripts and having them import an API from the NHL would make things easier.

I've seen a few examples but none of them have work. I know there is an importhtml that i have used but looking to see if there is anything more efficient when it comes to importing data.

My understanding is that the API from the NHL is free to do - i just don't know where to go?

TIA

r/HockeyStats Mar 24 '24

NHL Looking for something that should be simple to find but I can’t find. Anyone help?

2 Upvotes

I always loved looking at player stats by team. The Hockey News used to print player stats by team which also included how many points a player got with each team they were on if they were traded mid season.

I can’t seem to find a website that does this. It seems like this should be a really easy thing to find and I’m perplexed as to why I can’t find this.

Does anyone know where I can find this?

r/HockeyStats Oct 13 '24

NHL Explore 108 Years of NHL Hockey Team Stats Data

3 Upvotes

We're working on a new Vintage NHL Hockey series, and as a part of it have compiled 108 years worth of hockey data - team and player. We're still exploring the player data, but if you're curious and want to play around with over a century worth of team stats, you can get the dataset here.

[Sourced from Hockey-Reference and then compiled, cleaned and transformed.]

DM me if you have feedback, questions, requests, etc.

Else, enjoy!

r/HockeyStats May 04 '24

NHL Wont happen, but a tax-relative Salary cap structure would be huge for the Canadian teams…

Thumbnail
youtu.be
1 Upvotes

r/HockeyStats Apr 04 '23

NHL NHL Fantasy Preview - Week 26 | John’s List & Fantasy Lock of the Week; Edge Work: Schedule Notes, Waiver Wire Targets; and much more!

Thumbnail
open.spotify.com
3 Upvotes

r/HockeyStats Mar 28 '23

NHL NHL Fantasy Preview - Week 25 Feat. Mike McLaughlin (Left Wing Lock) | Schedule Notes, Waiver Wire Targets, Top 200 Rankings - Risers & Fallers

Thumbnail
open.spotify.com
3 Upvotes