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.