Expected goals
Halmstads BK expected goals (xG) 2026/2027
Allsvenskan · after 19 matches · updated 1 Oct
Halmstads BK's attacking and defensive expected goals in Allsvenskan 2026/2027, compared with the results they produced and with the rest of the competition.
Halmstads BK xG and xGA per match
Every match ↓| Rank | Club | xG per match |
|---|---|---|
| #1 | Hammarby IF | 2.66 |
| #2 | Djurgårdens IF | 2.30 |
| #3 | IK Sirius | 2.13 |
| #4 | Malmö FF | 2.04 |
| #5 | IFK Göteborg | 1.95 |
| #6 | BK Häcken | 1.84 |
| #7 | GAIS | 1.75 |
| #8 | IF Elfsborg | 1.65 |
| #9 | Västerås SK | 1.64 |
| #10 | Mjällby AIF | 1.59 |
| #11 | AIK | 1.57 |
| #12 | IF Brommapojkarna | 1.45 |
| #13 | Kalmar FF | 1.31 |
| #14 | Örgryte IS | 1.26 |
| #15 | Degerfors IF | 1.26 |
| #16 | Halmstads BK | 1.10 |
- League avg
- 1.71
- Total
- 20.82 19 matches
| Rank | Club | xGA per match |
|---|---|---|
| #1 | Hammarby IF | 1.11 |
| #2 | Djurgårdens IF | 1.15 |
| #3 | IK Sirius | 1.34 |
| #4 | GAIS | 1.34 |
| #5 | BK Häcken | 1.38 |
| #6 | Malmö FF | 1.50 |
| #7 | IF Elfsborg | 1.51 |
| #8 | IFK Göteborg | 1.63 |
| #9 | Kalmar FF | 1.74 |
| #10 | Degerfors IF | 1.76 |
| #11 | IF Brommapojkarna | 1.80 |
| #12 | Västerås SK | 1.91 |
| #13 | Mjällby AIF | 2.07 |
| #14 | Örgryte IS | 2.26 |
| #15 | AIK | 2.29 |
| #16 | Halmstads BK | 2.41 |
- League avg
- 1.71
- Total
- 45.75 19 matches
| Rank | Club | xGD per match |
|---|---|---|
| #1 | Hammarby IF | +1.54 |
| #2 | Djurgårdens IF | +1.16 |
| #3 | IK Sirius | +0.79 |
| #4 | Malmö FF | +0.54 |
| #5 | BK Häcken | +0.46 |
| #6 | GAIS | +0.41 |
| #7 | IFK Göteborg | +0.32 |
| #8 | IF Elfsborg | +0.15 |
| #9 | Västerås SK | -0.27 |
| #10 | IF Brommapojkarna | -0.35 |
| #11 | Kalmar FF | -0.43 |
| #12 | Mjällby AIF | -0.48 |
| #13 | Degerfors IF | -0.51 |
| #14 | AIK | -0.72 |
| #15 | Örgryte IS | -0.99 |
| #16 | Halmstads BK | -1.31 |
- League avg
- 0.00
- Total
- -24.93 19 matches
| Rank | Club | xPts per match |
|---|---|---|
| #1 | Hammarby IF | 2.24 |
| #2 | Djurgårdens IF | 2.05 |
| #3 | IK Sirius | 1.84 |
| #4 | BK Häcken | 1.70 |
| #5 | Malmö FF | 1.67 |
| #6 | GAIS | 1.61 |
| #7 | IFK Göteborg | 1.60 |
| #8 | IF Elfsborg | 1.49 |
| #9 | IF Brommapojkarna | 1.23 |
| #10 | Kalmar FF | 1.21 |
| #11 | Västerås SK | 1.21 |
| #12 | Degerfors IF | 1.09 |
| #13 | Mjällby AIF | 1.08 |
| #14 | AIK | 1.00 |
| #15 | Örgryte IS | 0.87 |
| #16 | Halmstads BK | 0.61 |
- League avg
- 1.40
- Total
- 11.58 vs 14 actual pts
Expected goals here are summed over 19 of 22 matches — the rest were played with no xG figure published for them, so the margins compare two different lengths of season.
What the xG says
Halmstads BK's underlying numbers are among the weakest in Allsvenskan. They rank #16 for xG difference at -1.31 per match, from low shot volume and the league's lowest chance quality. Their 12 goals are 8.82 below 20.82 xG, while 10 points are 1.58 below 11.58 xPts — both over the 19 matches with xG.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
Halmstads BK are 8.82 goals below their xG after 19 matches. The gap was widest at -8.91, against IFK Göteborg on Sat 12/09.
- Goals
- 12
- xG
- 20.82
- Gap
- -8.82
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sun 12/04 | Degerfors IF | 0 | 0.31 | -0.31 | -0.31 |
| Sat 18/04 | IFK Göteborg | 1 | 0.34 | +0.66 | +0.35 |
| Mon 27/04 | Mjällby AIF | 0 | 1.03 | -1.03 | -0.68 |
| Mon 04/05 | IF Brommapojkarna | 1 | 0.84 | +0.16 | -0.52 |
| Sun 10/05 | Kalmar FF | 0 | 0.22 | -0.22 | -0.74 |
| Sat 16/05 | IF Elfsborg | 1 | 0.83 | +0.17 | -0.57 |
| Sat 30/05 | Malmö FF | 2 | 1.65 | +0.35 | -0.22 |
| Sat 04/07 | Västerås SK | 1 | 0.91 | +0.09 | -0.13 |
| Mon 13/07 | Djurgårdens IF | 0 | 0.89 | -0.89 | -1.02 |
| Sun 19/07 | BK Häcken | 0 | 1.12 | -1.12 | -2.14 |
| Sun 26/07 | GAIS | 1 | 1.49 | -0.49 | -2.63 |
| Mon 03/08 | IK Sirius | 0 | 0.97 | -0.97 | -3.60 |
| Sun 09/08 | GAIS | 0 | 0.90 | -0.90 | -4.50 |
| Mon 17/08 | BK Häcken | 0 | 1.21 | -1.21 | -5.71 |
| Sat 22/08 | Örgryte IS | 1 | 2.67 | -1.67 | -7.38 |
| Sat 29/08 | Kalmar FF | 1 | 1.31 | -0.31 | -7.69 |
| Sat 05/09 | Degerfors IF | 0 | 0.80 | -0.80 | -8.49 |
| Sat 12/09 | IFK Göteborg | 1 | 1.42 | -0.42 | -8.91 |
| Sun 20/09 | AIK | 2 | 1.91 | +0.09 | -8.82 |
Halmstads BK xG trend
Current form -0.78 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 1 of 19 matches. The worst was against Västerås SK on Sat 04/07 (-3.30).
- npxG · last 6
- 1.55
- npxGA · last 6
- 2.33
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sun 12/04 | Degerfors IF | 0.31 | 1.70 | -1.39 | -1.39 |
| Sat 18/04 | IFK Göteborg | 0.34 | 2.16 | -1.82 | -1.61 |
| Mon 27/04 | Mjällby AIF | 1.03 | 1.52 | -0.49 | -1.23 |
| Mon 04/05 | IF Brommapojkarna | 0.84 | 1.68 | -0.84 | -1.14 |
| Sun 10/05 | Kalmar FF | 0.22 | 1.36 | -1.14 | -1.14 |
| Sat 16/05 | IF Elfsborg | 0.83 | 1.76 | -0.93 | -1.10 |
| Sat 30/05 | Malmö FF | 1.65 | 3.24 | -1.59 | -1.17 |
| Sat 04/07 | Västerås SK | 0.91 | 4.21 | -3.30 | -1.44 |
| Mon 13/07 | Djurgårdens IF | 0.89 | 2.87 | -1.98 | -1.50 |
| Sun 19/07 | BK Häcken | 1.12 | 1.40 | -0.28 | -1.38 |
| Sun 26/07 | GAIS | 1.49 | 2.97 | -1.48 | -1.39 |
| Mon 03/08 | IK Sirius | 0.97 | 3.10 | -2.13 | -1.45 |
| Sun 09/08 | GAIS | 0.90 | 3.81 | -2.91 | -1.56 |
| Mon 17/08 | BK Häcken | 1.21 | 2.78 | -1.57 | -1.56 |
| Sat 22/08 | Örgryte IS | 2.67 | 2.09 | +0.58 | -1.42 |
| Sat 29/08 | Kalmar FF | 1.31 | 1.94 | -0.63 | -1.37 |
| Sat 05/09 | Degerfors IF | 0.80 | 2.83 | -2.03 | -1.41 |
| Sat 12/09 | IFK Göteborg | 1.42 | 1.76 | -0.34 | -1.35 |
| Sun 20/09 | AIK | 1.91 | 2.57 | -0.66 | -1.31 |
Each bar is one match's non-penalty xG minus the non-penalty xG against; the line is that difference averaged over the season up to each match, and it finishes on the dashed season average — 1.10 npxG and 2.41 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- tied number 9 hardest of 16 in Allsvenskan
- 0.00 xG vs league average
- Over 22 league matches
- Last 5
- number 14 hardest of 16 in Allsvenskan
- −0.26 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
0.00 xG vs league average · over 22 matches · tied number 9 hardest of 16
- AIK Home −0.44
- IFK Göteborg Away +0.20
- Degerfors IF Away −0.27
- Kalmar FF Home −0.15
- Örgryte IS Away −0.67
- BK Häcken Away +0.26
- GAIS Home +0.23
- IK Sirius Home +0.19
- GAIS Away +0.23
- BK Häcken Home +0.26
- Djurgårdens IF Away +0.46
- Västerås SK Home −0.18
- Malmö FF Away +0.42
- Örgryte IS Home −0.67
- IF Elfsborg Home +0.10
- Kalmar FF Away −0.15
- IF Brommapojkarna Home −0.32
- Mjällby AIF Away −0.36
- Hammarby IF Away +1.29
- IFK Göteborg Home +0.20
- Degerfors IF Home −0.27
- AIK Away −0.44
Last 5
−0.26 xG vs league average · over 5 matches · number 14 hardest of 16
- AIK Home −0.44
- IFK Göteborg Away +0.20
- Degerfors IF Away −0.27
- Kalmar FF Home −0.15
- Örgryte IS Away −0.67
Halmstads BK shots and chance quality
Low volume, low quality. Halmstads BK take 12.5 shots a match (league 13.9) at 0.09 npxG a shot (league 0.12), #12 in Allsvenskan for volume and #16 for quality. 58% of their shots come from inside the box (league 64%).
Attack
| Rank | Club | shots per match |
|---|---|---|
| #1 | Hammarby IF | 21.9 |
| #2 | IFK Göteborg | 17.1 |
| #3 | Djurgårdens IF | 15.7 |
| #4 | Malmö FF | 14.9 |
| #5 | IK Sirius | 14.9 |
| #6 | GAIS | 14.5 |
| #7 | BK Häcken | 14.2 |
| #8 | Kalmar FF | 13.4 |
| #9 | Mjällby AIF | 13.0 |
| #10 | AIK | 12.9 |
| #11 | IF Elfsborg | 12.8 |
| #12 | Halmstads BK | 12.5 |
| #13 | Västerås SK | 12.1 |
| #14 | IF Brommapojkarna | 11.7 |
| #15 | Degerfors IF | 11.1 |
| #16 | Örgryte IS | 10.5 |
- League avg
- 13.9
- Total
- 238 shots from 19 matches
| Rank | Club | npxG per shot |
|---|---|---|
| #1 | Djurgårdens IF | 0.15 |
| #2 | IK Sirius | 0.14 |
| #3 | Malmö FF | 0.14 |
| #4 | Västerås SK | 0.14 |
| #5 | IF Elfsborg | 0.13 |
| #6 | BK Häcken | 0.13 |
| #7 | IF Brommapojkarna | 0.12 |
| #8 | Mjällby AIF | 0.12 |
| #9 | AIK | 0.12 |
| #10 | Hammarby IF | 0.12 |
| #11 | GAIS | 0.12 |
| #12 | Örgryte IS | 0.12 |
| #13 | IFK Göteborg | 0.11 |
| #14 | Degerfors IF | 0.11 |
| #15 | Kalmar FF | 0.10 |
| #16 | Halmstads BK | 0.09 |
- League avg
- 0.12
- Total
- 20.82 npxG from 238 shots
Defence
| Rank | Club | shots per match |
|---|---|---|
| #1 | Hammarby IF | 8.6 |
| #2 | Djurgårdens IF | 10.9 |
| #3 | BK Häcken | 11.5 |
| #4 | IFK Göteborg | 12.4 |
| #5 | GAIS | 12.4 |
| #6 | IF Elfsborg | 12.5 |
| #7 | Malmö FF | 12.9 |
| #8 | IK Sirius | 13.8 |
| #9 | Degerfors IF | 13.9 |
| #10 | Kalmar FF | 14.3 |
| #11 | Västerås SK | 14.8 |
| #12 | IF Brommapojkarna | 15.7 |
| #13 | Mjällby AIF | 16.2 |
| #14 | AIK | 16.5 |
| #15 | Halmstads BK | 17.5 |
| #16 | Örgryte IS | 17.9 |
- League avg
- 13.9
- Total
- 332 shots allowed from 19 matches
| Rank | Club | npxGA per shot |
|---|---|---|
| #1 | IK Sirius | 0.10 |
| #2 | Djurgårdens IF | 0.11 |
| #3 | GAIS | 0.11 |
| #4 | IF Brommapojkarna | 0.11 |
| #5 | Malmö FF | 0.12 |
| #6 | BK Häcken | 0.12 |
| #7 | IF Elfsborg | 0.12 |
| #8 | Kalmar FF | 0.12 |
| #9 | Örgryte IS | 0.13 |
| #10 | Degerfors IF | 0.13 |
| #11 | Mjällby AIF | 0.13 |
| #12 | Hammarby IF | 0.13 |
| #13 | Västerås SK | 0.13 |
| #14 | IFK Göteborg | 0.13 |
| #15 | Halmstads BK | 0.14 |
| #16 | AIK | 0.14 |
- League avg
- 0.12
- Total
- 45.75 npxGA from 332 shots
Shot profile
58% inside the box
League avg 64%
From 137 of 238 shots over 19 matches
68% allowed inside the box
League avg 64%
From 226 of 332 shots allowed over 19 matches
Halmstads BK home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 11 10 with xG | 11 9 with xG |
| xG / match | 0.94 | 1.26 |
| xGA / match | 2.43 | 2.38 |
| xGD / match | -1.49 | -1.12 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 0.53 | 0.69 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every Halmstads BK match by xG
This season
- Matches
- 22 19 with xG
- xG / match
- 1.10
- xGA / match
- 2.41
- xGD / match
- -1.31
- Points
- 14 of 66
- Sun 20/09 AIK H xG 1.91 xGA 2.57 xGD -0.66 xPts 0.97
- Sat 12/09 IFK Göteborg A xG 1.42 xGA 1.76 xGD -0.34 xPts 1.11
- Sat 05/09 Degerfors IF A xG 0.80 xGA 2.83 xGD -2.03 xPts 0.25
- Sat 29/08 Kalmar FF H xG 1.31 xGA 1.94 xGD -0.63 xPts 0.91
- Sat 22/08 Örgryte IS A Best underlying xG 2.67 xGA 2.09 xGD +0.58 xPts 1.76
- Mon 17/08 BK Häcken A xG 1.21 xGA 2.78 xGD -1.57 xPts 0.46
- Sun 09/08 GAIS H xG 0.90 xGA 3.81 xGD -2.91 xPts 0.13
- Mon 03/08 IK Sirius H xG 0.97 xGA 3.10 xGD -2.13 xPts 0.26
- Sun 26/07 GAIS A xG 1.49 xGA 2.97 xGD -1.48 xPts 0.54
- Sun 19/07 BK Häcken H xG 1.12 xGA 1.40 xGD -0.28 xPts 1.11
- Mon 13/07 Djurgårdens IF A xG 0.89 xGA 2.87 xGD -1.98 xPts 0.29
- Sat 04/07 Västerås SK H Weakest underlying xG 0.91 xGA 4.21 xGD -3.30 xPts 0.09
- Sat 30/05 Malmö FF A xG 1.65 xGA 3.24 xGD -1.59 xPts 0.52
- Sat 23/05 Örgryte IS H
- Sat 16/05 IF Elfsborg H xG 0.83 xGA 1.76 xGD -0.93 xPts 0.65
- Sun 10/05 Kalmar FF A xG 0.22 xGA 1.36 xGD -1.14 xPts 0.36
- Mon 04/05 IF Brommapojkarna H xG 0.84 xGA 1.68 xGD -0.84 xPts 0.70
- Mon 27/04 Mjällby AIF A xG 1.03 xGA 1.52 xGD -0.49 xPts 0.96
- Wed 22/04 Hammarby IF A
- Sat 18/04 IFK Göteborg H xG 0.34 xGA 2.16 xGD -1.82 xPts 0.21
- Sun 12/04 Degerfors IF H xG 0.31 xGA 1.70 xGD -1.39 xPts 0.30
- Sun 05/04 AIK A
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 4.21. Best and weakest underlying mark the highest and lowest xGD once 5 matches have xG. Against the chances marks a win with xGD of −1.00 or lower, or a loss with +1.00 or higher. P marks a side with at least 0.50 xG from penalties.
Halmstads BK in Allsvenskan
Attack
- xG / match #16 of 16
- Shots / match #12 of 16
- Chance quality #16 of 16
- Home xG #15 of 16
- Away xG #12 of 16
Defence
- xGA / match #16 of 16
- Shots allowed #15 of 16
- Chance quality allowed #15 of 16
About the data
- xG data
- Provided by TheStatsAPI, and stored as published.
- Derived metrics
- xGD, per-match rates, rankings and rolling averages are calculated from the match data.
- Model metrics
- xPts is produced by our probability model.