Aggregated team performance data including expected goals, shots, possession, corners, and discipline stats.
| Team | League | MP | Goals | Avg xG | Shots/G | Poss% | Corners/G | Cards/G |
|---|---|---|---|---|---|---|---|---|
| Olympique Marseille | Ligue 1 | 224 | 381 | 0 | 13.5 | 58% | 5.4 | 2 |
| Nantes | Ligue 1 | 230 | 246 | 0 | 11 | 44% | 4.6 | 2 |
Expected Goals (xG) is the single most important advanced metric in modern football analytics. It measures the quality of scoring chances by assigning each shot a probability of being scored, based on factors like distance, angle, assist type, and whether it was a header. A penalty is worth about 0.76 xG, while a long-range shot might be just 0.03.
The Avg xG column shows how many goals a team is expected to score per match based on their shot quality. Teams with high xG but lower actual goals are likely due a positive regression — they are creating chances but not converting them yet. The reverse (low xG, high goals) suggests a team overperforming that may regress. Read our detailed xG explainer for a deeper dive.
Shots per game indicates offensive intent — teams averaging 15+ shots are creating volume. But shots alone do not tell you about quality, which is why xG is the more reliable predictor. A team with 10 shots and 1.8 xG is more dangerous than one with 16 shots and 1.2 xG.
Possession (highlighted green above 55%) reflects control but not necessarily dominance. Some of Europe's best counter-attacking teams thrive on low possession. For betting, possession is most useful in predicting corner counts (high-possession teams win more) and tempo (high-possession games tend to be lower scoring).
The Cards/G column tracks total cards per match per team. This is useful for the cards/bookings market, which some bookmakers offer as over/under on total cards or total booking points. Teams with aggressive pressing styles or those frequently defending deep tend to commit more fouls and receive more cards. Cross-reference with form — teams on losing streaks often accumulate more cards from frustrated tackles. Check our corner data alongside cards, as set-piece-heavy teams with high card counts create chaotic matches ideal for Over bets.
| Olympique Lyonnais | Ligue 1 | 211 | 364 | 0 | 13.9 | 56% | 5.2 | 1.9 |
| LOSC Lille | Ligue 1 | 216 | 325 | 0 | 13.2 | 56% | 5.3 | 2.2 |
| Angers SCO | Ligue 1 | 195 | 191 | 0 | 10.1 | 45% | 4.3 | 1.7 |
| Reims | Ligue 1 | 186 | 207 | 0 | 11.5 | 46% | 4.4 | 2.1 |
| Guingamp | Ligue 1 | 5 | 4 | 0 | 10.4 | 44% | 4.6 | 1 |
| Auxerre | Ligue 1 | 99 | 102 | 0 | 11 | 43% | 4 | 1.9 |
| Monaco | Ligue 1 | 224 | 401 | 0 | 13.2 | 52% | 5.2 | 2.1 |
| Clermont | Ligue 1 | 110 | 109 | 0 | 11.2 | 49% | 4.4 | 1.9 |
| Troyes | Ligue 1 | 78 | 84 | 0 | 10.4 | 43% | 4.1 | 1.9 |
| Lorient | Ligue 1 | 192 | 220 | 0 | 11.2 | 46% | 4 | 1.7 |
| Brest | Ligue 1 | 209 | 282 | 0 | 11.9 | 47% | 4.5 | 1.9 |
| Lens | Ligue 1 | 214 | 321 | 0 | 13.8 | 52% | 5.4 | 2.2 |
| Toulouse | Ligue 1 | 155 | 186 | 0 | 12.3 | 47% | 4.8 | 1.9 |
| Nice | Ligue 1 | 240 | 320 | 0 | 12.5 | 52% | 4.9 | 1.9 |
| Ajaccio | Ligue 1 | 38 | 23 | 0 | 8.4 | 43% | 3.3 | 2.4 |
| Montpellier | Ligue 1 | 186 | 244 | 0 | 11.8 | 45% | 4.7 | 2.2 |
| Paris Saint Germain | Ligue 1 | 235 | 542 | 0 | 15.9 | 64% | 5.7 | 1.6 |
| Rennes | Ligue 1 | 223 | 360 | 0 | 13.7 | 54% | 5.1 | 1.8 |
| Strasbourg | Ligue 1 | 211 | 297 | 0 | 11.3 | 48% | 4.1 | 1.9 |
| Saint-Étienne | Ligue 1 | 110 | 123 | — | 11.4 | 48% | 4.6 | 2.1 |
| Nancy | Ligue 1 | 4 | 3 | — | 10 | 49% | 2.5 | 1.5 |
| Bordeaux | Ligue 1 | 76 | 94 | — | 11.5 | 48% | 4.2 | 2.3 |
| Dijon | Ligue 1 | 38 | 25 | — | 9.2 | 46% | 3.8 | 2.2 |
| Amiens SC | Ligue 1 | 6 | 9 | — | 11.5 | 48% | 3.2 | 2 |
| Paris | Ligue 1 | 26 | 29 | — | 11.4 | 52% | 4.2 | 2.2 |
| Le Havre | Ligue 1 | 95 | 94 | — | 10.9 | 45% | 4 | 1.9 |
| Nîmes | Ligue 1 | 38 | 40 | — | 10.3 | 44% | 4.2 | 1.7 |
| Metz | Ligue 1 | 145 | 148 | — | 10.2 | 43% | 3.9 | 2.1 |