How we magically opened the darkstore Darkstore in Dagestan

image

We sell computer hardware in Dagestan. Delivery issues in our republic were painful, because the mentality presupposes personal communication. Now they have begun to trust us and gaming machines travel even to distant villages where the Internet is only mobile.

Once we had the logistics in place, the logical next step was to start shipping something else. The global trend is food. Fast grocery delivery either already exists or is about to appear everywhere in the world. It all started with Uber, Flaschenpost, Scooter, then Yandex.Lavka joined.

In general, the model was very clear. All that remains is to transfer it to the Dagestan market.

Well, that is, for starters, create your own network of couriers, an application for them and for managing them, and so on. Manual linear control, as in iron delivery, was not suitable here. There was also a problem in the fact that we built a system based on the 1C equipment store 05.ru, which was tailored for equipment and could not work with weighted goods.

We also had doubts about the assortment – for example, that the main category, fruits and vegetables, would not take off. Because we are still an agricultural region and in our mentality there was simply no idea of ​​​​buying the same tomatoes without choosing them yourself at the counter or in the market.

They calculated the market, decided to start with chips, cola and candy – and dramatically missed the audience. Our first advertisement was aimed at young people, the usual geeks. As it turned out later, the decision to make a purchase is often made by the woman in the family.

In general, at some point we prepared everything technically and decided to launch.

This was the beginning of a whole series of mistakes: we knew that a lot of things would go wrong in this business, and we even prepared to apologize. And it went wrong, of course.

How they were launched

We have our main website for the computer store 05.ru. It has very good traffic: a significant percentage of the republic’s residents visit the site every month. This is all organic, two thirds are direct visits, a third is search. That is, they know us very, very well. Due to the nature of the product range, 65% of the audience are men. Since we quickly wanted to test the hypothesis that anyone actually needs products with delivery, we focused on the existing audience.

Banners were hung. Now there’s this one, there used to be a larger one, with an explanation of what kind of darkstore it is:

image

image

Then pleasers, that is, answers to the question asked in the teaser:

image

As you already understand, we were aiming at the wrong audience and with the wrong products, but, in fact, we didn’t really have any other options then.

By the way, why is darkstore called Darkstore? That’s because we need a creative director!

Seriously, that was the name of the project, just a generic word for a store with no customers. They are called dark stores because there is usually no noticeable sign there and the lights are not nearly as bright and festive as in regular stores. In general, these are warehouses with delivery for courier.

But not just warehouses, but warehouses with special sorting of goods by popularity – so that the most frequently purchased items are in those places where the order can be collected in literally 2 minutes. In general, when we first started making the site and application, we thought that later we would come up with some other name. But it stuck, and that’s why we called the whole business that.

image

The first version of the darkstore looked like this

First deliveries

The first deliveries did not go as planned.

I mean, we knew that we would mess up, but we didn’t realize how offensive it could be.

In Kaspiysk itself, the maximum length of the route from the darkstore (it is close to the center) to the edge points is 25 minutes. Maybe 30 if it’s rush hour. So, one of our first deliveries after the advertising peak of the opening took two hours and forty minutes. Surely you know how it happens when the courier is first found, then gets lost, and then comes to the wrong house. It was terribly inconvenient for the buyer. Fortunately, we already had a clear understanding of what we would do in such a situation. True, we actually thought that we would talk about delivery in 35 minutes instead of the promised 30 in the advertisement. But it turned out what happened. In the first month or so there were dozens of delays. We sent a pre-prepared apology card and sent a gift bag with groceries to the same address. I’ll say right away that, yes, it cost us money, but we’re not very used to good service, so this immediately dramatically changed the attitude towards us to a very positive one. People even recommended us after such mistakes!

image

If you cut a piece from the logo, you get a cat. And cats in Dagestan are very popular everywhere in the republic. That’s how we got our mascot, Darkotik. In the first mailings, we even played with this and sent SMS with promotional codes, not promotional codes.

Yes, and the fastest delivery in the first month was 7 minutes. The picker quickly grabbed the goods, beeped, the courier stood nearby and waited, received the order, beeped and rushed off.

We had no idea that there could be problems even with non-perishable goods.

For example, cereals. It would seem that with a shelf life of 2-3 years, the supplier brought it, we accepted it into the warehouse, the buyer ordered it, we sent it. Everything should be fine.

One of the first customers called us back and very loudly told us that the cereal was caked. And a decent person in an ordinary store would not sell such a thing to a fellow countryman under any circumstances. He wanted the money back, the bag back and moral satisfaction.

The courier came to him with a gift, we returned the money and took the bag to look at it.

It turned out that you need to be able to work even with such seemingly unpretentious products.

We’ve gotten pretty good at collecting orders correctly. and issue them while still delivering iron, so no problems were foreseen. But still, one day a dissatisfied customer called us and said that they brought him regular milk, but he ordered lactose-free milk. We apologized to him and delivered what he needed free of charge (he returned the packages with the usual, although this was not necessary, that is, he acted in good faith), but that was exactly what was in the order.

We tried to catch a bug with the order interface for some time, but we still didn’t understand what happened.

