Expected goals
FC Haka expected goals (xG) 2025/2026
Veikkausliiga · after 27 matches · updated 4 Oct
FC Haka's attacking and defensive expected goals in Veikkausliiga 2025/2026, compared with the results they produced and with the rest of the competition.
FC Haka xG and xGA per match
Every match ↓| Rank | Club | xG per match |
|---|---|---|
| #1 | HJK | 2.16 |
| #2 | SJK | 2.03 |
| #3 | Ilves | 1.95 |
| #4 | Inter Turku | 1.94 |
| #5 | KuPS | 1.83 |
| #6 | FF Jaro | 1.45 |
| #7 | IF Gnistan | 1.38 |
| #8 | VPS | 1.36 |
| #9 | FC Haka | 1.31 |
| #10 | AC Oulu | 1.26 |
| #11 | KTP | 1.20 |
| #12 | IFK Mariehamn | 1.00 |
- League avg
- 1.60
- Total
- 35.49 27 matches
| Rank | Club | xGA per match |
|---|---|---|
| #1 | Inter Turku | 1.12 |
| #2 | KuPS | 1.22 |
| #3 | Ilves | 1.28 |
| #4 | HJK | 1.47 |
| #5 | AC Oulu | 1.49 |
| #6 | VPS | 1.49 |
| #7 | SJK | 1.56 |
| #8 | FC Haka | 1.61 |
| #9 | FF Jaro | 1.96 |
| #10 | IF Gnistan | 1.99 |
| #11 | KTP | 2.09 |
| #12 | IFK Mariehamn | 2.10 |
- League avg
- 1.60
- Total
- 43.49 27 matches
| Rank | Club | xGD per match |
|---|---|---|
| #1 | Inter Turku | +0.82 |
| #2 | HJK | +0.69 |
| #3 | Ilves | +0.67 |
| #4 | KuPS | +0.61 |
| #5 | SJK | +0.47 |
| #6 | VPS | -0.13 |
| #7 | AC Oulu | -0.23 |
| #8 | FC Haka | -0.30 |
| #9 | FF Jaro | -0.51 |
| #10 | IF Gnistan | -0.60 |
| #11 | KTP | -0.89 |
| #12 | IFK Mariehamn | -1.10 |
- League avg
- 0.00
- Total
- -8.00 27 matches
| Rank | Club | xPts per match |
|---|---|---|
| #1 | Inter Turku | 1.99 |
| #2 | Ilves | 1.75 |
| #3 | KuPS | 1.73 |
| #4 | HJK | 1.70 |
| #5 | SJK | 1.65 |
| #6 | VPS | 1.27 |
| #7 | AC Oulu | 1.25 |
| #8 | FC Haka | 1.22 |
| #9 | FF Jaro | 1.15 |
| #10 | IF Gnistan | 1.06 |
| #11 | KTP | 0.93 |
| #12 | IFK Mariehamn | 0.73 |
- League avg
- 1.40
- Total
- 32.85 vs 17 actual pts
What the xG says
FC Haka's underlying numbers sit close to the Veikkausliiga average. They rank #8 for xG difference at -0.30 per match, from about average shot volume at low chance quality. Their 30 goals are 5.49 below 35.49 xG, while 17 points are 15.85 below 32.85 xPts.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
FC Haka are 5.49 goals below their xG after 27 matches. The gap was widest at -5.94, against IF Gnistan on Sun 13/07.
- Goals
- 30
- xG
- 35.49
- Gap
- -5.49
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sat 05/04 | IF Gnistan | 3 | 3.81 | -0.81 | -0.81 |
| Sat 12/04 | IFK Mariehamn | 0 | 1.20 | -1.20 | -2.01 |
| Sat 19/04 | AC Oulu | 2 | 0.78 | +1.22 | -0.79 |
| Mon 28/04 | SJK | 2 | 1.63 | +0.37 | -0.42 |
| Fri 02/05 | FF Jaro | 0 | 1.92 | -1.92 | -2.34 |
| Fri 09/05 | Ilves | 2 | 1.34 | +0.66 | -1.68 |
| Fri 16/05 | KuPS | 1 | 0.73 | +0.27 | -1.41 |
| Fri 23/05 | KTP | 0 | 1.47 | -1.47 | -2.88 |
| Sat 31/05 | VPS | 2 | 1.28 | +0.72 | -2.16 |
| Sat 14/06 | Inter Turku | 1 | 1.03 | -0.03 | -2.19 |
| Wed 18/06 | HJK | 1 | 1.85 | -0.85 | -3.04 |
| Sat 28/06 | Ilves | 0 | 0.89 | -0.89 | -3.93 |
| Wed 02/07 | VPS | 2 | 1.85 | +0.15 | -3.78 |
| Sun 06/07 | Inter Turku | 0 | 1.21 | -1.21 | -4.99 |
| Sun 13/07 | IF Gnistan | 0 | 0.95 | -0.95 | -5.94 |
| Mon 21/07 | IFK Mariehamn | 1 | 0.75 | +0.25 | -5.69 |
| Sat 26/07 | KTP | 2 | 1.42 | +0.58 | -5.11 |
| Sat 02/08 | KuPS | 2 | 0.71 | +1.29 | -3.82 |
| Sat 09/08 | FF Jaro | 1 | 0.83 | +0.17 | -3.65 |
| Sun 17/08 | HJK | 1 | 0.37 | +0.63 | -3.02 |
| Mon 25/08 | SJK | 2 | 2.00 | +0.00 | -3.02 |
| Sun 31/08 | AC Oulu | 2 | 0.57 | +1.43 | -1.59 |
| Sat 13/09 | IFK Mariehamn | 1 | 2.30 | -1.30 | -2.89 |
| Fri 19/09 | AC Oulu | 0 | 1.46 | -1.46 | -4.35 |
| Fri 26/09 | VPS | 0 | 1.54 | -1.54 | -5.89 |
| Fri 03/10 | FF Jaro | 1 | 0.76 | +0.24 | -5.65 |
| Sat 18/10 | KTP | 1 | 0.84 | +0.16 | -5.49 |
FC Haka xG trend
Current form -0.13 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 12 of 27 matches. The worst was against SJK on Mon 25/08 (-2.83).
- npxG · last 6
- 1.25
- npxGA · last 6
- 1.37
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sat 05/04 | IF Gnistan | 3.05 | 0.73 | +2.32 | +2.32 |
| Sat 12/04 | IFK Mariehamn | 1.20 | 0.65 | +0.55 | +1.44 |
| Sat 19/04 | AC Oulu | 0.78 | 0.59 | +0.19 | +1.02 |
| Mon 28/04 | SJK | 1.14 | 1.04 | +0.10 | +0.79 |
| Fri 02/05 | FF Jaro | 1.92 | 1.59 | +0.33 | +0.70 |
| Fri 09/05 | Ilves | 1.34 | 1.34 | +0.00 | +0.58 |
| Fri 16/05 | KuPS | 0.73 | 1.86 | -1.13 | +0.34 |
| Fri 23/05 | KTP | 1.47 | 0.50 | +0.97 | +0.42 |
| Sat 31/05 | VPS | 1.28 | 0.73 | +0.55 | +0.43 |
| Sat 14/06 | Inter Turku | 1.03 | 2.26 | -1.23 | +0.26 |
| Wed 18/06 | HJK | 1.85 | 2.24 | -0.39 | +0.21 |
| Sat 28/06 | Ilves | 0.98 | 1.91 | -0.93 | +0.11 |
| Wed 02/07 | VPS | 1.85 | 1.30 | +0.55 | +0.14 |
| Sun 06/07 | Inter Turku | 1.21 | 1.50 | -0.29 | +0.11 |
| Sun 13/07 | IF Gnistan | 0.95 | 0.39 | +0.56 | +0.14 |
| Mon 21/07 | IFK Mariehamn | 0.76 | 0.83 | -0.07 | +0.13 |
| Sat 26/07 | KTP | 0.66 | 1.04 | -0.38 | +0.10 |
| Sat 02/08 | KuPS | 0.71 | 3.27 | -2.56 | -0.05 |
| Sat 09/08 | FF Jaro | 0.83 | 2.02 | -1.19 | -0.11 |
| Sun 17/08 | HJK | 0.37 | 2.40 | -2.03 | -0.20 |
| Mon 25/08 | SJK | 0.48 | 3.31 | -2.83 | -0.33 |
| Sun 31/08 | AC Oulu | 0.57 | 2.35 | -1.78 | -0.39 |
| Sat 13/09 | IFK Mariehamn | 2.30 | 0.70 | +1.60 | -0.31 |
| Fri 19/09 | AC Oulu | 1.46 | 0.67 | +0.79 | -0.26 |
| Fri 26/09 | VPS | 1.54 | 0.85 | +0.69 | -0.22 |
| Fri 03/10 | FF Jaro | 0.76 | 2.04 | -1.28 | -0.26 |
| Sat 18/10 | KTP | 0.84 | 1.61 | -0.77 | -0.28 |
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.19 npxG and 1.47 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 12 in Veikkausliiga
- −0.05 xG vs league average
- Over 27 league matches
- Last 5
- number 10 hardest of 12 in Veikkausliiga
- −0.40 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
−0.05 xG vs league average · over 27 matches · tied number 9 hardest of 12
- KTP Home −0.30
- FF Jaro Away −0.47
- VPS Away −0.30
- AC Oulu Home −0.12
- IFK Mariehamn Away −0.79
- AC Oulu Away −0.12
- SJK Home +0.45
- HJK Home +0.49
- FF Jaro Away −0.47
- KuPS Away +0.57
- KTP Home −0.30
- IFK Mariehamn Away −0.79
- IF Gnistan Away −0.13
- Inter Turku Home +0.49
- VPS Away −0.30
- Ilves Home +0.45
- HJK Away +0.49
- Inter Turku Away +0.49
- VPS Home −0.30
- KTP Away −0.30
- KuPS Home +0.57
- Ilves Away +0.45
- FF Jaro Home −0.47
- SJK Away +0.45
- AC Oulu Home −0.12
- IFK Mariehamn Home −0.79
- IF Gnistan Home −0.13
Last 5
−0.40 xG vs league average · over 5 matches · number 10 hardest of 12
- KTP Home −0.30
- FF Jaro Away −0.47
- VPS Away −0.30
- AC Oulu Home −0.12
- IFK Mariehamn Away −0.79
FC Haka shots and chance quality
Average volume, low quality. FC Haka take 11.1 shots a match (league 12.3) at 0.11 npxG a shot (league 0.12), #8 in Veikkausliiga for volume and #10 for quality. 61% of their shots come from inside the box (league 63%).
Attack
| Rank | Club | shots per match |
|---|---|---|
| #1 | HJK | 15.3 |
| #2 | Inter Turku | 14.2 |
| #3 | KuPS | 14.0 |
| #4 | SJK | 13.9 |
| #5 | Ilves | 13.7 |
| #6 | KTP | 11.8 |
| #7 | IF Gnistan | 11.5 |
| #8 | FC Haka | 11.1 |
| #9 | FF Jaro | 10.8 |
| #10 | VPS | 10.6 |
| #11 | AC Oulu | 10.1 |
| #12 | IFK Mariehamn | 9.1 |
- League avg
- 12.3
- Total
- 301 shots from 27 matches
| Rank | Club | npxG per shot |
|---|---|---|
| #1 | SJK | 0.14 |
| #2 | FF Jaro | 0.13 |
| #3 | HJK | 0.13 |
| #4 | Ilves | 0.13 |
| #5 | Inter Turku | 0.13 |
| #6 | KuPS | 0.12 |
| #7 | VPS | 0.12 |
| #8 | AC Oulu | 0.12 |
| #9 | IF Gnistan | 0.11 |
| #10 | FC Haka | 0.11 |
| #11 | IFK Mariehamn | 0.10 |
| #12 | KTP | 0.09 |
- League avg
- 0.12
- Total
- 32.06 npxG from 301 shots
Defence
| Rank | Club | shots per match |
|---|---|---|
| #1 | Ilves | 9.7 |
| #2 | Inter Turku | 10.1 |
| #3 | KuPS | 10.5 |
| #4 | AC Oulu | 10.6 |
| #5 | HJK | 10.9 |
| #6 | SJK | 11.8 |
| #7 | VPS | 12.6 |
| #8 | FC Haka | 12.6 |
| #9 | IF Gnistan | 13.8 |
| #10 | KTP | 15.0 |
| #11 | FF Jaro | 15.1 |
| #12 | IFK Mariehamn | 16.1 |
- League avg
- 12.3
- Total
- 341 shots allowed from 27 matches
| Rank | Club | npxGA per shot |
|---|---|---|
| #1 | KuPS | 0.10 |
| #2 | Inter Turku | 0.11 |
| #3 | VPS | 0.11 |
| #4 | SJK | 0.11 |
| #5 | FC Haka | 0.12 |
| #6 | IFK Mariehamn | 0.12 |
| #7 | FF Jaro | 0.12 |
| #8 | AC Oulu | 0.13 |
| #9 | HJK | 0.13 |
| #10 | Ilves | 0.13 |
| #11 | KTP | 0.13 |
| #12 | IF Gnistan | 0.13 |
- League avg
- 0.12
- Total
- 39.72 npxGA from 341 shots
Shot profile
61% inside the box
League avg 63%
From 183 of 301 shots over 27 matches
63% allowed inside the box
League avg 63%
From 214 of 341 shots allowed over 27 matches
FC Haka home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 13 | 14 |
| xG / match | 1.38 | 1.26 |
| xGA / match | 1.60 | 1.62 |
| xGD / match | -0.23 | -0.36 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 1.25 | 1.18 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every FC Haka match by xG
This season
- Matches
- 27
- xG / match
- 1.31
- xGA / match
- 1.61
- xGD / match
- -0.30
- Points
- 17 of 81
- Sat 18/10 KTP H xG 0.84 xGA 1.61 xGD -0.77 xPts 0.75
- Fri 03/10 FF Jaro A xG 0.76 xGA 2.04 xGD -1.28 xPts 0.46
- Fri 26/09 VPS A xG 1.54 xGA 0.85 xGD +0.69 xPts 1.93
- Fri 19/09 AC Oulu H xG 1.46 xGA 0.66 xGD +0.80 xPts 2.06
- Sat 13/09 IFK Mariehamn A xG 2.30 xGA 0.70 xGD +1.60 xPts 2.50
- Sun 31/08 AC Oulu A xG 0.57 xGA 2.35 xGD -1.78 xPts 0.27
- Mon 25/08 SJK H xG 2.00 P xGA 3.31 xGD -1.31 xPts 0.67
- Sun 17/08 HJK H xG 0.37 xGA 2.40 xGD -2.03 xPts 0.16
- Sat 09/08 FF Jaro A xG 0.83 xGA 2.02 xGD -1.19 xPts 0.53
- Sat 02/08 KuPS A Weakest underlying xG 0.71 xGA 3.27 xGD -2.56 xPts 0.14
- Sat 26/07 KTP H xG 1.42 P xGA 1.04 xGD +0.38 xPts 1.68
- Mon 21/07 IFK Mariehamn A xG 0.75 xGA 0.82 xGD -0.07 xPts 1.23
- Sun 13/07 IF Gnistan A xG 0.95 xGA 1.15 P xGD -0.20 xPts 1.17
- Sun 06/07 Inter Turku H xG 1.21 xGA 2.26 P xGD -1.05 xPts 0.67
- Wed 02/07 VPS A xG 1.85 xGA 1.29 xGD +0.56 xPts 1.79
- Sat 28/06 Ilves H xG 0.89 xGA 2.67 P xGD -1.78 xPts 0.34
- Wed 18/06 HJK A xG 1.85 xGA 2.24 xGD -0.39 xPts 1.12
- Sat 14/06 Inter Turku A xG 1.03 xGA 2.25 xGD -1.22 xPts 0.56
- Sat 31/05 VPS H xG 1.28 xGA 0.73 xGD +0.55 xPts 1.84
- Fri 23/05 KTP A xG 1.47 xGA 0.51 xGD +0.96 xPts 2.21
- Fri 16/05 KuPS H xG 0.73 xGA 1.86 xGD -1.13 xPts 0.53
- Fri 09/05 Ilves A xG 1.34 xGA 2.10 P xGD -0.76 xPts 0.83
- Fri 02/05 FF Jaro H xG 1.92 xGA 1.59 xGD +0.33 xPts 1.61
- Mon 28/04 SJK A xG 1.63 xGA 1.04 xGD +0.59 xPts 1.84
- Sat 19/04 AC Oulu H xG 0.78 xGA 0.59 xGD +0.19 xPts 1.52
- Sat 12/04 IFK Mariehamn H xG 1.20 xGA 0.65 xGD +0.55 xPts 1.84
- Sat 05/04 IF Gnistan H Best underlying xG 3.81 P xGA 1.49 P xGD +2.32 xPts 2.59
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.81. 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.
FC Haka in Veikkausliiga
Attack
- xG / match #9 of 12
- Shots / match #8 of 12
- Chance quality #10 of 12
- Home xG #9 of 13
- Away xG #8 of 13
Defence
- xGA / match #8 of 12
- Shots allowed #8 of 12
- Chance quality allowed #5 of 12
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.