Betting on the correct score is one of the highest-variance markets in football. The odds are attractive — often above 10.00 — precisely because pinning down an exact result is difficult. No model eliminates that difficulty, but a structured approach can help you identify which scorelines are overpriced or underpriced relative to what the data suggests.
Our Correct Score Calculator takes projected home and away xG, applies a Poisson distribution with a Dixon-Coles low-score correction, and produces a complete probability matrix. It also derives probabilities for broader markets — 1X2, Over/Under goals, BTTS, and clean sheets — directly from the same matrix, so you can use one set of inputs for multiple analyses.
Correct Score Matrix
Poisson + Dixon-ColesEnter projected match xG for each team — from Understat, FBref, or your own model — to generate a probability matrix for all scorelines 0–5, derived market probabilities, and no-margin fair odds.
How to Use the Correct Score Calculator
- Enter Expected Goals (xG): Input the projected xG for the home and away team. For best results, use pre-match projections built from sources like Understat or FBref rather than raw goal averages. If you only have goal averages, the calculator still works, but the output carries more uncertainty.
- Generate the Matrix: Click the button to build the 6×6 probability grid with Dixon-Coles correction applied.
- Review the Top 5 Cluster: The calculator identifies the five most probable scorelines and shows their combined probability. This is more useful than a single “most likely score” because correct-score betting is inherently about covering a zone of likely outcomes.
- Check Derived Markets: Below the cluster you will find 1X2, Over/Under, BTTS, and clean sheet probabilities — all calculated from the same matrix. Use these to cross-check your bookmaker’s lines across multiple markets from one model.
- Analyse the Heatmap: The full matrix shows probability, percentage, and fair odds for every scoreline from 0–0 to 5–5. Darker cells indicate higher probability.
Tip: If a specific exact score feels too risky, use the derived markets section. For instance, if the heatmap clusters around 1-0, 2-0, and 2-1, the Over/Under and BTTS figures will tell you whether a broader market bet captures similar value with less variance. You can also check our Over/Under Goals Calculator for a dedicated analysis.
How to Get xG Inputs From Understat or FBref
The calculator needs projected match xG for each team, not just the number of goals they scored in recent matches. Understat and FBref can both help you build a practical estimate, but you need to turn their team-level data into two match inputs: Home Expected Goals and Away Expected Goals.
Simple method: combine attacking xG with opponent xG allowed
The fastest method is to average one team’s attacking output with the opponent’s defensive allowance:
- Home Expected Goals: average the home team’s home attacking xG per match with the away team’s away xG conceded per match.
- Away Expected Goals: average the away team’s away attacking xG per match with the home team’s home xG conceded per match.
Example. Suppose the home team creates 1.70 xG per home match, and the away team allows 1.30 xG per away match. Your home input would be:
Home xG = (1.70 + 1.30) / 2 = 1.50
Now suppose the away team creates 1.10 xG per away match, while the home team allows 0.90 xG per home match. Your away input would be:
Away xG = (1.10 + 0.90) / 2 = 1.00
In the calculator, you would enter Home Expected Goals = 1.50 and Away Expected Goals = 1.00.
Using Understat
On Understat, look for team xG and xGA data. Ideally, use home/away splits rather than one blended season number. For the home team, use its home xG as the attacking side of the estimate. For the away team, use its away xGA as the defensive allowance. Then repeat the process in reverse for the away input.
If you only have totals, divide total xG by matches played to get a per-match number. For example, 34.0 xG across 20 matches equals 1.70 xG per match.
Using FBref
On FBref, use the squad expected-goals tables. For attacking strength, use the team’s xG per 90 or per match. For defensive allowance, use the opponent/defensive expected-goals data, often shown as opponent xG or xGA-style values depending on the table. Again, venue splits are preferable: home figures for the home team and away figures for the away team.
When xG data is incomplete
If you cannot find reliable xG, use recent goals scored and conceded as a fallback. Keep the warning in mind: raw goals are noisier than xG. A team can score three goals from poor chances or fail to score despite creating several clear opportunities. That is why xG-based inputs usually produce a better baseline for correct-score modelling.
What the Calculator Does (and Does Not Do)
It is worth being explicit about the model’s scope:
- It does: Generate a baseline probability for every scoreline using a well-established statistical model (Poisson + Dixon-Coles). It produces no-margin fair odds and derived market probabilities from the same inputs.
- It does not: Account for in-game dynamics (red cards, tactical changes, weather, pitch condition), match-state dependence beyond the ρ correction, or bookmaker-specific pricing. The output is a starting point for analysis, not a final price.
Small changes in xG input can meaningfully shift the top scores and fair odds. If your home xG is 1.45 vs 1.65, the model’s most probable score and fair odds may change noticeably. This sensitivity is inherent to Poisson-based models and is worth keeping in mind.
Worked Examples
Example 1: Two Evenly Matched Teams
You enter Home xG = 1.15, Away xG = 1.05.
- Top cluster: The calculator identifies 1–1, 1–0, 0–1, 0–0, and 2–1 as the five most likely scores.
- 1–1 comes out at roughly 11–12% probability (fair odds ~8.50). With Dixon-Coles correction, this is slightly higher than a basic Poisson model would suggest.
- Cluster probability: The top 5 scores together cover around 45–48% of outcomes.
- Derived markets: The 1X2 section shows a tight match (Home ~38%, Draw ~27%, Away ~25%), consistent with the low xG and close values. If your bookmaker’s draw price is significantly higher than ~3.70, it may be worth a closer look.
Example 2: Dominant Favourite
Home xG = 2.80, Away xG = 0.45.
- Top cluster: The most likely scores shift to 3–0, 2–0, 4–0, 2–1, and 1–0.
- Fair odds for 3–0: The model might show fair odds around 7.50–8.00. If your bookmaker offers 10.00 or higher, the model suggests the bookmaker’s price exceeds the estimated probability — which could indicate value, though model error at these xG levels is worth factoring in.
- Coverage note: At 2.80 + 0.45 = 3.25 total xG, the matrix still covers well over 95% of outcomes. But at even higher xG inputs, more probability leaks beyond 5–5.
- Derived markets: Over 2.5 shows high probability, BTTS No is dominant, and the clean sheet percentage for the home team is substantial — all useful cross-checks.
Why the Dixon-Coles Correction Matters
The standard Poisson model assumes that each team scores independently of the other. In reality, low-scoring football matches show slight dependence: 0–0, 1–0, 0–1, and 1–1 occur somewhat more often than pure independence would predict. Dixon and Coles (1997) introduced a correction parameter (ρ) to address this.
This calculator uses ρ ≈ −0.13, which is a standard value from the literature. The effect is modest but meaningful: it typically adds 0.5–1.5 percentage points to 1–1 and 0–0, and slightly reduces some asymmetric low scores. For correct-score betting, where you are looking at individual scoreline probabilities, even a 1% shift can change whether a price looks like value.
Using Derived Markets From the Matrix
One of the most practical features of this calculator is the derived markets block. Since the matrix already contains the joint probability for every (home goals, away goals) pair, it can compute:
- 1X2: Sum all cells where home > away (home win), home = away (draw), or home
- Over/Under: Sum all cells where total goals exceed or fall below the line (1.5, 2.5, 3.5, 4.5).
- BTTS: Sum all cells where both teams score at least 1.
- Clean sheet: Sum all cells where one team scores 0.
This means a single xG input gives you a consistent set of model prices across many markets. If the model shows Over 2.5 at 62% but your bookmaker prices it at 1.72 (implied 58%), that is useful information — subject to the model’s assumptions.
The score matrix above contains all you need to derive higher-level markets. To compute BTTS Yes/No probability, sum every cell where both teams scored at least once (everything except the first row and first column). The dedicated calculator does this automatically and adds fair odds plus a bookmaker edge comparison.
Frequently Asked Questions
Which Understat or FBref numbers should I enter?
Use projected match xG, not raw goals. A simple estimate is to average the home team’s home attacking xG with the away team’s away xG conceded to get the Home Expected Goals input. Then average the away team’s away attacking xG with the home team’s home xG conceded to get the Away Expected Goals input. If only season totals are available, divide xG by matches or 90s to convert it into a per-match value.
How accurate is Poisson for correct scores?
Independent Poisson is a common baseline for score modelling. It treats each team’s goals as a separate random process. The main limitation is the assumption of independence, which can misprice low-score outcomes. This calculator applies a Dixon-Coles correction to partially address that, but no model fully captures in-game dynamics or tactical shifts.
What are “Fair Odds”?
Fair Odds represent the price implied by the model’s probability with no bookmaker margin. Calculated as 1 / probability. If the model gives fair odds of 8.00 and a bookmaker offers 9.00, the bookmaker’s price exceeds the model estimate — which may indicate value, subject to model accuracy and input quality.
Can I use this for dutching multiple scores?
Yes. The top-5 cluster shows the most probable scorelines with their cumulative probability. Some bettors use this to split their stake across 3–5 scores so that any single hit returns a profit. The cluster probability tells you the combined chance of landing on one of your selected scores.
Why does the matrix only go to 5–5?
The 6×6 grid covers the vast majority of realistic scorelines. For typical xG inputs, coverage exceeds 95%. The calculator displays the exact coverage percentage so you can see how much probability falls outside the visible range.
What is the Dixon-Coles correction?
An adjustment to the standard Poisson model that addresses a known bias: independent Poisson tends to underestimate 0–0, 1–1, and nearby scores. The correction uses a parameter ρ (rho) to slightly adjust these probabilities. This calculator uses ρ ≈ −0.13, a standard value from the original research.
Should I use xG or average goals as input?
Projected match xG is a better input because it measures chance quality, not just outcomes. Raw goals can be distorted by luck. If xG is unavailable, goal averages are usable — but treat the output with proportionally more caution.

