Banger Environment Index
Expected blocked shots for Tuesday, Oct 6
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.
9 games · 324 skaters · updated Oct 4, 11:30 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 |
|---|---|---|---|---|
| NSH | @ TOR | 0.93 | 0.95 | 12.6 |
| TOR | vs NSH | 0.98 | 0.96 | 14.1 |
| CAR | @ MTL | 0.95 | 0.97 | 12.8 |
| MTL | vs CAR | 1.12 | 1.10 | 17.2 |
| OTT | @ DET | 0.99 | 1.01 | 14.3 |
| DET | vs OTT | 1.01 | 0.99 | 14.8 |
| UTA | @ NJD | 1.06 | 1.08 | 15.2 |
| NJD | vs UTA | 1.03 | 1.01 | 13.4 |
| NYI | @ NYR | 0.95 | 0.96 | 13.5 |
| NYR | vs NYI | 1.01 | 0.99 | 14.1 |
| MIN | @ BUF | 1.00 | 1.02 | 15.3 |
| BUF | vs MIN | 1.01 | 0.99 | 13.5 |
| STL | @ CHI | 0.88 | 0.90 | 12.0 |
| CHI | vs STL | 0.95 | 0.93 | 12.1 |
| VGK | @ SEA | 0.94 | 0.95 | 14.1 |
| SEA | vs VGK | 1.01 | 0.99 | 14.9 |
| FLA | @ LAK | 1.04 | 1.06 | 13.5 |
| LAK | vs FLA | 1.00 | 0.98 | 14.8 |
Top forwards by expected blocked shots
| # | Player | Game | Exp. TOI | Blocks/60 | Env. | Exp. blocks | P(2+ blocks) |
|---|---|---|---|---|---|---|---|
| 1 | Auston MatthewsF | TOR vs NSH | 20:54 | 3.2 | 0.96 | 1.08 | 29% |
| 2 | Ryan HartmanF | MIN @ BUF | 15:32 | 3.8 | 1.02 | 1.01 | 27% |
| 3 | Michael McCarronF | MIN @ BUF | 15:13 | 3.8 | 1.02 | 0.97 | 26% |
| 4 | Michael RasmussenF | DET vs OTT | 12:35 | 4.4 | 0.99 | 0.91 | 23% |
| 5 | Juraj SlafkovskýF | MTL vs CAR | 18:34 | 2.6 | 1.10 | 0.90 | 23% |
| 6 | Andrew CoppF | DET vs OTT | 19:03 | 2.8 | 0.99 | 0.89 | 23% |
| 7 | Shane PintoF | OTT @ DET | 20:31 | 2.6 | 1.01 | 0.89 | 23% |
| 8 | Jake EvansF | MTL vs CAR | 16:22 | 2.9 | 1.10 | 0.87 | 22% |
| 9 | Nick SuzukiF | MTL vs CAR | 21:32 | 2.2 | 1.10 | 0.86 | 22% |
| 10 | Eeli TolvanenNew team · 3 GP with NYRF | NYR vs NYI | 13:38 | 3.6 | 0.99 | 0.80 | 19% |
| 11 | Kevin StenlundF | UTA @ NJD | 14:12 | 3.1 | 1.08 | 0.80 | 19% |
| 12 | Colton SissonsNew team · 3 GP with TORF | TOR vs NSH | 13:33 | 3.6 | 0.96 | 0.78 | 19% |
| 13 | Matt BoldyF | MIN @ BUF | 20:58 | 2.2 | 1.02 | 0.78 | 19% |
| 14 | Ryan O'ReillyF | NSH @ TOR | 21:00 | 2.3 | 0.95 | 0.78 | 19% |
| 15 | Alexander KerfootNew team · 2 GP with NSHF | NSH @ TOR | 15:50 | 3.0 | 0.95 | 0.76 | 18% |
| 16 | Michael AmadioF | OTT @ DET | 17:30 | 2.6 | 1.01 | 0.75 | 18% |
| 17 | Shane WrightF | SEA vs VGK | 13:51 | 3.3 | 0.99 | 0.75 | 18% |
| 18 | Vincent TrocheckNew team · 2 GP with UTAF | UTA @ NJD | 18:22 | 2.3 | 1.08 | 0.75 | 18% |
| 19 | Nick SchmaltzF | UTA @ NJD | 20:12 | 2.0 | 1.08 | 0.74 | 17% |
| 20 | Matty BeniersF | SEA vs VGK | 17:11 | 2.6 | 0.99 | 0.74 | 17% |
| 21 | Brandon DuhaimeNew team · 3 GP with TORF | TOR vs NSH | 11:17 | 4.1 | 0.96 | 0.74 | 17% |
| 22 | Jack EichelF | VGK @ SEA | 21:26 | 2.2 | 0.95 | 0.73 | 17% |
| 23 | Eetu LuostarinenF | FLA @ LAK | 15:30 | 2.6 | 1.06 | 0.72 | 17% |
| 24 | Garnet HathawayNew team · 2 GP with FLAF | FLA @ LAK | 9:28 | 4.3 | 1.06 | 0.71 | 16% |
| 25 | William KarlssonF | VGK @ SEA | 17:53 | 2.5 | 0.95 | 0.70 | 16% |
Top defensemen by expected blocked shots
| # | Player | Game | Exp. TOI | Blocks/60 | Env. | Exp. blocks | P(2+ blocks) |
|---|---|---|---|---|---|---|---|
| 1 | Thomas ChabotD | OTT @ DET | 27:35 | 5.5 | 1.01 | 2.56 | 70% |
| 2 | Noah DobsonD | MTL vs CAR | 22:28 | 5.8 | 1.10 | 2.41 | 67% |
| 3 | Brandt ClarkeD | LAK vs FLA | 19:55 | 7.3 | 0.98 | 2.37 | 66% |
| 4 | Mike MathesonD | MTL vs CAR | 25:00 | 4.8 | 1.10 | 2.19 | 62% |
| 5 | MacKenzie WeegarD | UTA @ NJD | 21:00 | 5.7 | 1.08 | 2.16 | 61% |
| 6 | Alexandre CarrierD | MTL vs CAR | 17:55 | 6.5 | 1.10 | 2.14 | 61% |
| 7 | Jonas BrodinD | MIN @ BUF | 19:53 | 6.3 | 1.02 | 2.13 | 60% |
| 8 | Moritz SeiderD | DET vs OTT | 24:44 | 5.2 | 0.99 | 2.12 | 60% |
| 9 | Lane HutsonD | MTL vs CAR | 25:40 | 4.1 | 1.10 | 1.95 | 56% |
| 10 | Alexander RomanovD | NYI @ NYR | 19:12 | 6.1 | 0.96 | 1.89 | 54% |
| 11 | Adam LarssonD | SEA vs VGK | 21:10 | 5.3 | 0.99 | 1.87 | 54% |
| 12 | Jake McCabeD | TOR vs NSH | 18:37 | 6.1 | 0.96 | 1.82 | 53% |
| 13 | Colton ParaykoD | STL @ CHI | 20:36 | 5.9 | 0.90 | 1.82 | 53% |
| 14 | Mattias SamuelssonD | BUF vs MIN | 22:40 | 4.8 | 0.99 | 1.81 | 52% |
| 15 | Jared SpurgeonD | MIN @ BUF | 19:50 | 5.4 | 1.02 | 1.81 | 52% |
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.