bpdatabases - NHL hockey analytics bpdatabases - NHL hockey analytics
Actual vs. Expected Goal Share
Sep 29, 2026 – Nov 5, 2026
Expected Goals For Percentage (xGF%)
> 52.5% 47.5–​52.5% < 47.5%
Good Process, Bad Results
Good Process, Okay Results
Good Process, Good Results
Okay Process, Bad Results
Okay Process, Okay Results
Okay Process, Good Results
Bad Process, Bad Results
Bad Process, Okay Results
Bad Process, Good Results
< 47.5% 47.5–​52.5% > 52.5%
Actual Goals For Percentage (GF%)

Teams are grouped by the range their xGF% and GF% fall into; position of the logo is not exact.

Dates to
Reset
Why Compare Expected Goal Share to Actual Goal Share?
Expected & Actual Goal Share

The majority of the analytics on this site are derived from my Expected Goals (xG) model, and this plot is no different. By focusing on shot quality over box score stats, xG provides a more stable metric by drawing information from every shot attempt rather than only those that become goals. For example, if you were assessing the performance of a team on a given night, xG takes into account the quality of the ~30 shots instead of just the ~3 goals. By expanding this to include the opponent's xG, we can calculate an xG For Percentage (xGF%), a metric that identifies which team earned the greater share of the expected goals.

xGF% = xGF / (xGF + xGA)

This is “expected” in the sense that we’re attempting to answer “What did we expect to happen?” given all of the information we have for each shot attempt by each team. We can contrast that to “What happened?” by plotting it against the actual goal share.

GF% = GF / (GF + GA)

How to Interpret the Results

If the two metrics align (“Bad Process, Bad Results” or “Okay Process, Okay Results” or “Good Process, Good Results”), then we may have more confidence that the results are indicative of the process. In other words, luck or unmeasured skill appears to be a smaller factor in the team’s outcomes than the measured process.

If the two metrics conflict (“Bad Process, Good Results” or “Good Process, Bad Results”), then we should have less confidence in what we are seeing. We'd expect the GF% to move towards the xGF% in the long-run, unless the model is failing to capture something in the process that yields reliable results.

As with most statistical analysis, the date range you choose should alter your interpretation of the plot. Over a short range (ex. a single game or a week), the sample size is small so you are more susceptible to noise. This is especially true for GF%, because there are so few goals scored. Over a long range (ex. multiple seasons), the metrics are more stable, but teams will be more likely to drift to the middle (“Okay Process, Okay Results”) and you’ll also compromise the context as it will include roster turnover, coaching changes, etc. There is no “perfect” range, so sitting in the middle (ex. a few months of games) and/or comparing multiple ranges to each other is the best way to find the real signal amongst the noise.

Team Data
Sep 29, 2026 – Nov 5, 2026
Team xGF% GF% Classification GP GF xGF GA xGA
Carolina Hurricanes 59.8% 62.2% Good Process, Good Results 18 69 67.6 42 45.4
New Jersey Devils 57.8% 54.4% Good Process, Good Results 16 56 53.6 47 39.2
Utah Mammoth 57.8% 50.8% Good Process, Okay Results 17 61 62.2 59 45.3
Tampa Bay Lightning 55.0% 55.4% Good Process, Good Results 15 56 50.8 45 41.5
Florida Panthers 54.9% 52.5% Good Process, Okay Results 16 52 52.1 47 42.8
Vegas Golden Knights 54.4% 54.6% Good Process, Good Results 18 59 57.5 49 48.1
Dallas Stars 54.3% 55.0% Good Process, Good Results 16 44 47.1 36 39.6
Minnesota Wild 53.6% 59.6% Good Process, Good Results 17 56 56.4 38 48.9
Colorado Avalanche 52.5% 55.3% Okay Process, Good Results 17 68 53.0 55 47.8
New York Rangers 51.9% 51.0% Okay Process, Okay Results 17 51 50.7 49 47.0
Los Angeles Kings 51.9% 47.8% Okay Process, Okay Results 14 43 42.6 47 39.5
Ottawa Senators 51.5% 50.0% Okay Process, Okay Results 17 52 51.1 52 48.1
Detroit Red Wings 51.3% 48.5% Okay Process, Okay Results 17 47 52.9 50 50.2
Pittsburgh Penguins 51.1% 46.7% Okay Process, Bad Results 16 50 50.0 57 47.9
Edmonton Oilers 51.0% 57.9% Okay Process, Good Results 17 70 50.2 51 48.1
St. Louis Blues 50.4% 49.5% Okay Process, Okay Results 16 49 45.5 50 44.7
Washington Capitals 50.2% 50.5% Okay Process, Okay Results 14 49 45.0 48 44.6
Buffalo Sabres 49.4% 46.8% Okay Process, Bad Results 15 44 47.2 50 48.4
Montreal Canadiens 49.2% 51.9% Okay Process, Okay Results 16 55 49.2 51 50.8
Boston Bruins 49.1% 61.2% Okay Process, Good Results 17 63 49.9 40 51.8
New York Islanders 49.1% 49.4% Okay Process, Okay Results 15 42 44.9 43 46.6
Winnipeg Jets 48.3% 42.9% Okay Process, Bad Results 17 45 51.9 60 55.6
Nashville Predators 47.9% 50.5% Okay Process, Okay Results 16 48 46.5 47 50.5
Toronto Maple Leafs 47.6% 53.0% Okay Process, Good Results 17 62 50.1 55 55.2
Columbus Blue Jackets 46.8% 46.2% Bad Process, Bad Results 14 36 37.7 42 42.8
Seattle Kraken 45.6% 49.5% Bad Process, Okay Results 15 52 39.7 53 47.3
Anaheim Ducks 45.3% 49.2% Bad Process, Okay Results 16 59 45.0 61 54.4
Calgary Flames 45.1% 41.5% Bad Process, Bad Results 16 39 41.3 55 50.2
San Jose Sharks 42.8% 41.7% Bad Process, Bad Results 17 43 46.7 60 62.5
Philadelphia Flyers 42.7% 39.4% Bad Process, Bad Results 18 39 44.6 60 59.9
Chicago Blackhawks 41.2% 35.6% Bad Process, Bad Results 17 37 41.7 67 59.4
Vancouver Canucks 40.3% 39.0% Bad Process, Bad Results 18 53 41.9 83 62.0