Can you explain Betfair's new bet matching engine?
Posted by Bet Angel - Technical Support on 23 May 2013 10:43 AM
Hardly anybody noticed but on the 18th February Betfair changed their bet matching engine. After we noticed we did a few tests, looked at some data and confirmed immediately that something had changed. Typically in most markets, especially in play, the market wobbles around a lot. Suddenly this had stopped happening. Armed with a fair bit of data we picked up the phone and called Betfair. Within a short amount of time we had an answer; Betfair had changed their bet matching engine. If you have any specific queries relating to this you need to contact Betfair but this is what we can gather from our conversations with them.
Basically Betfair have made the code that matches customer bets more "efficient". Previously Betfair would only attempt to match customer bet requests against unmatched bets of the opposing bet type (backs vs. lays) on the same runner in the same market. Now, where there is no opposing bet to match on the same selection, rather than just leaving a customer's bet request unmatched, bet matching will now attempt to match the bet request against unmatched bets on other runners. For example; in a soccer match odds market, if there is no unmatched lay bet on the home team against which to match a customer's back bet request, the bet matching algorithm will now attempt to match that request against back bets on the away team and the draw. As before the process matches opposing customer bets and will not result in Betfair having a position in the market.
The net effect of this change is that customer bet requests should stand a greater chance of being matched and the markets will be correspondingly more "efficient". Betfair are gradually rolling this out across all applicable markets on Betfair while ensuring there is no deterioration in bet matching performance.
How will this affect your trading? The fact that we didn’t notice it immediately may tell you something about how it affected our trading, not at all. But I guess it may affect some people depending on what your strategy is, as with all changes its difficult to understand the immediate impact these changes will have. Betfair have prepared a Q&A for customers which they agreed we could send out to Bet Angel customers. This should answer a lot of your questions.
New Bet matching engine : Betfair's Q&A sheet
Q. Are Betfair now “active” in the markets/are they running a bot?
A. What we’ve changed is a core part of bet matching. When we get a bet request we’re now looking at all the customer bet requests it could be matched against, not just opposing bets on the same selection. It would be misleading to describe that as being a bot, or Betfair being “active” on our markets, as matching customer bets is what Betfair does. Betfair is not taking a position in the market as a result of this change.
Q. Why the change / why hasn’t Betfair done this before?
A. Betfair has done this before. In the early days of the exchange bets were matched across selections rather than remaining unmatched. The only reason for retiring that functionality was technical – it had a negative impact on performance because the process that matched bets was much less efficient than now. Now that we have a technical solution we’re implementing it.
Q. Does this change raise any regulatory issues?
A. As a matter of course Betfair highlights any changes to the code base or operations to the relevant regulator, in this case The Gambling Commission. Before any change was made Betfair approached the GC and explained the proposed changes in detail.
Q. Why is this not happening on all markets all the time?
A. Our first objective is not to cause any impact on bet matching performance, so the enhanced matching code is being rolled out gradually across our markets.
Q. How does this affect the in-play delay/is someone bypassing the in-play delay?
A. The new process works in exactly the same way as the old process: bets placed that are subject to the in-play delay are queued for the appropriate time, then their status changes to “available to be matched”. Only at this point does the matching process look to see if there are other unmatched customer bets to match against. While Betfair will now look for a greater range of possible customer bets to match against, the order and timing in which this is done remains unchanged. There is no selective matching taking place. Matching only occurs if there are opposing customer bet requests.
Q. If a bet is matched by this new process why is the bet request never visible to other customers in the market view?
A. If a customer places a back bet that matches an available lay bet on the same selection, that back bet request isn’t displayed in the market view. Only bets that are unmatched are displayed in the market view as offers to other customers. This remains unchanged for bets matched across selections.
Q. If I request a price do I still get “best execution”?
A. Yes. The part of the matching process that matches backs against lays remains unchanged: If your bet would have been matched at better odds before it will be matched at those same better odds now. It’s only if there are no opposing bet requests on the same selection to match against that we will attempt to match your bet against bets on other selections. In that case we currently have no way of providing a price improvement above the price requested. Importantly:
1. This isn’t a change – you don’t get best execution across selections now. If you attempt to back a tennis player at 1.9 when his opponent is available to lay at 2.0 then 1.9 is the best price you can be matched at, and your bet could remain unmatched. You wouldn’t have been matched at the theoretically best available price of 2.0 (derived from bets on other selections) previously, and we haven’t introduced that improvement yet in this latest change.
2. The limitation to any change we make to bet matching is performance. It would be unacceptable to customers for bet matching performance to deteriorate, and calculating the best price a customer could have been matched at is computationally more expensive than just using the requested price. We are however working on doing exactly that. There is no guarantee that a fast enough method exists to perform this calculation, but if it does we would expect to have this in place within the next few weeks.
Q. If Betfair could match my back bet against another customer’s lay bet, or by matching back bets across runners what happens?
A. Bets are matched first by considering opposing customer bets (backs vs. lays). The process only matches across selections when no available matching bet exists on the same selection.
Q. If Betfair can match across selections why aren’t those prices displayed in the market view?
A. We believe that if a customer sees a price on the screen and they place a bet to match it they will expect to be matched at that price even if they request a worse price. We therefore expect to display prices that could be matched across selections once we have an efficient way of providing best execution across selections.
Betfair have released an additional statement: which you can view on their site which contains much more detail.