Banger Environment Index
Expected hits vs results, Friday, Oct 2
Every skater playing tonight, ranked by expected hits. A player's own hit rate and ice time drive the number. The Banger Environment Index then nudges it for how often tonight's opponent absorbs hits and for home ice. Use it to stream hits in banger leagues and to compare peripheral lines.
5 games · 180 skaters · updated Oct 4, 9:21 AM ET · model bangers-1.1.0
How the projections did (5 finished games): 180 skaters were projected for 221 hits, and those who dressed recorded 191. 32 projected skaters did not dress (scratched or a late lineup change). Mean absolute error per projected skater was 0.92 (0.88 for those who dressed; season benchmarks 0.87 and 0.86).
Game environments for hits
Hits absorbed is how often the opponent gets hit compared with an average team. The environment index adds home ice and the arena factor. Above 1.00 is a better hitting spot than average.
| Team | Opponent | Opp. hits absorbed | Env. index | Exp. team hits | Actual |
|---|---|---|---|---|---|
| NYR6:30 PM ET | @ DET | 1.01 | 0.99 | 23.7 | 26 |
| DET | vs NYR | 0.99 | 1.01 | 19.3 | 29 |
| WSH7:00 PM ET | @ CAR | 1.24 | 1.15 | 22.9 | 19 |
| CAR | vs WSH | 0.90 | 0.94 | 23.4 | 32 |
| BOS8:00 PM ET | @ WPG | 0.94 | 0.94 | 21.9 | 26 |
| WPG | vs BOS | 1.09 | 1.09 | 22.7 | 17 |
| STL9:00 PM ET | @ DAL | 1.14 | 1.08 | 22.3 | 18 |
| DAL | vs STL | 0.91 | 0.95 | 19.4 | 21 |
| ANA10:00 PM ET | @ VGK | 1.17 | 1.10 | 25.8 | 25 |
| VGK | vs ANA | 1.02 | 1.04 | 25.7 | 18 |
Top forwards by expected hits
| # | Player | Game | Exp. TOI | Hits/60 | Env. | Exp. hits | P(3+ hits) | Actual |
|---|---|---|---|---|---|---|---|---|
| 1 | Marc GatcombNew team · 2 GP with VGKF | VGK vs ANA | 9:57 | 21.3 | 1.04 | 3.61 | 64% | 2 |
| 2 | Tim WasheF | ANA @ VGK | 14:11 | 12.7 | 1.10 | 3.28 | 59% | 2 |
| 3 | Cole KoepkeF | WPG vs BOS | 12:40 | 14.3 | 1.09 | 3.25 | 59% | dnp |
| 4 | Will CuylleF | NYR @ DET | 14:47 | 13.1 | 0.99 | 3.13 | 56% | 6 |
| 5 | Jordan StaalF | CAR vs WSH | 17:35 | 11.2 | 0.94 | 3.04 | 55% | 4 |
| 6 | Tye KartyeF | NYR @ DET | 13:54 | 13.1 | 0.99 | 2.94 | 53% | 1 |
| 7 | Tanner JeannotF | BOS @ WPG | 12:11 | 14.9 | 0.94 | 2.80 | 50% | 5 |
| 8 | Joseph VelenoNew team · 3 GP with NYRF | NYR @ DET | 12:07 | 13.7 | 0.99 | 2.68 | 48% | 0 |
| 9 | Nicolas DeslauriersF | CAR vs WSH | 7:07 | 24.3 | 0.94 | 2.67 | 47% | 7 |
| 10 | Ivan BarbashevF | VGK vs ANA | 15:17 | 10.2 | 1.04 | 2.66 | 47% | 4 |
| 11 | Michael Brandsegg-NygårdF | DET vs NYR | 12:32 | 12.4 | 1.01 | 2.58 | 46% | 2 |
| 12 | Andrei SvechnikovF | CAR vs WSH | 16:48 | 9.7 | 0.94 | 2.52 | 44% | 2 |
| 13 | Tom WilsonF | WSH @ CAR | 18:18 | 7.2 | 1.15 | 2.50 | 44% | 3 |
| 14 | Mark KastelicF | BOS @ WPG | 12:03 | 12.9 | 0.94 | 2.40 | 42% | 3 |
| 15 | William CarrierF | CAR vs WSH | 8:41 | 17.7 | 0.94 | 2.38 | 41% | 4 |
| 16 | Brett HowdenF | VGK vs ANA | 16:37 | 8.2 | 1.04 | 2.31 | 40% | 1 |
| 17 | Adam LowryF | WPG vs BOS | 15:27 | 8.3 | 1.09 | 2.29 | 39% | 3 |
| 18 | Dylan HollowayF | STL @ DAL | 18:34 | 6.5 | 1.08 | 2.15 | 36% | 1 |
| 19 | Marco KasperF | DET vs NYR | 13:23 | 9.5 | 1.01 | 2.13 | 35% | 1 |
| 20 | Alexey ToropchenkoF | STL @ DAL | 12:18 | 9.6 | 1.08 | 2.09 | 34% | 1 |
| 21 | Nic DowdF | VGK vs ANA | 13:01 | 9.4 | 1.04 | 2.09 | 34% | 2 |
| 22 | Morgan BarronF | WPG vs BOS | 13:19 | 8.8 | 1.09 | 2.08 | 34% | 1 |
| 23 | Jake NeighboursF | STL @ DAL | 14:28 | 8.1 | 1.08 | 2.08 | 34% | 1 |
| 24 | Ryan LeonardF | WSH @ CAR | 14:40 | 7.1 | 1.15 | 1.98 | 32% | 2 |
| 25 | Eeli TolvanenNew team · 3 GP with NYRF | NYR @ DET | 14:27 | 8.4 | 0.99 | 1.97 | 31% | 3 |
Top defensemen by expected hits
| # | Player | Game | Exp. TOI | Hits/60 | Env. | Exp. hits | P(3+ hits) | Actual |
|---|---|---|---|---|---|---|---|---|
| 1 | Jeremy LauzonD | VGK vs ANA | 16:33 | 11.8 | 1.04 | 3.32 | 60% | 2 |
| 2 | Connor CliftonNew team · 3 GP with BOSD | BOS @ WPG | 17:53 | 11.3 | 0.94 | 3.11 | 56% | 2 |
| 3 | Nikita ZadorovD | BOS @ WPG | 20:45 | 7.5 | 0.94 | 2.41 | 42% | 2 |
| 4 | Parker WotherspoonNew team · 2 GP with VGKD | VGK vs ANA | 21:41 | 6.2 | 1.04 | 2.28 | 39% | 0 |
| 5 | Neal PionkD | WPG vs BOS | 22:11 | 5.7 | 1.09 | 2.28 | 39% | 1 |
| 6 | Sean WalkerD | CAR vs WSH | 21:50 | 6.7 | 0.94 | 2.25 | 38% | 1 |
| 7 | Ben ChiarotD | DET vs NYR | 20:10 | 5.8 | 1.01 | 1.93 | 31% | 3 |
| 8 | Logan MaillouxD | STL @ DAL | 21:31 | 4.7 | 1.08 | 1.79 | 27% | dnp |
| 9 | Braden SchneiderD | NYR @ DET | 18:35 | 5.7 | 0.99 | 1.71 | 25% | 2 |
| 10 | Matt RoyD | WSH @ CAR | 19:41 | 4.4 | 1.15 | 1.63 | 23% | 3 |
| 11 | Brayden McNabbD | VGK vs ANA | 20:05 | 4.7 | 1.04 | 1.63 | 23% | 2 |
| 12 | Martin FehérváryD | WSH @ CAR | 19:10 | 4.2 | 1.15 | 1.53 | 21% | 1 |
| 13 | Moritz SeiderD | DET vs NYR | 24:28 | 3.5 | 1.01 | 1.44 | 19% | 0 |
| 14 | K'Andre MillerD | CAR vs WSH | 24:22 | 3.8 | 0.94 | 1.43 | 18% | 1 |
| 15 | Dylan DeMeloD | WPG vs BOS | 20:52 | 3.8 | 1.09 | 1.43 | 18% | 0 |
How the projections work
- Player rate
- Hits per 60 minutes over all situations. Recent games count more (half-life 40 games), and last season carries in at 50% weight. The rate is shrunk toward the forward or defense average with 25 minutes of league-average ice time, so a five-game heater barely moves it.
- Expected ice time
- A recency-weighted average of his last games (each game counts 0.8× the one after it). The expected lineup is the 18 skaters who dressed in the team's latest game this season. Anyone who has since moved to another club is dropped, and the gaps are filled from the previous game, then from the club's current roster (call-ups, new arrivals, season openers). A debut with no history gets his position's average rate and a depth-role 12 minutes (forward) or 17 minutes (defenseman). We don't read announced lines, so a late scratch still shows.
- Opponent: hits absorbed
- Teams that carry the puck more get hit more. Each team's hits absorbed per game (recency-weighted, shrunk 10 games toward league average) becomes an index where 1.00 is average, raised to the power 0.75 (fitted on 2024-25). Tonight's indices run from about 0.89 to 1.06.
- Venue and arena
- Home skaters were credited 4% more hits than road skaters in 2024-25, and the gap held in 2025-26. Arena scorer bias used to be much bigger. It shrank sharply when the league centralised event recording in 2024-25 (factors within about ±6%) and was undetectable in 2025-26. See the arena pages.
- How accurate is it?
- Fitted on 2024-25 and tested on every skater-game of 2025-26 (46,636 games), with each projection made before its game. Poisson deviance: model 1.176 vs 1.201 for the player's season-to-date average per game (2.1% better), and mean absolute error 0.856 vs 0.861. Single games are noisy, so the gain is modest. The opponent effect shows up more clearly at team level: the correlation between forecast and actual team hits rises from 0.33 (own rate only) to 0.40 once the opponent is included. These numbers assume the skater dresses. With our lineup rule, 6% of projected skaters (1.1 per team) did not dress in 2025-26. Counting those as zero hits, the deviance is 1.245 and the MAE 0.867, and team totals land within 1.9% of actual.
- Probabilities
- P(3+ hits) comes from a negative binomial around the expectation (size 7.8, fitted on 2024-25). It is calibrated: in 2025-26, games we gave about 35% landed 38% of the time, and games we gave about 55% landed 59%.
Back-to-backs moved hits by under 1% in both test seasons, and the pregame strength gap (a stand-in for expected score state) by 0–2%, so both are left out. Projections refresh several times a day, and lineups come from each team's recent games, not tonight's announced lines.
FAQ
How are expected hits calculated?
Expected hits = the player's hits per 60 minutes (recency-weighted and shrunk toward his position's average) × his expected ice time × the Banger Environment Index for tonight's opponent and venue. An index of 1.05 means a 5% better than average spot.
What is the Banger Environment Index?
A multiplier for how hit-friendly tonight is: how often the opponent absorbs hits (puck-carrying teams get hit more), times a small home-ice factor, times the arena scorer factor. 1.00 is a league-average spot.
Does the arena still matter for hits and blocks?
Much less than it used to. Up to 2023-24 some rinks credited 40% more hits than others. When the NHL centralised event recording in 2024-25 the effect shrank to within about ±6%, and in 2025-26 it did not repeat from one half-season to the next at all, so the factor is 1.00 everywhere. One more season will show whether it is gone for good. The arena pages show the full history.
Are these betting picks?
No. They are projections for fantasy hockey: an expectation and a probability, with the method and the error rate published. They are built from public NHL box scores and play-by-play.