← Models / SOG Model

How the Shots on Goal Model Works

What it does

For every player Hard Rock Bet posts a shots-on-goal line for, the model simulates the game 10,000 times and counts how often the player goes over. That gives a probability for every shot count (0, 1, 2 … 10+) — the bars under each pick — and the probability of going over Hard Rock's line.

Model vs Sim: the probability the picks use (Model) blends the simulation with Hard Rock's own de-vigged price, weighted 35% simulation / 65% market. In a two-season backtest the simulation alone was about as accurate as the closing line, but the blend was measurably more accurate than either — each knows things the other doesn't. The weight is re-fitted every week on graded results. Sim (in each row's detail) is the raw simulation.

How a simulation works

  • Game script — each simulated game draws how many power plays each team gets, how the score unfolds (from Hard Rock's moneyline and total), whether a trailing team pulls its goalie late, and whether it goes to 3-on-3 overtime. Every player on a team shares the same script, so a power-play-heavy night lifts the whole PP unit together.
  • Ice time — the player's share of his team's even-strength, power-play, penalty-kill, 6-on-5 and overtime minutes, from his recent deployment, plus a realistic random swing drawn from real games (including nights cut short by injury).
  • Shot rate — shots per 60 minutes in each situation, estimated from his history and pulled toward forward/defenseman norms when the sample is small. Adjusted for the opponent's shot suppression, the arena's scorekeeper tendencies, home ice, back-to-backs, and score state (trailing teams shoot more).

Reading the board

  • Book — Hard Rock's probability for the over with the vig removed.
  • Model — the model's probability for the over (simulation blended with the market, see above).
  • Proj — average simulated shots; TOI — expected minutes (power-play minutes in brackets).
  • EV — expected profit per 1 unit bet at Hard Rock's price on the model's side.
  • Fair — the price at which the bet would break even by the model.

Best bets & leans

Best bet: EV of at least 5% and the model at least 4 percentage points away from the de-vigged line. Lean: EV of at least 2%. Only lines with both an over and an under price can be picks. Stake is 0.25× Kelly as a share of bankroll — a sizing guide, not a promise.

Settlement & timing

Graded like the sportsbooks grade it: overtime counts, shootouts don't, and a player who doesn't take a shift is a void. Predictions refresh every 30 minutes on game days as lines move and lock at puck drop; the locked prediction is what gets graded. Every pick is tracked on Pick history and Performance, including how the line moved after the pick (CLV).

Honest expectations

Shots on goal are noisy — a 3-shot-per-game player still goes under 2.5 often. The model aims to be well calibrated, not to call every game. Results before live tracking come from a walk-forward backtest priced at Hard Rock's closing lines, using only information available before each game.

Informational only. Not betting advice.

Games
10
Lines priced
128
Best bets
2
Leans
2
Updated
Oct 19, 6:03 AM CT
backtest · priced at close

Best Bets

Sean Monahan
CBJ vs MIN · 6:00 PM CT · F
OVER 1.5
Price+100
Model54.1%
Book46.9%
EV+8.2%
Fair-118
Stake2.0%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.17 SOG · 17.5 min (2.3 PP) role change L 0 SOG · -1.00u
Morgan Frost
CGY vs SEA · 8:00 PM CT · F
OVER 1.5
Price+100
Model52.6%
Book46.5%
EV+5.2%
Fair-111
Stake1.3%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.07 SOG · 16.4 min (3.1 PP) W 4 SOG · +1.00u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
BOS vs EDM 6:00 PM CT 1.5 -190 +140 61.1% 62.0% 2.22 17.0 (3.1) — -5.3% 1 SOG
EDM @ BOS 6:00 PM CT 1.5 -180 +135 60.2% 59.2% 2.00 21.3 (0.6) — -7.9% 1 SOG
EDM @ BOS 6:00 PM CT 1.5 -135 +100 53.5% 57.3% 2.16 19.4 (3.7) — -0.3% 3 SOG
EDM @ BOS 6:00 PM CT 2.5 -150 +115 56.3% 56.4% 3.00 20.6 (3.5) — -6.0% 4 SOG
BOS vs EDM 6:00 PM CT 1.5 -145 +110 55.4% 56.0% 1.94 12.6 (1.0) — -5.4% 1 SOG
EDM @ BOS 6:00 PM CT 2.5 -165 +125 58.4% 54.9% 2.77 21.7 (3.9) — -11.9% 4 SOG
EDM @ BOS 6:00 PM CT 1.5 -130 +100 53.1% 54.0% 1.87 21.1 (0.7) — -4.5% 1 SOG
BOS vs EDM 6:00 PM CT 1.5 -115 -120 49.5% 51.4% 1.85 17.3 (3.0) — -3.9% 2 SOG
BOS vs EDM 6:00 PM CT 1.5 -110 -125 48.5% 49.2% 1.71 23.1 (2.9) — -6.1% 3 SOG
EDM @ BOS 6:00 PM CT 2.5 -110 -120 49.0% 48.8% 2.65 24.1 (3.9) — -6.8% 2 SOG
BOS vs EDM 6:00 PM CT 1.5 +110 -145 44.6% 47.5% 1.76 17.8 (3.1) — -0.3% 1 SOG
BOS vs EDM 6:00 PM CT 3.5 +110 -145 44.6% 46.7% 3.67 20.2 (3.6) — -2.0% 1 SOG
EDM @ BOS 6:00 PM CT 3.5 +135 -180 39.8% 40.9% 3.34 22.7 (3.9) — -3.8% 3 SOG
CHI @ MTL 6:00 PM CT 1.5 -180 +135 60.2% 61.0% 2.17 18.9 (2.9) — -5.1% 2 SOG
CHI @ MTL 6:00 PM CT 1.5 -180 +135 60.2% 59.7% 2.07 18.8 (3.1) — -7.1% 2 SOG
MTL vs CHI 6:00 PM CT 1.5 -160 +120 57.5% 59.3% 2.13 17.9 (3.2) — -3.7% 5 SOG
MTL vs CHI 6:00 PM CT 2.5 -170 +130 59.2% 59.2% 3.15 18.9 (3.6) — -5.9% 4 SOG
MTL vs CHI 6:00 PM CT 1.5 -170 +130 59.2% 59.0% 2.02 22.0 (2.0) — -6.4% 2 SOG
MTL vs CHI 6:00 PM CT 1.5 -150 +115 56.3% 55.2% 1.84 15.6 (2.2) — -7.9% 2 SOG
MTL vs CHI 6:00 PM CT 1.5 -140 +105 54.5% 54.2% 1.84 24.4 (3.4) — -7.1% 1 SOG
CHI @ MTL 6:00 PM CT 1.5 -130 +100 53.1% 51.6% 1.74 17.1 (0.2) — -8.7% 2 SOG
MTL vs CHI 6:00 PM CT 1.5 -140 +105 54.5% 51.2% 1.63 14.9 (1.1) — -12.3% 3 SOG
MTL vs CHI 6:00 PM CT 1.5 -130 -105 52.5% 50.5% 1.67 16.3 (2.9) — -10.6% 5 SOG
CHI @ MTL 6:00 PM CT 1.5 +110 -150 44.3% 48.1% 1.80 17.6 (2.8) — +1.0% 0 SOG
CHI @ MTL 6:00 PM CT 1.5 +105 -140 45.5% 47.3% 1.71 13.9 (3.2) — -3.1% 0 SOG
CHI @ MTL 6:00 PM CT 1.5 +100 -135 46.5% 47.1% 1.65 13.8 (1.5) — -5.9% 0 SOG
MTL vs CHI 6:00 PM CT 2.5 +120 -160 42.5% 44.4% 2.56 21.3 (3.8) — -2.4% 2 SOG
PIT @ OTT 6:00 PM CT 1.5 -135 +100 53.5% 57.8% 2.17 16.5 (2.2) — +0.7% 0 SOG
OTT vs PIT 6:00 PM CT 1.5 -150 +110 55.8% 55.7% 1.93 15.3 (1.6) — -7.1% 1 SOG
OTT vs PIT 6:00 PM CT 3.5 -160 +120 57.5% 55.1% 3.91 18.6 (3.5) — -10.5% 5 SOG
PIT @ OTT 6:00 PM CT 1.5 -120 -110 51.0% 51.6% 1.78 15.6 (2.5) — -5.5% 1 SOG
OTT vs PIT 6:00 PM CT 1.5 -105 -130 47.5% 50.4% 1.81 18.2 (2.1) — -1.6% 3 SOG
PIT @ OTT 6:00 PM CT 1.5 -105 -130 47.5% 48.4% 1.71 20.8 (1.5) — -5.5% 1 SOG
PIT @ OTT 6:00 PM CT 2.5 +100 -135 46.5% 48.3% 2.73 20.2 (2.9) — -3.4% 2 SOG
OTT vs PIT 6:00 PM CT 1.5 +100 -130 46.9% 48.0% 1.68 17.1 (1.2) — -4.1% 1 SOG
PIT @ OTT 6:00 PM CT 2.5 +105 -140 45.5% 47.0% 2.70 20.5 (3.2) — -3.7% 1 SOG
OTT vs PIT 6:00 PM CT 2.5 -115 -115 50.0% 46.1% 2.36 26.9 (3.6) — -13.9% 0 SOG
OTT vs PIT 6:00 PM CT 2.5 +105 -140 45.5% 44.9% 2.49 20.7 (3.6) — -8.0% 2 SOG
OTT vs PIT 6:00 PM CT 2.5 +110 -145 44.6% 44.4% 2.45 18.6 (3.3) — -6.8% 1 SOG
OTT vs PIT 6:00 PM CT 2.5 +130 -170 40.9% 41.8% 2.45 18.2 (3.2) — -3.8% 3 SOG
PIT @ OTT 6:00 PM CT 2.5 +140 -190 38.9% 40.3% 2.37 18.7 (2.8) — -3.4% 6 SOG
PIT @ OTT 6:00 PM CT 2.5 +130 -175 40.6% 40.0% 2.26 23.8 (3.0) — -7.9% 2 SOG
LAK @ TBL 6:00 PM CT 1.5 -200 +150 62.5% 62.2% 2.16 17.0 (1.5) — -6.8% 1 SOG
LAK @ TBL 6:00 PM CT 1.5 -130 +100 53.1% 56.0% 2.04 19.2 (2.0) — -1.0% 4 SOG
TBL vs LAK 6:00 PM CT 1.5 -135 +100 53.5% 52.2% 1.76 14.1 (3.6) — -9.1% 5 SOG
LAK @ TBL 6:00 PM CT 2.5 -120 -110 51.0% 51.2% 2.77 18.3 (3.0) — -6.2% 0 SOG
TBL vs LAK 6:00 PM CT 1.5 -125 -105 52.0% 50.9% 1.70 17.0 (1.2) — -8.3% 1 SOG
LAK @ TBL 6:00 PM CT 1.5 -105 -125 48.0% 50.9% 1.88 15.6 (0.9) — -0.6% 3 SOG
LAK @ TBL 6:00 PM CT 1.5 -105 -130 47.5% 50.9% 1.86 14.9 (0.4) — -0.7% 1 SOG
LAK @ TBL 6:00 PM CT 2.5 -115 -115 50.0% 49.9% 2.73 18.8 (2.9) — -6.7% 2 SOG
TBL vs LAK 6:00 PM CT 2.5 -105 -125 48.0% 48.6% 2.68 19.9 (4.1) — -5.2% 4 SOG
LAK @ TBL 6:00 PM CT 1.5 +100 -135 46.5% 47.7% 1.68 18.8 (1.8) — -4.6% 2 SOG
LAK @ TBL 6:00 PM CT 1.5 +110 -145 44.6% 45.2% 1.57 18.9 (2.9) — -5.1% 0 SOG
TBL vs LAK 6:00 PM CT 2.5 +145 -190 38.4% 39.2% 2.31 18.2 (3.9) — -3.9% 3 SOG
TBL vs LAK 6:00 PM CT 2.5 +140 -190 38.9% 36.8% 2.06 22.8 (3.8) — -11.7% 3 SOG
WSH vs TOR 6:00 PM CT 1.5 -160 +120 57.5% 59.7% 2.18 15.7 (1.2) — -3.0% 2 SOG
WSH vs TOR 6:00 PM CT 1.5 -165 +125 58.4% 59.0% 2.09 18.0 (0.6) — -5.2% 2 SOG
WSH vs TOR 6:00 PM CT 1.5 -150 +115 56.3% 58.9% 2.17 22.0 (2.5) — -1.8% 2 SOG
TOR @ WSH 6:00 PM CT 1.5 -150 +110 55.8% 58.5% 2.19 20.0 (2.9) — -2.5% 0 SOG
WSH vs TOR 6:00 PM CT 2.5 -175 +130 59.4% 58.1% 3.06 17.6 (4.0) — -8.8% 4 SOG
WSH vs TOR 6:00 PM CT 2.5 -190 +140 61.1% 56.8% 2.77 22.9 (3.0) UNDER lean +3.7% L 3 SOG · -1.00u
WSH vs TOR 6:00 PM CT 1.5 -125 -105 52.0% 55.6% 2.09 18.0 (3.0) — +0.0% 2 SOG
WSH vs TOR 6:00 PM CT 1.5 -135 +100 53.5% 55.5% 1.97 16.2 (1.5) — -3.5% 2 SOG
TOR @ WSH 6:00 PM CT 1.5 -130 +100 53.1% 51.7% 1.74 21.1 (2.3) — -8.6% 2 SOG
TOR @ WSH 6:00 PM CT 1.5 -105 -125 48.0% 49.1% 1.72 13.6 (0.9) — -4.1% 1 SOG
TOR @ WSH 6:00 PM CT 3.5 +105 -135 45.9% 45.7% 3.50 20.5 (3.0) — -6.4% 2 SOG
TOR @ WSH 6:00 PM CT 2.5 +115 -150 43.7% 44.2% 2.49 17.9 (2.8) — -4.9% 4 SOG
TOR @ WSH 6:00 PM CT 2.5 +130 -170 40.9% 42.8% 2.55 18.7 (3.1) — -1.7% 1 SOG
WSH vs TOR 6:00 PM CT 2.5 +145 -195 38.2% 37.8% 2.20 18.9 (2.8) — -7.4% 5 SOG
MIN @ CBJ 6:00 PM CT 1.5 -195 +145 61.8% 59.8% 1.99 16.1 (2.4) — -9.5% 3 SOG
CBJ vs MIN 6:00 PM CT 1.5 -145 +110 55.4% 59.8% 2.29 17.0 (2.4) — +1.0% 1 SOG
MIN @ CBJ 6:00 PM CT 1.5 -155 +120 57.2% 57.6% 1.97 25.2 (1.7) — -5.2% 4 SOG
MIN @ CBJ 6:00 PM CT 2.5 -145 +110 55.4% 55.7% 2.97 27.9 (3.7) — -5.9% 1 SOG
MIN @ CBJ 6:00 PM CT 2.5 -150 +110 55.8% 55.4% 2.92 19.1 (2.9) — -7.7% 2 SOG
CBJ vs MIN 6:00 PM CT 1.5 -135 +100 53.5% 55.1% 1.98 16.1 (0.8) — -4.1% 1 SOG
CBJ vs MIN 6:00 PM CT 1.5 +100 -130 46.9% 54.1% 2.17 17.5 (2.3) OVER best +8.2% L 0 SOG · -1.00u
CBJ vs MIN 6:00 PM CT 2.5 -130 +100 53.1% 53.4% 2.87 18.9 (2.6) — -5.6% 3 SOG
CBJ vs MIN 6:00 PM CT 2.5 -140 +105 54.5% 53.3% 2.78 19.5 (2.4) — -8.7% 3 SOG
CBJ vs MIN 6:00 PM CT 1.5 +105 -135 45.9% 48.2% 1.74 25.6 (1.2) — -1.1% 0 SOG
CBJ vs MIN 6:00 PM CT 1.5 -125 -105 52.0% 46.9% 1.41 10.9 (0.7) UNDER lean +3.8% W 0 SOG · +0.95u
CBJ vs MIN 6:00 PM CT 3.5 +115 -150 43.7% 45.4% 3.62 26.1 (2.9) — -2.4% 8 SOG
MIN @ CBJ 6:00 PM CT 3.5 +105 -140 45.5% 42.9% 3.19 21.2 (3.1) — -12.1% 2 SOG
MIN @ CBJ 6:00 PM CT 3.5 +110 -150 44.3% 42.2% 3.21 20.3 (3.1) — -11.3% 3 SOG
CBJ vs MIN 6:00 PM CT 2.5 +140 -190 38.9% 38.3% 2.22 16.0 (1.3) — -8.2% 4 SOG
MIN @ CBJ 6:00 PM CT 2.5 +140 -190 38.9% 36.3% 2.08 15.3 (1.7) — -12.8% 3 SOG
PHI @ BUF 6:30 PM CT 1.5 -185 +135 60.4% 63.8% 2.39 19.0 (2.4) — -1.8% 4 SOG
BUF vs PHI 6:30 PM CT 2.5 -170 +130 59.2% 60.4% 3.29 19.3 (3.4) — -4.1% 2 SOG
PHI @ BUF 6:30 PM CT 1.5 -160 +120 57.5% 59.1% 2.11 14.3 (1.9) — -4.0% 2 SOG
BUF vs PHI 6:30 PM CT 1.5 -125 -105 52.0% 53.4% 1.89 17.7 (3.0) — -3.9% 2 SOG
BUF vs PHI 6:30 PM CT 1.5 -120 -110 51.0% 52.8% 1.89 16.5 (2.1) — -3.3% 2 SOG
PHI @ BUF 6:30 PM CT 1.5 -110 -120 49.0% 51.9% 1.89 17.7 (1.6) — -0.9% 2 SOG
BUF vs PHI 6:30 PM CT 2.5 -105 -125 48.0% 47.8% 2.61 24.4 (3.4) — -6.8% 1 SOG
BUF vs PHI 6:30 PM CT 2.5 +120 -160 42.5% 41.8% 2.34 18.5 (1.8) — -8.0% 1 SOG
BUF vs PHI 6:30 PM CT 2.5 +125 -165 41.7% 41.0% 2.30 16.6 (2.9) — -7.8% 3 SOG
PHI @ BUF 6:30 PM CT 2.5 +135 -185 39.6% 40.9% 2.41 16.3 (2.2) — -4.0% 2 SOG
PHI @ BUF 6:30 PM CT 2.5 +135 -185 39.6% 39.9% 2.33 18.5 (2.6) — -6.2% 1 SOG
STL vs NYR 7:00 PM CT 1.5 -155 +115 56.7% 57.6% 2.03 18.7 (2.5) — -5.2% 3 SOG
STL vs NYR 7:00 PM CT 1.5 -115 -115 50.0% 52.7% 1.91 19.7 (2.6) — -1.5% 6 SOG
STL vs NYR 7:00 PM CT 1.5 -115 -115 50.0% 50.7% 1.76 16.6 (1.5) — -5.3% 1 SOG
STL vs NYR 7:00 PM CT 1.5 -110 -120 49.0% 48.4% 1.65 21.7 (1.8) — -7.6% 2 SOG
STL vs NYR 7:00 PM CT 1.5 -105 -125 48.0% 46.1% 1.50 14.9 (2.0) — -10.0% 1 SOG
STL vs NYR 7:00 PM CT 1.5 +110 -150 44.3% 45.7% 1.63 16.3 (2.0) — -4.0% 1 SOG
STL vs NYR 7:00 PM CT 1.5 +110 -145 44.6% 45.4% 1.58 16.0 (1.8) — -4.7% 0 SOG
CGY vs SEA 8:00 PM CT 1.5 -195 +145 61.8% 63.8% 2.34 24.5 (2.2) — -3.5% 6 SOG
CGY vs SEA 8:00 PM CT 1.5 -195 +145 61.8% 62.3% 2.20 17.0 (1.3) — -5.8% 3 SOG
CGY vs SEA 8:00 PM CT 2.5 -165 +120 57.8% 59.8% 3.35 19.5 (3.2) — -3.9% 5 SOG
SEA @ CGY 8:00 PM CT 1.5 -185 +135 60.4% 59.5% 2.01 19.6 (2.9) — -8.3% 1 SOG
SEA @ CGY 8:00 PM CT 1.5 -145 +110 55.4% 57.3% 2.03 17.2 (1.7) — -3.2% 0 SOG
SEA @ CGY 8:00 PM CT 1.5 -175 +130 59.4% 56.6% 1.82 16.5 (2.1) — -11.1% 1 SOG
CGY vs SEA 8:00 PM CT 1.5 -130 +100 53.1% 55.3% 2.00 17.0 (1.4) — -2.2% 4 SOG
CGY vs SEA 8:00 PM CT 1.5 -145 +110 55.4% 54.1% 1.83 16.5 (1.8) — -8.5% 5 SOG
CGY vs SEA 8:00 PM CT 1.5 -115 -115 50.0% 54.0% 2.06 18.9 (3.0) — +1.0% 2 SOG
CGY vs SEA 8:00 PM CT 1.5 -115 -115 50.0% 53.6% 2.00 16.6 (0.7) — +0.2% 1 SOG
CGY vs SEA 8:00 PM CT 1.5 +100 -135 46.5% 52.6% 2.07 16.4 (3.1) OVER best +5.2% W 4 SOG · +1.00u
CGY vs SEA 8:00 PM CT 2.5 +110 -145 44.6% 43.1% 2.32 23.9 (2.8) — -9.6% 3 SOG
CGY vs SEA 8:00 PM CT 2.5 +140 -190 38.9% 41.9% 2.54 16.3 (3.1) — +0.6% 2 SOG
SEA @ CGY 8:00 PM CT 2.5 +140 -185 39.1% 39.5% 2.30 18.8 (3.0) — -5.1% 0 SOG
SEA @ CGY 8:00 PM CT 2.5 +145 -195 38.2% 38.8% 2.28 22.7 (3.0) — -4.8% 4 SOG
DAL @ SJS 9:00 PM CT 1.5 -195 +145 61.8% 63.8% 2.36 25.8 (3.5) — -3.4% 1 SOG
DAL @ SJS 9:00 PM CT 1.5 -165 +120 57.8% 60.2% 2.23 17.6 (3.2) — -3.3% 3 SOG
SJS vs DAL 9:00 PM CT 2.5 -180 +135 60.2% 60.0% 3.22 20.7 (3.6) — -6.7% 8 SOG
DAL @ SJS 9:00 PM CT 2.5 -120 -110 51.0% 51.6% 2.84 19.9 (4.0) — -5.3% 1 SOG
DAL @ SJS 9:00 PM CT 1.5 -105 -130 47.5% 48.8% 1.73 22.2 (1.8) — -4.8% 1 SOG
SJS vs DAL 9:00 PM CT 1.5 -105 -125 48.0% 48.2% 1.65 21.6 (3.1) — -6.0% 3 SOG
SJS vs DAL 9:00 PM CT 2.5 -105 -125 48.0% 46.1% 2.45 15.5 (2.9) — -10.1% 2 SOG
DAL @ SJS 9:00 PM CT 2.5 +115 -155 43.4% 45.3% 2.61 20.1 (3.4) — -2.7% 4 SOG
DAL @ SJS 9:00 PM CT 3.5 +115 -150 43.7% 42.3% 3.26 19.5 (3.8) — -9.1% 5 SOG
SJS vs DAL 9:00 PM CT 2.5 +135 -180 39.8% 40.4% 2.37 19.8 (3.3) — -5.1% 6 SOG

Click a row for the shot distribution and model inputs. Hard Rock lines only. Model fitted through 2026-10-18.