← 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
6
Lines priced
98
Best bets
4
Leans
5
Updated
Oct 19, 6:03 AM CT
backtest · priced at close

Best Bets

Timo Meier
NJD vs CHI · 6:00 PM CT · F
UNDER 3.5
Price+110
Model51.7%
Book44.3%
EV+8.6%
Fair-107
Stake2.0%
0
1
2
3
4
5
6
7
8
9
10+
Proj 3.09 SOG · 17.8 min (1.9 PP) L 9 SOG · -1.00u
Matthew Tkachuk
FLA @ NYR · 12:00 PM CT · F
UNDER 3.5
Price-120
Model59.0%
Book51.0%
EV+8.2%
Fair-144
Stake2.5%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.78 SOG · 18.9 min (3.9 PP) role change W 3 SOG · +0.83u
Carter Verhaeghe
FLA @ NYR · 12:00 PM CT · F
UNDER 2.5
Price+115
Model49.2%
Book43.4%
EV+5.8%
Fair+103
Stake1.3%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.38 SOG · 17.2 min (2.3 PP) W 2 SOG · +1.15u
Shayne Gostisbehere
CAR vs MTL · 4:00 PM CT · D
UNDER 1.5
Price+145
Model43.1%
Book38.2%
EV+5.7%
Fair+132
Stake1.0%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.72 SOG · 16.7 min (3.1 PP) L 3 SOG · -1.00u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
NYR vs FLA 12:00 PM CT 1.5 -195 +145 61.8% 62.1% 2.18 19.0 (3.4) — -6.1% 0 SOG
NYR vs FLA 12:00 PM CT 1.5 -175 +130 59.4% 59.8% 2.12 20.5 (3.7) — -6.0% 0 SOG
NYR vs FLA 12:00 PM CT 1.5 -145 +110 55.4% 54.7% 1.86 16.9 (1.3) — -7.5% 0 SOG
FLA @ NYR 12:00 PM CT 1.5 -150 +115 56.3% 54.3% 1.75 22.6 (3.0) — -9.5% 1 SOG
NYR vs FLA 12:00 PM CT 1.5 -125 -105 52.0% 53.2% 1.87 23.5 (3.8) — -4.2% 3 SOG
NYR vs FLA 12:00 PM CT 2.5 -135 +100 53.5% 51.9% 2.68 20.7 (3.7) — -9.6% 3 SOG
FLA @ NYR 12:00 PM CT 2.5 -155 +115 56.7% 50.8% 2.38 17.2 (2.3) UNDER best +5.8% W 2 SOG · +1.15u
FLA @ NYR 12:00 PM CT 1.5 +105 -135 45.9% 44.9% 1.50 21.8 (0.9) — -8.0% 3 SOG
FLA @ NYR 12:00 PM CT 1.5 +100 -135 46.5% 44.8% 1.48 16.7 (0.9) — -10.3% 2 SOG
FLA @ NYR 12:00 PM CT 1.5 +110 -150 44.3% 44.8% 1.57 22.3 (2.3) — -6.0% 0 SOG
FLA @ NYR 12:00 PM CT 2.5 +100 -130 46.9% 41.1% 1.98 14.4 (2.0) UNDER lean +4.3% W 2 SOG · +0.77u
FLA @ NYR 12:00 PM CT 3.5 -110 -120 49.0% 41.0% 2.78 18.9 (3.9) UNDER best +8.2% W 3 SOG · +0.83u
FLA @ NYR 12:00 PM CT 1.5 +105 -135 45.9% 40.8% 1.21 12.2 (0.6) UNDER lean +3.1% L 3 SOG · -1.00u
NYR vs FLA 12:00 PM CT 2.5 +135 -185 39.6% 39.5% 2.29 18.9 (3.4) — -7.3% 1 SOG
FLA @ NYR 12:00 PM CT 1.5 +130 -175 40.6% 35.9% 1.09 13.3 (0.8) — -17.6% 2 SOG
NSH @ TBL 4:00 PM CT 1.5 -175 +130 59.4% 59.6% 2.10 16.8 (2.0) — -6.4% 2 SOG
TBL vs NSH 4:00 PM CT 2.5 -175 +130 59.4% 58.1% 3.01 20.5 (2.8) — -8.7% 5 SOG
NSH @ TBL 4:00 PM CT 1.5 -150 +110 55.8% 56.7% 2.02 19.5 (2.9) — -5.6% 1 SOG
TBL vs NSH 4:00 PM CT 1.5 -140 +105 54.5% 54.4% 1.86 17.0 (1.1) — -6.8% 3 SOG
TBL vs NSH 4:00 PM CT 2.5 -140 +105 54.5% 53.7% 2.85 20.0 (4.0) — -7.9% 3 SOG
NSH @ TBL 4:00 PM CT 1.5 -110 -120 49.0% 49.5% 1.70 16.7 (1.8) — -5.4% 1 SOG
TBL vs NSH 4:00 PM CT 1.5 -120 -110 51.0% 48.5% 1.53 14.9 (1.3) — -11.1% 1 SOG
NSH @ TBL 4:00 PM CT 2.5 +110 -145 44.6% 45.3% 2.57 25.0 (3.2) — -4.9% 4 SOG
TBL vs NSH 4:00 PM CT 1.5 +110 -150 44.3% 43.8% 1.51 11.6 (2.8) — -8.0% 0 SOG
NSH @ TBL 4:00 PM CT 2.5 -105 -140 46.8% 42.8% 2.21 17.4 (3.1) — -16.5% 2 SOG
TBL vs NSH 4:00 PM CT 2.5 +115 -155 43.4% 42.3% 2.33 18.5 (3.7) — -9.1% 4 SOG
TBL vs NSH 4:00 PM CT 3.5 +105 -140 45.5% 41.2% 2.99 24.8 (3.9) — -15.6% 1 SOG
NSH @ TBL 4:00 PM CT 3.5 +130 -170 40.9% 38.5% 2.98 18.8 (3.1) — -11.4% 4 SOG
NSH @ TBL 4:00 PM CT 2.5 +150 -200 37.5% 36.8% 2.15 16.9 (2.8) — -8.0% 2 SOG
MTL @ CAR 4:00 PM CT 1.5 -185 +135 60.4% 60.3% 2.08 20.6 (3.3) — -7.2% 5 SOG
CAR vs MTL 4:00 PM CT 1.5 -195 +145 61.8% 60.1% 1.99 15.4 (1.9) — -9.1% 3 SOG
CAR vs MTL 4:00 PM CT 1.5 -185 +135 60.4% 57.4% 1.84 15.3 (2.1) — -11.6% 2 SOG
CAR vs MTL 4:00 PM CT 1.5 -195 +145 61.8% 56.9% 1.72 16.7 (3.1) UNDER best +5.7% L 3 SOG · -1.00u
CAR vs MTL 4:00 PM CT 2.5 -170 +130 59.2% 56.6% 2.84 19.0 (3.1) — -10.2% 5 SOG
MTL @ CAR 4:00 PM CT 1.5 -150 +115 56.3% 53.7% 1.71 22.1 (1.5) — -10.5% 4 SOG
MTL @ CAR 4:00 PM CT 2.5 -155 +115 56.7% 52.3% 2.55 17.6 (3.2) UNDER lean +2.6% L 3 SOG · -1.00u
CAR vs MTL 4:00 PM CT 2.5 -130 -105 52.5% 48.8% 2.48 19.5 (3.3) — -13.7% 1 SOG
CAR vs MTL 4:00 PM CT 2.5 -110 -120 49.0% 47.0% 2.47 16.5 (3.1) — -10.3% 3 SOG
MTL @ CAR 4:00 PM CT 1.5 -115 -115 50.0% 46.9% 1.48 15.3 (3.0) — -12.4% 0 SOG
CAR vs MTL 4:00 PM CT 1.5 +105 -135 45.9% 46.1% 1.57 22.7 (1.5) — -5.5% 3 SOG
MTL @ CAR 4:00 PM CT 1.5 -105 -130 47.5% 45.4% 1.46 21.9 (3.2) — -11.3% 0 SOG
CAR vs MTL 4:00 PM CT 1.5 +100 -130 46.9% 45.3% 1.48 16.3 (1.3) — -9.4% 2 SOG
CAR vs MTL 4:00 PM CT 1.5 +110 -150 44.3% 44.2% 1.52 21.8 (0.4) — -7.2% 1 SOG
CAR vs MTL 4:00 PM CT 2.5 +105 -140 45.5% 44.2% 2.40 17.4 (3.0) — -9.4% 4 SOG
CAR vs MTL 4:00 PM CT 1.5 +105 -140 45.5% 44.0% 1.44 17.3 (2.4) — -9.8% 1 SOG
MTL @ CAR 4:00 PM CT 1.5 +110 -145 44.6% 41.6% 1.32 22.4 (0.5) — -12.6% 0 SOG
CAR vs MTL 4:00 PM CT 1.5 +115 -150 43.7% 40.7% 1.29 19.8 (0.4) — -12.5% 1 SOG
MTL @ CAR 4:00 PM CT 1.5 +135 -180 39.8% 38.7% 1.29 14.3 (1.2) — -9.0% 2 SOG
MTL @ CAR 4:00 PM CT 2.5 +125 -170 41.4% 36.9% 1.97 18.8 (3.2) — -17.0% 2 SOG
CAR vs MTL 4:00 PM CT 2.5 +135 -185 39.6% 36.4% 2.00 16.1 (2.1) — -14.5% 3 SOG
CAR vs MTL 4:00 PM CT 2.5 +150 -200 37.5% 33.6% 1.83 20.6 (0.4) — -16.1% 2 SOG
CBJ vs BOS 4:00 PM CT 1.5 -200 +145 62.0% 62.0% 2.14 17.1 (2.9) — -7.0% 2 SOG
BOS @ CBJ 4:00 PM CT 1.5 -200 +150 62.5% 61.3% 2.07 17.4 (2.8) — -8.0% 1 SOG
BOS @ CBJ 4:00 PM CT 1.5 -170 +125 58.6% 56.6% 1.84 17.6 (2.6) — -10.1% 4 SOG
CBJ vs BOS 4:00 PM CT 1.5 -150 +115 56.3% 56.0% 1.92 18.0 (3.0) — -6.7% 1 SOG
CBJ vs BOS 4:00 PM CT 2.5 -155 +115 56.7% 55.4% 2.89 19.1 (3.3) — -8.8% 1 SOG
CBJ vs BOS 4:00 PM CT 1.5 -155 +115 56.7% 54.8% 1.78 15.2 (0.5) — -9.9% 5 SOG
BOS @ CBJ 4:00 PM CT 1.5 -130 +100 53.1% 53.0% 1.79 24.0 (2.7) — -6.2% 4 SOG
BOS @ CBJ 4:00 PM CT 1.5 -120 -110 51.0% 51.6% 1.79 18.2 (1.7) — -5.5% 1 SOG
CBJ vs BOS 4:00 PM CT 1.5 -135 +100 53.5% 51.5% 1.68 14.3 (1.4) — -10.3% 2 SOG
CBJ vs BOS 4:00 PM CT 2.5 -130 +100 53.1% 51.3% 2.68 18.8 (3.2) — -9.2% 1 SOG
CBJ vs BOS 4:00 PM CT 1.5 -110 -120 49.0% 50.1% 1.78 16.0 (1.5) — -4.5% 1 SOG
BOS @ CBJ 4:00 PM CT 1.5 -120 -110 51.0% 49.9% 1.65 16.1 (2.7) — -8.5% 5 SOG
CBJ vs BOS 4:00 PM CT 1.5 -120 -110 51.0% 49.3% 1.60 23.7 (1.4) — -9.5% 1 SOG
CBJ vs BOS 4:00 PM CT 1.5 -115 -115 50.0% 48.5% 1.62 14.9 (0.4) — -9.3% 1 SOG
CBJ vs BOS 4:00 PM CT 1.5 -120 -110 51.0% 48.1% 1.53 14.4 (0.1) — -11.7% 1 SOG
CBJ vs BOS 4:00 PM CT 3.5 +100 -130 46.9% 47.3% 3.65 27.4 (3.3) — -5.4% 2 SOG
BOS @ CBJ 4:00 PM CT 3.5 -105 -130 47.5% 46.1% 3.40 21.1 (3.3) — -10.0% 6 SOG
BOS @ CBJ 4:00 PM CT 2.5 +110 -150 44.3% 41.0% 2.16 14.0 (1.8) — -13.8% 3 SOG
NJD vs CHI 6:00 PM CT 1.5 -175 +130 59.4% 57.8% 1.91 19.2 (2.8) — -9.1% 3 SOG
CHI @ NJD 6:00 PM CT 1.5 -140 +105 54.5% 56.2% 2.01 18.1 (2.8) — -3.6% 7 SOG
NJD vs CHI 6:00 PM CT 1.5 -165 +125 58.4% 55.6% 1.75 17.2 (1.4) — -10.8% 2 SOG
CHI @ NJD 6:00 PM CT 1.5 -135 +100 53.5% 55.5% 2.03 18.1 (2.9) — -3.4% 3 SOG
NJD vs CHI 6:00 PM CT 3.5 -150 +115 56.3% 54.6% 3.82 21.8 (3.3) — -9.0% 8 SOG
NJD vs CHI 6:00 PM CT 2.5 -135 +100 53.5% 51.1% 2.63 21.6 (2.7) — -11.0% 4 SOG
NJD vs CHI 6:00 PM CT 2.5 -140 +105 54.5% 50.8% 2.52 19.7 (3.2) — -12.9% 2 SOG
CHI @ NJD 6:00 PM CT 1.5 -120 -110 51.0% 50.3% 1.69 19.6 (1.7) — -7.9% 1 SOG
NJD vs CHI 6:00 PM CT 3.5 -150 +110 55.8% 48.3% 3.09 17.8 (1.9) UNDER best +8.6% L 9 SOG · -1.00u
NJD vs CHI 6:00 PM CT 1.5 +100 -135 46.5% 43.8% 1.39 19.1 (1.6) — -12.4% 3 SOG
NJD vs CHI 6:00 PM CT 1.5 +100 -130 46.9% 43.7% 1.36 12.2 (0.7) — -12.6% 1 SOG
NJD vs CHI 6:00 PM CT 2.5 +120 -160 42.5% 42.2% 2.40 18.5 (3.1) — -7.2% 1 SOG
NJD vs CHI 6:00 PM CT 2.5 +105 -140 45.5% 40.8% 2.08 22.5 (2.1) — -16.4% 1 SOG
CHI @ NJD 6:00 PM CT 3.5 +135 -180 39.8% 37.3% 2.89 20.5 (3.0) — -12.4% 6 SOG
PHI vs DAL 6:00 PM CT 1.5 -200 +145 62.0% 61.0% 2.06 18.5 (3.3) — -8.5% 2 SOG
DAL @ PHI 6:00 PM CT 1.5 -175 +130 59.4% 57.6% 1.87 24.3 (3.6) — -9.4% 0 SOG
PHI vs DAL 6:00 PM CT 1.5 -155 +115 56.7% 57.2% 2.02 16.1 (3.0) — -5.9% 4 SOG
PHI vs DAL 6:00 PM CT 2.5 -175 +130 59.4% 55.5% 2.69 17.3 (2.4) UNDER lean +2.3% W 2 SOG · +1.30u
PHI vs DAL 6:00 PM CT 1.5 -135 +100 53.5% 54.7% 1.94 19.6 (2.7) — -4.8% 2 SOG
DAL @ PHI 6:00 PM CT 1.5 -115 -115 50.0% 51.8% 1.85 17.9 (1.5) — -3.2% 1 SOG
DAL @ PHI 6:00 PM CT 1.5 -125 -105 52.0% 50.5% 1.66 17.2 (3.2) — -9.1% 0 SOG
DAL @ PHI 6:00 PM CT 1.5 -110 -120 49.0% 48.2% 1.61 22.7 (1.8) — -7.9% 1 SOG
PHI vs DAL 6:00 PM CT 1.5 +100 -135 46.5% 45.6% 1.51 22.4 (1.8) — -8.7% 1 SOG
PHI vs DAL 6:00 PM CT 1.5 -105 -125 48.0% 45.4% 1.44 15.7 (2.1) — -11.5% 1 SOG
DAL @ PHI 6:00 PM CT 1.5 +100 -135 46.5% 44.5% 1.44 13.2 (1.7) — -11.0% 1 SOG
DAL @ PHI 6:00 PM CT 3.5 -115 -115 50.0% 44.4% 3.03 20.8 (4.0) UNDER lean +4.0% L 5 SOG · -1.00u
DAL @ PHI 6:00 PM CT 2.5 +100 -130 46.9% 43.8% 2.24 19.9 (3.7) — -12.5% 2 SOG
DAL @ PHI 6:00 PM CT 2.5 +125 -165 41.7% 40.8% 2.28 19.5 (4.3) — -8.2% 2 SOG
PHI vs DAL 6:00 PM CT 2.5 +130 -175 40.6% 40.7% 2.34 20.1 (3.4) — -6.3% 5 SOG

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