KTP's attacking and defensive expected goals in Veikkausliiga 2025/2026, compared with the results they produced and with the rest of the competition.
KTP 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
- 34.83 29 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
- 60.70 29 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
- -25.87 29 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
- 26.84 vs 21 actual pts
What the xG says
KTP's underlying numbers are among the weakest in Veikkausliiga. They rank #11 for xG difference at -0.89 per match, from about average shot volume at the league's lowest chance quality. Their 33 goals are 1.83 below 34.83 xG, while 21 points are 5.84 below 26.84 xPts.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
KTP are 1.83 goals below their xG after 29 matches. The gap was widest at -2.67, against IFK Mariehamn on Sat 04/10.
- Goals
- 33
- xG
- 34.83
- Gap
- -1.83
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sat 05/04 | SJK | 0 | 1.06 | -1.06 | -1.06 |
| Fri 11/04 | VPS | 2 | 1.30 | +0.70 | -0.36 |
| Sat 19/04 | Ilves | 0 | 0.93 | -0.93 | -1.29 |
| Sat 26/04 | FF Jaro | 3 | 2.15 | +0.85 | -0.44 |
| Fri 02/05 | AC Oulu | 1 | 0.30 | +0.70 | +0.26 |
| Sat 10/05 | KuPS | 0 | 0.75 | -0.75 | -0.49 |
| Sat 17/05 | HJK | 1 | 1.32 | -0.32 | -0.81 |
| Fri 23/05 | FC Haka | 0 | 0.51 | -0.51 | -1.32 |
| Sat 31/05 | IFK Mariehamn | 2 | 2.19 | -0.19 | -1.51 |
| Sat 14/06 | IF Gnistan | 1 | 0.60 | +0.40 | -1.11 |
| Thu 19/06 | Inter Turku | 0 | 0.64 | -0.64 | -1.75 |
| Sat 28/06 | FF Jaro | 3 | 1.31 | +1.69 | -0.06 |
| Wed 02/07 | Ilves | 1 | 0.83 | +0.17 | +0.11 |
| Mon 07/07 | IF Gnistan | 0 | 1.17 | -1.17 | -1.06 |
| Sun 13/07 | AC Oulu | 2 | 0.62 | +1.38 | +0.32 |
| Fri 18/07 | Inter Turku | 2 | 1.08 | +0.92 | +1.24 |
| Sat 26/07 | FC Haka | 3 | 1.04 | +1.96 | +3.20 |
| Sun 03/08 | SJK | 0 | 1.61 | -1.61 | +1.59 |
| Sat 09/08 | KuPS | 0 | 1.13 | -1.13 | +0.46 |
| Sat 16/08 | IFK Mariehamn | 0 | 0.76 | -0.76 | -0.30 |
| Fri 22/08 | VPS | 2 | 1.36 | +0.64 | +0.34 |
| Sun 31/08 | HJK | 1 | 1.35 | -0.35 | -0.01 |
| Sat 13/09 | VPS | 1 | 1.98 | -0.98 | -0.99 |
| Fri 19/09 | FF Jaro | 1 | 1.67 | -0.67 | -1.66 |
| Sat 27/09 | AC Oulu | 2 | 1.74 | +0.26 | -1.40 |
| Sat 04/10 | IFK Mariehamn | 1 | 2.27 | -1.27 | -2.67 |
| Sat 18/10 | FC Haka | 2 | 1.61 | +0.39 | -2.28 |
| Thu 23/10 | TPS | 0 | 0.14 | -0.14 | -2.42 |
| Sun 26/10 | TPS | 2 | 1.41 | +0.59 | -1.83 |
KTP xG trend
Current form +0.29 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 8 of 29 matches. The worst was against KuPS on Sat 10/05 (-3.60).
- npxG · last 6
- 1.35
- npxGA · last 6
- 1.06
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sat 05/04 | SJK | 1.06 | 2.46 | -1.40 | -1.40 |
| Fri 11/04 | VPS | 1.30 | 2.48 | -1.18 | -1.29 |
| Sat 19/04 | Ilves | 0.93 | 3.76 | -2.83 | -1.80 |
| Sat 26/04 | FF Jaro | 1.39 | 1.53 | -0.14 | -1.39 |
| Fri 02/05 | AC Oulu | 0.42 | 2.16 | -1.74 | -1.46 |
| Sat 10/05 | KuPS | 0.75 | 4.35 | -3.60 | -1.81 |
| Sat 17/05 | HJK | 0.56 | 3.66 | -3.10 | -2.00 |
| Fri 23/05 | FC Haka | 0.50 | 1.47 | -0.97 | -1.87 |
| Sat 31/05 | IFK Mariehamn | 2.19 | 0.84 | +1.35 | -1.51 |
| Sat 14/06 | IF Gnistan | 0.60 | 2.06 | -1.46 | -1.51 |
| Thu 19/06 | Inter Turku | 0.64 | 3.51 | -2.87 | -1.63 |
| Sat 28/06 | FF Jaro | 0.55 | 2.00 | -1.45 | -1.62 |
| Wed 02/07 | Ilves | 0.83 | 2.41 | -1.58 | -1.61 |
| Mon 07/07 | IF Gnistan | 1.17 | 1.11 | +0.06 | -1.49 |
| Sun 13/07 | AC Oulu | 0.62 | 1.70 | -1.08 | -1.47 |
| Fri 18/07 | Inter Turku | 1.08 | 2.05 | -0.97 | -1.43 |
| Sat 26/07 | FC Haka | 1.04 | 0.66 | +0.38 | -1.33 |
| Sun 03/08 | SJK | 0.85 | 3.10 | -2.25 | -1.38 |
| Sat 09/08 | KuPS | 1.13 | 1.43 | -0.30 | -1.32 |
| Sat 16/08 | IFK Mariehamn | 0.76 | 1.06 | -0.30 | -1.27 |
| Fri 22/08 | VPS | 0.60 | 2.36 | -1.76 | -1.29 |
| Sun 31/08 | HJK | 1.35 | 4.12 | -2.77 | -1.36 |
| Sat 13/09 | VPS | 1.98 | 1.15 | +0.83 | -1.27 |
| Fri 19/09 | FF Jaro | 1.67 | 1.03 | +0.64 | -1.19 |
| Sat 27/09 | AC Oulu | 0.98 | 0.48 | +0.50 | -1.12 |
| Sat 04/10 | IFK Mariehamn | 2.27 | 0.53 | +1.74 | -1.01 |
| Sat 18/10 | FC Haka | 1.61 | 0.84 | +0.77 | -0.94 |
| Thu 23/10 | TPS | 0.14 | 2.02 | -1.88 | -0.98 |
| Sun 26/10 | TPS | 1.41 | 1.43 | -0.02 | -0.94 |
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.05 npxG and 1.99 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 29 league matches
- Last 5
- number 7 hardest of 12 in Veikkausliiga
- −0.23 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
−0.05 xG vs league average · over 29 matches · tied number 9 hardest of 12
- TPS Home +0.10
- TPS Away +0.10
- FC Haka Away −0.44
- IFK Mariehamn Home −0.79
- AC Oulu Away −0.12
- FF Jaro Home −0.47
- VPS Away −0.30
- HJK Home +0.49
- VPS Away −0.30
- IFK Mariehamn Away −0.79
- KuPS Home +0.57
- SJK Away +0.45
- FC Haka Away −0.44
- Inter Turku Home +0.49
- AC Oulu Away −0.12
- IF Gnistan Home −0.13
- Ilves Away +0.45
- FF Jaro Home −0.47
- Inter Turku Away +0.49
- IF Gnistan Away −0.13
- IFK Mariehamn Home −0.79
- FC Haka Home −0.44
- HJK Away +0.49
- KuPS Away +0.57
- AC Oulu Home −0.12
- FF Jaro Away −0.47
- Ilves Home +0.45
- VPS Home −0.30
- SJK Home +0.45
Last 5
−0.23 xG vs league average · over 5 matches · number 7 hardest of 12
- TPS Home +0.10
- TPS Away +0.10
- FC Haka Away −0.44
- IFK Mariehamn Home −0.79
- AC Oulu Away −0.12
KTP shots and chance quality
Average volume, low quality. KTP take 11.8 shots a match (league 12.3) at 0.09 npxG a shot (league 0.12), #6 in Veikkausliiga for volume and #12 for quality. 60% 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
- 343 shots from 29 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
- 30.38 npxG from 343 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
- 435 shots allowed from 29 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
- 57.76 npxGA from 435 shots
Shot profile
60% inside the box
League avg 63%
From 207 of 343 shots over 29 matches
63% allowed inside the box
League avg 63%
From 275 of 435 shots allowed over 29 matches
KTP home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 14 | 15 |
| xG / match | 1.26 | 1.14 |
| xGA / match | 2.02 | 2.16 |
| xGD / match | -0.76 | -1.02 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 0.97 | 0.88 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every KTP match by xG
This season
- Matches
- 29
- xG / match
- 1.20
- xGA / match
- 2.09
- xGD / match
- -0.89
- Points
- 21 of 87
- Sun 26/10 TPS H xG 1.41 xGA 2.95 P xGD -1.54 xPts 0.50
- Thu 23/10 TPS A xG 0.14 xGA 2.02 xGD -1.88 xPts 0.15
- Sat 18/10 FC Haka A xG 1.61 xGA 0.84 xGD +0.77 xPts 1.99
- Sat 04/10 IFK Mariehamn H Best underlying xG 2.27 xGA 0.53 xGD +1.74 xPts 2.58
- Sat 27/09 AC Oulu A xG 1.74 P xGA 0.48 xGD +1.26 xPts 2.41
- Fri 19/09 FF Jaro H xG 1.67 xGA 1.03 xGD +0.64 xPts 1.88
- Sat 13/09 VPS A xG 1.98 xGA 1.15 xGD +0.83 xPts 1.99
- Sun 31/08 HJK H xG 1.35 xGA 4.12 xGD -2.77 xPts 0.20
- Fri 22/08 VPS A xG 1.36 P xGA 2.36 xGD -1.00 xPts 0.72
- Sat 16/08 IFK Mariehamn A xG 0.76 xGA 1.06 xGD -0.30 xPts 1.04
- Sat 09/08 KuPS H xG 1.13 xGA 1.42 xGD -0.29 xPts 1.11
- Sun 03/08 SJK A xG 1.61 P xGA 3.10 xGD -1.49 xPts 0.55
- Sat 26/07 FC Haka A xG 1.04 xGA 1.42 P xGD -0.38 xPts 1.03
- Fri 18/07 Inter Turku H xG 1.08 xGA 1.94 xGD -0.86 xPts 0.74
- Sun 13/07 AC Oulu A xG 0.62 xGA 1.71 xGD -1.09 xPts 0.51
- Mon 07/07 IF Gnistan H xG 1.17 xGA 1.11 xGD +0.06 xPts 1.38
- Wed 02/07 Ilves A xG 0.83 xGA 2.42 xGD -1.59 xPts 0.38
- Sat 28/06 FF Jaro H xG 1.31 P xGA 2.00 xGD -0.69 xPts 0.88
- Thu 19/06 Inter Turku A xG 0.64 xGA 3.51 xGD -2.87 xPts 0.10
- Sat 14/06 IF Gnistan A xG 0.60 xGA 2.06 xGD -1.46 xPts 0.37
- Sat 31/05 IFK Mariehamn H xG 2.19 xGA 0.84 xGD +1.35 xPts 2.34
- Fri 23/05 FC Haka H xG 0.51 xGA 1.47 xGD -0.96 xPts 0.54
- Sat 17/05 HJK A xG 1.32 P xGA 4.42 P xGD -3.10 xPts 0.14
- Sat 10/05 KuPS A Weakest underlying xG 0.75 xGA 4.35 xGD -3.60 xPts 0.05
- Fri 02/05 AC Oulu H xG 0.30 xGA 2.16 xGD -1.86 xPts 0.19
- Sat 26/04 FF Jaro A xG 2.15 P xGA 1.53 xGD +0.62 xPts 1.81
- Sat 19/04 Ilves H xG 0.93 xGA 3.76 xGD -2.83 xPts 0.14
- Fri 11/04 VPS H xG 1.30 xGA 2.48 xGD -1.18 xPts 0.63
- Sat 05/04 SJK H xG 1.06 xGA 2.46 xGD -1.40 xPts 0.50
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 4.42. 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.
KTP in Veikkausliiga
Attack
- xG / match #11 of 12
- Shots / match #6 of 12
- Chance quality #12 of 12
- Home xG #11 of 13
- Away xG #9 of 13
Defence
- xGA / match #11 of 12
- Shots allowed #10 of 12
- Chance quality allowed #11 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.