How can I download it or is the any app
Hi! Thanks for asking. The Correct Score Calculator is a web-based tool, so there is no separate downloadable file or dedicated mobile app at the moment.
You can still use it on a phone or tablet directly in your browser. For quicker access, you can add the page to your home screen from your browser menu – for example, in Chrome or Safari, use the share / menu button and choose “Add to Home Screen”.
If you need a specific feature such as exporting the matrix, saving calculations, or running many matches in bulk, let us know. That would help us decide what to add next.
Show how you the data on understat or FB ref to use for the gaols
Hi Josh — good question. The calculator needs projected expected goals (xG), not just actual goals scored.
A simple way to use Understat or FBref is:
1. Find the home team’s attacking xG per match.
2. Find the away team’s defensive xG allowed per match.
3. Average those two numbers to estimate the Home Expected Goals input.
4. Then do the same in reverse for the away team.
Example:
Home team home xG: 1.70
Away team away xG conceded: 1.30
Home Expected Goals input: (1.70 + 1.30) / 2 = 1.50
Away team away xG: 1.10
Home team home xG conceded: 0.90
Away Expected Goals input: (1.10 + 0.90) / 2 = 1.00
So in the calculator you would enter:
Home xG: 1.50
Away xG: 1.00
On Understat, use team xG and xGA data, ideally split by home/away if available. On FBref, use the Expected section: xG for attacking output and opponent xG / xGA-style data for defensive allowance. If only season totals are shown, divide xG by matches or 90s to get a per-match number.
This is still a simplified projection, but it is better than using raw goals because xG measures chance quality rather than only final scores.