NHL · 2026–27 SEASON · ALL 32 TEAMS · build 1017-0011
@waveintel
ALL 32
EASTERN
WESTERN
PLAYOFF
# TEAM WIPI ↕ FORM (L10) PTS% ↕ T-PP ↕ T-PK ↕ GF/G ↕ GA/G ↕ PTS INJURIES
TEAM A
VS
TEAM B
WIPI MODEL LAB
WAVEINTEL POWER INDEX · ADJUST WEIGHTS · TOTAL MUST = 100%
COMPONENT WEIGHTS
🔥 Recent Form (L10) 50%
Weighted result series — most recent = highest weight
⚡ Offense Rating 15%
xGF/60 (50%) + TRUE PP (30%) + GF/G (20%) — normalized
🛡️ Defense Rating 15%
xGA/60 (50%) + TRUE PK (30%, lower=better) + GA/G (20%) — inverted, normalized
📅 Schedule Quality 10%
Opponent strength — quality of wins matters
📈 Momentum Trend 10%
L10 PTS% vs season PTS% — is the team improving?
TOTAL: 100%
Home ice boost (+3% win prob)
DISPLAY SETTINGS
FONT FAMILY
FONT SIZE
WHAT THE MODEL MEASURES

WIPI (WaveIntel Power Index) is a 0–100 composite score reflecting current team strength and trajectory.

74–100 · 🔥🔥 RED HOT

Dominant form + quality wins. Build pools around them, bet with confidence.

58–73 · 🔥 HOT

Strong momentum. High pool value. Good moneyline vs cold opponents.

42–57 · → SOLID

Average performance. Pick individual matchups carefully.

26–41 · ❄️ COLD

Fading. Avoid in pools. Fade on moneyline vs. top teams.

0–25 · ❄️❄️ ICE COLD

Struggling badly. Sell assets. Under bet on totals.

📊 DATA SOURCE: live NHL.com official API + MoneyPuck.com, refreshed daily — full breakdown of every source and formula below.

⚠️ For research and entertainment purposes — not betting advice.

DATA & FORMULAS — WHERE EVERY NUMBER COMES FROM

Every number on every tab, one row each: what it is, where it comes from, and the exact math if it's not a straight pull. REAL DATA = pulled straight from the source. CALCULATION = an intentional WaveIntel formula (WIPI, Momentum, TRUE PP/PK, Win Probability — the only 4). FALLBACK = an in-house estimate, used only until a team's real value backfills. PLACEHOLDER = not real data yet, flagged. DISPLAY ONLY = a ranking/bucketing of real numbers above, not a new stat.

