How to Build a Football Ratings System: Team Strength Modelling

Step-by-step guide to building attack and defence strength ratings for football betting, covering Dixon-Coles models and practical implementation tips.

Advanced10 min readLast updated: March 5, 2026Editorial Team
ET

Editorial Team

Betting Expert

Key Takeaways

  • A basic football ratings system separates team strength into attack and defence components measured against league averages.
  • The Dixon-Coles model uses Poisson distribution to estimate goal probabilities from attack and defence ratings.
  • Home advantage is a critical parameter — Premier League home teams score roughly 0.4 more goals per match on average.
  • Time-weighting recent matches more heavily makes ratings responsive to form changes without discarding long-term data.
  • Your model only has value if its probability outputs consistently differ from the bookmaker's closing odds.

Building a football ratings system transforms vague impressions of team quality into quantifiable probability estimates you can compare directly against bookmaker odds.

Step 1: Gather Historical Data

You need match results with home/away goals for at least one full season. Free sources include football-data.co.uk for major European leagues. For xG-based models, fbref.com provides expected goals data for top leagues.

Organise your data in a spreadsheet or database with columns: date, home team, away team, home goals, away goals.

Step 2: Calculate League Averages

Compute the league-wide averages:

  • Average home goals = total home goals / total matches (Premier League 2024-25: approximately 1.55)
  • Average away goals = total away goals / total matches (approximately 1.15)

These averages anchor your ratings. A team with attack strength of 1.20 scores 20% more than the league average.

Step 3: Estimate Attack and Defence Ratings

For each team, calculate:

  • Attack strength = team's goals scored / league average goals scored (home and away separately)
  • Defence strength = team's goals conceded / league average goals conceded

Step 4: Predict Match Outcomes

For a match between Team A (home) and Team B (away):

  • Expected home goals = Home attack(A) x Away defence(B) x League avg home goals
  • Expected away goals = Away attack(B) x Home defence(A) x League avg away goals

If Team A has a home attack rating of 1.30 and Team B has an away defence of 1.10, with a league average of 1.55 home goals: Expected home goals = 1.30 x 1.10 x 1.55 = 2.22.

Step 5: Convert to Probabilities

Using the Poisson distribution with these expected goal values, calculate the probability of every scoreline from 0-0 to, say, 6-6. Sum the cells where home goals exceed away goals for home win probability, and so on.

A match with expected goals of 2.22 vs 1.05 produces approximate probabilities: Home win 62%, Draw 19%, Away win 19%.

Step 6: Time-Weight Your Data

Recent matches should carry more weight than older ones. Apply exponential decay — a common approach halves the weight of data every 30 matches. This balances responsiveness to form with statistical stability.

Comparing Your Model to the Market

The final test: do your probabilities consistently differ from closing odds? If your model says 55% home win and the market says 55%, you have no edge. Track closing line value (CLV) across hundreds of matches to determine whether your model identifies genuine value.

Frequently Asked Questions

What is a football ratings system?+
A football ratings system assigns numerical strength values to each team based on historical performance. These ratings can be split into attack strength (how effectively a team scores) and defence strength (how effectively they prevent goals), enabling match outcome predictions.
What is the Dixon-Coles model?+
The Dixon-Coles model (1997) is a statistical framework that models football goals using independent Poisson distributions for each team. It estimates attack and defence parameters for every team plus a home advantage factor. A correction term handles low-scoring outcomes (0-0, 1-0, 0-1, 1-1) which the basic Poisson model underestimates.
How many matches do you need to build reliable ratings?+
A minimum of 20-30 matches per team provides a reasonable foundation. However, ratings become significantly more reliable with 50+ matches. Early-season ratings should be blended with prior-season data to avoid overreacting to small sample sizes.
Should you use goals or expected goals for ratings?+
Expected goals (xG) provide a more stable measure of underlying performance because they filter out luck in finishing. A model built on xG will produce smoother, more predictive ratings. However, xG data is harder to source for lower leagues where free data is limited.
How do you convert ratings into betting probabilities?+
Using Poisson distribution: calculate expected goals for each team (attack rating x opponent defence rating x league average x home factor), then compute the probability of every possible scoreline from 0-0 to 5-5. Summing the appropriate cells gives you home win, draw, and away win probabilities.

Bet Responsibly

Gambling should be fun. If it stops being fun, get help: BeGambleAware, GamStop