After about a month, we realized that the processes were more or less working and we could expand the range with frozen foods and vegetables. And vegetables required a new level of engineering thinking, because selling them online is very difficult. But people asked for meat, dried fruits, potatoes, onions and cucumbers. It was not easy to refuse them.

Technical solutions

At the MVP stage we had

1C “Trade Management” from the main store 05.ru

.

We haven’t made a separate configuration yet (but it will be necessary), we were waiting for the results of the experiment.

We opened a new warehouse, added weighted goods (and checked that it wasn’t like in Euroset, when you could write off 0.2 phones, but the whole one was written off).

Application for a data collection terminal for a warehouse. We made ours from scratch for the darkstore. The original concept was that a warehouse worker should not have to think about what to get and where to get it from. Choice, definition of a product – all this should be excluded. The application on the TSD indicates shelves and product names. You need to click on it, TSD will confirm that this is the right product, then packaging, placement on the courier territory in a cell and control again. Not to say that it was completely simple, but the first version for individual “dry” goods was quite simple. As the warehouse and assortment grew, it was necessary to add a lot of things, but, fortunately, we have our own development.

image

We have improved the service for couriers. The basis was a telegram bot that was used for an electronics store. They forked and twisted it specifically for the needs of the darkstore. In theory, all warehouse and courier logistics were supposedly built on existing templates, but still 70% of the code was new. And the delivery employees were all new, they were not e-business couriers. The logic of the telegram bot is simple: a queue of tasks. It is with the debugging of processes and the IT part of this queue that the errors of the first month in front of clients are associated. When we figured out how it should work, deliveries very rarely exceeded 40 minutes. That is, in the stated 30 minutes we were somewhere in the 90th percentile, but 40 minutes is not an hour.

Couriers are continuously online. They receive notifications about the order when the picker collects it and takes it to a cell in the dark store. The courier picks it up, notes that he picked up the package from the box, sees the address and other data, and delivers it. The server’s response to the delivery result is either 200 OK, or 404 (then you need to call), or 406 when there is something wrong with the product. There are partial returns when the client did not accept some of the goods. There is no logic for the second or third orders in the chain yet; the courier returns to the base for a new order or with the remnants of the previous one.

image

Payment only via card online when ordering. The courier does not accept money; all payments are made through the platform. There is no cash payment, but we want to give couriers terminals for card payments instead of prepayment. This was not included in the MVP, of course, we are experimenting now.

Website was made on Bitrix – following the example of what had already worked on 05.ru. I know how many people don’t like Bitrix, but it can actually be prepared correctly. You will need a file and a soldering iron.

Mobile application for iOS/Android – superapp. After the MVP, it will be possible to add a native component there, but for now it was necessary to understand whether it was worth doing. It is already clear what it cost and we will do the development. iOS – Swift, UIKit, Android – Kotlin, layout in fragments.

Support regular – WhatsApp and Telegram.

image

Everything changed when fruit appeared

Fruits, vegetables and meat have changed almost everything for us.

Why else did they choose Kaspiysk? For testing and deploying business processes in one warehouse, this location was more suitable than all the others. Here everyone has a supermarket nearby. We began to compete with these same “caps” in terms of prices (they were often higher than those of chain stores) and in assortment: not everything was close to home. From chain stores we have Magnit and Green Apple. The magnet does not go into courtyards and neighborhoods, it is in the center. Green Apple has a format closer to a hypermarket; while there are four of them in Makhachkala, there is only one large store in Kaspiysk.

That is, we can stand out either by price (essentially, like in Magnit, to which it takes half an hour to get water and potatoes), or by assortment (to buy something that is not near the house, you need to go to the Green Apple), or by service . If we are convenient enough, people will prefer not to even go to the store near their home. We know this all over the world, where grocery delivery has developed.

And so we almost broke on the fruit.

image

Refrigerators appeared a little later

Fruits require math. They spoil in a matter of days. You need to very accurately predict demand and keep as much product as needed. Moreover, mathematics is needed to calculate the optimum, taking into account the expectation of demand, ongoing supplies, shelf life of existing goods and possible losses in both directions. The first type of loss is when we throw away the sausage because the expiration date has expired. The second type of loss (much larger) is when we cannot sell sausage because we are afraid to buy more of it so as not to expire. In the second case, the buyer loses loyalty to us and does not give the money that he would be willing to give.

We wrote off 70 percent of the first batches of fruit because we didn’t know how to work with them.

They delayed our orders because they had to be weighed.

We decided to quantize fruits and vegetables into 0.5 kilograms. It turned out to be much more convenient to pack them into ready-made units than to weigh them every time. Moreover, there are quite a few reasons, starting with the fact that everyone wants to rummage through the drawer and select what is ideal for the weight in the order. Another problem has arisen: the same 500 gram oranges are not quantized.

They can be 300 grams, for example, on average. In general, vegetables and fruits are different. The larger the unit, the smaller the error; for example, weighing 3 kilograms of potatoes is quite easy. But 500 grams of oranges is a problem. Vegetable and fruit packaging factories have special sorting lines that combine all this by size. We decided to set the error up to 15%. That is, you pay for half a kilo, but you get 500–565 grams. By the way, this didn’t even change our prices, because the cost price for the bazaar is calculated the same way: sellers put in a little more so that the buyer leaves satisfied.

