White touchline on bright green grass, shallow depth of field
Football

Both Teams to Score (BTTS) Betting Strategy — A Five-Point Filter

Researched and drafted with AI assistance from published sources; published by LokeNessiSport Editorial Team · Last updated: 16 August 2026

18+ | Gambling involves risk. Only bet what you can afford to lose. If gambling is causing you problems, contact BeGambleAware.org or Hjelpelinjen: 800 800 40.

Disclosure: this page contains affiliate links. If you sign up through them we may earn a commission, at no extra cost to you. It does not change what we write.

The Flaw of Historical BTTS Percentage Streaks

Both Teams to Score (BTTS - Yes / No) is one of the most popular markets in football betting. Many bettors pick BTTS selections from surface-level trends ("BTTS has landed in 6 of Team A's last 7 matches").

The problem is that a short streak says little on its own. It ignores the things that actually produce goals: the opponent's defensive structure, the quality of chances created (expected goals, xG), goalkeeping and game state. Believing a streak must continue, or must end, is the same kind of mistake as the gambler's fallacy.

A team that drew 1-1 four times in a row might have created very few chances and scored from a goalkeeping error and a penalty. Against a disciplined, deep-defending side with a good goalkeeper, their real chance of scoring can be much lower than the streak suggests.

Key takeaway: Historical BTTS streaks look backwards. A BTTS probability should come from each team's expected goals in this specific match.

Deriving BTTS Probabilities From a Poisson Model

To judge whether a BTTS price is value, estimate each team's chance of scoring at least once from your goal expectancy for the match.

Let Lambda_Home be the home team's expected goals and Lambda_Away the away team's. Using the Poisson distribution, the probability that a team scores zero is P(0) = e^(-Lambda).

If you treat the two teams' scoring as independent (a simplification; refinements such as the Dixon-Coles adjustment correct low scores), the probability of Both Teams to Score (Yes) is: P(BTTS_Yes) = (1 - e^(-Lambda_Home)) * (1 - e^(-Lambda_Away)).

For instance, if Lambda_Home = 1.65 and Lambda_Away = 1.15: P(Home = 0) = e^(-1.65) = 0.1920 (80.8% chance Home scores). P(Away = 0) = e^(-1.15) = 0.3166 (68.3% chance Away scores). P(BTTS_Yes) = (1 - 0.1920) * (1 - 0.3166) = 0.8080 * 0.6834 = 55.22%.

Fair odds for BTTS_Yes = 1 / 0.5522 = 1.81. If a sportsbook offers BTTS_Yes at 1.95 and your Lambdas are right, the expected value is 0.5522 × 1.95 − 1 = +7.7%. The whole result depends on the Lambdas, so an error there flows straight into the answer.

BTTS (Yes / No) Probability Equations:

  • P(BTTS_Yes) = (1 - e^(-Lambda_Home)) × (1 - e^(-Lambda_Away))
  • P(BTTS_No) = 1.0 - P(BTTS_Yes) = e^(-Lambda_Home) + e^(-Lambda_Away) - (e^(-Lambda_Home) × e^(-Lambda_Away))
  • Compare the model's probability with the sportsbook's implied probability (1 ÷ odds) before betting.

Worked BTTS Probabilities for Four Match Profiles (illustrative Lambdas, Poisson arithmetic)

  • Two attacking sides with open defences (Lambda 1.85 v 1.45): BTTS Yes 64.5%, fair odds 1.55; BTTS No fair odds 2.82
  • Strong home favourite v deep-defending away side (2.20 v 0.55): BTTS Yes 37.6%, fair odds 2.66; BTTS No 62.4%, fair odds 1.60
  • Low-tempo, evenly matched game (1.10 v 0.95): BTTS Yes 40.9%, fair odds 2.44; BTTS No 59.1%, fair odds 1.69
  • Home favourite v counter-attacking underdog (1.70 v 1.20): BTTS Yes 57.1%, fair odds 1.75; BTTS No fair odds 2.33

Any price above the fair odds for your side is value only if your Lambdas are accurate; the bookmaker's margin means the market price is usually below fair on both sides.

A Five-Point BTTS Filter

Before any BTTS bet, check the fixture against these five questions:

  1. Chance Creation: Have both teams been creating chances consistently (non-penalty xG) over their last 10 or so matches, rather than relying on penalties and errors?
  1. Territory: Can the weaker side get the ball into the opponent's half and box often enough to create chances, or are they likely to be pinned back?
  1. Defensive Vulnerability: Does the stronger side play a high line that leaves space for counter-attacks?
  1. Set Pieces: Does either team carry a real set-piece threat, which gives a second route to a goal if open play stalls?
  1. Goalkeepers: Is either goalkeeper in a run of form that is unlikely to last, in either direction?
  • Underdog Scoring Floor: Be wary of BTTS Yes when the away side creates very little away from home.
  • Clean Sheet Chance: The probability that the away side does not score is e^(-Lambda_Away); when that is high, look at BTTS No and compare the prices.
  • Team News: If an underdog's main striker is missing or on limited minutes, reassess before backing BTTS Yes.

