Skip to main content

Position-Based Scoring

2026-05-11

Position-Based Scoring

Forwards and defensemen score from skater stats (goals, assists, +/-, shots, etc.). Goalies score from outcome stats (wins, shutouts, saves, etc.). Each league configures its own per-position points-per-unit values.

Each player position group has its own scoring categories. This page lists what the points engine can score, and explains where the per-league values live.

Position groups

The engine reduces every player to one of three scoring positions:

  • F (Forward) — covers C, LW, RW, and generic F
  • D (Defenseman)
  • G (Goalie)

A player's NHL position determines which group they fall into. Forwards and defensemen share the skater scoring table; goalies use a separate goalie scoring table.

Skater categories (Forwards and Defensemen)

The engine can score skaters on any of the following NHL game stats, depending on what your league enables:

  • goals — goals scored
  • assists — primary or secondary assists
  • plusMinus — on-ice +/-
  • pim — penalty minutes
  • powerPlayGoals — power-play goals
  • powerPlayPoints — power-play goals + power-play assists
  • gameWinningGoals — game-winning goals
  • shots — shots on goal
  • hatTricks — three-goal games

Each enabled category has a per-unit point value (for example, "goals: 3" means every goal is worth 3 points). The category list is per-position — a league can set different values for forwards and defensemen even though they share the same stat table.

Goalie categories

Goalies score from outcome stats:

  • wins — regulation or overtime wins
  • losses — regulation losses
  • otLosses — overtime losses
  • soLosses — shootout losses
  • shutouts — shutouts
  • goalsAgainst — goals against (usually negative)
  • shotsAgainst — shots against
  • saves — saves made
  • goals / assists — extremely rare, but counted if a goalie picks one up
  • hatTricks — included for completeness; not meaningfully achievable

Where league scoring lives

Per-league scoring values live in the ScoringConfig table — one row per (position, category, season, leagueId). The commissioner edits these on the League Settings → Scoring screen. FanPoolHQ falls back to global defaults if a league has not customized its scoring.

This is why two leagues running off the same FanPoolHQ install can have wildly different points totals for the same player — each league applies its own configured points-per-unit.

Daily updates and settlement

Stats are pulled by an overnight cron job. Once a game reaches FINAL status, the stats it contributed are considered settled — the points roll into your team total and do not move again unless the commissioner re-runs a manual recalculation.

To see exactly which categories your league has enabled and their point values, ask your commissioner to share the League Settings → Scoring page, or check the Standings breakdown for any team — it lists the categories that contributed.