xgEdge

Expected goals

FC Sochi expected goals (xG) 2025/2026

Russian Premier League · after 29 matches · updated 1 Oct

FC Sochi's attacking and defensive expected goals in Russian Premier League 2025/2026, compared with the results they produced and with the rest of the competition.

FC Sochi xG and xGA per match

Every match ↓
Attack
0.93 xG per match
#16/16
Attack (xG per match) across Russian Premier League, best first
Rank Club xG per match
#1 Lokomotiv Moscow 1.88
#2 FK Krasnodar 1.88
#3 Dynamo Moscow 1.80
#4 FC Spartak Moscow 1.78
#5 Zenit St. Petersburg 1.77
#6 CSKA Moscow 1.51
#7 Baltika Kaliningrad 1.47
#8 Orenburg 1.38
#9 FC Rostov 1.35
#10 Akron Togliatti 1.32
#11 Akhmat Grozny 1.30
#12 Rubin Kazan 1.14
#13 Pari Nizhny Novgorod 1.11
#14 Dinamo Makhachkala 1.09
#15 Krylya Sovetov Samara 1.02
#16 FC Sochi 0.93
League avg
1.42
Total
27.04 29 matches
Defence
1.94 xGA per match
#16/16
Defence (xGA per match) across Russian Premier League, best first
Rank Club xGA per match
#1 Zenit St. Petersburg 0.85
#2 FK Krasnodar 1.02
#3 Baltika Kaliningrad 1.14
#4 FC Rostov 1.20
#5 Dinamo Makhachkala 1.21
#6 FC Spartak Moscow 1.22
#7 Rubin Kazan 1.23
#8 Dynamo Moscow 1.36
#9 Akhmat Grozny 1.36
#10 CSKA Moscow 1.57
#11 Lokomotiv Moscow 1.59
#12 Orenburg 1.60
#13 Krylya Sovetov Samara 1.79
#14 Pari Nizhny Novgorod 1.81
#15 Akron Togliatti 1.82
#16 FC Sochi 1.94
League avg
1.42
Total
56.24 29 matches
xG difference
-1.01 xGD per match
#16/16
xG difference (xGD per match) across Russian Premier League, best first
Rank Club xGD per match
#1 Zenit St. Petersburg +0.92
#2 FK Krasnodar +0.86
#3 FC Spartak Moscow +0.56
#4 Dynamo Moscow +0.43
#5 Baltika Kaliningrad +0.32
#6 Lokomotiv Moscow +0.29
#7 FC Rostov +0.16
#8 CSKA Moscow -0.07
#9 Akhmat Grozny -0.07
#10 Rubin Kazan -0.09
#11 Dinamo Makhachkala -0.12
#12 Orenburg -0.22
#13 Akron Togliatti -0.50
#14 Pari Nizhny Novgorod -0.69
#15 Krylya Sovetov Samara -0.77
#16 FC Sochi -1.01
League avg
0.00
Total
-29.20 29 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
0.84 xPts per match
#16/16
Expected points (xPts per match) across Russian Premier League, best first
Rank Club xPts per match
#1 Zenit St. Petersburg 1.94
#2 FK Krasnodar 1.88
#3 FC Spartak Moscow 1.74
#4 Lokomotiv Moscow 1.62
#5 Dynamo Moscow 1.60
#6 Baltika Kaliningrad 1.58
#7 FC Rostov 1.48
#8 CSKA Moscow 1.34
#9 Akhmat Grozny 1.31
#10 Rubin Kazan 1.28
#11 Dinamo Makhachkala 1.28
#12 Orenburg 1.28
#13 Akron Togliatti 1.06
#14 Pari Nizhny Novgorod 0.96
#15 Krylya Sovetov Samara 0.93
#16 FC Sochi 0.84
League avg
1.38
Total
24.42 vs 22 actual pts

Expected goals here are summed over 29 of 30 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

FC Sochi's underlying numbers are among the weakest in Russian Premier League. They rank #16 for xG difference at -1.01 per match, from low shot volume and low chance quality. Their 28 goals are 0.96 above 27.04 xG, while 22 points are 2.42 below 24.42 xPts — both over the 29 matches with xG.

Actual vs expected

Measure Actual Expected Difference Reading
28 27.04 +0.96 scored 0.96 more than xG within normal variance
55 56.24 -1.24 conceded 1.24 fewer than xGA within normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

FC Sochi are 0.96 goals above their xG after 29 matches. The gap was widest at +2.73, against FK Krasnodar on Sat 14/03.

