Banger Environment Index
Expected blocked shots for Monday, Oct 5
Every skater playing tonight, ranked by expected blocked shots. A player's own block rate and ice time drive the number. The Banger Environment Index then nudges it for how many shot attempts tonight's opponent takes and for venue. Shots that hit a teammate never count: the NHL credits those to nobody.
4 games · 144 skaters · updated Oct 4, 10:00 AM ET · model bangers-1.1.0
Game environments for blocks
Shot attempts is how much the opponent shoots compared with an average team. The environment index adds venue and the arena factor. Above 1.00 means more shots to block than average.
| Team | Opponent | Opp. shot attempts | Env. index | Exp. team blocked shots |
|---|---|---|---|---|
| PHI | @ TBL | 1.02 | 1.04 | 16.1 |
| TBL | vs PHI | 0.91 | 0.90 | 11.9 |
| OTT | @ BOS | 0.97 | 0.99 | 14.1 |
| BOS | vs OTT | 1.01 | 0.99 | 14.6 |
| WPG | @ PIT | 1.00 | 1.02 | 14.0 |
| PIT | vs WPG | 0.96 | 0.94 | 13.4 |
| SJS | @ DAL | 0.95 | 0.97 | 13.8 |
| DAL | vs SJS | 0.96 | 0.95 | 13.9 |
Top forwards by expected blocked shots
| # | Player | Game | Exp. TOI | Blocks/60 | Env. | Exp. blocks | P(2+ blocks) |
|---|---|---|---|---|---|---|---|
| 1 | Noel AcciariF | PHI @ TBL | 15:37 | 4.1 | 1.04 | 1.12 | 31% |
| 2 | Alexander WennbergF | SJS @ DAL | 19:57 | 3.1 | 0.97 | 1.01 | 27% |
| 3 | Shane PintoF | OTT @ BOS | 20:31 | 2.6 | 0.99 | 0.88 | 22% |
| 4 | Anthony CirelliF | TBL vs PHI | 19:05 | 2.6 | 0.90 | 0.75 | 18% |
| 5 | Michael AmadioF | OTT @ BOS | 17:30 | 2.6 | 0.99 | 0.74 | 17% |
| 6 | Adam LowryF | WPG @ PIT | 15:40 | 2.8 | 1.02 | 0.73 | 17% |
| 7 | Morgan BarronF | WPG @ PIT | 14:10 | 3.0 | 1.02 | 0.73 | 17% |
| 8 | Tyson FoersterF | PHI @ TBL | 18:26 | 2.3 | 1.04 | 0.73 | 17% |
| 9 | Radek FaksaF | DAL vs SJS | 11:31 | 4.0 | 0.95 | 0.73 | 17% |
| 10 | Macklin CelebriniF | SJS @ DAL | 21:06 | 2.0 | 0.97 | 0.70 | 16% |
| 11 | Mark KastelicF | BOS vs OTT | 11:10 | 3.7 | 0.99 | 0.69 | 16% |
| 12 | Wyatt JohnstonF | DAL vs SJS | 22:35 | 1.9 | 0.95 | 0.69 | 15% |
| 13 | Christian DvorakF | PHI @ TBL | 17:07 | 2.3 | 1.04 | 0.68 | 15% |
| 14 | Alex IafalloF | WPG @ PIT | 15:41 | 2.6 | 1.02 | 0.68 | 15% |
| 15 | Barclay GoodrowF | SJS @ DAL | 12:22 | 3.4 | 0.97 | 0.68 | 15% |
| 16 | Elias LindholmF | BOS vs OTT | 17:02 | 2.4 | 0.99 | 0.67 | 15% |
| 17 | Owen TippettF | PHI @ TBL | 16:46 | 2.3 | 1.04 | 0.67 | 15% |
| 18 | Justin HryckowianF | DAL vs SJS | 15:55 | 2.6 | 0.95 | 0.66 | 14% |
| 19 | Blake LizotteF | PIT vs WPG | 14:22 | 2.9 | 0.94 | 0.65 | 14% |
| 20 | Oskar BäckF | DAL vs SJS | 12:08 | 3.2 | 0.95 | 0.62 | 13% |
| 21 | Mark ScheifeleF | WPG @ PIT | 21:27 | 1.7 | 1.02 | 0.61 | 13% |
| 22 | Ben KindelF | PIT vs WPG | 14:04 | 2.8 | 0.94 | 0.61 | 13% |
| 23 | Tim StützleF | OTT @ BOS | 22:54 | 1.6 | 0.99 | 0.60 | 13% |
| 24 | Connor DewarF | PIT vs WPG | 14:37 | 2.6 | 0.94 | 0.59 | 12% |
| 25 | Zack OstapchukF | SJS @ DAL | 11:03 | 3.3 | 0.97 | 0.59 | 12% |
Top defensemen by expected blocked shots
| # | Player | Game | Exp. TOI | Blocks/60 | Env. | Exp. blocks | P(2+ blocks) |
|---|---|---|---|---|---|---|---|
| 1 | Thomas ChabotD | OTT @ BOS | 27:35 | 5.5 | 0.99 | 2.52 | 69% |
| 2 | Cam YorkD | PHI @ TBL | 22:58 | 5.4 | 1.04 | 2.17 | 61% |
| 3 | Nick SeelerD | PHI @ TBL | 16:53 | 7.1 | 1.04 | 2.07 | 59% |
| 4 | Travis SanheimD | PHI @ TBL | 25:31 | 4.5 | 1.04 | 2.00 | 57% |
| 5 | Esa LindellD | DAL vs SJS | 21:28 | 5.6 | 0.95 | 1.91 | 55% |
| 6 | Darnell NurseD | SJS @ DAL | 21:24 | 5.4 | 0.97 | 1.89 | 54% |
| 7 | Dylan SambergD | WPG @ PIT | 22:12 | 4.8 | 1.02 | 1.82 | 53% |
| 8 | Thomas HarleyD | DAL vs SJS | 24:04 | 4.7 | 0.95 | 1.77 | 51% |
| 9 | Mario FerraroD | WPG @ PIT | 20:20 | 5.1 | 1.02 | 1.76 | 51% |
| 10 | Trevor van RiemsdykD | PIT vs WPG | 19:11 | 5.5 | 0.94 | 1.66 | 48% |
| 11 | Luca CagnoniD | SJS @ DAL | 20:23 | 5.0 | 0.97 | 1.66 | 48% |
| 12 | Miro HeiskanenD | DAL vs SJS | 26:46 | 3.9 | 0.95 | 1.65 | 48% |
| 13 | Jamie DrysdaleD | PHI @ TBL | 21:46 | 4.1 | 1.04 | 1.56 | 45% |
| 14 | Jacob TroubaD | SJS @ DAL | 22:43 | 4.2 | 0.97 | 1.55 | 45% |
| 15 | Connor CliftonD | BOS vs OTT | 18:06 | 5.1 | 0.99 | 1.53 | 44% |
How the projections work
- Player rate
- Blocked shots 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 50 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: shot attempts
- More attempts against means more chances to block. The index is the opponent's shot attempts per game (shots on goal plus attempts that were blocked, recency-weighted and shrunk toward average), where 1.00 is average. Most games fall between 0.91 and 1.03.
- Venue and arena
- Road teams block slightly more (3% in 2024-25), because they spend more time defending. Arena scorer bias for blocks shrank sharply with centralised recording in 2024-25 and was undetectable in 2025-26.
- 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.093 vs 1.108 for the player's season-to-date average per game (1.4% better), and mean absolute error 0.718 vs 0.722. 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 blocked shots rises from 0.22 (own rate only) to 0.32 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 blocked shots, the deviance is 1.121 and the MAE 0.719, and team totals land within 2.6% of actual.
- Probabilities
- P(2+ blocks) comes from a negative binomial around the expectation (size 11.8, fitted on 2024-25). It is calibrated: in 2025-26, games we gave about 35% landed 34% of the time, and games we gave about 55% landed 54%.
Back-to-backs moved blocked shots 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 blocked shots calculated?
Expected blocked shots = the player's blocked shots 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 block-friendly tonight is: how many shot attempts the opponent takes per game, times a small venue factor (road teams block slightly more), times the arena scorer factor. 1.00 is a league-average spot.
Why do teammate blocks matter?
The NHL play-by-play logs a shot that hits a teammate as a blocked shot, but nobody is credited with a block. It happens about 1.4 times per team per game, roughly 9% of all blocked-shot events in 2025-26, and some of the biggest "blocker vs shooter" pairs in raw play-by-play are actually teammates. Our block counts use official credited blocks only, and our shot-attempt counts leave teammate blocks out.
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.