betcalc365
.com
18+
← All posts
Calculator explainers9 min read

How We Price a Bet Builder: The Maths of Correlated Legs

From the people who built the engine: how bet builder odds are priced — de-vigging each leg, modelling correlation with a Gaussian copula, and fitting a Dixon-Coles match model for exact joint probabilities.

BetCalc365 Editors·10 June 2026

Take a team at 1.80 to win and the same game at 2.10 to go over 2.5 goals. Multiply them and you get 3.78. Every acca calculator on the internet will hand you that number, and for two legs in two different matches it would be right. For two legs in the same match it is wrong — not slightly wrong, structurally wrong — and the bookmaker pricing your bet builder knows it.

We built the bet builder engine on this site to compute the number the bookmaker actually works from: the correlation-adjusted fair price. For that pair of legs, in a typical match, it comes out at 3.22. This post is the full derivation — how the engine strips the margin out of each leg, how it models the dependence between them, and how, given the match's own market prices, it stops estimating correlation altogether and computes the joint probability exactly.

Nothing here is betting advice. It is the pricing maths, written down by the people who implemented it — the same kind of modelling a bookmaker's trading team runs, written up in the open. If you want the tool itself, it's the bet builder calculator — free, no sign-up, runs entirely in your browser.

Why multiplying the legs is wrong

Multiplying odds assumes independence: that the first leg landing tells you nothing about the second. Across different matches that holds well enough. Within one match it collapses, because every market is a different window onto the same ninety minutes.

A team winning, the game clearing 2.5 goals, both teams scoring, a striker finding the net — these are not separate coins being flipped. They are functions of one underlying object: the final scoreline. When outcomes share a generating process, their probabilities move together, and the probability of all of them happening is no longer the product of the marginals.

Positively correlated legs land together more often than independence implies, so the fair price of the combination is shorter than the multiplied odds. Negatively correlated legs — a win paired with under 2.5 goals, say — land together less often, so the fair price is longer. Either way, 3.78 was never the right answer. The only question is what the right answer is, and that takes three steps.

Step 1: strip the margin out of every leg

Before any correlation work, the quoted prices have to be converted into probabilities, and a quoted price contains more than probability — every individual price you're quoted already carries an overround, the bookmaker's operating margin. Invert 1.80 and you get 55.6%, but that is the price-implied probability, not the modelled true one; the margin has to come out first.

Our engine de-vigs each leg with a margin prior calibrated to its market type, because margin is not uniform across markets. Match result (1X2) prices typically carry about 6–7% overround. Two-way goals lines run tighter, around 5%. Player markets — anytime scorer above all — are the most heavily margined mainstream prices in football, at 11% and often beyond.

De-vigging the example legs: 1.80 on the win becomes a fair probability of about 52%, and 2.10 on over 2.5 becomes about 45%. Multiply those and you would get fair-but-still-independent odds of 4.23 — longer than the quoted 3.78, because we have stripped two legs' worth of margin. That number assumes independence, which we have just argued is false. Now comes the interesting part.

Step 2: the correlation matrix and the Gaussian copula

The engine's first tier prices the dependence with a Gaussian copula — the standard machinery for gluing together events whose marginal probabilities you know but whose joint behaviour you need to model. The same mathematics prices correlated default risk in credit portfolios; we put it to work on football markets.

The intuition, without the integrals: imagine each leg has a hidden "match temperature" score, and the leg wins when its score clears a threshold set by its fair probability. If two legs' hidden scores are correlated — they tend to run hot together — then one clearing its threshold makes the other clearing more likely. The copula computes the exact joint probability given the marginals and a correlation coefficient ρ for each pair.

The ρ values come from a structural rules matrix we seeded pair by pair, each with a written rationale the calculator surfaces verbatim. Win and over 2.5: ρ = 0.22, because winning teams tend to score. Win and clean sheet: ρ = 0.40 — a large share of wins are wins to nil. Over 2.5 and BTTS: ρ = 0.55, one of the strongest links in football, because both legs are asking for goals. Clean sheet and BTTS-No: ρ = 0.85, because the first nearly implies the second. And win with under 2.5: ρ = −0.10, the rare builder that pulls against itself. Mutually impossible pairs — over and under the same line, a clean sheet with the opposing win — never reach the model; the calculator blocks them outright.

