How to start delivery for millions of users
Hello! My name is Denis. I am the head of SafeDeal in Avito. We develop services "Delivery" and "Short-term rent" and make their use convenient, understandable and safe. In March of this year, we launched a service delivery of goods between private users. It would seem that here this and why devote an entire article to this? Delivery is at all online stores, many customers use it and great difficulties with this service does not arise.
Yes it is. There are no problems if the seller is a legal entity, a representative of the company. But when private buyers and sellers join on this process on both sides, a number of interesting tasks and problems appear that need to be addressed. Given that Avito monthly visits more than 34 million users, we realized that the transfer of goods from the seller to the buyer with the help of our service should be made as simple as possible. In the article, I will talk about the prerequisites for the launch of delivery between private users on Avito, about the problems that we faced, and how we solved them through agreements with our partners and attention to detail. And I will show a little of the interior of the service: its mechanics and architecture.
Why Avito had a delivery: prerequisites
Expand the range of goods for each
Avito is tens of thousands of small communities of sellers and buyers in every locality. But if, for example, you live in Voronezh and tomorrow you want to buy ski boots 44 sizes on Avito, in your city (at the time of writing the article) there are only four necessary ads. Not a very big choice. When searching across Russia you will see 377 ads. The choice is increased by 94 times.
Sometimes, due to lack of choice or reluctance to engage in logistics delivery of goods from another region, buyers left Avito and searched for the goods they needed on the Internet and in local stores. Often it was more expensive. And bought a new product was not always better. That is, although Avito had what the buyer liked, he did not dare to buy it. We wanted to improve the situation.
Solve the problems of interregional sellers and buyers
We have an analytical model, which with high certainty believes how many transactions are made on Avito. She tells us that private users each year enter into 63 million transactions among themselves. A quarter of them are interregional. Of course, distance introduces certain difficulties in this process.
Before the launch of the delivery, the interregional transaction was in part a sort of "leap of faith". Buying goods from another region, people often paid in advance for it. And they were nervous, relying on the conscientiousness of the seller. And if the users agreed that the buyer will pay after receiving the goods, then the seller was already at risk. Sometimes a cash on delivery is used. The seller sent the package by mail with an indication of its value, and the buyer took the goods and paid for it. Then the money went to the sender. But the cash on delivery did not solve all the issues: the recipient had to pay for the delivery, without the ability to check the contents and make sure that there is (for example) the iPhone, which was agreed with the seller, not brick.
In addition, often there were contradictions, who exactly pay for the delivery service itself, and transactions because of this did not occur. We always tried to help users, but above all acted as an "infrastructure bridge" between people, not taking part in the transaction. Avito connected the seller and the buyer, and further agreements and their conscientious execution remained on the conscience of the users. This situation did not suit us. Buying a product with a profit is not the main criterion for the success of a deal on ad sites. Issues of trust and security are equally important. We wanted to create a reliable service that will make the process of making transactions easier, more convenient and safer.
Attract new customers
It is difficult to find in Russia a person who would not have heard about Avito. But not all use the service. Some simply do not like to meet personally with the seller, understand the features of parcels, transfer money to unknown accounts and cards. That's why we protected the deal with the delivery, so that people who previously did not dare to buy and sell goods on Avito tried our service using convenient mechanics.
How it works: mechanics and architecture
We tried to make the mechanics of using the delivery on Avito simple and understandable. The buyer chooses the goods, presses "Buy with delivery" and pays the goods and delivery with a bank card. Before receiving the goods, the money is reserved on the escrow account of the bank. The seller receives a confirmation of payment, and he has two days to carry the goods to the reception point. When the goods arrive at the point of issue, the buyer must pick up the parcel within three days. At the issuing point, the buyer calls the code from sms and receives the goods. It can be checked within 15 minutes, after which the purchase is confirmed. After the buyer receives the goods, the seller receives a message to Avito. He ties his bank card - it will transfer money from the escrow account. The deal was completed.
In this section I will talk about the insides of the product and the services that are responsible for the work at the stage of purchase, delivery and receipt of the goods.
When a user selects a product through Avito's site or mobile application, he sends a request to the Avito-Site service. Backend site Avito "communicates" with two systems:
1. Avito Delivery Core
- Contact the delivery service.
- sends a request to QIWI, "Tinkoff".
After the buyer has chosen the goods, he gets to the page where he can find out the cost and delivery time.
Services that are involved here
Keeps tariffs and knows how much the delivery will cost depending on the selected product category.
Finds points of self-delivery in the city of the recipient.
Stores information about the possibility of delivery to a certain city and the delivery time.
Scheme of the services
From payment to delivery
At this stage, an order is actually created.
Services that participate in this phase
Send requests to other services.
Proxies calls to our other internal services and performs initial validation of data received from the backend Avito-Site.
Keeps track of the duration of the order. If the payment deadline has passed, the buyer's order must be disregarded.
Calculates the cost of delivery.
Notifies Avito-Site about changes in the order.
The service is like a wrapper over a database with an API. It still has some business validations, and after that it gives the order number to the Order-Controller.
Scheme of the services
When Order-Controller sent everything he should and received the order number, he passes the information to Avito-Site: "Everything went well". Backend Avito-Site knocks at Billing, which works with QIWI or Tinkoff, and the order is paid.
After successful payment backend Avito-Site knocks on our Order-Controller service, informing: "The confirmation was successful".
The next step - Order-Controller again knocks in Order-Keeper, informing: "Order is confirmed". Order-Keeper checks the correctness of the status. (Suddenly such goods were already delivered, canceled or something else happened to him). If the check is successful, the service transfers the status to the confirmation of the delivery service.
Further, Order-Controller knocks on the Order-Expiration service, and says that the buyer's payment phase is over. Now the seller has two to four days to carry the goods to the point of self-delivery. Order-Expiration monitors these terms. If the seller does not have time, the service will cancel the order, and the money will be returned to the buyer.
The first part of the transaction was completed: the buyer paid for the order, and the money was written off from his account. Now the seller must bring his goods to the delivery service within two days.
Which services work here
Still sending requests.
Proxy calls to other internal services and validate data from the backend Avito-Site.
Stores the order number and payment information.
Responsible for registering an order directly with the delivery service.
Registers and cancels the order, gives the number assigned by the delivery service to our services.
Stores all statuses according to our version, validates incoming information and notifies the necessary services about it.
Notifies Avito-Site that the order has been paid.
Sends messages to the user.
How it happens
We explain the operation of services using the example of the Boxberry delivery service. But since recent times, we have also worked with DPD.
The deal is nearing completion - the order is on the way, or has already been delivered to the buyer. This we must inform the user in the messenger.
Services participating in the last stage
Gets and stores the statuses according to the delivery service version: "in transit", "ready to issue", "returned".
Stores the information received from the delivery service, the dimensions, weight of the goods and the receiving terminal.
Updates the last received status and sends a request to Order-Expiration.
Follows the deadlines for sending the goods by the seller.
Sends information to the messenger.
Scheme of the services
What are the problems of buyers and sellers decides the delivery of
I'll tell you what other problems are encountered by private users, and how we solved them with the launch of the delivery.
The fixed price of delivery is
Usually the cost of delivery by a professional service depends on the dimensions and weight of the goods. To specify them correctly is not a problem for a professional. But the private seller can make mistakes in the parameters of length, width or weight, and then he will be exposed to an additional account. Because of this, you do not want to use the delivery services.
We have large volumes in our service - daily sellers post more than ??? ads. We did not want each of them to remain dissatisfied with our product just because it could not accurately indicate the size of its product. No one would connect to the delivery, and buyers would be uncomfortable to use Avito. Therefore, we compared our tree of categories with the dimensions and rates of Boxberry and DPD and converted them into conditional dimensions. For the tariffs that we use in delivery, for goods of the same category, the dimensions and weight are always "the same." It does not matter if you sell iPad mini or iPad Pro - you do not need to pay an additional commission for an error in the dimensions. Although there are services that require you to pay a commission, if the seller incorrectly indicated the size and weight of the goods.
In classic delivery, the seller always packages the goods himself. He has the opportunity. But if you, for example, just sell an old TV set, you may face a problem: the delivery service will not accept the goods without packaging, and you hardly have a factory box from it, and there is hardly a warehouse of wrapping paper around the corner. We agreed with the delivery service that they take on this task, and therefore sellers do not waste time on unnecessary action.
Easy process of sending and receiving goods
Each order has its own unique number, which only the seller and the recipient know. In order to pass and receive an order, you need to call this number. You do not have to do anything else - neither fill in invoices nor present your passport. In many delivery services without these actions you do not send anything and will not receive.
Security and transaction control
The advantage of delivering to Avito is also that it is not just the transfer of goods from the seller to the buyer, but also money management. If the buyer does not like the product - he can refuse it, and the money will come back to him. And do not pay for the return delivery of the goods, as happens in other services. We not only help to physically deliver the goods, but also participate in the transaction, protecting sellers and buyers. If there are problems, we will solve them.
You can not buy one product
If the goods are paid, then we reserve it and temporarily hide it from the issuance. When the buyer acceptswe automatically close it. This helps us avoid confusion with a double payment for one product. But if the seller has several copies of the same goods, he can also specify it. Then we just change their number in the issue.
That in the end
We launched a convenient service for private sellers and buyers, which provides them with new opportunities and helps them to better achieve their goals. After three months of work, we summed up the subtotals.
Now c delivery can buy 5 million products - this is 36% of all ads for sale. Most of them, of course, in Moscow - the number of ads has exceeded one million, and in St. Petersburg - more than 500 thousand ads. These same cities and the most "sending". Since the beginning of April, users have shipped nearly 6?000 items across Russia. The record of one day - ?115 departures.
More often than not, users did intracity shipments around Moscow - this route accounted for 5% of all parcels. The following three routes of delivery are passing by two major cities: Moscow - St. Petersburg (1.6%); St. Petersburg - St. Petersburg (1.5%); St. Petersburg - Moscow (1.1%). Further - departures from Moscow to Rostov-on-Don, Nizhny Novgorod, Krasnodar, Ekaterinburg, Novosibirsk and Voronezh. With delivery to Avito you can send the goods to any region of Russia. The longest route was the way Moscow - Yuzhno-Sakhalinsk: a highchair for feeding from the capital flew more than 6.6 thousand kilometers.
This is the first post in the series about delivery to Avito. If you are interested in this topic, in the next posts we will tell a little more about the technology of our service: with the code and other insides. Ask your questions in the comments, we will try to answer.
It may be interesting
Pleasant data, significant and magnificent plan, as offer great stuff with smart thoughts and ideas, bunches of incredible data and motivation, the two of which I need, on account of offer such an accommodating data here.
Situs QQ Online