Goals
28
xG
27.04
Gap
+0.96
Sat 19/07 Sat 26/07 Mon 04/08 Sun 10/08 Sun 24/08 Sat 30/08 Sun 14/09 Mon 22/09 Sun 28/09 Sun 05/10 Sun 19/10 Mon 27/10 Sun 02/11 Sat 08/11 Fri 21/11 Mon 01/12 Sun 07/12 Mon 02/03 Sat 07/03 Sat 14/03 Sat 21/03 Mon 06/04 Sun 12/04 Fri 17/04 Tue 21/04 Sun 26/04 Sun 03/05 Sun 10/05 Sun 17/05 -2 -1 0 +1 +2 +3 -0.40 -0.98 -0.41 +0.41 -0.06 +0.78 -0.64 -0.47 -1.03 -1.05 -1.38 +0.98 +0.88 +0.83 +1.10 +0.60 +1.01 +1.86 +1.94 +2.73 +2.68 +0.57 +0.14 +0.38 -0.58 -1.56 +0.38 +1.11 +0.96 -0.40 -0.58 +0.57 +0.82 -0.47 +0.84 -1.42 +0.17 -0.56 -0.02 -0.33 +2.36 -0.10 -0.05 +0.27 -0.50 +0.41 +0.85 +0.08 +0.79 -0.05 -2.11 -0.43 +0.24 -0.96 -0.98 +1.94 +0.73 -0.15 Running gap goals − xG Each match goals − xG
FC Sochi: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sat 19/07 Lokomotiv Moscow 0 0.40 -0.40 -0.40
Sat 26/07 Akron Togliatti 0 0.58 -0.58 -0.98
Mon 04/08 Rubin Kazan 1 0.43 +0.57 -0.41
Sun 10/08 Dynamo Moscow 1 0.18 +0.82 +0.41
Sun 24/08 Baltika Kaliningrad 0 0.47 -0.47 -0.06
Sat 30/08 FC Spartak Moscow 1 0.16 +0.84 +0.78
Sun 14/09 Krylya Sovetov Samara 0 1.42 -1.42 -0.64
Mon 22/09 CSKA Moscow 1 0.83 +0.17 -0.47
Sun 28/09 Dinamo Makhachkala 0 0.56 -0.56 -1.03
Sun 05/10 Pari Nizhny Novgorod 2 2.02 -0.02 -1.05
Sun 19/10 Zenit St. Petersburg 0 0.33 -0.33 -1.38
Mon 27/10 Akhmat Grozny 4 1.64 +2.36 +0.98
Sun 02/11 Orenburg 1 1.10 -0.10 +0.88
Sat 08/11 FC Rostov 0 0.05 -0.05 +0.83
Fri 21/11 Akron Togliatti 2 1.73 +0.27 +1.10
Mon 01/12 Dinamo Makhachkala 0 0.50 -0.50 +0.60
Sun 07/12 Lokomotiv Moscow 2 1.59 +0.41 +1.01
Mon 02/03 FC Spartak Moscow 2 1.15 +0.85 +1.86
Sat 07/03 Pari Nizhny Novgorod 1 0.92 +0.08 +1.94
Sat 14/03 FK Krasnodar 1 0.21 +0.79 +2.73
Sat 21/03 Baltika Kaliningrad 0 0.05 -0.05 +2.68
Mon 06/04 Rubin Kazan 0 2.11 -2.11 +0.57
Sun 12/04 CSKA Moscow 1 1.43 -0.43 +0.14
Fri 17/04 FC Rostov 1 0.76 +0.24 +0.38
Tue 21/04 Krylya Sovetov Samara 2 2.96 -0.96 -0.58
Sun 26/04 Dynamo Moscow 0 0.98 -0.98 -1.56
Sun 03/05 Orenburg 3 1.06 +1.94 +0.38
Sun 10/05 Zenit St. Petersburg 1 0.27 +0.73 +1.11
Sun 17/05 Akhmat Grozny 1 1.15 -0.15 +0.96

Goals vs xG ranking → Expected points ranking →

FC Sochi xG trend

Current form -0.27 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 6 of 29 matches. The worst was against FK Krasnodar on Sat 14/03 (-4.17).