Running the copula on our example: the de-vigged independent price of 4.23 contracts to a fair price of 3.68. The correlation made the joint outcome about 15% more likely than independence claimed. Against a bookmaker quote of 3.50, that prices the builder at a 5% margin — a fair-ish quote, as bet builders go.

Step 3: the structural model — correlation as an output, not an input

Here is the idea we are proudest of, and the reason this calculator does something no other public tool does: if you give the engine the match's own main-market prices, it stops assuming correlations and starts deriving them.

Feed it the 1X2 prices, the over/under 2.5 line, and optionally both BTTS prices — seven numbers from any bookmaker app — and the engine fits a bivariate Poisson score model with a Dixon-Coles low-score adjustment to those prices. Dixon-Coles is the canonical statistical model of football scorelines; what we built is the calibration loop that inverts it from market prices. The fit recovers the two parameters that generate everything: the expected goals of each side, λ home and λ away.

For our running example — home win 1.85, draw 3.70, away 4.20, over 2.5 at 1.95, under at 1.90, BTTS yes/no at 1.85/1.95 — the fit lands at λ = 1.64 for the home side and 1.00 for the away side, reproducing the anchor prices essentially perfectly. Those two numbers define a full probability distribution over every possible scoreline: an 11-by-11 matrix from 0-0 to 10-10.

And on that grid, pricing any goals-based combination stops being statistics and becomes arithmetic. Every leg is a predicate over the scoreline — "home wins" selects the cells below the diagonal, "over 2.5" selects cells where the goals sum exceeds two, BTTS selects cells where both coordinates are positive. A builder is the intersection of its legs' cells. Sum the probability in the intersection and you have the joint probability. Exactly. No copula, no assumed ρ. The correlation between the legs is whatever the fitted match implies — an output of the model, not an assumption fed into it.

Player legs join the same grid: an anytime-scorer price is coupled to the team's goal distribution through a per-goal scoring rate fitted to the player's own price, so "striker scores" correctly co-moves with "team scores twice" and "game goes over 2.5".

On the example pair, the structural model prices the builder at 3.22 — the joint outcome is 21.7% more likely than independence, versus the 16% the seeded prior estimated. The difference is information: the matrix knew football in general; the fitted model knows this match. In the calculator this is the "Advanced — match odds for exact pricing" panel, and when it's active you'll see the fitted expected goals on the result card.

All numbers below are computed by the engine with the structural model fitted to that same typical match — load any of them in the calculator and you will get the same figures.

Naive multiplication vs fitted-model fair price (typical match: home 1.85, over 2.5 at 1.95)
BuilderLegs multipliedFair odds (fitted model)Joint outcome vs independence
Win + Over 2.5 (1.80 / 2.10)3.783.22+22% more likely
Over 2.5 + BTTS (1.95 / 1.85)3.612.55+55% more likely
Over 1.5 + BTTS (1.30 / 1.85)2.411.94+34% more likely
Win + BTTS + Over 2.5 (1.80 / 1.95 / 2.10)7.374.41+73% more likely

Read the last row again. A treble of three goal-linked legs multiplies to 7.37, and its true fair price is 4.41 — the combination is 73% more likely than independence pretends. Every leg you add from the same correlated cluster compounds the effect, which is why goal-fest builders look so big next to the singles: most of the gap between 7.37 and any quote is correlation the naive number never priced, not a longer shot. The over 2.5 + BTTS pairing is the cleanest two-leg case of the same effect.

The extreme is a pair where one leg almost implies the other: in over 1.5 goals + BTTS the totals leg is mathematically guaranteed whenever BTTS lands, so it adds no winning chance — it only shortens your price. The engine prices the pair at barely longer than BTTS alone, which is the correct answer and worth knowing before you add a leg that cannot help you.

The correlation tax, and what a quote is really made of