STATSOURCECALCULATION (IF ANY)
Standings & Record
Games Played, W-L-OTL, Points, Points%REAL DATANHL.com official API (standings/now)
Streak (code + count)REAL DATANHL.com official API (standings/now)
Playoff status, seed, points backCALCULATIONDerived purely from real points & points% — mirrors the actual NHL 3-per-division + 2-wildcard format live; no external "playoff odds" data used.
Goals
GF, GA, Goal Diff (season totals)REAL DATANHL.com official API (standings/now)
GF/G, GA/GREAL DATASeason total ÷ games played — exact, not modeled.
5v5 GF/60, GA/60 (Offence/Defence rows)REAL DATA FALLBACKMoneyPuck 5on5-situation real goalsFor/goalsAgainst ÷ that team's own 5v5 ice time (per 60, not per game) — reproduces MoneyPuck's own team-page numbers exactly. Falls back to an approximate per-game-based estimate only until a team's real value is backfilled.
Special Teams
PP%, PK%, Faceoff%REAL DATANHL.com stats API (team summary)
PP GF/60, PK GA/60REAL DATAMoneyPuck real goalsFor/goalsAgainst on the 5on4 (PP) / 4on5 (PK) situation rows, per 60 real ice time.
SH GA/60 (on PP), SH GF/60 (on PK)REAL DATASame MoneyPuck situation rows, the other real goal column.
TRUE PP, TRUE PKCALCULATIONTRUE PP = PP GF/60 − SH GA/60 (higher=better). TRUE PK = PK GA/60 − SH GF/60 (lower=better). Both real MoneyPuck per-60 numbers above, netted by WaveIntel. 5-on-4 / 4-on-5 situations only — MoneyPuck's public data doesn't cleanly separate 5-on-3/3-on-5 (two-man-advantage) situations from other odd-strength play, so that (smaller, higher-scoring) slice of PP/PK time isn't included. The rollover also lists the season goal totals behind each rate (PP goals for / shorthanded goals against, PK goals against / shorthanded goals for) — straight MoneyPuck counts for the same 5-on-4 / 4-on-5 situations, and the same numbers shown in the PP GOALS / SH GOALS column and under the scatter logos. A separate line in the rollover shows NHL.com's all-situations totals (which also count 5-on-3, 4-on-3 and other man-advantage goals) for comparison only — that's why they can be higher.
Special Teams Differential (Team Stats)REAL DATA(PPGF + SHGF) − (PPGA + SHGA), season totals, all situations — a plain sum and subtraction of real NHL.com power-play / penalty-kill report counts (PP goals for, shorthanded goals for, PP goals against, shorthanded goals against), the same way Goal Diff is just GF − GA. Includes 5-on-3 / 4-on-3 goals, so it can differ from the 5-on-4 / 4-on-5 goal counts on the TRUE PP / TRUE PK tabs.
Versus Goalie: GSAx, GSAx/60 (all / 5v5 / PK)REAL DATAMoneyPuck goalies.csv: expected goals against − actual goals against for each situation row, per 60 of that situation's real ice time. A plain subtraction of two MoneyPuck columns, same as the team GSAx.
Versus Goalie: 🛑 Save % marker (overall GSAx bar), Shots Faced/60REAL DATA1 − goals ÷ shots on goal (MoneyPuck ongoal/goals columns, matches NHL.com); shots faced = shots on goal per 60 of real ice time.
Versus Goalie: High / Medium / Low danger GSAx/60 and 🛑 save %REAL DATABar = that tier's expected goals − goals (MoneyPuck), per 60 of the goalie's real ice time. 🛑 = 1 − goals ÷ unblocked shot attempts at that tier (MoneyPuck's own definition — not shots on goal); reproduces MoneyPuck's goalie page exactly.
Team Quads: season-over-season arrowsCALCULATIONEach team is plotted at its real 2025-26 position (grey, dashed) and its real 2026-27 position on the same axes. The arrow's colour is a simple direction test: net move toward the top-right (the good corner on every quad chart), measured as a % of the chart — green = improved, red = declined, amber = within ±1.5%. Thickness grows with the size of the move. Presentation only; no new stat is created.
Versus (Team / Player / Goalie): season pickersREAL DATAEach side can be any season. Every side is ranked against its own season's league (e.g. 2025-26 MTL vs the 2025-26 league), so percentile bars stay apples-to-apples; the season is stamped on the header when the two sides differ.
Game Recap: Other SituationsREAL DATAMoneyPuck per-game file: the team's own 4on5 (shorthanded) + 'other' (5v3, 4v3, 4v4, 3v3, empty net) goals and xG, summed from each player's individual credit — same method as the 5v5 and PP rows. Games recapped before this column existed fall back to final score − 5v5 − PP (which also counts a shootout winner's credited goal).
Versus Goalie: L10 Starts iconsREAL DATANHL.com per-goalie game log, his last 10 games STARTED: result is NHL.com's decision (W / L / OT loss; grey = no decision, e.g. pulled). Hover = opponent, GA on SA, SV%.
Versus Goalie: Quality of competition (half-circle)CALCULATIONEach opponent a goalie STARTED against is scored 0–100 by where its season-to-date offence (MoneyPuck xGF per game, all situations; falls back to goals-for/game) ranks among the 32 teams (100 = best offence); the rating is the plain average over his starts, so 50 = a league-average schedule. Context only, not a goalie-quality score; opponents' numbers are as of today, not as of each game.
Versus Goalie: Starts, % of team starts, W-L-OTL, SO, GAAREAL DATANHL.com goalie summary. % of starts = goalie games started ÷ team games played.
Versus Goalie: Rebounds / Freezes per saveREAL DATAMoneyPuck rebounds and puck freezes ÷ saves on unblocked shot attempts (unblocked attempts − goals), the same basis as MoneyPuck's goalie page.
xGF/60 (PP), xGA/60 (PK)REAL DATAMoneyPuck expected goals, same 5on4/4on5 situation rows.
Expected Goals
xGF, xGA (season totals)REAL DATAMoneyPuck team season summary ('all'-situation row)
xGF/60, xGA/60 (5v5)REAL DATAMoneyPuck 5on5-situation score- and venue-adjusted expected goals (scoreVenueAdjustedxGoalsFor/Against) ÷ that team's own 5v5 ice time, per 60. This is NOT the figure on MoneyPuck's team page: the page shows plain (unadjusted) xG, and its per-60 column rounds the xG total down to a whole number before dividing, so it reads a little different (especially early in the season). See "Score & venue adjustment" below.
xG%REAL DATAScore- & venue-adjusted xGF ÷ (adjusted xGF + adjusted xGA), 5v5 — the same formula MoneyPuck uses for the "Score Adjusted Expected Goals %" column on its team page. This is the xG% under each logo on Team Quads (MoneyPuck's page default "xGoals %" column is the plain, unadjusted version).
Score & venue adjustmentREAL DATADefinition: MoneyPuck reweights each shot's expected goals by the game score and the rink it was recorded in. Teams protecting a lead tend to give up volume and teams chasing a game tend to push it, and home and away rinks record events a little differently; the adjustment removes that so a team isn't flattered or punished for how often it led, trailed or played at home. It is MoneyPuck's own adjustment, not WaveIntel's. Adjusted totals differ slightly from the plain totals (e.g. EDM 12.27 adjusted vs 12.06 plain).
Goaltending & Shooting
Save % (all situations)REAL DATA1 − (Goals Against ÷ Shots Against), from NHL.com's real totals. The plain hard stat, no modeling.
Save % (5v5)REAL DATASame formula, MoneyPuck's real 5v5 shots/goals-against.
Shooting % (all situations)REAL DATAGoals For ÷ Shots For, from NHL.com's real totals.
Last-10-Games
L10 W-L-OTL, streakREAL DATANHL.com official API (standings/now)
L10 game log (opponent, score, result)REAL DATANHL.com schedule + boxscore data, strictly filtered to regular-season games only.
L10 GF, GA, PP%, PK%, SV%, Shooting%REAL DATASame formulas as the season versions above, applied to the real last-10-games totals.
L10 TRUE PP, TRUE PKCALCULATIONSame PP GF/60 − SH GA/60 / PK GA/60 − SH GF/60 net, over MoneyPuck's real last-10-real-games file. Same 5-on-4 / 4-on-5-only scope as the season version — kept consistent deliberately, since MoneyPuck is the only source with any real L10 special-teams data at all.
Head-to-Head
H2H Record, GF, GA (per opponent)REAL DATANHL.com official API (club-schedule-season), regular-season games only. 2026-27 season only — no historical seasons tracked (yet).
H2H Points, Points%, Goal Diff, Home/Road splitCALCULATIONExact arithmetic on the real per-game results above (2/1/0 points, GF−GA, home vs. road game counts) — not a modeled stat, computed live in the browser from the Games sheet.
Division / Conference / Playoff Teams / Above .500 filtersCALCULATIONLive grouping of opponents by today's real standings data (division, conference, playoff status, points%) — recomputed on every view, never stored, so it can't go stale.
Players
Skater box score, ixG, shot/zone/PP/PK countsREAL DATAMoneyPuck.com skaters.csv (all/5v5/5-on-4/4-on-5 situation splits), same trusted source as team xG/TRUE PP-PK. 2025-26 (backfilled once) and 2026-27 share one sheet via a season column.
F-PWR / D-PWR (Player Power Rankings)CALCULATIONWeighted composite of live percentile ranks within the qualifying pool (min. 10 GP) — separate formulas for forwards and defensemen since their jobs differ. F: Offense 35% + Finishing 15% + 5v5 Impact 25% + 5v5 Defense 15% + PP 10%. D: 5v5 Defense 30% + 5v5 Impact 25% + Offense 20% + PK 15% + Retrieval 10%. Not a fixed scale like Team WIPI — recomputed against this season's qualifying skaters every load.
Player Card — L10 momentum, every bar (5v5, PP, PK, Shooting %, Save %)REAL DATAMoneyPuck.com's own pre-aggregated last-10-games bulk file (skaters_10.csv — the same file that powers moneypuck.com's own "Last 10 Games" leaderboard filter), same on-ice/situation-split schema as the season file, just over a shorter window. One bulk fetch per situation, not per-player.
Player Card — team rank & scoring shareCALCULATIONLive rank and % of team-total season points, computed from this season's full Players roster in the browser — not stored, recomputed on every view.
Player Card — 5v5/PP/PK on-ice GF, GA, xGF, xGAREAL DATAMoneyPuck.com skaters.csv, on-ice (not individual box-score) columns — team production/against while this specific player is on the ice, same source as team-level xG. PP/PK bars show N/A below a 1:00/game average TOI threshold in that situation, to avoid noisy rates on token shifts.
Player Card — Shooting % and Save %REAL DATAShooting % = individual goals ÷ shots (all situations). Save % = on-ice save percentage — 1 minus on-ice goals-against ÷ on-ice shots-against while this player is on the ice, all situations (not the goalie's individual save %).
Player Card — bar percentile positionsCALCULATIONBar width/tick position = live percentile rank within the qualifying pool (same technique as the Versus tornado bars); the number shown is the real stat, not the percentile itself.
Model & Composite (Model Lab)
WIPICALCULATIONForm (50%) + Offense (15%) + Defense (15%) + Schedule (10%) + Momentum Trend (10%). Injuries are shown on the site but are not part of WIPI. Weights adjustable above; full breakdown below.
MomentumCALCULATIONL10 Points% − Season Points%. The one Momentum formula, used everywhere it appears: Rankings, Versus, the Right-Brain export, and as WIPI's internal Momentum Trend component.
Win Probability (Versus tab)CALCULATION50% + (WIPI_A − WIPI_B) × 0.85, capped to 12–88%, +3% optional home-ice boost.
Schedule Quality (SOS)PLACEHOLDERFixed at 0.511 for every team — not yet fed by real opponent-strength data. Flagged, not hidden; kept as a placeholder per your call.
Injuries (Rankings, Versus Team, Versus Player)REAL DATAESPN's public NHL injury feed, refreshed with the daily update (2026-27 only). Shown for information — injuries are not part of WIPI or Win Probability.
Display-Only (not new stats)
Percentile position bars (Versus tab)DISPLAY ONLYRanking of the real stat values above across all 32 teams — not a new number.
WIPI tier labels & colors (RED HOT…ICE COLD)DISPLAY ONLYThreshold bucketing of the WIPI score.

WIPI COMPOSITE FORMULA (weights adjustable above)

🔥 Form L10 (default 50%) — weighted L10 result series, most recent game weighted highest (W = full weight, OTL = 40%, regulation L = 0).

⚡ Offense Rating (default 15%) — xGF/60 ×50% + TRUE PP ×30% + GF/G ×20%, each normalized 0–100 across all 32 teams.

🛡️ Defense Rating (default 15%) — xGA/60 ×50% + TRUE PK ×30% (lower=better) + GA/G ×20%, inverted and normalized 0–100.

📅 Schedule Quality / SOS (default 10%) — currently a fixed placeholder value, identical for every team — it isn't yet fed by real opponent-strength data, so it doesn't actually differentiate teams. Flagged here rather than hidden; ask if you'd like this wired to real data.

📈 Momentum Trend (default 10%) — same Momentum stat used everywhere else (see Rankings/Versus): L10 PTS% vs. season PTS%; formula: 50 + Momentum.

Win Probability (Versus tab) — 50% + (WIPI_A − WIPI_B) × 0.85, capped to a 12–88% range.

LIVE PREVIEW — TOP 15 RANKING
ALL
FORWARDS
DEFENSEMEN
FORWARD LINES
DEFENCE PAIRS
ALL SITUATIONS
5V5
PK
LIST
MY TEAM
ALL OPPONENTS
DIVISION
CONFERENCE
PLAYOFF TEAMS
ABOVE .500
OPPONENT ↕ GP ↕ RECORD PTS ↕ PTS% ↕ GF ↕ GA ↕ DIFF ↕ HOME ROAD LAST MEETING
FORWARDS
DEFENSEMEN
MIN. 10 GP · 5-ON-5 IMPACT METRICS
📡 Data: NHL.com official API · MoneyPuck.com · refreshed daily