npxG · last 6
1.20
npxGA · last 6
1.47
-5 -4 -3 -2 -1 0 +1 +2 +3 -2.27 Sat 19/07 -1.57 Sat 26/07 -1.04 Mon 04/08 -1.68 Sun 10/08 -1.34 Sun 24/08 -2.03 Sat 30/08 +0.39 Sun 14/09 -1.69 Mon 22/09 -1.03 Sun 28/09 +1.21 Sun 05/10 -3.04 Sun 19/10 -0.71 Mon 27/10 -0.48 Sun 02/11 -1.72 Sat 08/11 -0.30 Fri 21/11 -0.34 Mon 01/12 -2.96 Sun 07/12 -1.23 Mon 02/03 -0.50 Sat 07/03 -4.17 Sat 14/03 -2.46 Sat 21/03 +1.48 Mon 06/04 -0.08 Sun 12/04 +0.47 Fri 17/04 +2.14 Tue 21/04 -0.74 Sun 26/04 -0.08 Sun 03/05 -3.72 Sun 10/05 +0.29 Sun 17/05 -1.01 season avg
FC Sochi: non-penalty xG, xGA and their difference in each match, with the season's average so far
Date Opponent npxG npxGA npxGD Avg so far
Sat 19/07 Lokomotiv Moscow 0.40 2.67 -2.27 -2.27
Sat 26/07 Akron Togliatti 0.58 2.15 -1.57 -1.92
Mon 04/08 Rubin Kazan 0.43 1.47 -1.04 -1.63
Sun 10/08 Dynamo Moscow 0.18 1.86 -1.68 -1.64
Sun 24/08 Baltika Kaliningrad 0.47 1.81 -1.34 -1.58
Sat 30/08 FC Spartak Moscow 0.16 2.19 -2.03 -1.66
Sun 14/09 Krylya Sovetov Samara 1.42 1.03 +0.39 -1.36
Mon 22/09 CSKA Moscow 0.83 2.52 -1.69 -1.40
Sun 28/09 Dinamo Makhachkala 0.56 1.59 -1.03 -1.36
Sun 05/10 Pari Nizhny Novgorod 2.02 0.81 +1.21 -1.11
Sun 19/10 Zenit St. Petersburg 0.33 3.37 -3.04 -1.28
Mon 27/10 Akhmat Grozny 1.64 2.35 -0.71 -1.23
Sun 02/11 Orenburg 1.10 1.58 -0.48 -1.18
Sat 08/11 FC Rostov 0.05 1.77 -1.72 -1.21
Fri 21/11 Akron Togliatti 1.73 2.03 -0.30 -1.15
Mon 01/12 Dinamo Makhachkala 0.50 0.84 -0.34 -1.10
Sun 07/12 Lokomotiv Moscow 1.59 4.55 -2.96 -1.21
Mon 02/03 FC Spartak Moscow 1.15 2.38 -1.23 -1.21
Sat 07/03 Pari Nizhny Novgorod 0.92 1.42 -0.50 -1.18
Sat 14/03 FK Krasnodar 0.21 4.38 -4.17 -1.33
Sat 21/03 Baltika Kaliningrad 0.05 2.51 -2.46 -1.38
Mon 06/04 Rubin Kazan 2.11 0.63 +1.48 -1.25
Sun 12/04 CSKA Moscow 1.43 1.51 -0.08 -1.20
Fri 17/04 FC Rostov 0.76 0.29 +0.47 -1.13
Tue 21/04 Krylya Sovetov Samara 2.96 0.82 +2.14 -1.00
Sun 26/04 Dynamo Moscow 0.98 1.72 -0.74 -0.99
Sun 03/05 Orenburg 1.06 1.14 -0.08 -0.95
Sun 10/05 Zenit St. Petersburg 0.27 3.99 -3.72 -1.05
Sun 17/05 Akhmat Grozny 1.15 0.86 +0.29 -1.01

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 — 0.93 npxG and 1.94 npxGA per match. Current form is the same difference over the last 6 matches with xG.

Form ranking →

Strength of schedule

Season so far
number 1 hardest of 16 in Russian Premier League
+0.05 xG vs league average
Over 30 league matches
Last 5
number 5 hardest of 16 in Russian Premier League
+0.04 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

+0.05 xG vs league average · over 30 matches · number 1 hardest of 16

  1. Akhmat Grozny Home −0.13
  2. Zenit St. Petersburg Away +0.54
  3. Orenburg Home +0.01
  4. Dynamo Moscow Away +0.19
  5. Krylya Sovetov Samara Home −0.42
  6. FC Rostov Away −0.01
  7. CSKA Moscow Away −0.11
  8. Rubin Kazan Home −0.14
  9. Baltika Kaliningrad Away +0.25
  10. FK Krasnodar Home +0.59
  11. Pari Nizhny Novgorod Away −0.27
  12. FC Spartak Moscow Home +0.54
  13. Lokomotiv Moscow Home +0.26
  14. Dinamo Makhachkala Home −0.11
  15. Akron Togliatti Away −0.48
  16. FC Rostov Home −0.01
  17. Orenburg Away +0.01
  18. Akhmat Grozny Away −0.13
  19. Zenit St. Petersburg Home +0.54
  20. Pari Nizhny Novgorod Home −0.27
  21. Dinamo Makhachkala Away −0.11
  22. CSKA Moscow Home −0.11
  23. Krylya Sovetov Samara Away −0.42
  24. FC Spartak Moscow Away +0.54
  25. Baltika Kaliningrad Home +0.25
  26. FK Krasnodar Away +0.59
  27. Dynamo Moscow Home +0.19
  28. Rubin Kazan Away −0.14
  29. Akron Togliatti Home −0.48
  30. Lokomotiv Moscow Away +0.26

