Cardiff
Championship · 20 seasons
| Season | Matches played. | Goals scored (actual). | Expected goals for: goals our model (TrueGoals) says this team's performances typically produce. | Expected goals against: same, for goals conceded. | Expected goal difference (xGF minus xGA). | Actual league points. | Expected points: points the team “should” have won based on xG, via match simulation. | Actual points minus expected points. Positive = over-performing its underlying numbers (may regress); negative = under-performing. |
|---|---|---|---|---|---|---|---|---|
| 2024/25 | 46 | 48 | 52.4 | 51.5 | +0.9 | 44 | 63.0 | -19.0 |
| 2023/24 | 46 | 53 | 51.8 | 50.7 | +1.2 | 62 | 63.6 | -1.6 |
| 2022/23 | 46 | 41 | 44.8 | 43.4 | +1.4 | 49 | 63.3 | -14.3 |
| 2021/22 | 46 | 50 | 49.6 | 45.8 | +3.8 | 53 | 64.9 | -11.9 |
| 2020/21 | 46 | 66 | 54.8 | 45.7 | +9.1 | 68 | 68.9 | -0.9 |
| 2019/20 | 46 | 68 | 52.0 | 43.0 | +9.0 | 73 | 68.9 | +4.1 |
| 2017/18 | 46 | 69 | 59.9 | 39.3 | +20.6 | 90 | 75.9 | +14.1 |
| 2016/17 | 46 | 60 | 54.1 | 46.8 | +7.3 | 62 | 66.5 | -4.5 |
| 2015/16 | 46 | 56 | 55.2 | 48.6 | +6.5 | 68 | 67.6 | +0.4 |
| 2014/15 | 46 | 57 | 50.7 | 47.0 | +3.7 | 62 | 65.0 | -3.0 |
| 2012/13 | 46 | 72 | 67.5 | 66.0 | +1.6 | 87 | 64.5 | +22.5 |
| 2011/12 | 46 | 66 | 67.0 | 61.0 | +6.0 | 75 | 67.4 | +7.6 |
| 2010/11 | 46 | 76 | 71.5 | 67.1 | +4.3 | 80 | 66.0 | +14.0 |
| 2009/10 | 46 | 73 | 68.8 | 62.8 | +6.0 | 76 | 67.0 | +9.0 |
| 2008/09 | 46 | 65 | 65.8 | 58.5 | +7.3 | 74 | 67.2 | +6.8 |
| 2007/08 | 46 | 59 | 72.4 | 59.8 | +12.6 | 64 | 71.4 | -7.4 |
| 2006/07 | 46 | 57 | 62.0 | 61.6 | +0.4 | 64 | 63.2 | +0.8 |
| 2005/06 | 46 | 58 | 62.3 | 55.3 | +7.0 | 60 | 67.7 | -7.7 |
| 2004/05 | 32 | 31 | 42.8 | 40.0 | +2.8 | 34 | 45.9 | -11.9 |
| 2003/04 | 46 | 68 | 74.0 | 63.6 | +10.5 | 65 | 69.6 | -4.6 |
| 2024/25 | 23 | 24 | 30.0 | 24.7 | +5.2 | 27 | 35.0 | -8.0 |
| 2023/24 | 23 | 27 | 29.5 | 23.5 | +6.1 | 33 | 35.7 | -2.7 |
| 2022/23 | 23 | 20 | 22.7 | 17.3 | +5.4 | 25 | 34.7 | -9.7 |
| 2021/22 | 23 | 22 | 26.0 | 20.7 | +5.3 | 25 | 35.0 | -10.0 |
| 2020/21 | 23 | 37 | 29.9 | 22.3 | +7.5 | 30 | 36.4 | -6.4 |
| 2019/20 | 23 | 35 | 27.3 | 17.1 | +10.2 | 42 | 38.5 | +3.5 |
| 2017/18 | 23 | 40 | 36.7 | 17.7 | +18.9 | 52 | 44.0 | +8.0 |
| 2016/17 | 23 | 31 | 29.9 | 21.9 | +8.0 | 37 | 36.6 | +0.4 |
| 2015/16 | 23 | 33 | 31.9 | 20.4 | +11.6 | 45 | 39.6 | +5.4 |
| 2014/15 | 23 | 31 | 28.8 | 21.3 | +7.4 | 35 | 36.4 | -1.4 |
| 2012/13 | 23 | 37 | 39.4 | 28.9 | +10.5 | 51 | 38.4 | +12.6 |
| 2011/12 | 23 | 37 | 39.0 | 29.3 | +9.8 | 40 | 38.4 | +1.6 |
| 2010/11 | 23 | 41 | 41.2 | 30.0 | +11.2 | 43 | 38.8 | +4.2 |
| 2009/10 | 23 | 37 | 38.1 | 27.3 | +10.8 | 42 | 38.4 | +3.6 |
| 2008/09 | 23 | 40 | 37.7 | 24.6 | +13.1 | 47 | 39.8 | +7.2 |
| 2007/08 | 23 | 31 | 39.4 | 25.0 | +14.4 | 40 | 40.8 | -0.8 |
| 2006/07 | 23 | 33 | 35.2 | 25.3 | +10.0 | 40 | 38.2 | +1.8 |
| 2005/06 | 23 | 32 | 35.1 | 25.3 | +9.8 | 37 | 37.9 | -0.9 |
| 2004/05 | 16 | 16 | 25.6 | 15.6 | +10.0 | 21 | 28.9 | -7.9 |
| 2003/04 | 23 | 40 | 42.0 | 28.3 | +13.7 | 36 | 40.2 | -4.2 |
| 2024/25 | 23 | 24 | 22.4 | 26.7 | -4.3 | 17 | 27.9 | -10.9 |
| 2023/24 | 23 | 26 | 22.3 | 27.2 | -4.9 | 29 | 27.8 | +1.2 |
| 2022/23 | 23 | 21 | 22.1 | 26.0 | -4.0 | 24 | 28.6 | -4.6 |
| 2021/22 | 23 | 28 | 23.6 | 25.1 | -1.5 | 28 | 29.9 | -1.9 |
| 2020/21 | 23 | 29 | 24.9 | 23.3 | +1.6 | 38 | 32.5 | +5.5 |
| 2019/20 | 23 | 33 | 24.6 | 25.9 | -1.2 | 31 | 30.5 | +0.5 |
| 2017/18 | 23 | 29 | 23.2 | 21.6 | +1.6 | 38 | 31.9 | +6.1 |
| 2016/17 | 23 | 29 | 24.2 | 24.8 | -0.7 | 25 | 29.9 | -4.9 |
| 2015/16 | 23 | 23 | 23.2 | 28.3 | -5.0 | 23 | 28.0 | -5.0 |
| 2014/15 | 23 | 26 | 22.0 | 25.7 | -3.7 | 27 | 28.6 | -1.6 |
| 2012/13 | 23 | 35 | 28.2 | 37.1 | -8.9 | 36 | 26.1 | +9.9 |
| 2011/12 | 23 | 29 | 28.0 | 31.8 | -3.8 | 35 | 29.0 | +6.0 |
| 2010/11 | 23 | 35 | 30.3 | 37.1 | -6.8 | 37 | 27.2 | +9.8 |
| 2009/10 | 23 | 36 | 30.7 | 35.5 | -4.8 | 34 | 28.6 | +5.4 |
| 2008/09 | 23 | 25 | 28.1 | 33.9 | -5.8 | 27 | 27.4 | -0.4 |
| 2007/08 | 23 | 28 | 33.0 | 34.8 | -1.8 | 24 | 30.6 | -6.6 |
| 2006/07 | 23 | 24 | 26.7 | 36.3 | -9.6 | 24 | 25.1 | -1.1 |
| 2005/06 | 23 | 26 | 27.2 | 30.0 | -2.8 | 23 | 29.8 | -6.8 |
| 2004/05 | 16 | 15 | 17.3 | 24.5 | -7.2 | 13 | 17.0 | -4.0 |
| 2003/04 | 23 | 28 | 32.0 | 35.3 | -3.2 | 29 | 29.4 | -0.4 |
Recent form
- 2024/25
- L@ Norwich2–43 May 2025xG 1.3–1.9
- Dvs West Brom0–026 Apr 2025xG 1.2–1.3
- Dvs Oxford1–121 Apr 2025xG 0.9–0.4
- L@ Sheffield United0–218 Apr 2025xG 0.9–1.3
- Lvs Stoke0–112 Apr 2025xG 1.0–1.4
- D@ Preston2–28 Apr 2025xG 1.3–1.2
- D@ QPR0–05 Apr 2025xG 0.6–1.1
- Dvs Sheffield Weds1–129 Mar 2025xG 1.2–0.7
- W@ Blackburn2–115 Mar 2025xG 1.3–0.7
- Lvs Luton1–211 Mar 2025xG 1.3–1.2
First half / second half
Half-time position → full-time result (2024/25)
- Led at HT74W 3D 0Lleads held 57%
- Level at HT235W 11D 7L
- Behind at HT160W 3D 13Lcomeback rate 19%
| Season | Pld | Goals scored in the first half. | Goals scored in the second half (full-time minus half-time). | Goals conceded in the first half. | Goals conceded in the second half. | Share of the team's goals scored in the second half. Shown only when there are enough goals to be meaningful. | Comebacks: matches the team was trailing at half-time but ended up winning or drawing. | Leads lost: matches the team was leading at half-time but ended up drawing or losing. |
|---|---|---|---|---|---|---|---|---|
| 2024/25 | 46 | 20 | 28 | 31 | 42 | 58% | 3 | 3 |
| 2023/24 | 46 | 23 | 30 | 32 | 38 | 57% | 2 | 4 |
| 2022/23 | 46 | 20 | 21 | 25 | 33 | 51% | 2 | 1 |
| 2021/22 | 46 | 9 | 41 | 31 | 37 | 82% | 9 | 2 |
| 2020/21 | 46 | 26 | 40 | 26 | 23 | 61% | 8 | 2 |
| 2019/20 | 46 | 27 | 41 | 31 | 27 | 60% | 7 | 2 |
| 2017/18 | 46 | 31 | 38 | 13 | 26 | 55% | 4 | 1 |
| 2016/17 | 46 | 27 | 33 | 23 | 38 | 55% | 4 | 5 |
| 2015/16 | 46 | 27 | 29 | 16 | 35 | 52% | 3 | 4 |
| 2014/15 | 46 | 28 | 29 | 28 | 33 | 51% | 4 | 3 |
| 2012/13 | 46 | 28 | 44 | 15 | 30 | 61% | 3 | 5 |
| 2011/12 | 46 | 29 | 37 | 15 | 38 | 56% | 1 | 6 |
| 2010/11 | 46 | 35 | 41 | 25 | 29 | 54% | 6 | 4 |
| 2009/10 | 46 | 41 | 32 | 25 | 29 | 44% | 1 | 4 |
| 2008/09 | 46 | 24 | 41 | 24 | 29 | 63% | 4 | 2 |
| 2007/08 | 46 | 29 | 30 | 24 | 31 | 51% | 6 | 9 |
| 2006/07 | 46 | 27 | 30 | 20 | 33 | 53% | 3 | 2 |
| 2005/06 | 46 | 27 | 31 | 21 | 38 | 53% | 2 | 3 |
| 2004/05 | 32 | 12 | 19 | 19 | 19 | 61% | 4 | 4 |
| 2003/04 | 46 | 30 | 38 | 16 | 42 | 56% | 1 | 1 |
Home advantage
Home edge (PPG) by season — home vs away results, descriptive.
This season (2024/25)
- Home237W 6D 10L1.17 PPG
- Away232W 11D 10L0.74 PPG
| Season | HP | Home win percentage. | Home points per game (3 for a win, 1 for a draw). | Away points per game. | Home edge: home points per game minus away points per game — the size of the team's home advantage. Caveated when either home or away matches are few. | Home goal difference per game. | Away goal difference per game. |
|---|---|---|---|---|---|---|---|
| 2024/25 | 23 | 30% | 1.17 | 0.74 | +0.43 | -0.13 | -0.96 |
| 2023/24 | 23 | 43% | 1.43 | 1.26 | +0.17 | -0.22 | -0.52 |
| 2022/23 | 23 | 26% | 1.09 | 1.04 | +0.04 | -0.17 | -0.57 |
| 2021/22 | 23 | 30% | 1.09 | 1.22 | -0.13 | -0.30 | -0.48 |
| 2020/21 | 23 | 35% | 1.30 | 1.65 | -0.35 | +0.48 | +0.26 |
| 2019/20 | 23 | 48% | 1.83 | 1.35 | +0.48 | +0.61 | -0.17 |
| 2017/18 | 23 | 70% | 2.26 | 1.65 | +0.61 | +1.04 | +0.26 |
| 2016/17 | 23 | 48% | 1.61 | 1.09 | +0.52 | +0.22 | -0.26 |
| 2015/16 | 23 | 52% | 1.96 | 1.00 | +0.96 | +0.57 | -0.35 |
| 2014/15 | 23 | 43% | 1.52 | 1.17 | +0.35 | +0.04 | -0.22 |
| 2012/13 | 23 | 65% | 2.22 | 1.57 | +0.65 | +0.96 | +0.22 |
| 2011/12 | 23 | 48% | 1.74 | 1.52 | +0.22 | +0.35 | +0.22 |
| 2010/11 | 23 | 52% | 1.87 | 1.61 | +0.26 | +0.70 | +0.26 |
| 2009/10 | 23 | 52% | 1.83 | 1.48 | +0.35 | +0.74 | +0.09 |
| 2008/09 | 23 | 61% | 2.04 | 1.17 | +0.87 | +0.74 | -0.22 |
| 2007/08 | 23 | 52% | 1.74 | 1.04 | +0.70 | +0.43 | -0.26 |
| 2006/07 | 23 | 48% | 1.74 | 1.04 | +0.70 | +0.65 | -0.48 |
| 2005/06 | 23 | 43% | 1.61 | 1.00 | +0.61 | +0.35 | -0.39 |
| 2004/05 | 16 | 38% | 1.31 | 0.81 | +0.50 | +0.06 | -0.50 |
| 2003/04 | 23 | 43% | 1.57 | 1.26 | +0.30 | +0.65 | -0.22 |
Corners
Corners per game by season — actual counts, shown where available.
This season (2024/25)
- Home23138 for / 97 against6.0 CF/g
- Away2384 for / 125 against3.7 CF/g
| Season | Pld | Corners won (total). | Corners conceded (total). | Corners won per game. | Corners conceded per game. | Home corners won per game. | Away corners won per game. |
|---|---|---|---|---|---|---|---|
| 2024/25 | 46 | 222 | 222 | 4.8 | 4.8 | 6.0 | 3.7 |
| 2023/24 | 46 | 198 | 240 | 4.3 | 5.2 | 4.5 | 4.1 |
| 2022/23 | 46 | 215 | 226 | 4.7 | 4.9 | 5.5 | 3.9 |
| 2021/22 | 46 | 202 | 234 | 4.4 | 5.1 | 5.1 | 3.7 |
| 2020/21 | 46 | 215 | 228 | 4.7 | 5.0 | 4.9 | 4.5 |
| 2019/20 | 46 | 217 | 260 | 4.7 | 5.7 | 4.3 | 5.2 |
| 2017/18 | 46 | 225 | 237 | 4.9 | 5.2 | 5.1 | 4.7 |
| 2016/17 | 46 | 219 | 219 | 4.8 | 4.8 | 5.0 | 4.5 |
| 2015/16 | 46 | 214 | 240 | 4.7 | 5.2 | 5.8 | 3.5 |
| 2014/15 | 46 | 203 | 241 | 4.4 | 5.2 | 4.8 | 4.0 |
| 2012/13 | 46 | 303 | 227 | 6.6 | 4.9 | 7.6 | 5.6 |
| 2011/12 | 46 | 264 | 252 | 5.7 | 5.5 | 5.7 | 5.8 |
| 2010/11 | 46 | 284 | 218 | 6.2 | 4.7 | 6.6 | 5.7 |
| 2009/10 | 46 | 213 | 288 | 4.6 | 6.3 | 5.0 | 4.3 |
| 2008/09 | 46 | 287 | 201 | 6.2 | 4.4 | 6.3 | 6.2 |
| 2007/08 | 46 | 269 | 239 | 5.8 | 5.2 | 6.2 | 5.5 |
| 2006/07 | 46 | 236 | 250 | 5.1 | 5.4 | 5.7 | 4.5 |
| 2005/06 | 46 | 221 | 273 | 4.8 | 5.9 | 5.3 | 4.3 |
| 2004/05 | 32 | 209 | 130 | 6.5 | 4.1 | 7.9 | 5.2 |
| 2003/04 | 46 | 240 | 275 | 5.2 | 6.0 | 5.9 | 4.6 |