When you see a bet builder quote, three numbers are stacked inside it: the naive product, the genuine correlation adjustment, and the margin. The first is what punters compute. The second is legitimate — the bookmaker is right to shorten correlated combinations, and you should want them to, because it means the maths is being done properly. The third is the only part you are actually paying.

So the engine reports the decomposition explicitly: fair odds versus the quote gives the implied builder margin, and if you enter the bookmaker's price the calculator computes expected value against the modelled probability — flagged as value, fair, or no-value. Builder margins typically run higher than single-market margins and compound with every leg: the same mechanism we documented for ordinary accumulators in the football accumulator margin breakdown — and because correlation moves the fair price too, a model is the only practical way to read a builder quote at a glance.

One non-obvious consequence of doing the maths properly: negatively correlated builders are where prices occasionally drift past fair. When legs oppose each other, the fair odds are longer than the naive product — so a combination priced near multiplication can carry genuine positive expected value. It happens, particularly around boosts and promotions. You will only ever spot it with a model that knows which direction the correlation runs.

Check a real quote in sixty seconds

  1. Open your bookmaker's app at any match and note the main prices: 1X2, over/under 2.5, and BTTS if shown.
  2. Build your combination in the bet builder calculator with the leg prices you were quoted.
  3. Drop the match prices into the advanced panel — the engine fits the match model and switches to exact pricing.
  4. Enter the bookmaker's combined quote. Read the EV line. That is the whole answer: value, fair, or below fair.

Or start from one of the pre-built pages — win + over 2.5 goals, win to nil, and eight more — each pre-loaded with the combo and the worked numbers.

Why are my bet builder odds lower than the legs multiplied together?
Two stacked reasons. First, same-match legs are usually positively correlated — they land together more often than independence implies — so the genuine fair price of the combination is shorter than the multiplied odds. Second, the builder price includes margin on top of the margin already inside each leg. Our calculator separates the two so you can see how much of the gap is correlation and how much is margin.
What is a Gaussian copula, in one paragraph?
A recipe for building a joint probability distribution out of marginal probabilities plus a correlation structure. Each event is mapped to a threshold on a hidden normal variable; the hidden variables are correlated; the probability that several events all happen is the probability that all the hidden variables clear their thresholds together. It is the standard tool in quantitative finance for pricing correlated risk, and it is the first tier of our bet builder engine.
What is the Dixon-Coles model and why use it for bet builders?
Dixon-Coles is the benchmark statistical model of football scorelines: each team's goals follow a Poisson distribution governed by an expected-goals rate, with a correction for the dependence in low-scoring games (0-0, 1-0, 0-1, 1-1) that plain Poisson gets wrong. We fit it in reverse — from the match's market prices back to the expected-goals parameters — because once you hold the full scoreline distribution, the joint probability of any goals-based combination can be summed exactly rather than estimated.
Where do the engine's correlation numbers come from?
Tier one uses a seeded structural matrix: a coefficient per market pair (win + over 2.5 at 0.22, over 2.5 + BTTS at 0.55, and so on), each with a written rationale shown in the tool. Tier two needs no seeded coefficients at all: given the match's own 1X2, totals and BTTS prices, the fitted score model determines every dependence internally. When you fill the advanced panel, the correlations you're using are derived from the same prices the bookmaker set for that specific match.
Is the fair price a guarantee of what the bet is worth?
No. It is a model — a disciplined one, fitted to market prices, with its assumptions printed on the tin — but de-vig priors are estimates and the score model is a simplification of real football. Treat the output as a well-informed second opinion that exposes the structure of the price, not an oracle. The engine's job is transparency: making the maths inside a builder price visible. Bet responsibly; 18+.
Can a bet builder ever be genuinely good value?
Occasionally, yes. Promotional pushes, slow repricing on negatively correlated combinations, and odds boosts can all produce quotes above the modelled fair price — the calculator flags these as positive EV. But the structural default runs the other way: correlation plus compounded margin means most builders price well below fair. The point of doing the maths is knowing which case you are holding before the money leaves your account.
Share

Ready to bet? Featured offer

Ad

18+ · BeGambleAware.org · Always read T&Cs.

Related posts