Then other packaging steps appeared, for example, no one needs half a kilo of garlic; for many, even 100 grams is too much. But less than 100 grams it quantizes poorly.

Then it turned out that everyone has their own understanding of good tomatoes. I know that in Moscow everyone has their own understanding of good bananas: green, yellow hard and yellow ripe are good for different people, so some deliveries categorize them. We had almost no questions with bananas.

Onions and cabbage caused unexpected difficulties. It turned out that there is some cabbage that looks good on top, but when cut, there is something wrong. We started talking with suppliers and realized that there are those who understand the features, and there are those who require almost a separate quality control department at acceptance, and with destructive control of the same bow.

Then we revised the expiration dates. It turned out that buyers were really not satisfied with the last 20% of the expiration date (especially if there were 1-2 days left until the end), and they directly tried to return these goods. That is, within the system we understand that we need to sell the product, conditionally, 3 days before the end of the expiration date, and then move it to markdown.

Now it works like this: on the one hand, it is fundamentally impossible to put a product with an expiring expiration date into the order (it does not fit into the order), on the other hand, the system automatically checks the deadlines every few hours and sends a task to the TSD to remove the product for which less than 20% remains. Bottom line: if a product is marked with an expiration date, it is guaranteed not to reach the buyer when the expiration date is close to the end. If there is no expiration date (apples, for example), then regular tasks are given out to check their appearance.

With fruit, it was necessary to redo the entire architecture of the warehouse. In the case of technology, all SKUs are the same and hard drives from different batches can be stored together. In the case of apples, if we put those that arrived today ahead, and then a week later we get to the last delivery, there we will find them already rotten. Therefore, the usual stack is not suitable; a FIFO is needed. For some time we confused the same milk cells, but dividing the SKU into batches made it possible to check the correctness again during picking during packaging.

In the beginning, packaging was a means of quality control, then we established quality in other parts of the process. We now pack right before ordering. As a result, we collect the goods from loose goods and package them before handing them over to the courier. This eliminates several iterations of unpacking and packing, for example, to check the quality of the same tomatoes once a day.

It was also necessary to set up the reception. Now we are planning to create the following scheme: each supplier receives a status depending on the amount of negativity about his product. If a product has passed full control at least once and customers have liked it since then, then acceptance does not take much time, because it is confidential. Just count and that’s it. If any bad reviews appear (from packaging to customers), the supplier loses its rating and is transferred to a thorough acceptance process, when each package must be opened and checked.

This is an index of supplier reliability; in fact, it is optimized for losses in rubles from both types of actions. Trust acceptance does not require costs for the acceptance itself, but, say, it gives 3% of defects. Thoroughness should not result in defects, but in itself it costs working time and creates a bottleneck in the warehouse. The most difficulties are with those goods that are delivered unpackaged, because the same concept of “beautiful potatoes” is not defined and is extremely subjective. And if the potatoes are ugly, we will lose the client.

We expected all these suboptimalities, but still each of them became a surprise to some extent.

Changing audience

As you can see, our first advertising was aimed at men, because we largely focused on the audience of online equipment buyers already known to us. You can go to the store, or you can watch the fight in that half hour, and the store itself will deliver everything. Cola and chips on the banner.

Then those who did not have a car (or it was busy now) and those who were expecting guests in an hour ordered.

With the advent of vegetables, fruits and meat, the audience very quickly began to shift towards the family side. It turned out that it is important for many women not to carry the same potatoes and water. It turned out to be simply convenient to order grocery delivery during the day – and this is a time when a woman with a small child practically cannot leave the house, because no one else is home.

At that moment, we realized that most of the barriers are associated with the fact that people do not believe that they can return an order and nothing will happen for it. We leaned on the outside, began to give examples that if you didn’t like the arugula or the potatoes were too green (this also happened) – you can safely return it. It worked. At the same time, we introduced another rule: for example, if a buyer ordered 500 grams of mushrooms, and there were 300 grams of them (that is, they were not quantized), or there were 500 grams of them, but the expiration date was coming to an end, or they were damaged upon delivery (they simply crumbled , this happens to them) – we informed that we were not sure about the appearance of the product and were giving it away for free. That is, if the product did not weigh enough or was of average quality, we did not take money for it. People really liked this too and it removed a lot of barriers.

There just wasn’t enough human touch.

Pensioners also really liked us, because it is often inconvenient for them to travel or walk into the city center. There is one woman who has difficulty walking, and for her we have become a regular place of orders. She has children in Makhachkala, they come and buy her a lot of things at once so that she doesn’t have to go every day, but she often wants to re-order the same fresh fruit. Here our couriers have become an excellent option.

Now we have more or less figured out the processes and debugged the software. It needs to be refactored into the correct architecture (now in some places, clutter is ready to appear). Personalization is really needed so that a person with children sees one assortment at the top, and a pensioner sees another.

In the end, we didn’t start all this in vain and we have room to move forward. This is what we will do.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *