Everyday life of an online store: why is the product out of stock?

How the task should be solved ideally is quite obvious: the supplier should generate a fresh price every 5-10 minutes, the online store should download it every 5 minutes and update the information in its database. After that, update your own retail price list, and the price aggregators should, in turn, once every 5 minutes check whether something has changed in the price of the online store and update the information.
In this article I will describe why this does not work and how to deal with it.
Initial data. Electronics online store, Ukraine, suppliers - all large (ERC, MTI, DataLux, Kvazar,) + a number of small ones.
The problem of irrelevant availability can be divided into 3 parts.
1. Suppliers do not provide up-to-date information on availability (versions of this problem: suppliers themselves do not know what they have, suppliers generate a price once a day / week / month, the supplier’s website is synchronized with the database once an hour / day / week, the supplier sends out the price is manual and just doesn’t want to do this more than once a day, the supplier does the price manually and just can’t do it more than once a week / month).
It comes to insanity: a large supplier, one of the leading brands in Ukraine, has a b2b site where the availability of goods is displayed, only the managers of this supplier honestly admit that the information on this site is not accurate. Approximate. The charm.
2. As long as the information reaches the store, it is already out of date.
Imagine a store in which there are 40-50 suppliers, about 40,000 products on the site, and one or two content editors that must maintain information up to date. I’m not saying that they drive every product manually, they just click the Download and Update supplier’s price buttons. But anyway, there will be a delay between receiving the price and loading data into the database. But during the day, hundreds of goods can change the status of the supplier.
3. Price aggregators are not eager to update the price more than once a day.
It would seem amazing, because it is in their interest to display relevant information, provide relevant data to customers and give stores the traffic of target customers. So no - 70% of price aggregators where we advertised more than once a day for the price will not come. Or this option - you can update as many times as you like a day, but while the price is being updated (15-30 minutes), all store goods disappear from the price aggregator.
How we solved it:
Where possible - automated. If the supplier updates the price once an hour, the robot walks once, downloads it and updates it. If the price is updated once a day, but on the supplier’s website the availability information is true in real time, then the robot goes through all the pages of the website and updates the information in our database. But due to the fact that there are more than 10 such robots, and the processor and channel are not rubber, such a passage is made no more than once per hour. And in an hour a number of goods may already disappear from stock, as many will appear - there will already be an error.
And if you take into account that not all products automatically fall into the right section (although it is possible and necessary to automate and improve the algorithms), then you have to add more time to manually transfer the goods to the desired section or manually teach the price processing script.
There is still such a point that suppliers often send inflated prices in the price list. But they actually ship to stores at a cheaper column, which can only be seen under the store’s login on the supplier’s website. Therefore, a robot that goes by login and pulls in availability also solves the problem of determining the real purchase price for the store, which is sometimes critical for pricing.
Where you cannot automate, you have to endure. There are suppliers who obviously have 50% of the goods in the price list - out of stock. But the store is forced to roll out this price to the site and into advertising, because the remaining 50% are too good, either in price or in assortment.
Only half measures are possible here: if there was a request for some product, the manager is charged with the obligation to change the status of the product to “Out of stock”. But the next time the price list is updated from the supplier, the product will again be available.
Why it happens? Suppliers motivate this by the fact that they simply do not have a more recent price list.
But when you ask them about the availability of a specific product, they can answer! Therefore, the whole point is that many suppliers have not yet turned to the side of online stores, and are still focused on working with retail chains. Which in general is not surprising, the Internet with us is about 10% of the electronics turnover.
Here's what you can do - you can focus on advertising on suppliers from which fairly up-to-date information on stocks is drawn. You can make a lower margin on the goods of these suppliers, you can give more advertising on these goods - and know that the probability of having 95% or more.
You can also collect statistics for each supplier - how many requests were for goods from this supplier, and how many returned with a mark of Not available. And on the basis of this, calculate a certain empirical "Probability of Availability". But there is one drawback, the same supplier can give good performance for six months, and then suddenly worsen greatly - either because of a deficit, or whether they introduced a new ERP, and it is buggy. And six months later, it’s normal again. Those. this approach can be used, but carefully, not trusting him completely.
How to deal with price aggregators is hard to say. Of those with whom we worked, I would like to mention Yandex.market and Hotline, as well as Ava.ua, which try to update store information more often.
But if the price aggregator does not want to update the store’s price more often, then the situation is when the store pays for clicks on a product that has been out of stock for almost a day. This can be used as an argument in negotiations with aggregators - why should we pay you the same as others, and update less often?
In general, how it should be solved in the normal way, and I think price aggregators will come to this sooner or later:
Once a day, the store must transfer the full price for synchronization, and during the day - bombard the price aggregator with small XML queries - this product has appeared, this has disappeared, the price has changed. So that, as soon as the store has the latest information, it can update the data in the advertisement.
Summarizing , I want to say that the current situation with suppliers simply does not allow stores to keep 100% relevant information on the site and in advertising.
But it is possible and necessary to strive for these 100%. Still, suppliers are gradually beginning to understand the specifics of online trading, and sometimes they even go towards it. This is a very slow process, but it is going. I think colleagues from Russia will confirm that many suppliers already give them relevant information in real time.
In the same place where the client ordered goods that are not in stock, the manager's task is to smooth out the negative impression as much as possible. To offer analogues, explain the situation, check with the supplier when the product still appears - maybe it is available on request.
If the customer ordered through the basket - in the near future to call him back and let him know, they say sorry, no.
If the client is informed about this in 10 minutes - he is unlikely to be very upset.
If in a day, when he is already waiting for a call from the courier - and they call him from the store and say that he doesn’t, even without apologizing for the delay and inaccurate information on the site - the client will be very unhappy, this should not be allowed.
In conclusion, I would like to ask who has rich experience working with contextual advertising, how are things with the relevance of ads?