How Excitement is Calculated
Event Scoring
Each game event receives points based on its excitement value:
- Goals: 1.0 points (base value)
- High Danger Chances (HDC): 0.70 points
- Medium Danger Chances (MDC): 0.35 points
- Hits: 0.12 points (with anti-spam protection)
- Expected Goals (xG): 0.5 × xG value
- Fights: 1.2 base + 0.2 per major minute
Signature Moments
Certain plays spark additional excitement because of the context around them:
- Short-handed goals: rare, high-skill moments that energize the building.
- Tie/lead change goals: swings that keep both benches and fans on edge.
- Comeback goals: meaningful responses that chip away at big deficits.
- Lead swing goals: turning a deficit into a lead in a single strike.
- Fight afterglow: the emotional surge that often follows scrums and fights.
Context Multipliers
Event values are multiplied based on game situation:
- 2nd Period: 1.1× multiplier
- 3rd Period: 1.3× multiplier
- Overtime: 1.5× multiplier
- Last 5 minutes of 3rd: 1.35× multiplier
- Close games: Tied (1.3×), 1-goal (1.2×), 2-goal (1.0×), 3+ goal (0.9×)
Blowout Penalty
One-sided games receive reduced excitement scores:
- 0-2 goal difference: No penalty (1.0×)
- 3-goal difference: 0.5× multiplier
- 4+ goal difference: 0.3× multiplier
Recency Decay
Recent events contribute more to the excitement score using exponential decay with a 5-minute half-life. Events are spaced approximately 6 seconds apart for timing calculations.
Shot Classification
Shots are classified by danger level based on distance from goal:
- High Danger: ≤20 feet from goal
- Medium Danger: 21-35 feet from goal
- Low Danger: >35 feet from goal
Categories
Raw excitement scores are categorized as:
- Snoozer 0-4 points
- Meh 4-7 points
- Heated 7-10 points
- Sizzling 10-14 points
- Barn Burner 14+ points
Preview Games
For future games, the preview model now leans entirely on recent NHL action:
- Recent excitement pulse: Each club's most recent completed games are rescored with the live ExcitementScorer and averaged with a 1 ÷ game-order decay so fresh performances matter most.
- Recent averages: Goals, high/medium danger chances, hits, and xG are averaged over the same window to capture current pace and shot quality.
- Form multiplier: Weighted excitement is compared against the long-term baseline, producing a bounded multiplier (0.90×–1.15×) that rewards hot stretches without overreacting.
- Combined projection: Home and away averages are merged and run through the same scoring weights as the live engine to produce an expected raw excitement value.
- Storyline highlights: Thresholds on the recent averages power the “Expected” highlights such as High Scoring, Chance Barrage, or Hits Frenzy for the upcoming matchup.
The backend packages these calculations—expected excitement, form notes, and recent potential—so the frontend can surface the narrative without heavy client-side math.
Live & Final Game Summaries
When a game is underway or complete, the backend augments the excitement score with structured context:
- Key events: Short-handed tallies, comeback goals, lead changes, fights, overtime moments, danger chances, hits, and xG totals are counted.
- Excitement drivers & Excitement Dampeners: Narrative badges capture swings such as comeback goals, ice tilt, or low-event stretches.
- Score context: The response always includes current period, clock, team totals, and the multiplier reasons that shaped the live score.
Example Calculation
Scenario: 3rd period goal in a tie game with 3 minutes remaining
1. Base Event Points:
Goal = base event value
Tie/lead change scenario flagged for extra weighting
Subtotal: goal value adjusted for context
2. Context Multipliers:
3rd period = 1.3×
Last 5 minutes = 1.35×
Tied game = 1.3×
Combined multiplier: 1.3 × 1.35 × 1.3 = 2.28×
3. Apply Context:
1.10 × 2.28 = 2.51 points
4. Event Cap:
Capped at 4.0 points maximum
Final value: 2.51 points (under cap)
5. Recency Decay:
Most recent event = 1.0× (no decay)
Final contribution: 2.51 points
6. Add to Running Total:
Previous excitement + 2.51 = Updated excitement score
This single goal event contributes 2.51 points to the total excitement score, demonstrating how context and timing dramatically amplify the base event value.