Voice interface for ordering a car by phone in action

    robophone
    Hi, Habr. For a long time I thought about how to approach this large and complex article.

    A year ago, it was decided to launch the service of ordering a car of a new format in the old wrapper.
    We do not have a call center, there is no mobile application for passengers, all orders are taken by the robot by phone using synthesis and voice recognition, as well as a fairly large software package.

    This idea has been in the air for a long time and it is being voiced every now and then in different sources, but we managed to implement it. The service is up and running, it even makes a profit and even grows.
    Anyone who is interested in how to launch a new project for the market, which has no analogues, but having a bunch of competitors, I ask for cat.

    Start


    A year and a half ago, a turning point came, we decided to actively engage in our projects. A list of candidates was compiled and heated discussions began. And the most interesting thing is that the current project was not in this list. The choice fell on one project and even later its MVP was implemented, but then the idea came up “To make a car ordering service by phone without dispatchers using speech synthesis and recognition”. This idea didn’t seem viable to everyone, even I had doubts, but as they say, you won’t try, you won’t know. Development began, and this was the first mistake.

    First city


    And so the idea began to turn into a product. Initially, a lot of time was devoted to call scripts (and in vain, it was worth thinking about more important things).

    The general scheme for creating a trip:

    • The circuit was simple
    • Passenger is calling
    • Pick up the phone
    • Greeting
    • The robot asks where the trip will begin.
    • Gets a response
    • Recognizes and geocodes, if failed, asks again
    • The robot asks where the passenger will go
    • Recognizes and geocodes, if failed, asks again
    • The system creates a trip, calculates the distance, price, travel time
    • The robot announces the parameters of the trip to the passenger and asks for confirmation
    • Passenger agrees, send driver distribution trip
    • Put the phone down

    The general scheme of the trip:

    • We are looking for the nearest driver
    • Passing the ride to the driver
    • The driver takes a ride
    • We call the passenger and sound data about the car
    • The driver presses that he drove up
    • We call the passenger and voiced that the car drove up
    • Passenger sits down
    • The driver presses the start of the trip
    • At the end, the driver marks the completion of the trip
    • After we got the initial look of the service for its customers, we started development.

    Training


    In the beginning there was no idea how to advertise this service, how to look for drivers. There was also no idea how many problems remained to be solved.
    It was decided to launch in the regional center with a population of ~ 500 thousand people.
    Advertising to attract passengers chose the following formats: groups in social. networks, contextual advertising, asphalt, banners.

    Drivers were attracted through Avito and groups in the social. networks. The scheme was chosen that the driver enters the line at any time convenient for him.

    Launch and Failure


    And by the appointed date, everything was ready, and the launch day came. After launch, a huge number of problems immediately appeared.

    Passengers

    Little people called, and their number did not grow much with time, it was clear that the amount of advertising that we could afford was clearly not enough financially. As it turned out, the city’s advertising budget of 500 thousand should be at least 200 thousand rubles per month, and so it was necessary to advertise for at least six months. Those. minimum advertising budget 1.2 million rubles.

    Drivers

    We naively thought we had drivers. In fact, we scored a bunch of people. Many did not go on line, many even just went online and did not even take the orders that were next to them. Also, we could not provide uniform coverage of the big city with drivers.

    As a result, it became clear that for rolling out the service, you must either take at least 10 drivers for a salary, or introduce surcharges to drivers.

    We tried a lot:

    • They drove themselves and found out from the passengers what suits them and what doesn’t.
    • They themselves were passengers and interacted with drivers.
    • They attracted friends and acquaintances.
    • Communicated with the owners of other services.

    After a month of operation, the service reached a record of 10 orders per day, just a drop in the bucket.
    But the first idea about the industry in which they got involved was acquired.
    It became clear that we needed a substantial budget for expansion. At the very minimum for six months in a half-million city, this is about 2 million rubles. And even the availability of such funds did not guarantee the success of the project, given the high competition.

    Second city (resurrection of the Phoenix from the ashes)


    The first pancake was lumpy, but we gained knowledge and experience and had a working system on hand, which simply did not have a blood infusion in the form of finance. It is worth noting that from a technical point of view, we solved all the problems, the question arose of what to do next.

    Without hesitation, we followed one of the tips from a very good book, “Marketing wars.”

    It became obvious that a city of 500 thousand was too tough for us, and there are too many fish there, which it makes no sense to fight. The idea was chosen to try their hand in cities of up to 100 thousand people.

    Training


    This time it all started not with development, but with market intelligence. A district center in our region with a population of about 35 thousand people was chosen. They also looked for a city closer to us, so that we could travel if necessary.

    We traveled to the city, evaluated the situation in which we had to work, looked for competitors, etc. (now this is our mandatory practice).

    The main sources of promotion were identified. As it turned out in a small town there are not so many of them as plus and minus. On the one hand, less money is needed, and on the other, it is difficult to quickly make a large-scale advertising campaign.

    Everything was much simpler with competition here. All competing services in such small cities still operate on walkie-talkies with live controllers. Here, our manufacturability has become a significant competitive advantage.

    Advertising to attract passengers chose the following formats: groups in social. networks, contextual advertising, banners, radio.

    Business processes


    For drivers, a scheme was still chosen that involved work on a free schedule.
    A single price was set for the city, which allowed us not to recognize addresses, but simply to send a sound file to drivers.

    There is no longer a need to count travel time and distance. Prices for trips outside the city were determined by drivers (but in vain).

    Launch


    And now, a couple of months after the failure in the regional center, a new attempt in a small town. Before the launch, a meeting of drivers was organized to clarify the rules of work.
    The launch was brisk, in the early days there were already 20 orders a day.

    Height


    For 2 months, the service became the leader of a small town, and because of us, other services began to close. Calls of competitors began with an offer to buy their services. It would be a success, the model fully paid off. Of course, in the process of growth, we met a huge number of technical and business problems, but everything was solved. And what’s important, people who weren’t scared by the robot accepting orders, they quickly got used to it.

    Innovations


    In a small town, we took a big step forward:

    Monetization

    Initially, the monetization model was not thought out at all, and it was a big blunder. At first, drivers drove for free, and we paid telecom operators, speech synthesis and speech recognition services, hosting, etc. When it became clear that the model was working, monetization was introduced.

    Shifts

    One of the significant problems was that drivers get on the line whenever they want, and there is no way to control it. It was decided to introduce shifts, and at the same time make them paid. We divided the day into 6 shifts of 4 hours. The shift price depended on the number of passenger calls.

    Discounts

    Tricky discount systems have been introduced. For drivers per shift (for example, the second shift per day is 30% cheaper). For passengers, a discount was introduced for every n-th trip.

    Price from distance

    Initially, there was a single price for the city. The reason for this was the technical difficulties and mentality of the inhabitants of small towns. Later, when the service grew, we implemented a system for recognizing departure and destination addresses and switched to the dependence of price on distance. In small cities it makes no sense to set a price per kilometer, it is enough to make price gradations.

    Third city


    In the experience of a small city, it was decided that the model is ready for scaling, and now it is simply necessary to connect new cities.

    Training


    They didn’t go far, another district center of 100 km was chosen. The population there was approximately 33 thousand people. The promotion methods were the same. Schemes of work with passengers and drivers, it was decided not to change.

    Launch and failure


    The launch in the third city revealed new unexpected problems.

    The first problem

    We did not score the right number of drivers, or rather, we thought we typed. Many people called, but there were few really willing to work. According to our estimates, subsequently, of those who say that they will work, only about 10-20% will actually be.

    The second problem

    The launch took place 3 days before February 23, and when the day of the defender of the fatherland came, there was a peak of orders.

    That day 60 passengers called, but the drivers entered the line 0. This was a complete surprise. Then came March 8th, and again a large part of the orders was not delivered.

    Everything turned out to be in the expression “With a shield or on a shield”, and we ended up on a shield.

    Rehabilitation attempts

    We stubbornly did not give up and began to take urgent measures

    • Additional payments to drivers for trips
    • Supplements to drivers per week
    • Tested new channels to attract drivers

    The main problem was the drivers, they did not want to work in any way. In this city, we are faced with the main problem of Russia: people do not want to work .
    They often call us to get a job, and when they find out that you need to work to earn money, we refuse to say what they think.

    Several months of struggle for a third city were unsuccessful. At the moment, everything is left to chance there. A couple of drivers work in it and 10-30 orders per day. This failure turned out to be a very good lesson.

    Fourth city


    And now, we have: 1 city - success and 1 city - failure, and we need to go further (we do not take into account the first). The experience gained has shown what to do and what not to do. We move on ...

    Month of falls


    It was such an interesting month when everything fell.

    • Turned off the lights in the server room.
    • Turned off the Internet.
    • Cloud telephony did not work.
    • Our services fell in.

    Sometimes I had to come at 3 a.m. and deal with problems.

    Technology and Architecture


    SOA was taken as the basis of the server part of the project. The main services were highlighted:

    Core - work with orders, drivers, passengers. There are various order distribution algorithms and a persistent repository of basic data. (PHP)
    Dialog is a service for processing calls in real time, there are various scripts for dialogue with passengers. (Javascript)
    Speech - service for speech recognition. (Javascript)
    Geo - a geocoding service. (Javascript)
    Logger - logging service. (FluetnD, Elastic, Kibana)
    Bot - telegram bot for drivers. (PHP)
    Route - service for finding optimal routes. (Javascript)
    It was also decided to use Docker, both for development and production.

    The application for drivers is made on the basis of Telegram.

    Plans


    Small goal: these are 10 cities with a population of up to 100 thousand people. At the moment, there is already a plan on how to achieve this and in what time frame. And more precisely, then we have 2 plans. The first plan: how to do it all yourself and with your own money, the second plan is tied to attracting investments (we are also actively engaged in the search for them).

    The big goal is 30% of Russian cities with a population of up to 100 thousand people. But for this purpose we already have a plan with investments only. Here on their own to grow a couple of decades.

    There are also many plans to improve the service, add new services, and enter related industries.

    We are slowly developing and preparing a platform for taxi fleets, which allows us to reduce the number of operators and create small services with lower financial costs.

    Well, of course, we already have a couple of projects with speech synthesis and recognition in other areas, and we intend to develop them and bring them to the market.

    conclusions


    The time has come for new user interfaces, where speech synthesis and speech recognition and some kind of AI are already used. Just think of Amazon 's Alexa . It is very important now to look towards voice interfaces. With the current development of technology, even a small organization can find an application for them that will be profitable.

    All fears that people will not talk to the robot, as practice shows, are groundless.

    PS:
    If the community is interested, then we can prepare more articles on project technologies, on the problems of working with cloud telephony in the periphery, and on what will be interesting and contains enough information for a separate article.

    Also popular now: