Tonight’s NHL matchups
Four-level matchup filter: blue elite, green strong, yellow pretty good, red skip.
Today's NHL matchups
NHL games appear from the live schedule feed. New blue/green/yellow/red tiers are calculated for upcoming games only, using the latest available team statistics. Historical saved classifications retain their original labels and are not retroactively upgraded. Confirm data freshness and the starting goalie before considering any market. The displayed game date follows Toronto time.
Loading recorded NHL matchups…
Blue = Elite · Green = Strong · Yellow = Pretty Good · Red = Skip. Colours are not sportsbook recommendations.
Test your own matchups
Run SCULLY’s four-tier matchup screen with any matchup and performance window.
Tonight's matchups
Paste a game on each line. SCULLY checks all four rankings in each shooting direction and preserves the original 2025–26 historical shot research for context.
Offensive matchup rankings
Both directionsGoalie Saves Analyzer
Preserves SCULLY’s shot model, venue adjustment, conditional save-rate calculations, and manually entered sportsbook lines.
Goalie saves analyzer
Choose an attacking team and the opponent whose goalie will face those shots.
Select the actual home team for a venue-aware projection. Unknown keeps the shot estimate neutral. Stage 1 matchup colours do not change.
Goaltender inputs
Use verified 2026–27 goalie totals. Team shot data alone cannot reliably establish an individual's save percentage.
Ready to analyze
Choose teams and run the analysis. Goalies require a minimum of 75 actual current-season shots faced before a conditional save-rate estimate is shown. This is a data safeguard, not a guarantee of statistical accuracy.
Performance Tracker
All four SCULLY colour tiers. Verified individual starting-goalie saves, not combined team saves. Switch seasons to compare historical, live and combined performance.
Four-tier goalie-save tracker
Loading verified history…Original performance tracker — team shots and legacy v1 classifications (preserved)
SCULLY Performance Tracker
Only selections saved before puck drop are graded. Results are matched by NHL game ID and team, and published through GitHub. Archive classifications are the original pregame v1 model, not the new four-tier ratings. The archive is not retroactively recoloured.
Shot outcomes by classification
Completed and verifiedWhich original green scenarios were working?
Selected S01–S10 conditionRecorded shot threshold hit rate over time
Daily running averageNo verified records yet.
Daily archive
Original pregame snapshotsResearch + Data
Explore the exact source statistics, historical research, and live data controls used by SCULLY.
Automatic MoneyPuck updates
SCULLY checks for the latest published 2026–27 game logs whenever you open the website and again hourly while this page stays open. Once this site's GitHub daily-update workflow and Netlify Git deployment are connected, new completed NHL games will publish automatically each morning. Source: MoneyPuck team statistics and MoneyPuck's published game-by-game CSV.
Manual fallback: import current games
Upload an updated MoneyPuck all_teams.csv or current-season game-log CSV if the automated feed has not refreshed yet. Manual imports stay within your current browser tab.
The October 25 season totals are used for season-to-date team profiles until newer complete game logs arrive. Last-5/10/20 windows and regression training require individual game logs and continue using the actual available games. Manual imports are temporary; automatic publishing requires the one-time GitHub + Netlify setup described in README.
Method summary
Stage 1 uses the unchanged 2025–26 pregame quartile rules (8 highest/lowest teams) and observed shot thresholds. Stage 2 compares a venue-adjusted shot-rate baseline (using the 2025–26 league home/away split) with an exploratory 2026–27-only Poisson count regression that already has its own home-ice input. The regression excludes venue from its fitted features; the same fixed league-venue adjustment is applied exactly once to either model. The regression is chosen only if its venue-adjusted predictions beat the venue-adjusted baseline on a chronological holdout. Stage 1 remains unchanged. The regression is recalculated after uploading updated current-season data.
Goaltender probability uses a simplified conditional full-game save rate applied to the shot-count distribution. It does not incorporate verified starter probability, relief appearances, actual playing-time risk, empty-net attempts, or market calibration.
2026–27 team statistics (October 25 supplied snapshot)
MoneyPuckAll 32 teams. Select game situation to inspect the source totals you supplied. The 2026–27 matchup model's primary input remains all situations. This snapshot is not a substitute for the game-by-game logs used in recent windows and the regression.
October 25, 2026 at 6:34 AM ET source update. Shot-attempt rates reconstructed from rounded page percentages for temporary season profiling may be approximate; the daily game-log dataset uses MoneyPuck's exact counts.
2025–26 historical matchup definitions
Measured, not predictedS01 is the eligible league baseline. Each rule describes how team profiles were classified prior to historical games. Groups overlap; top/bottom ranks are based on 8 teams of 32.