Price wars, bots & undercutting


2018. Apr. 16. 16:40

Price wars, bots & undercutting

One surprise that new sellers on BitBargain face early on in their peer to peer trading experience is the hidden force of collective will originating from other active sellers. The will to try to be at the top of the list at /buy, even if it means asking the bottom unit price for the same coin.

As soon as the unsuspecting seller would create an offer and beat everyone else by a pound thus making it to the top of the list, within seconds the other offers match or even undercut theirs. This is done using bots. Little scripts running all day, updating the unit price on the other seller’s offers.

This article will explain the issue with undercutting, the problems with regulating it and the proposed solution.

The first important thing to remember is: using bots for updating the price is not a problem in itself. BitBargain offers an API to help you manage your offers, update the prices or pause offers.

A bit of history is necessary to understand the pricing wars.

BitBargain used to offer a special price formula function called MINPRICE() which you could use to match against the lowest price in the /buy list based on some supplied parameters (verifications, minimum, maximum, price, bottom price etc). In theory it sounds like a great way for the sellers to stay competitive and for buyers get the lowest possible prices. In practice, it resulted in the /buy page appearing to be full of the same offer by different sellers, typically way over the market’s asking price.

What happened was: sellers configured their offers to ask for the maximum price possible unless there was competition to match. This worked as long as only a few were doing it. But as more sellers adopted the same algorithm there was noone to race with, the prices simply stayed high.

Two things about automation…

1) It is very hard to write the perfect algorithm that considers all the important angles and it becomes next to impossible when you also want to stay competitive with BB sellers while considering those other factors. Most likely you will end up with a mediocre algorithm that kind-of gets it right sometimes.

2) You get used to it. Quickly. You rarely even check the price before accepting the trades. You don’t check if it’s too high compared to other marketplaces, you just accept whatever the computer said. Enthusiasm to get the formula right was strong in the beginning, but after some trading you don’t bother to make changes to it anymore.

A side effect of price wars is that your bots may be preventing a potential customer from starting the trade. Every time they click “Start trade” after ticking all the checkboxes, they are thrown back to the same page to tell them the price is now different. Don’t change the price too often. Once every few minutes should be fine.

Not all sellers are using bots to undercut. Some sellers may align the prices to their own coin purchase rates and other variables that may not be offered by our system. This is perfectly understandable and a valid use of the API. Some sellers just want to use their standard formulas but may still turn on “compete mode” to stay on top, or near it and will match the lowest price. And then some sellers want to be at the very very top of the list and will undercut the offer at the top to get there. We do not believe it makes much of a difference but we recognize that there is indeed a competition and strong intention for all parties to stay on top of the list.

Here are some suggestions to those using bots to change the price:

- Do not try to beat everyone to the top! Name your own price based on how much you value the coin. There are all kinds of offers on the table, their minimum/maximum/verifications could be different from yours. You could be in the middle of the list and make more sales than another seller at the top.

- Missing a variable and using your own formulas? Consider adding a static multiplier to the formulas available here, that way the price can change and be aligned to markets and you rarely have to update it with a bot.

- When using bots, always check the return value of the request. If the rate limit kicks in, a price change you sent may not be applied.

- Always double check the /buy page and make sure your offers are listed the way you want them, at the correct price and in the right configuration.

Based on a quick sampling of price updates, there are a number of sellers whose bots do multiple updates every minute even.To discourage the use of bots that aim to quickly match or undercut other offers, rate limits will be put in place (for both API and on-site updates).