Last 5

+0.04 xG vs league average · over 5 matches · number 5 hardest of 16

  1. Akhmat Grozny Home −0.13
  2. Zenit St. Petersburg Away +0.54
  3. Orenburg Home +0.01
  4. Dynamo Moscow Away +0.19
  5. Krylya Sovetov Samara Home −0.42

League schedule strength → How this is calculated →

FC Sochi shots and chance quality

Low volume, low quality. FC Sochi take 9.1 shots a match (league 12.2) at 0.10 npxG a shot (league 0.12), #15 in Russian Premier League for volume and #15 for quality. 60% of their shots come from inside the box (league 64%).

Attack

Shot volume
9.1 shots per match
#15/16
Shot volume (shots per match) across Russian Premier League, best first
Rank Club shots per match
#1 FK Krasnodar 15.8
#2 Dynamo Moscow 15.5
#3 Lokomotiv Moscow 14.1
#4 CSKA Moscow 13.8
#5 FC Spartak Moscow 13.6
#6 Zenit St. Petersburg 13.2
#7 Baltika Kaliningrad 12.5
#8 Orenburg 12.3
#9 FC Rostov 11.9
#10 Akhmat Grozny 11.8
#11 Pari Nizhny Novgorod 11.3
#12 Akron Togliatti 11.3
#13 Rubin Kazan 10.3
#14 Dinamo Makhachkala 9.8
#15 FC Sochi 9.1
#16 Krylya Sovetov Samara 8.9
League avg
12.2
Total
263 shots from 29 matches
Chance quality
0.10 npxG per shot
#15/16
Chance quality (npxG per shot) across Russian Premier League, best first
Rank Club npxG per shot
#1 Lokomotiv Moscow 0.13
#2 Zenit St. Petersburg 0.13
#3 FC Spartak Moscow 0.13
#4 Akron Togliatti 0.12
#5 FK Krasnodar 0.12
#6 Baltika Kaliningrad 0.12
#7 Dynamo Moscow 0.12
#8 FC Rostov 0.11
#9 Krylya Sovetov Samara 0.11
#10 Orenburg 0.11
#11 Dinamo Makhachkala 0.11
#12 Rubin Kazan 0.11
#13 CSKA Moscow 0.11
#14 Akhmat Grozny 0.11
#15 FC Sochi 0.10
#16 Pari Nizhny Novgorod 0.10
League avg
0.12
Total
27.04 npxG from 263 shots

Defence

Shots allowed
15.0 shots per match
#14/16
Shots allowed (shots per match) across Russian Premier League, best first
Rank Club shots per match
#1 Zenit St. Petersburg 9.8
#2 FK Krasnodar 10.0
#3 FC Spartak Moscow 10.1
#4 FC Rostov 10.3
#5 Dinamo Makhachkala 10.8
#6 Baltika Kaliningrad 10.8
#7 Dynamo Moscow 10.9
#8 Lokomotiv Moscow 11.7
#9 Rubin Kazan 11.7
#10 Akhmat Grozny 12.4
#11 Orenburg 13.2
#12 Pari Nizhny Novgorod 13.3
#13 CSKA Moscow 13.9
#14 FC Sochi 15.0
#15 Krylya Sovetov Samara 15.4
#16 Akron Togliatti 15.7
League avg
12.2
Total
436 shots allowed from 29 matches
Chance quality allowed
0.13 npxGA per shot
#14/16
Chance quality allowed (npxGA per shot) across Russian Premier League, best first
Rank Club npxGA per shot
#1 Zenit St. Petersburg 0.09
#2 FK Krasnodar 0.10
#3 Baltika Kaliningrad 0.10
#4 Rubin Kazan 0.11
#5 Akhmat Grozny 0.11
#6 Dinamo Makhachkala 0.11
#7 CSKA Moscow 0.11
#8 Krylya Sovetov Samara 0.12
#9 Akron Togliatti 0.12
#10 FC Rostov 0.12
#11 FC Spartak Moscow 0.12
#12 Orenburg 0.12
#13 Dynamo Moscow 0.12
#14 FC Sochi 0.13
#15 Pari Nizhny Novgorod 0.14
#16 Lokomotiv Moscow 0.14
League avg
0.12
Total
56.24 npxGA from 436 shots

