Expected goals
Heracles Almelo expected goals (xG) 2025/2026
Eredivisie · after 34 matches · updated 4 Oct
Heracles Almelo's attacking and defensive expected goals in Eredivisie 2025/2026, compared with the results they produced and with the rest of the competition.
Heracles Almelo xG and xGA per match
Every match ↓| Rank | Club | xG per match |
|---|---|---|
| #1 | PSV Eindhoven | 2.09 |
| #2 | Feyenoord | 1.95 |
| #3 | FC Twente | 1.90 |
| #4 | AZ Alkmaar | 1.84 |
| #5 | NEC Nijmegen | 1.83 |
| #6 | FC Groningen | 1.67 |
| #7 | SC Heerenveen | 1.66 |
| #8 | AFC Ajax | 1.58 |
| #9 | SC Telstar | 1.50 |
| #10 | FC Utrecht | 1.47 |
| #11 | Sparta Rotterdam | 1.33 |
| #12 | Excelsior | 1.32 |
| #13 | Go Ahead Eagles | 1.26 |
| #14 | Fortuna Sittard | 1.21 |
| #15 | NAC Breda | 1.19 |
| #16 | PEC Zwolle | 1.18 |
| #17 | Heracles Almelo | 1.14 |
| #18 | FC Volendam | 1.06 |
- League avg
- 1.51
- Total
- 38.92 34 matches
| Rank | Club | xGA per match |
|---|---|---|
| #1 | FC Twente | 1.12 |
| #2 | Feyenoord | 1.13 |
| #3 | PSV Eindhoven | 1.17 |
| #4 | AZ Alkmaar | 1.28 |
| #5 | AFC Ajax | 1.29 |
| #6 | FC Utrecht | 1.32 |
| #7 | FC Groningen | 1.37 |
| #8 | NEC Nijmegen | 1.42 |
| #9 | SC Heerenveen | 1.47 |
| #10 | Sparta Rotterdam | 1.50 |
| #11 | NAC Breda | 1.52 |
| #12 | FC Volendam | 1.70 |
| #13 | PEC Zwolle | 1.75 |
| #14 | Excelsior | 1.75 |
| #15 | Fortuna Sittard | 1.77 |
| #16 | SC Telstar | 1.77 |
| #17 | Go Ahead Eagles | 1.89 |
| #18 | Heracles Almelo | 1.97 |
- League avg
- 1.51
- Total
- 66.91 34 matches
| Rank | Club | xGD per match |
|---|---|---|
| #1 | PSV Eindhoven | +0.92 |
| #2 | Feyenoord | +0.82 |
| #3 | FC Twente | +0.78 |
| #4 | AZ Alkmaar | +0.56 |
| #5 | NEC Nijmegen | +0.41 |
| #6 | FC Groningen | +0.30 |
| #7 | AFC Ajax | +0.29 |
| #8 | SC Heerenveen | +0.18 |
| #9 | FC Utrecht | +0.16 |
| #10 | Sparta Rotterdam | -0.17 |
| #11 | SC Telstar | -0.27 |
| #12 | NAC Breda | -0.33 |
| #13 | Excelsior | -0.43 |
| #14 | Fortuna Sittard | -0.56 |
| #15 | PEC Zwolle | -0.57 |
| #16 | Go Ahead Eagles | -0.63 |
| #17 | FC Volendam | -0.64 |
| #18 | Heracles Almelo | -0.82 |
- League avg
- 0.00
- Total
- -27.99 34 matches
| Rank | Club | xPts per match |
|---|---|---|
| #1 | PSV Eindhoven | 1.97 |
| #2 | FC Twente | 1.87 |
| #3 | Feyenoord | 1.86 |
| #4 | AZ Alkmaar | 1.74 |
| #5 | NEC Nijmegen | 1.61 |
| #6 | FC Groningen | 1.57 |
| #7 | FC Utrecht | 1.53 |
| #8 | SC Heerenveen | 1.53 |
| #9 | AFC Ajax | 1.52 |
| #10 | Sparta Rotterdam | 1.30 |
| #11 | SC Telstar | 1.22 |
| #12 | NAC Breda | 1.18 |
| #13 | Excelsior | 1.08 |
| #14 | Go Ahead Eagles | 1.08 |
| #15 | Fortuna Sittard | 1.03 |
| #16 | PEC Zwolle | 1.02 |
| #17 | FC Volendam | 0.97 |
| #18 | Heracles Almelo | 0.88 |
- League avg
- 1.39
- Total
- 29.77 vs 19 actual pts
What the xG says
Heracles Almelo's underlying numbers are among the weakest in Eredivisie. They rank #18 for xG difference at -0.82 per match, from low shot volume at about average chance quality. Their 35 goals are 3.92 below 38.92 xG, while 19 points are 10.77 below 29.77 xPts.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
Heracles Almelo are 3.92 goals below their xG after 34 matches. The gap was widest at -4.28, against SC Telstar on Sun 10/05.
- Goals
- 35
- xG
- 38.92
- Gap
- -3.92
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sun 10/08 | FC Utrecht | 0 | 0.82 | -0.82 | -0.82 |
| Sat 16/08 | NEC Nijmegen | 1 | 1.09 | -0.09 | -0.91 |
| Sun 24/08 | AFC Ajax | 0 | 0.18 | -0.18 | -1.09 |
| Fri 29/08 | FC Groningen | 0 | 0.48 | -0.48 | -1.57 |
| Sun 14/09 | AZ Alkmaar | 1 | 1.37 | -0.37 | -1.94 |
| Sat 20/09 | NAC Breda | 1 | 0.90 | +0.10 | -1.84 |
| Sat 27/09 | Sparta Rotterdam | 3 | 1.31 | +1.69 | -0.15 |
| Sun 05/10 | FC Twente | 1 | 0.60 | +0.40 | +0.25 |
| Sun 19/10 | Feyenoord | 0 | 0.19 | -0.19 | +0.06 |
| Sat 25/10 | FC Volendam | 0 | 1.16 | -1.16 | -1.10 |
| Sun 02/11 | PEC Zwolle | 8 | 3.78 | +4.22 | +3.12 |
| Sat 08/11 | Excelsior | 2 | 1.01 | +0.99 | +4.11 |
| Sat 22/11 | Go Ahead Eagles | 4 | 2.62 | +1.38 | +5.49 |
| Sat 29/11 | Fortuna Sittard | 1 | 0.57 | +0.43 | +5.92 |
| Sat 06/12 | SC Telstar | 1 | 1.97 | -0.97 | +4.95 |
| Sat 13/12 | PSV Eindhoven | 3 | 2.64 | +0.36 | +5.31 |
| Sat 20/12 | SC Heerenveen | 0 | 0.48 | -0.48 | +4.83 |
| Sun 11/01 | Sparta Rotterdam | 0 | 0.33 | -0.33 | +4.50 |
| Sun 18/01 | FC Twente | 0 | 0.78 | -0.78 | +3.72 |
| Sun 25/01 | Feyenoord | 2 | 2.05 | -0.05 | +3.67 |
| Sun 01/02 | Fortuna Sittard | 2 | 2.01 | -0.01 | +3.66 |
| Sat 07/02 | NEC Nijmegen | 1 | 1.16 | -0.16 | +3.50 |
| Sat 14/02 | NAC Breda | 0 | 1.12 | -1.12 | +2.38 |
| Sun 22/02 | Go Ahead Eagles | 0 | 0.80 | -0.80 | +1.58 |
| Sat 28/02 | PSV Eindhoven | 1 | 1.22 | -0.22 | +1.36 |
| Fri 06/03 | FC Utrecht | 0 | 0.31 | -0.31 | +1.05 |
| Sun 15/03 | AZ Alkmaar | 0 | 0.66 | -0.66 | +0.39 |
| Fri 20/03 | Excelsior | 1 | 1.52 | -0.52 | -0.13 |
| Sun 05/04 | SC Heerenveen | 1 | 1.33 | -0.33 | -0.46 |
| Sat 11/04 | AFC Ajax | 0 | 1.19 | -1.19 | -1.65 |
| Sun 26/04 | FC Volendam | 0 | 0.78 | -0.78 | -2.43 |
| Sun 03/05 | PEC Zwolle | 0 | 1.00 | -1.00 | -3.43 |
| Sun 10/05 | SC Telstar | 0 | 0.85 | -0.85 | -4.28 |
| Sun 17/05 | FC Groningen | 1 | 0.64 | +0.36 | -3.92 |
Heracles Almelo xG trend
Current form -0.71 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 8 of 34 matches. The worst was against AZ Alkmaar on Sun 15/03 (-2.61).
- npxG · last 6
- 1.00
- npxGA · last 6
- 1.71
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sun 10/08 | FC Utrecht | 0.88 | 2.37 | -1.49 | -1.49 |
| Sat 16/08 | NEC Nijmegen | 1.33 | 3.09 | -1.76 | -1.63 |
| Sun 24/08 | AFC Ajax | 0.17 | 2.70 | -2.53 | -1.93 |
| Fri 29/08 | FC Groningen | 0.46 | 1.81 | -1.35 | -1.78 |
| Sun 14/09 | AZ Alkmaar | 0.76 | 3.19 | -2.43 | -1.91 |
| Sat 20/09 | NAC Breda | 1.09 | 2.60 | -1.51 | -1.85 |
| Sat 27/09 | Sparta Rotterdam | 1.33 | 1.52 | -0.19 | -1.61 |
| Sun 05/10 | FC Twente | 0.51 | 1.35 | -0.84 | -1.51 |
| Sun 19/10 | Feyenoord | 0.19 | 2.67 | -2.48 | -1.62 |
| Sat 25/10 | FC Volendam | 1.16 | 1.54 | -0.38 | -1.50 |
| Sun 02/11 | PEC Zwolle | 3.00 | 1.19 | +1.81 | -1.20 |
| Sat 08/11 | Excelsior | 1.01 | 1.06 | -0.05 | -1.10 |
| Sat 22/11 | Go Ahead Eagles | 2.62 | 0.98 | +1.64 | -0.89 |
| Sat 29/11 | Fortuna Sittard | 0.57 | 1.71 | -1.14 | -0.91 |
| Sat 06/12 | SC Telstar | 1.97 | 0.71 | +1.26 | -0.76 |
| Sat 13/12 | PSV Eindhoven | 1.90 | 1.64 | +0.26 | -0.70 |
| Sat 20/12 | SC Heerenveen | 0.48 | 0.91 | -0.43 | -0.68 |
| Sun 11/01 | Sparta Rotterdam | 0.36 | 2.10 | -1.74 | -0.74 |
| Sun 18/01 | FC Twente | 0.78 | 1.74 | -0.96 | -0.75 |
| Sun 25/01 | Feyenoord | 1.26 | 1.48 | -0.22 | -0.73 |
| Sun 01/02 | Fortuna Sittard | 2.10 | 0.60 | +1.50 | -0.62 |
| Sat 07/02 | NEC Nijmegen | 1.16 | 1.77 | -0.61 | -0.62 |
| Sat 14/02 | NAC Breda | 1.21 | 0.47 | +0.74 | -0.56 |
| Sun 22/02 | Go Ahead Eagles | 0.80 | 2.60 | -1.80 | -0.61 |
| Sat 28/02 | PSV Eindhoven | 1.22 | 2.48 | -1.26 | -0.64 |
| Fri 06/03 | FC Utrecht | 0.31 | 2.17 | -1.86 | -0.69 |
| Sun 15/03 | AZ Alkmaar | 0.65 | 3.26 | -2.61 | -0.76 |
| Fri 20/03 | Excelsior | 1.52 | 1.06 | +0.46 | -0.71 |
| Sun 05/04 | SC Heerenveen | 1.52 | 2.93 | -1.41 | -0.74 |
| Sat 11/04 | AFC Ajax | 1.19 | 1.92 | -0.73 | -0.74 |
| Sun 26/04 | FC Volendam | 0.79 | 0.92 | -0.13 | -0.72 |
| Sun 03/05 | PEC Zwolle | 1.00 | 0.62 | +0.38 | -0.68 |
| Sun 10/05 | SC Telstar | 0.85 | 2.71 | -1.86 | -0.72 |
| Sun 17/05 | FC Groningen | 0.64 | 1.17 | -0.53 | -0.71 |
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.08 npxG and 1.80 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- tied number 2 hardest of 18 in Eredivisie
- +0.03 xG vs league average
- Over 34 league matches
- Last 5
- number 16 hardest of 17 in Eredivisie
- −0.12 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
+0.03 xG vs league average · over 34 matches · tied number 2 hardest of 18
- FC Groningen Home +0.14
- SC Telstar Away −0.20
- PEC Zwolle Away −0.45
- FC Volendam Home −0.41
- AFC Ajax Home +0.32
- SC Heerenveen Away −0.15
- Excelsior Home −0.06
- AZ Alkmaar Away +0.29
- FC Utrecht Home +0.23
- PSV Eindhoven Home +0.52
- Go Ahead Eagles Away −0.60
- NAC Breda Home −0.06
- NEC Nijmegen Away +0.53
- Fortuna Sittard Home −0.35
- Feyenoord Away +0.43
- FC Twente Home +0.52
- Sparta Rotterdam Away −0.20
- SC Heerenveen Home −0.15
- PSV Eindhoven Away +0.52
- SC Telstar Home −0.20
- Fortuna Sittard Away −0.35
- Go Ahead Eagles Home −0.60
- Excelsior Away −0.06
- PEC Zwolle Home −0.45
- FC Volendam Away −0.41
- Feyenoord Home +0.43
- FC Twente Away +0.52
- Sparta Rotterdam Home −0.20
- NAC Breda Away −0.06
- AZ Alkmaar Home +0.29
- FC Groningen Away +0.14
- AFC Ajax Away +0.32
- NEC Nijmegen Home +0.53
- FC Utrecht Away +0.23
Last 5
−0.12 xG vs league average · over 5 matches · number 16 hardest of 17
- FC Groningen Home +0.14
- SC Telstar Away −0.20
- PEC Zwolle Away −0.45
- FC Volendam Home −0.41
- AFC Ajax Home +0.32
Heracles Almelo shots and chance quality
Low volume, average quality. Heracles Almelo take 11.0 shots a match (league 14.1) at 0.10 npxG a shot (league 0.10), #16 in Eredivisie for volume and #14 for quality. 66% of their shots come from inside the box (league 65%).
Attack
| Rank | Club | shots per match |
|---|---|---|
| #1 | FC Twente | 17.8 |
| #2 | PSV Eindhoven | 17.3 |
| #3 | NEC Nijmegen | 17.0 |
| #4 | Feyenoord | 16.9 |
| #5 | AZ Alkmaar | 15.8 |
| #6 | FC Groningen | 15.5 |
| #7 | FC Utrecht | 15.4 |
| #8 | SC Heerenveen | 14.9 |
| #9 | AFC Ajax | 14.9 |
| #10 | NAC Breda | 14.1 |
| #11 | Sparta Rotterdam | 13.0 |
| #12 | SC Telstar | 12.8 |
| #13 | Fortuna Sittard | 12.7 |
| #14 | Excelsior | 12.5 |
| #15 | Go Ahead Eagles | 11.5 |
| #16 | Heracles Almelo | 11.0 |
| #17 | FC Volendam | 11.0 |
| #18 | PEC Zwolle | 9.7 |
- League avg
- 14.1
- Total
- 375 shots from 34 matches
| Rank | Club | npxG per shot |
|---|---|---|
| #1 | PEC Zwolle | 0.12 |
| #2 | PSV Eindhoven | 0.12 |
| #3 | SC Telstar | 0.12 |
| #4 | AFC Ajax | 0.11 |
| #5 | Feyenoord | 0.11 |
| #6 | Go Ahead Eagles | 0.11 |
| #7 | SC Heerenveen | 0.11 |
| #8 | AZ Alkmaar | 0.11 |
| #9 | FC Groningen | 0.10 |
| #10 | FC Utrecht | 0.10 |
| #11 | NEC Nijmegen | 0.10 |
| #12 | FC Twente | 0.10 |
| #13 | Excelsior | 0.10 |
| #14 | Heracles Almelo | 0.10 |
| #15 | Sparta Rotterdam | 0.10 |
| #16 | FC Volendam | 0.09 |
| #17 | Fortuna Sittard | 0.09 |
| #18 | NAC Breda | 0.08 |
- League avg
- 0.10
- Total
- 36.79 npxG from 375 shots
Defence
| Rank | Club | shots per match |
|---|---|---|
| #1 | Feyenoord | 10.8 |
| #2 | FC Twente | 10.8 |
| #3 | NEC Nijmegen | 11.2 |
| #4 | FC Groningen | 11.6 |
| #5 | PSV Eindhoven | 11.7 |
| #6 | AZ Alkmaar | 12.3 |
| #7 | NAC Breda | 12.8 |
| #8 | AFC Ajax | 12.9 |
| #9 | FC Utrecht | 13.0 |
| #10 | SC Heerenveen | 14.0 |
| #11 | Excelsior | 14.7 |
| #12 | Fortuna Sittard | 15.1 |
| =13 | SC Telstar | 16.1 |
| =13 | Sparta Rotterdam | 16.1 |
| #15 | Heracles Almelo | 16.7 |
| #16 | PEC Zwolle | 17.3 |
| #17 | FC Volendam | 17.9 |
| #18 | Go Ahead Eagles | 19.3 |
- League avg
- 14.1
- Total
- 569 shots allowed from 34 matches
| Rank | Club | npxGA per shot |
|---|---|---|
| #1 | Sparta Rotterdam | 0.09 |
| #2 | FC Volendam | 0.09 |
| #3 | PSV Eindhoven | 0.10 |
| #4 | Go Ahead Eagles | 0.10 |
| #5 | FC Twente | 0.10 |
| #6 | AZ Alkmaar | 0.10 |
| #7 | PEC Zwolle | 0.10 |
| #8 | Feyenoord | 0.10 |
| #9 | AFC Ajax | 0.10 |
| #10 | SC Heerenveen | 0.11 |
| #11 | FC Utrecht | 0.11 |
| #12 | SC Telstar | 0.11 |
| #13 | Heracles Almelo | 0.11 |
| #14 | Excelsior | 0.11 |
| #15 | NAC Breda | 0.12 |
| #16 | FC Groningen | 0.12 |
| #17 | Fortuna Sittard | 0.12 |
| #18 | NEC Nijmegen | 0.12 |
- League avg
- 0.10
- Total
- 61.04 npxGA from 569 shots
Shot profile
66% inside the box
League avg 65%
From 249 of 375 shots over 34 matches
67% allowed inside the box
League avg 65%
From 382 of 569 shots allowed over 34 matches
Heracles Almelo home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 17 | 17 |
| xG / match | 1.32 | 0.97 |
| xGA / match | 1.74 | 2.19 |
| xGD / match | -0.43 | -1.22 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 1.11 | 0.64 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every Heracles Almelo match by xG
Last 5 at home
- Matches
- 5
- xG / match
- 0.89
- xGA / match
- 1.52
- xGD / match
- -0.64
- Points
- 2 of 15
- Sun 17/05 FC Groningen H xG 0.64 xGA 1.17 xGD -0.53 xPts 0.85
- Sun 26/04 FC Volendam H xG 0.78 xGA 1.30 xGD -0.52 xPts 0.88
- Sat 11/04 AFC Ajax H xG 1.19 xGA 1.92 xGD -0.73 xPts 0.84
- Fri 20/03 Excelsior H Best underlying xG 1.52 xGA 1.06 xGD +0.46 xPts 1.73
- Fri 06/03 FC Utrecht H Weakest underlying xG 0.31 xGA 2.17 xGD -1.86 xPts 0.19
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.00. 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.
Heracles Almelo in Eredivisie
Attack
- xG / match #17 of 18
- Shots / match #16 of 18
- Chance quality #14 of 18
- Home xG #17 of 24
- Away xG #15 of 24
Defence
- xGA / match #18 of 18
- Shots allowed #15 of 18
- Chance quality allowed #13 of 18
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.