Ukrainian Premier League table 2025/2026
- Leader Shakhtar Donetsk 72 pts
- Most above xPts FC Kryvbas Kryvyi Rih +10.40 against expected points
- Most below xPts Rukh Lviv −11.99 against expected points
The same clubs ranked on expected points — what each club's match-by-match xG would be worth on average.
| # restore the table order | Move sort descending | Team | P sort descending | W sort descending | D sort descending | L sort descending | GF sort descending | GA sort descending | GD sort descending | Pts sort descending | xG sort descending | xGA sort descending | xGD sort descending | xPts sort descending | Pts vs xPts sort descending |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Up 3 places against the actual table | Dynamo Kyiv DYN | 30 | 17 | 6 | 7 | 66 | 36 | +30 | 57 | 63.41* | 24.70 | +38.71 | 63.91 | −9.91 |
| 2 | Same place as in the actual table | LNZ Cherkasy LNZ | 30 | 18 | 6 | 6 | 39 | 17 | +22 | 60 | 46.84 | 19.40 | +27.44 | 62.48 | −2.48 |
| 3 | Down 2 places against the actual table | Shakhtar Donetsk SHA | 29 | 22 | 6 | 1 | 71 | 20 | +51 | 72 | 59.70 | 20.22 | +39.48 | 61.93 | +10.07 |
| 4 | Down 1 place against the actual table | Polissya Zhytomyr POL | 29 | 18 | 4 | 7 | 50 | 20 | +30 | 58 | 50.70* | 32.02 | +18.68 | 49.21 | +5.79 |
| 5 | Same place as in the actual table | Metalist 1925 MET | 30 | 13 | 12 | 5 | 36 | 19 | +17 | 51 | 37.18* | 22.00 | +15.18 | 48.07 | −3.07 |
| 6 | Up 3 places against the actual table | Karpaty Lviv KAR | 30 | 10 | 11 | 9 | 40 | 31 | +9 | 41 | 43.53* | 36.62 | +6.91 | 44.92 | −3.92 |
| 7 | Up 1 place against the actual table | Kolos Kovalivka KOL | 29 | 12 | 10 | 7 | 29 | 25 | +4 | 46 | 37.88 | 36.57 | +1.31 | 41.00 | +5.00 |
| 8 | Down 1 place against the actual table | Zoria Luhansk ZOR | 30 | 12 | 10 | 8 | 42 | 36 | +6 | 46 | 40.56* | 40.45 | +0.11 | 39.50 | +3.50 |
| 9 | Down 3 places against the actual table | FC Kryvbas Kryvyi Rih FCK | 30 | 13 | 9 | 8 | 53 | 46 | +7 | 48 | 40.52* | 46.51 | −5.99 | 36.60 | +10.40 |
| 10 | Up 2 places against the actual table | Kudrivka KUD | 32 | 7 | 9 | 16 | 34 | 50 | −16 | 30 | 34.91* | 48.32 | −13.41 | 33.62 | −3.62 |
| 11 | Up 3 places against the actual table | Rukh Lviv RUK | 30 | 6 | 3 | 21 | 20 | 51 | −31 | 21 | 29.13* | 43.44 | −14.31 | 32.99 | −11.99 |
| 12 | Up 1 place against the actual table | Obolon Kyiv OBO | 30 | 6 | 11 | 13 | 25 | 49 | −24 | 29 | 30.79* | 38.24 | −7.45 | 32.98 | −4.98 |
| 13 | Down 2 places against the actual table | Veres Rivne VER | 29 | 7 | 9 | 13 | 25 | 39 | −14 | 30 | 28.93* | 40.83 | −11.90 | 29.53 | +0.47 |
| 14 | Down 4 places against the actual table | FC Epicentr Dunaivtsi FCE | 30 | 8 | 8 | 14 | 36 | 45 | −9 | 32 | 34.70* | 56.76 | −22.06 | 27.57 | +3.43 |
| 15 | Same place as in the actual table | Oleksandria OLE | 32 | 3 | 10 | 19 | 25 | 57 | −32 | 19 | 25.00* | 53.42 | −28.42 | 22.81 | −5.81 |
| 16 | Same place as in the actual table | SC Poltava SCP | 30 | 2 | 7 | 21 | 23 | 74 | −51 | 13 | 23.87* | 68.13 | −44.26 | 15.23 | −3.23 |
| 17 | Same place as in the actual table | FC Livyi Bereh Kyiv FCL | 2 | 1 | 1 | 0 | 2 | 1 | +1 | 4 | 2.56 | 1.05 | +1.51 | 4.08 | −0.08 |
| 18 | Same place as in the actual table | Ahrobiznes Volochysk AHR | 2 | 0 | 2 | 0 | 2 | 2 | 0 | 2 | 2.57 | 4.10 | −1.53 | 1.58 | +0.42 |
- More points than xPts
- Fewer points than xPts
Ranked by xPts. ▲ / ▼ beside the rank shows how far a club sits above or below its place in the actual table.
- xG is available for 28 of 29 matches for Polissya Zhytomyr.
- xG is available for 29 of 30 matches for Dynamo Kyiv.
- xG is available for 28 of 30 matches for Metalist 1925.
- xG is available for 29 of 30 matches for FC Kryvbas Kryvyi Rih.
- xG is available for 29 of 30 matches for Zoria Luhansk.
- xG is available for 29 of 30 matches for Karpaty Lviv.
- xG is available for 29 of 30 matches for FC Epicentr Dunaivtsi.
- xG is available for 27 of 29 matches for Veres Rivne.
- xG is available for 31 of 32 matches for Kudrivka.
- xG is available for 29 of 30 matches for Obolon Kyiv.
- xG is available for 29 of 30 matches for Rukh Lviv.
- xG is available for 30 of 32 matches for Oleksandria.
- xG is available for 29 of 30 matches for SC Poltava.
- For those clubs the expected columns count only the matches with xG, and Pts vs xPts sets their expected points against the points from those same matches.
How to read this table
- xG
- Expected goals: the summed chance quality of the shots a club took. A chance scored nine times in ten is worth 0.9.
- xGA
- Expected goals against: the same measure for the shots a club allowed.
- xGD
- xG minus xGA: how far a club's chances outweighed its opponents', or the other way round.
- xPts
- Expected points: the points a club's match-by-match xG would be worth on average. Each match's two xG figures become chances of a win, a draw and a loss, and a win is worth 3 and a draw 1.
- Pts vs xPts
- Actual points minus expected points based on match xG. Positive, drawn in green, is more points than the chances were worth on average; negative, in red, is fewer. It measures the gap and says nothing about its cause.
- npxG
- Non-penalty xG: xG with penalties removed, offered where the competition's figures support it. It changes xG, xGA and xGD; xPts is always worked out from all xG.
Expected points are read off the same score matrix that prices the board: each played match's two xG totals are taken as scoring rates, and the team's share is 3 × P(win) + 1 × P(draw), summed over the season. Understat arrives at the same figure by simulating each shot, which needs per-shot data, held here for %{competitions}. Passes per defensive action and deep completions are not shown because no source here ingests the event data behind them.