NHL Desk Data Inventory

Version: 2.1 | Date: 2026-04-03 | Database: research-pipeline.db


Edge Detection

Table Rows Source Schedule Freshness Key
sports_edges (NHL) 4,019 Edge scanner (Pinnacle vs Kalshi) 8AM/10AM/2PM/6PM + closing edge-scanner-nhl
— ML edges 243 (31 exec) Shin de-vig edge-scanner-nhl-ml
— Spread edges 560 (289 exec) Normal dist, σ=2.0 edge-scanner-nhl-spreads
— Total edges 3,216 (913 exec) Poisson, λ from O/U edge-scanner-nhl-totals
market_implied_curves (NHL) 24,397 Kalshi alt-line ladders Every 30min implied-curves-nhl
nhl_custom_metrics 32 Computed from tier1+tier2 11 AM daily nhl-custom-metrics

Odds & Prices

Table Rows Source Schedule Freshness Key
sports_odds_snapshots (NHL Kalshi) 2,377,303 Kalshi API (15 series) Every 30min kalshi-nhl-team
sports_odds_snapshots (NHL Pinnacle) 13,691 Odds API / Stealth scrape Adaptive (2h→15m→5m) pinnacle-nhl
pinnacle_nhl_odds 13,665 Dedicated Pinnacle table Adaptive pinnacle-nhl
sbr_book_odds (NHL) ~3,400 SBR 6-book scrape 8AM/10AM/2PM/6PM scrape-sbr-nhl
pregame_consensus (NHL) ~200 Pregame.com 10AM/2PM/6PM scrape-pregame-nhl
live_game_scores (NHL) 18,835 ESPN scoreboard Every 60s during games live-game-scores-nhl

Ratings & Predictions

Table Rows Source Schedule Freshness Key
dratings_ratings 457 dratings.com scrape 11 AM daily scrape-dratings-nhl
dratings_predictions 30 dratings.com scrape 11 AM daily scrape-dratings-nhl
sagarin_ratings 62 sagarin.com scrape 11 AM daily scrape-sagarin-nhl
sagarin_predictions 11 sagarin.com scrape 11 AM daily scrape-sagarin-nhl
gamesim_predictions (NHL) 64 Monte Carlo sim 12 PM daily scrape-gamesim-nhl
moneypuck_predictions 124 moneypuck.com scrape 11 AM daily scrape-moneypuck-team
moneypuck_simulations 32 moneypuck.com scrape 11 AM daily scrape-moneypuck-team

Team Stats

Table Rows Source Schedule Freshness Key
moneypuck_team_stats 160 MoneyPuck CSV (107 cols) 11 AM daily moneypuck-team-stats
nhl_ppk_rates 32 Computed from MoneyPuck 5on4/4on5 11 AM daily nhl-ppk-rates
nhl_ewma_form 96 Computed (3 alpha values) 11 AM daily nhl-ewma-form
nhl_pdo 32 Computed (5v5 SH% + SV%) 11 AM daily nhl-pdo
nhl_schedule_strength 64 Computed from standings 11 AM daily nhl-schedule-strength
nhl_team_variance 31 Computed (mean/std/skew/kurtosis MOV) 11 AM daily nhl-team-variance
nhl_h2h_series 2 NHL API Game day nhl-h2h-series
nhl_advanced_stats 1,827 NHL API 11 AM daily (shared)

Situational & Scoring

Table Rows Source Schedule Freshness Key
nhl_period_scoring 31 Computed from game periods 11 AM daily nhl-period-scoring
nhl_one_goal_stats 31 Computed (1G Win%, sustainability) 11 AM daily nhl-situational-stats
nhl_period_situational 31 Computed (Lead/Tied/Trail after P2) 11 AM daily nhl-situational-stats
nhl_empty_net_stats 31 Computed (EN goals, pull rates) 11 AM daily nhl-empty-net
nhl_flow_baselines 31 Computed (pace, O/U thresholds) 11 AM daily nhl-flow-metrics
nhl_venue_adjustments 32 Computed (per-venue λ adjust) Weekly nhl-venue-adjustment
nhl_game_periods_cache 2,332 NHL API (raw period data) 11 AM daily (computation source)

Goalie Data

Table Rows Source Schedule Freshness Key
goalie_starters 105 DailyFaceoff scrape 11AM/1PM/3PM/5PM scrape-dailyfaceoff
goalie_starters_history 310 DailyFaceoff (historical) Continuous scrape-dailyfaceoff
nhl_goalie_matchup_history 1 NHL API game logs 11 AM daily nhl-goalie-matchup
nhl_goalie_workload 71 Computed (starts, shots faced) 11 AM daily nhl-goalie-workload
moneypuck_goalies 95 MoneyPuck CSV (GSAx, SV%) 11 AM daily scrape-moneypuck
ref_assignments 453 ScoutingTheRefs scrape Game day scrape-scoutingtherefs

Fatigue & Travel

Table Rows Source Schedule Freshness Key
nhl_fatigue_metrics 31 Computed (rest, B2B, travel, TZ) 11 AM daily nhl-fatigue-metrics

Shared / Supporting Tables

Table Rows Notes
sports_edge_summary 61 Daily summary across all sports
kalshi_nhl_prices 1,480,073 Dedicated Kalshi NHL price archive
kalshi_nhl_futures 196,852 Kalshi NHL futures archive
kalshi_nhl_player_props 1,274,672 Kalshi NHL player props archive
moneypuck_line_combos 2,206 Line combination data

Key Parameters

Parameter Value
Poisson max goals 15
Spread std dev 2.0
OT lambda adjustment +0.15
Min net edge 4 cents
Kalshi fee rate 7% on profit
Kelly fraction 0.25
EWMA alphas 0.10, 0.12, 0.15
PDO normal range 0.985–1.015
Rung cap (no-bet) 5+
Implied prob range 15%–85%

Freshness Thresholds

Source Type Expected Freq Stale Threshold
Daily scrapers (11AM) 1440 min 1560 min (26h)
4x daily (edge scanner) 240 min 420 min (7h)
3x daily (SBR, pregame) 480 min 780 min (13h)
Every 30min (Kalshi) 30 min 120 min (2h)
Adaptive (Pinnacle) 120 min 360 min (6h)
Weekly (venue adj) 10080 min 10560 min (1w+4h)
Live scores 3 min 10 min

Deferred Items

Item Status Notes
Kalshi WebSocket Design phase Needed for live execution, not edge detection
Massey ratings BUILT — 32 teams Low priority, existing models sufficient
NaturalStatTrick Blocked Source unavailable; MoneyPuck covers same stats
Proprietary xG model Data collection Collecting raw NHL API shot data
Negative Binomial Design only Poisson adequate; swap if overdispersion detected
Data validation framework Assigned DeepSeek R1 to build shared service
32-team beat reporter list Not started Required for research pipeline
Dimers NHL FIXED — scraper fetches NHL Scraper exists, 0 NHL rows
Goalie matchup delta Table exists, 0 rows Depends on matchup history (now 655 rows)
Source: ~/.claude/projects/-home-ubuntu-edgeclaw/memory/nhl-desk-data-inventory.md