Back to Guides
Stats Tracking Guide

Hockey Stats Tracking: What HAHL Displays, and What 25/26 Told Us

How the Havoc Amateur Hockey League tracks goals, assists, penalties, shots, and goalie performance across four divisions — and the 2025/26 winter playoff pattern that the stats record alone could tell.

12 min readLast updated: May 2026

The 2025/26 HAHL winter season ended with a pattern that, in years of running adult hockey in Huntsville, I have not seen before. All four divisions held their playoffs. All four #1 seeds lost. Bronze, Steel, Silver, Iron — the regular-season top seed went home in all four brackets, and the championship trophy went to a #2 seed or lower across the board.

The Bronze final, the one I was closest to, ended ICE CAV 3, Really Swift 0. Matt Boden (#28) scored twice, Paul Dinardo (#31) scored the middle goal, and Doug Rezabek, Beret Proctor, and Rob Alferink each picked up assists. Really Swift came in as the defending summer champions and the #1 seed; ICE CAV came in seeded #2. The shot totals were 17 to 12. The penalty differential was about even until a late boarding-plus-misconduct on the Really Swift bench iced the result.

None of that is the story the regular-season standings would have told you. The standings said Really Swift won the regular season; the stats record from the championship game says they were outshot and outworked on the night that mattered. That is what stats are for in a beer league. Not to predict who wins. To document who actually did, in enough detail that nobody has to argue about it the next morning.

What HAHL Actually Displays

The public-facing site at havocahl.com organizes stats into six entry points, which after years of evolution are the categories adult-league players actually look for:

  • Scores — recent game results, organized by week and division
  • Schedule & Stats — upcoming games and the detail box score for each completed game (goal scorers, assists, penalties with time-stamps, shots by period)
  • Standings — one table per division, with points, games played, wins/losses/OT, goals for and against
  • Leaders — top scorers and top goalies for the season, filtered by division
  • Teams — rosters and per-team records
  • Players — per-player career and season stat lines

The principle behind the layout is that different audiences want different views. A player wants their stat line and the leaderboard their name might be on. A captain wants their team page. A board member wants the standings. A sponsor wants the headlines and team logos. One stats system, six entry points, each tuned to who is asking.

Player Stats Worth Tracking

Beer leagues do not need every stat the NHL tracks. They need the ones players actually look at and the ones disputes get raised about. After years of refining HAHL's box score, this is the working set:

AbbrevNameWhy it matters
GGoalsGoals scored by the player
AAssistsPrimary and secondary assists on goals
PTSPointsTotal of goals plus assists
PIMPenalty MinutesTotal minutes spent in penalty box
GWGGame Winning GoalsGoal that proved to be the winner
SOGShots on GoalShots that would have scored if not saved

Notable absences from this list: plus/minus, faceoff percentage, hits, blocks. Some leagues track plus/minus and it can be defensible at the more competitive end (Iron division players want it). For most adult-league play, plus/minus produces more arguments than insight because the scorekeeper has to attribute every on-ice goal to every skater, and the data quality is rarely high enough to trust. Faceoffs, hits, and blocks are pro-league stats; tracking them at the beer-league level is unrealistic.

The one stat I would single out as more important than its reputation suggests: shots on goal. The Bronze championship recap above noted ICE CAV at 17 and Really Swift at 12, with Really Swift's shots distributed evenly 4-4-4 by period. That number tells a story the goal count alone misses — Really Swift was generating chances all night, the goaltender just had a great game. Shot data is the most underutilized stat in adult hockey, and the leagues that track it are the ones whose players can have substantive postgame conversations.

Goalie Stats

Goalies are the smallest population in any beer league and the most valuable. Their stats matter both because the position is competitive (every league has a top-goalie award) and because goalies show up to play and want to know how they are doing.

AbbrevNameWhat it tells you
GPGames PlayedNumber of games started or appeared in
W-L-OTLRecordWins, losses, overtime/shootout losses
GAGoals AgainstTotal goals allowed
GAAGoals Against AverageAverage goals allowed per 60 minutes
SV%Save PercentageSaves divided by total shots faced
SOShutoutsGames allowing zero goals

Goals against average (GAA) and save percentage (SV%) tell different parts of the story. A goalie behind a porous team has a high GAA but might still have a strong SV%. A goalie on a defensive team can have a low GAA without facing many quality chances. Show both on the leaderboard; let players read them in context.

Standings: What Columns, and What Tiebreakers

Each HAHL division shows its own standings table. The working set of columns:

  • GP — games played
  • W — wins in regulation or overtime
  • L — losses in regulation
  • OTL/SOL — overtime or shootout losses (one point)
  • GF / GA — goals for and against
  • PTS — league points (typically 2 for a win, 1 for an OT/SO loss, 0 for a regulation loss)

Tiebreakers are the part most leagues get wrong by leaving undefined until they matter. Common sequence: points first; head-to-head record; goal differential; goals for; coin flip. Write the sequence down in your bylaws so when two teams finish tied at the end of the season, nobody has to invent the rule under pressure.

Box Scores: The Detail That Documents the Game

The Bronze final between ICE CAV and Really Swift produced a box score that documented every goal at its scoring moment: Matt Boden #28 from Doug Rezabek #18 at 15:30 of the first period; Paul Dinardo #31 from Beret Proctor #37 at 8:20 of the second; Boden again from Rob Alferink #8 at 16:07 of the third. Penalties recorded with player, type, time. Shots tallied by period.

That level of detail is what separates a leaderboard from a record. A leaderboard tells you Matt Boden had a good game; the box score lets him pull it up two years from now and remember the assist on his championship-winning goal came from a teammate who has since moved out of town. The leagues that build a stat history players want to revisit are the leagues that grow their renewal rate over time. Stats are a retention tool when they go deep enough to be revisited.

What live scoring buys you: Real-time entry of goals, assists, penalties, and shots as the game happens. Players can pull up the box score on the drive home rather than waiting two days for the league to type it up. Captains can settle a disputed goal in the moment. The 2025/26 Bronze final's clean box score exists because the scorekeeping happened during the game, not from a scribbled scoresheet days later.

What 25/26 Told Us — the Upset Pattern Stats Caught

The fact that all four HAHL divisions saw upset champions in 25/26 is the kind of stat-pattern observation a league only gets to make if it has been tracking standings, seeds, and playoff outcomes for long enough that "all four divisions, same season, same outcome" can register as unusual rather than coincidental.

Bronze: #2 seed ICE CAV beat #1 seed Really Swift. Steel: the Jackwagons came in below their championship seeding. Silver: Goal Diggers won on a shootout. Iron: the Vipers held off forfeits and roster duct tape to take the title. Four divisions, four #1 seeds knocked out, four trophies handed to teams the regular season did not predict.

What this pattern tells us, beyond the obvious: regular-season seeding may be undervalued by adult-league brackets that put too few games between regular-season finish and playoff start, or it may be overvalued by the assumption that a top seed is necessarily favored. Either way, it is a pattern the league only sees because the stats system distinguishes regular-season standings from playoff outcomes, archives both, and lets us look back across years to ask whether 25/26 was an aberration or a signal.

Where Stat Tracking Falls Apart

Wrong scorer credited

Goal goes in off a deflection; scorekeeper credits the wrong skater; the actual scorer reads the recap and is upset. Fix: a defined correction process with a deadline. Captain or player submits the correction, scorekeeper or league reviews, change is logged with a timestamp. Stat integrity is a trust issue first; getting it right week one prevents an erosion that compounds over the season.

Stats not entered in real time

Scoresheet written by hand at the rink, typed up by a volunteer two days later. Errors creep in from handwriting, missing time-stamps, lost penalty details. Fix: live scoring on a tablet during the game. The Bronze championship recap above exists in detail because someone was tapping data in as it happened, not reconstructing it later.

Stat-padding at the buzzer

Team up 6-0 pulls its goalie in the third period to give a third-line winger a shot at a hat trick. The recipient feels great; the goalie watching from the bench feels worse. Fix: no policy fixes this perfectly because it is a culture issue. Some leagues count empty-net goals separately in the leaderboard. Most just rely on captains and the social pressure of league norms.

Career history lost in a platform migration

League switches platforms and only the current-season stats come over. The veteran defenseman who has been keeping a mental tally of his career numbers since 2014 loses years of data. Fix: any platform change has to plan for the career-history import, not just the current-season cutover. Players forgive a lot of operational hiccups; losing their stat history is the one they do not forgive.

Stat Tracking That Players Will Actually Revisit

Live scoring on a tablet, leaderboards by division, box scores deep enough to remember the championship-winning goal years later. The stats system we are building for HAHL. League plan starts at $25/month.