Do Not Ignore "BTTS - No" and "Win to Nil"

BTTS Yes is the side most bettors look at, but BTTS No is the same market from the other direction and deserves the same check. When a strong home side hosts a team that sits deep and creates little, your model may make BTTS No, or the home team to win to nil, the better price. Whether it is depends on the odds on the day, not on a general rule about where the public's money goes.

The Clean Sheet Check: Always price both sides of the market. If your model gives BTTS No 60% and it is offered at 1.80 (55.6%), that is value on your numbers; if it is offered at 1.55 (64.5%), it is not.

Worked Example: Pricing BTTS in a Bundesliga Fixture

A hypothetical Bundesliga fixture: BTTS - Yes is offered at 1.57 (implying 63.7%) and BTTS - No at 2.45.

Your model gives the home side Lambda 1.95 and the away side 1.05. Applying the Poisson BTTS equation:

P(BTTS_Yes) = (1 - e^(-1.95)) * (1 - e^(-1.05)) = (1 - 0.1423) * (1 - 0.3499) = 0.8577 * 0.6501 = 55.76%.

Fair odds for BTTS - Yes: 1 / 0.5576 = 1.79. At 1.57, the expected value on your numbers is 0.5576 × 1.57 − 1 = −12.5%.

Fair odds for BTTS - No: 1 / 0.4424 = 2.26. At 2.45, the expected value on your numbers is 0.4424 × 2.45 − 1 = +8.4%. That is value only if the model is right, and a single match result, whatever it is, will not tell you whether it was.

  • Model Discipline: Trust a well-tested model over narratives about "attacking leagues", but test the model by tracking results and closing prices.
  • Combined Bets: If you combine BTTS No with a goals line, remember the two are correlated, so you cannot simply multiply the probabilities.

Sanity checks: the league base rate and the live recalculation

Two quick checks keep a model honest. The first is the base rate. In the 2024/25 Premier League both teams scored in 57.4% of matches, according to the season comparison quoted in our Premier League betting guide — fair odds of about 1.74 for an average fixture. If your Lambdas routinely give 70% or 40% for ordinary mid-table matches, the inputs are probably off before you have looked at a single price.

The second is in play. Take the first example again (Lambda 1.65 v 1.15) and suppose it is 0–0 after 60 minutes. With a third of the match left, and assuming goals arrive at an even rate through the match (a simplification), the remaining expectations are about 0.55 and 0.38. Then P(BTTS Yes) = (1 − e^−0.55) × (1 − e^−0.38) = 0.423 × 0.318 = 13.5%, fair odds of about 7.4. A live BTTS Yes price of 5.00 would be poor value on these numbers even though the pre-match price had been fair at 1.81 — the clock, not the teams, has changed the answer.

BTTS Protocol for Your Betting Spreadsheet

  1. Estimate Each Team's Lambda: Use team attacking and defensive ratings for this match, not league averages.
  1. Run the Five-Point Filter: Reject candidates where one side's chance creation is weak or depends on penalties and errors.
  1. Price Both Sides: Work out fair odds for BTTS Yes and BTTS No, and only bet the side where the price beats your fair odds.
  1. Compare the Price Before You Bet: BTTS prices and margins differ between books, so check the same market on more than one sportsbook, for example Thunderpick, one we hold a partner account with, and take the best price available to you.
  1. In-Play: If a match is 0-0 later on, recalculate with the expected goals for the minutes remaining before looking at live BTTS prices.

Key takeaway: Do not treat BTTS as a coin flip or a streak. Derive the probability from each team's expected goals, check both sides of the market, and bet only where the price beats your fair odds.

Betting content on this site is for adults aged 18 and over. Only bet what you can afford to lose.

Related reading

Frequently Asked Questions

How do you calculate the probability of both teams scoring?

Estimate each side's expected goals for the match and use P(BTTS Yes) = (1 - e^-home) x (1 - e^-away), which treats the two teams' scoring as independent. With 1.65 and 1.15 expected goals, that is 0.808 x 0.683 = 55.2%, fair odds of about 1.81.

What is a good BTTS strategy?

Price the match from both teams' expected goals rather than from recent streaks, check that both sides create chances regularly, price BTTS No as well as Yes, and bet only the side whose odds beat your fair price. Track results and closing prices to see whether your estimates are any good.

How often do both teams score in the Premier League?

In 57.4% of matches in 2024/25, according to the season comparison cited in our Premier League guide, which implies fair BTTS Yes odds of about 1.74 for an average fixture. Individual matches vary widely around that rate.

Should I bet BTTS in play when it is 0-0?

Only after recalculating for the time left. At 0-0 after 60 minutes, a match priced at 55% pre-match falls to about 13.5% if goals arrive at an even rate, so the live price needs to be above about 7.4 to be fair on those numbers.