BTTS Probability for Analysts: Poisson, Dixon Coles and Brier Scores

BTTS probability is the likelihood that both teams score at least one goal in a match, and we calculate it from each team’s expected goals (xG) using the independent-Poisson formula: multiply the chance each side fails to score, then subtract from one. Once we have that probability, converting it to fair decimal odds and comparing against market prices tells us where the value sits.
TL;DR:
- The independent Poisson formula is most effective for quick, in-play BTTS probability calculations, but its accuracy decreases with low-scoring outcomes like 0-0 and 1-1.
- Corrections like the double Poisson and Dixon-Coles models improve predictions for low-score results and mitigate biases against weak opponents.
- Model probabilities should be converted into fair odds and compared with bookmaker prices, with a 3-4% edge generally considered significant for betting decisions.
- Evaluation metrics such as Brier score and log-likelihood are essential to verify the long-term accuracy and calibration of BTTS models.
- Using live match data, momentum, and updated xG inputs enhances in-play BTTS assessments and reduces risk from model misjudgments.
Table of Contents
- What counts as BTTS Yes or No
- Calculate BTTS probability from expected goals
- BTTS and Over/Under 2.5: joint and conditional probabilities
- Independent Poisson vs double Poisson vs Bayesian models
- Turn BTTS probability into fair odds and spot value
- How to measure whether a BTTS model actually works
- Pitfalls that quietly erase a betting edge
- How live data and predictions support a BTTS workflow
- A few rules of thumb worth keeping close
- Where to check live BTTS-ready predictions and data
- FAQ
- Sources
What counts as BTTS Yes or No
Settlement for Both Teams to Score markets hinges on the final score, and the rule stays simple across most competitions: both sides need at least one goal credited to them before the match ends.
- A 1-1, 2-1 or 3-2 result settles as BTTS Yes because each team found the net at least once.
- A 1-0, 2-0 or 0-0 result settles as BTTS No since one side was shut out.
- Own goals count toward the scoring team’s tally for BTTS purposes, so a goal credited as an own goal still satisfies the “scored” condition for whichever side the data attributes it to.
- Standard league fixtures settle on regulation time, which typically means the 90 minutes plus stoppage time, while cup competitions that go to extra time may extend the settlement window, so checking the specific market rules before placing a bet matters.
Getting these mechanics right matters because a model can output a flawless probability, but if we misread which minutes count or how an own goal settles, the number never translates into a correctly placed bet.
Calculate BTTS probability from expected goals
The standard approach treats each team’s goal count as a Poisson process with rate parameter lambda, drawn from their expected goals (xG) for the match. Assuming the two teams score independently of one another, the probability that a team fails to score is e^(−λ), so the probability of at least one goal is 1 minus that term. Multiplying the two “at least one goal” probabilities together gives BTTS Yes:

P(BTTS Yes) = (1 − e^(−λhome)) × (1 − e^(−λaway))
Here is the formula applied to a concrete example. Say a home side carries an expected goals rate of 1.5 for the match and the away side carries 1.2, numbers we would typically derive from recent attacking and defensive form.
- The home team’s chance of being shut out is e^(−1.5), approximately a bit over one-fifth, so its chance of scoring at least once is roughly just under four-fifths.
- The away team’s chance of being shut out is e^(−1.2), close to three in ten, so its chance of scoring at least once is roughly seven in ten.
- Multiplying these chances gives a BTTS Yes probability a little over half, which converts to fair decimal odds just below two.
This matches the output that practical independent-Poisson BTTS calculators report for the same inputs. The sensitivity of this formula to small changes in xG is worth seeing directly:
A half-goal shift in either team’s xG moves BTTS Yes probability by several percentage points, which is why the quality of the xG inputs matters as much as the formula itself.
BTTS and Over/Under 2.5: joint and conditional probabilities
BTTS and the Over/Under 2.5 goals market overlap in a specific, narrow way: when the final score is 1-1, both conditions are true at once, both teams scored and the total stayed under three goals. Every other BTTS Yes scoreline (2-1, 1-2, 2-2, 3-1, and so on) pushes the total to 3 or more, landing in Over 2.5 territory instead.
- P(BTTS Yes ∩ Under 2.5) equals the Poisson probability of the single 1-1 scoreline, calculated as the product of each team scoring exactly one goal.
- P(Over 2.5 | BTTS Yes) is the share of BTTS Yes outcomes that are not 1-1, so it equals 1 minus the probability of 1-1 given BTTS Yes.
- P(BTTS Yes | Over 2.5) asks the reverse question: among all high-scoring matches, what share also had both teams on the scoresheet.
A practical calculator shows the mechanics clearly: with xG of 1.5 and 1.2, the 1-1 scoreline alone carries a probability of roughly 10%, meaning most of the 54.3% BTTS Yes probability comes from higher-scoring combinations rather than the tight 1-1 result.
For betters stacking multiple markets, this overlap matters because BTTS Yes and Over 2.5 are not independent bets even though bookmakers price them on separate lines. Betting both together is effectively a wager that the match produces goals at both ends and in volume, so the correlated risk is higher than multiplying the two individual probabilities would suggest, and any parlay or same-game multiple needs the joint calculation, not the naive product.
Independent Poisson vs double Poisson vs Bayesian models
The independent-Poisson formula earns its popularity through simplicity: two xG inputs, a handful of exponentials, and a probability in seconds. It works well as a first pass and for live, in-match recalculation where speed matters more than the last percentage point of accuracy.
Its central weakness is the independence assumption itself. Real matches show some correlation between the two teams’ scoring, particularly around low-scoring outcomes like 0-0 and 1-1, where game state and tactical caution affect both sides at once. The double Poisson model addresses this by adding a correction term for these low-score cells, and it produced accurate pre-tournament predictions for Euro 2020 while flagging a separate issue: a tendency to over-weight results against very weak opponents, a reminder that rich data still needs cleaning before it feeds a model. The Dixon-Coles approach applies a related correction and is one of the most commonly cited fixes for the same low-score bias.
Bayesian state-space models go a step further by letting each team’s attacking and defensive strength evolve over time rather than treating form as fixed for a season. A JRSS Series C study of English Premier League data found these state-space models competitive with, and at times superior to, other time-series approaches, partly because they adapt to injuries, tactical changes and form swings without a full model re-fit. The same paper leans on Brier score, log-likelihood and the ranked probability score (RPS) as its evaluation tools, which have become the standard diagnostics for comparing football forecasting models.
- Independent Poisson suits quick checks, live odds screening and situations where speed beats precision.
- Double Poisson and Dixon-Coles corrections suit any production use where 0-0 and 1-1 outcomes carry real betting weight.
- Bayesian state-space models suit longer-term projects tracking form changes across a season, especially when enough historical data exists to support the extra complexity.
- A broader survey of score-based modeling approaches found that simple models often perform similarly to more complex ones on large datasets, which tempers how much lift to expect from upgrading.
Pro Tip: Start every BTTS check with plain independent Poisson, then only add a Dixon-Coles or state-space correction once backtesting shows the simple version missing on specific scorelines.
Turn BTTS probability into fair odds and spot value
A model probability is only useful once it is compared against a price, and the conversion itself takes one step: fair decimal odds equal 1 divided by the probability.
Removing it means taking each outcome’s implied probability (1 divided by its decimal odds) and dividing by the sum of all implied probabilities in that market, which rescales everything back to 100% and gives a fair, no-vig comparison point.
- Convert the model’s BTTS Yes probability to fair odds using 1 divided by probability.
- Convert the bookmaker’s BTTS Yes and No odds to implied probabilities, then normalize them to remove the vig.
- Compare the no-vig market probability against the model probability. A gap in the model’s favor is the signal worth acting on.
- Calculate expected value as (model probability multiplied by the bookmaker’s decimal odds) minus 1; a positive result indicates a theoretical edge.
- Size the stake to the confidence in the model and the size of the edge, never to the odds alone.
Price shopping across multiple bookmakers before placing a bet is one of the simplest ways to capture edge that already exists in the model, since the same BTTS probability can clear a positive-EV threshold at one book and fall short at another. Market liquidity matters too: thin markets move more on a single bet and can erase an edge before it settles, and in-play prices shift fast enough that a pregame edge calculation needs rechecking once the match state changes.
Pro Tip: Treat a calculated edge under 3 to 4% as noise unless the model has a strong backtested track record, since small edges are the first to disappear once vig and price movement are accounted for.
How to measure whether a BTTS model actually works
A probability is only as trustworthy as the evaluation behind it, and two scoring rules dominate this work: the Brier score and log-likelihood, sometimes extended to the ranked probability score (RPS) for multi-outcome markets. The JRSS state-space paper uses exactly these metrics to compare competing football models, and they remain the standard toolkit across the field.
- Brier score measures the average squared difference between predicted probability and the actual outcome (1 for BTTS Yes, 0 for No), so lower values mean sharper, better-calibrated predictions.
- Log-likelihood rewards a model for assigning high probability to what actually happened and penalizes overconfidence heavily when the model is wrong, making it sensitive to badly miscalibrated tails.
- A calibration diagram groups predictions into probability bins, for example 50 to 60%, and plots the bin’s predicted average against the actual BTTS Yes rate within that bin. A well-calibrated model sits close to the diagonal line across every bin.
Scoring rules like Brier score and log-likelihood are the standard diagnostics reported in comparative football forecasting research, and tracking them over time is what separates a durable BTTS model from one that got lucky over a small sample.
Backtesting needs to run out of sample and on a rolling basis, training on one window of matches and testing on the next, then sliding that window forward rather than testing on data the model already learned from. Small-sample noise is a real trap here: a strong or weak Brier score over 20 or 30 matches can easily be variance rather than signal, so widening the test window before drawing conclusions about a model’s quality protects against chasing short-term results that will not repeat.

