Best odds guaranteed (BOG): what it means for your data
Best odds guaranteed pays the larger of the price you took and the starting price. That single rule changes how a BOG bet has to be matched, and why the feed carries it as its own type.
James··5 min read
Best odds guaranteed means the bookmaker pays the larger of the price you took and the starting price. You back a horse at a set price. If the starting price returns bigger, the bookmaker settles your winning bet at the bigger one instead. For data, that one rule matters: the matched calculation has to account for a possible starting-price payout, which changes the value of a BOG bet versus a plain back. This post explains the rule plainly, how it shifts the maths, and why a dedicated BOG feed type exists even when the row looks the same.
What does best odds guaranteed actually mean?
It means a one-way price improvement, offered mainly on horse racing. You take a price ahead of the off. The bookmaker then compares it with the official starting price (SP) when the race goes off. If the SP is longer, your winning bet is paid at the SP. If the SP is shorter, you keep the price you took. You never get the worse of the two, so the concession only ever moves in your favour on a winner.
The offer is common on UK and Irish racing, usually within a window before the race. It is a bookmaker promotion, not an exchange feature: the exchange lay side has no equivalent, which is exactly why it complicates the matched maths. For the racing context around it, see our note on horse racing odds data.
How does BOG change the matched maths?
It adds a second possible back payout, so a single lay stake can no longer be treated as final. A plain qualifying bet has one back price and one lay price: you lay to cover the back, and the position is settled. With BOG, the winning-side payout is the larger of your taken price and the SP, so the amount you needed to lay may turn out to have been too little if the SP drifts longer.
That is the whole point of the offer. Take a price, and if the horse drifts and starts longer, the extra is value you did not pay for. It is why BOG bets are usually treated as a small positive-expectation play rather than a flat qualifier: over many bets, the guaranteed-larger rule leans slightly your way. Any single bet can still lose, and the value only appears when prices move in your favour, so this is a distribution over many races, not a promise on one.
Why does a BOG feed type exist if the row looks the same?
Because the pairing logic differs, even though the row shape does not. A BOG row carries the same fields as any matched row: an event, a market, a selection, a back block, a lay block, a rating, and a qualifying_loss. What changes is how those fields are computed. The rating for a BOG selection reflects the concession, and the pairing has to reason about a possible SP payout on the back side, not just the price you took.
Treating BOG as its own feed type keeps that logic honest. Your oddsmatcher can request the BOG type when a client is working a best-odds-guaranteed offer, and a plain matched type otherwise, without you re-deriving which selections carry the concession. Here is a racing row where BOG applies (illustrative, not live data):
The back price here is the price you would take before the off. The BOG concession is why this row is served as a bog feed type rather than a plain matched one: the value calculation behind the rating assumes the winning-side payout could be the larger of 8.00 and the eventual SP. The lay is paired against one of three exchanges (Betfair, Smarkets, Matchbook), and liquidity on the racing selection tends to be thinner than on football, which the pairing accounts for.
What do you need in the data to handle BOG well?
Four things, all of which sit in the feed rather than in your own code:
The back price, matched to an exchange lay for the same selection, so the qualifying position is real and not just a raw number.
A `feed_type` that marks the row as `bog`, so your matcher applies the right value logic instead of guessing which selections carry the concession.
A `rating` and `qualifying_loss` computed for the BOG case, so results render on day one rather than after you build a separate BOG model.
Honest racing coverage, including the thinner-liquidity markets and the domestic books the big aggregators skip, so a BOG offer on a smaller meeting still has a lay to pair against.
BOG lives almost entirely on horse racing, and racing sits close to each-way and extra-place promotions. If you handle those too, the each-way and extra-place data note covers the pairing logic there, which shares the same principle: the row shape stays constant, the value computation changes with the offer. For the wider picture of what a matched dataset carries, the matched-betting data guide walks the whole envelope.
The short answer
Best odds guaranteed pays the larger of your taken price and the starting price, so a BOG bet has to be matched against a possible SP payout, not a single fixed back price. That is why it is served as its own bog feed type: the row shape matches any other matched row, but the pairing and the rating reason about the concession. It is a directional edge, not a guaranteed one, and it depends on prices moving your way. OddsRelay delivers racing prices from 60+ UK books, bet365 included, matched against exchange lay odds, and it powers a leading UK matched-betting platform today.
If you are building around BOG offers, the quickest way to see how the type behaves is a free trial key: you get the full UK feed, bet365 included, with BOG racing rows matched against exchange lay prices. You can also check what racing coverage is live right now on the coverage dashboard before you commit.
James is the founder of OddsRelay — the odds-data feed behind matched betting, arbitrage and odds-comparison products: 60+ UK bookmakers with bet365 included, matched against exchange lay prices and delivered as one clean, documented API. He writes here about how that data layer actually behaves — coverage, matching, freshness and the trade-offs — from the side that builds and runs it. The same feed powers a leading UK matched-betting platform today.