Shot profile

Shot location

60% inside the box

League avg 64%

From 158 of 263 shots over 29 matches

Shots allowed, location

64% allowed inside the box

League avg 63%

From 280 of 436 shots allowed over 29 matches

FC Sochi home and away xG

FC Sochi per-match figures at home and away
Measure Home Away
Matches 15 15 14 with xG
xG / match 1.01 0.85
xGA / match 1.99 1.88
xGD / match -0.98 -1.04
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 0.90 0.78

Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.

Every FC Sochi match by xG

Venue

This season

Matches
30 29 with xG
xG / match
0.93
xGA / match
1.94
xGD / match
-1.01
Points
22 of 90
  1. Sun 17/05 Akhmat Grozny H xG 1.15 xGA 0.86 xGD +0.29
  2. Sun 10/05 Zenit St. Petersburg A xG 0.27 xGA 3.99 xGD -3.72
  3. Sun 03/05 Orenburg H xG 1.06 xGA 1.14 xGD -0.08
  4. Sun 26/04 Dynamo Moscow A xG 0.98 xGA 1.72 xGD -0.74
  5. Tue 21/04 Krylya Sovetov Samara H Best underlying xG 2.96 xGA 0.82 xGD +2.14
  6. Fri 17/04 FC Rostov A xG 0.76 xGA 0.29 xGD +0.47
  7. Sun 12/04 CSKA Moscow A xG 1.43 xGA 1.51 xGD -0.08
  8. Mon 06/04 Rubin Kazan H Against the chances xG 2.11 xGA 0.63 xGD +1.48
  9. Sat 21/03 Baltika Kaliningrad A xG 0.05 xGA 2.51 xGD -2.46
  10. Sat 14/03 FK Krasnodar H Weakest underlying xG 0.21 xGA 4.38 xGD -4.17
  11. Sat 07/03 Pari Nizhny Novgorod A xG 0.92 xGA 1.42 xGD -0.50
  12. Mon 02/03 FC Spartak Moscow H xG 1.15 xGA 2.38 xGD -1.23
  13. Sun 07/12 Lokomotiv Moscow H xG 1.59 xGA 4.55 xGD -2.96
  14. Mon 01/12 Dinamo Makhachkala H xG 0.50 xGA 0.84 xGD -0.34
  15. Fri 21/11 Akron Togliatti A xG 1.73 xGA 2.03 xGD -0.30
  16. Sat 08/11 FC Rostov H xG 0.05 xGA 1.77 xGD -1.72
  17. Sun 02/11 Orenburg A xG 1.10 xGA 1.58 xGD -0.48
  18. Mon 27/10 Akhmat Grozny A xG 1.64 xGA 2.35 xGD -0.71
  19. Sun 19/10 Zenit St. Petersburg H xG 0.33 xGA 3.37 xGD -3.04
  20. Sun 05/10 Pari Nizhny Novgorod H xG 2.02 xGA 0.81 xGD +1.21
  21. Sun 28/09 Dinamo Makhachkala A xG 0.56 xGA 1.59 xGD -1.03
  22. Mon 22/09 CSKA Moscow H xG 0.83 xGA 2.52 xGD -1.69
  23. Sun 14/09 Krylya Sovetov Samara A xG 1.42 xGA 1.03 xGD +0.39
  24. Sat 30/08 FC Spartak Moscow A xG 0.16 xGA 2.19 xGD -2.03
  25. Sun 24/08 Baltika Kaliningrad H xG 0.47 xGA 1.81 xGD -1.34
  26. Sun 17/08 FK Krasnodar A
  27. Sun 10/08 Dynamo Moscow H xG 0.18 xGA 1.86 xGD -1.68
  28. Mon 04/08 Rubin Kazan A xG 0.43 xGA 1.47 xGD -1.04
  29. Sat 26/07 Akron Togliatti H xG 0.58 xGA 2.15 xGD -1.57
  30. Sat 19/07 Lokomotiv Moscow A xG 0.40 xGA 2.67 xGD -2.27

Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 4.55. 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.

Every result, all competitions →

FC Sochi in Russian Premier League

Attack

Defence

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.

Learn how our xG analytics work →

How the model works →