OddlyLikely Compare partners

Score modelling

Poisson football and xG calculator

Enter the expected goals you give each side and this Poisson calculator returns the probability of every scoreline, the home, draw and away chances, fair odds with no margin, goal totals and both teams to score.

Model a football match from expected goals

Give each team a scoring rate and the Poisson distribution does the rest: it turns "this side should score about 1.5" into the chance of scoring exactly none, one, two or more. Multiply the two teams together and you have a probability for every scoreline, and from those, every match market. You supply the two expected goals estimates. Oddly Likely does not generate them and does not publish one for you to paste in.

JavaScript is required to run the calculator. The formula and worked example below remain available.

Expected goals for each side

Goals the home side is expected to score in this match. Zero to 10, decimal point or comma.

Goals the away side is expected to score in the same match, on the same basis.

Results

Home win
--
Draw
--
Away win
--
Both teams to score
--
Not both teams to score
--
Most likely score
--

Goal totals, with the fair odds for each side in brackets. Fair odds are 1 divided by the probability and carry no bookmaker margin.

Over and under probabilities and fair odds for each goal line
LineOver (fair odds)Under (fair odds)

The five most likely exact scores.

The five most likely exact scores with their probability and fair odds
RankScoreChanceFair odds

Score probability matrix, as a percentage to one decimal place. Rows are home goals, columns are away goals. The grid shows 0 to 6 per side; the market figures above are summed from the full distribution, not from this grid.

Probability of each scoreline as a percentage, home goals by away goals
Home goals by away goals Away 0 Away 1 Away 2 Away 3 Away 4 Away 5 Away 6

The two expected goals values are calculated in your browser. Nothing is sent anywhere and nothing is stored.

Formula and worked example

P(X = k) = exp(-lambda) x lambda^k / k!
P(scoreline) = P(home scores h) x P(away scores a)
Home win = sum of every scoreline where h > a
Fair decimal odds = 1 / probability

Take a home side at 1.50 expected goals and an away side at 1.00. The home team's chance of scoring exactly one is exp(-1.50) x 1.50 = 33.47%, and the away team's chance of scoring none is exp(-1.00) = 36.79%. Multiply them and 1-0 comes out at 12.31%. Repeat for every scoreline and add them up by result.

At those two rates the model gives a home win 48.79% of the time (fair odds 2.05), a draw 25.98% (fair odds 3.85) and an away win 25.22% (fair odds 3.96). Over 2.5 goals lands 45.62% of the time and under 2.5 goals 54.38%. Both teams score 49.11% of the time. The joint most likely scores are 1-0 and 1-1 at 12.31% each, then 2-0 and 2-1 at 9.23% each, then 0-0 at 8.21%.

Note what those numbers are not. A 12.31% most likely score still means the match ends some other way seven times in eight. The output is a distribution, not a forecast of one result.

What to put in the expected goals boxes

Expected goals measures the quality of the chances a team creates: a tap-in counts for far more than a speculative shot from 30 yards. Public xG models score every shot on its context and add them up, which is why a team can lose 1-0 having "won" the xG.

This calculator does not work from shots. It wants one aggregate rate per side for this specific match: how many goals you expect that team to score against this opponent, at this venue. Season averages are a starting point, not the answer. Adjust for the opponent's defence, for home advantage, and for whoever is missing. Two people can reasonably enter different numbers for the same fixture, and the output will differ accordingly.

Both inputs accept a decimal point or a decimal comma, and zero is allowed. Anything negative or above 10 is rejected, because a Poisson rate cannot be negative and no football market needs a higher one.

Where the independent Poisson model breaks down

Multiplying the two sides together assumes the goal counts are independent: that what the home team does has no bearing on what the away team does. Football does not work that way. A team that goes two ahead often stops attacking, a team chasing the game takes risks, and both effects link the two scorelines the model treats as separate.

The practical consequence is well documented. Independent Poisson understates draws and understates low-scoring results, 0-0 and 1-1 most of all, and it slightly overstates the high-scoring tail. Dixon and Coles proposed a correction for exactly those low-score cells in 1997, and Maher's 1982 paper set out the independent model this page implements. This calculator does not apply the Dixon-Coles correction. Read the low scorelines as a floor rather than a finished number.

One more property worth knowing: the output moves as soon as either input does. Shift the home rate from 1.50 to 1.70 and every cell in the matrix changes. A model this sensitive to an estimate you made yourself is a way of testing your own reasoning, not a source of certainty.

Reading the fair odds

Fair odds are simply 1 divided by the model probability, with no margin added. A bookmaker's price on the same outcome will be shorter than the fair price, because their cut is built into every quote. That gap is the whole point of the comparison: if the board price is longer than the fair price your model produced, that is where a value bet would sit.

Before trusting that comparison, strip the margin out of the market you are comparing against. The no-vig calculator turns a full three-way board into fair prices, the implied probability calculator converts a single price into a percentage, and the value betting calculator takes your probability and the offered odds and returns the expected value. Nothing on this page knows what price is actually available, so nothing here should be read as a recommendation to bet.

Limits and responsible use

This is a model, and its output is educational rather than a prediction. It assumes independent Poisson goal counts, it knows nothing about red cards, weather, team news or in-play events, and it is only as good as the two numbers you typed into it. It does not guarantee any result. See Gambling Commission LCCP 4.2.6.

Set a spending limit before gambling and do not chase losses. Read GambleAware's advice and our responsible gambling guidance.

Related tools and guides

Once you have a probability you trust and a price to check it against, you can compare betting partners. Oddly Likely may earn a commission from partner links; check current odds, eligibility and terms. Read the affiliate disclosure.

Frequently asked questions

How do you calculate a Poisson distribution for football?

P(X = k) = exp(-lambda) x lambda^k / k!, where lambda is a team's expected goals and k is a number of goals. Do it for each side, then multiply the two: P(2-1) is P(home scores 2) x P(away scores 1). Summing those scorelines gives home, draw and away.

What expected goals numbers should I enter?

Your own estimate of how many goals each side should score in this match, not their season total. A common starting point is the team's recent xG per game adjusted for the opponent and for home advantage. This calculator does not generate the estimate and Oddly Likely does not publish one.

Is the Poisson model accurate for football?

It gets the shape of football scorelines roughly right and is a reasonable first approximation. It also treats the two teams' goal counts as independent, which understates draws and low scores. Dixon and Coles (1997) proposed a correction for exactly that, and this calculator does not apply it.

What are fair odds and why do they differ from the bookmaker's price?

Fair odds are 1 divided by the model probability, with no margin added. A bookmaker's price includes their cut, so their odds on the same outcome will be shorter. Comparing the two is the point: a board price longer than the fair price is where a value bet would be.

Sources