Pitfalls that quietly erase a betting edge
Most BTTS modeling mistakes trace back to the inputs rather than the formula itself. Noisy or stale xG figures, pulled from too few matches or not adjusted for opponent strength, push the whole calculation off before the Poisson math even runs. Overfitting to a handful of rare, high-variance fixtures, like a cup upset or a match played under unusual circumstances, teaches a model patterns that will not recur. Ignoring the independence violations that double Poisson and Dixon-Coles exist to fix is another common shortcut that costs accuracy specifically on 0-0 and 1-1 outcomes.
- Smooth xG inputs over a rolling window of recent matches rather than relying on a single game’s figures.
- Exclude or down-weight extreme outlier results, including matches against very weak opponents, a pattern the double Poisson research specifically flags as a source of bias.
- Choose a window length that balances recency against sample size; too short reacts to noise, too long misses real form changes.
- Account for league-level scoring differences rather than applying one global goal-rate assumption across competitions with very different styles.
- Average multiple models together and shrink stakes when calibration checks come back weak, since an ensemble tends to smooth out any single model’s blind spots.
How live data and predictions support a BTTS workflow
Building a reliable BTTS probability starts with the inputs, and that is where live, continuously updated match data earns its place in the workflow. We refresh scores every few seconds and layer AI-generated win-probability percentages on top, built from expected goals, recent form and head-to-head records, alongside a momentum read that shows which side is on top as the match develops.
- Live scores updating provide a current read on match state that a BTTS model can factor into in-play recalculations.
- AI-powered win probabilities drawn from xG, form and head-to-head data provide a reference point to sanity-check an independently calculated BTTS figure.
- Minute-by-minute momentum tracking helps flag when game state, not just raw xG, is shifting the likelihood of a second goal from either side.
- Coverage across many competitions means the same inputs are available across most leagues a BTTS model would cover.
Analysts building their own BTTS calculations can use these feeds as a live cross-check against a standalone Poisson or Dixon-Coles model rather than as a replacement for it. Our win-probability development work walks through how these models get built and evaluated, including the scoring-rule discipline described above, and the BTTS predictions page shows the kind of daily probability output this workflow produces in practice.
A few rules of thumb worth keeping close
Confidence and stake size should move together: a BTTS edge backed by a well-calibrated, backtested model deserves more weight than the same edge from a model run once on a small sample. Season-smoothed xG beats a single-match snapshot nearly every time, since one fixture’s expected goals can swing on a red card, a missed penalty or a weather-disrupted game that will not repeat.
Watch for 1-1 trap fixtures specifically, low-scoring, cautious matchups where the independent-Poisson formula can overstate BTTS Yes if it has not been corrected for the low-score bias that double Poisson and Dixon-Coles were built to fix. Bankroll management still governs everything else: no single BTTS bet, however well modeled, should risk a share of the bankroll large enough that a losing run changes the betting plan. In-play prices move fast enough that any pregame edge is worth rechecking once the match state shifts.
— Aria
Where to check live BTTS-ready predictions and data
Everything in this guide works best with current, well-maintained inputs, and that is exactly what we aim to provide. Scores update frequently, and AI-powered predictions from expected goals, form and head-to-head data, plus a momentum read, help show which side is pressing for that second goal in real time.
For a live cross-check against your own BTTS calculations, our live scores page tracks matches as they unfold, and the AI score predictions page shows predicted scorelines and probability outputs across more than 200 competitions. Our predictions landing page is the place to start if you want an ongoing reference point alongside your own models.
FAQ
What are match odds?
Match odds are the prices a bookmaker sets for a specific outcome, expressed as decimal, fractional or moneyline formats, and they reflect both the bookmaker’s probability estimate and a built-in margin. Converting odds to implied probability and removing that margin is the first step in comparing a bookmaker’s price against a model’s own calculated probability.
What does a “Both Teams to Score” bet mean?
A Both Teams to Score (BTTS) bet settles as Yes when both teams score at least one goal in the match and as No when at least one team fails to score. The final score determines settlement, so a 1-1 draw settles as Yes while a 1-0 win settles as No.
How to predict a winning team?
Predicting a winning team typically starts with each side’s expected goals (xG), recent form and head-to-head record, then runs those inputs through a model such as independent Poisson, double Poisson or a Bayesian state-space approach to generate win, draw and loss probabilities. Our AI-powered predictions apply this kind of approach using xG, form and head-to-head data to generate win-probability percentages for upcoming matches.
What does “BTTS GG NG” mean in a bet?
“GG” stands for “Goal Goal,” shorthand for BTTS Yes, meaning both teams scored, while “NG” stands for “No Goal,” shorthand for BTTS No, meaning at least one team was held scoreless. The terms are interchangeable with BTTS Yes and BTTS No and settle under the same rules.
How accurate are BTTS probability models?
Accuracy depends heavily on the model and the quality of its inputs: independent Poisson is fast but can misprice low-scoring outcomes, while corrected models like double Poisson have shown strong pre-tournament accuracy in competitions such as Euro 2020. Tracking a model’s Brier score and log-likelihood over a large, out-of-sample set of matches is the only reliable way to judge its real accuracy rather than relying on a single tournament or season.
Sources
- Analysis of a double Poisson model for predicting football results in Euro 2020 | PLOS One
- Bayesian state-space models for the modelling and prediction of the results of English Premier League football | JRSS Series C
