How Yandex.Taxi technologies bring the future of personal and public transport closer

    Some time ago, Yandex.Taxi began to offer to call a taxi not exactly where you are, but to walk a few meters, but get faster and cheaper. At first glance, this is not the most significant event, but I want to tell you why in reality it is a very significant step towards the future - we will have to live in it very soon. It is about the future of personal and public transport in the city. In the article I will explain why this is important and why development is more complicated than it seems, but very few companies in the world are capable of such.





    I'll start from afar


    Taxi was recently perceived as a convenient transport if you have extra money and time. Even in the absence of traffic jams, it was much more efficient to use the metro or the same tram. 

    There were always a lot of taxis with good cars, but the driver was extremely rare to arrive earlier than in half an hour. To have time to file a car at least at that time, taxis were distributed in different parts of the city. Traffic controllers contacted all employees at once, found out who was where, if the car was busy when it was free, and waited for the drivers to agree on radio communications who would go to order. By the way, very often the passenger had to listen to conversations of dispatchers and taxi drivers all the way. 

    If a car was needed earlier than half an hour later, people sometimes went out on the road and “voted”. The likelihood that the car will be found quickly increased. But at the same time, pricing became completely opaque - you could not accurately predict how much the trip would cost. Having left the Moscow club in the middle of the night with the performance of your favorite band, you could go home for both a three-digit and a four-digit amount. In addition, the "bombers" often did not have navigators and did not know the city well, which made travel time unpredictable.

    In fact, when calling a taxi from a special service with a reasonable price, and when catching a car, the passenger always paid not only the travel time, but also the downtime of the car. When you were offered to be transported at the airport for astronomical amounts, they included not only the trip, but also the high cost of parking and the time the driver spent catching people at the exit. The opportunity to take a new order immediately after the completion of the current, and even not far from it, appeared only with the development of special online services. 

    Efficiency. Technology changes the world once again


    For many, Yandex.Taxi is just an application, but behind it is almost the entire history of Yandex technologies: from machine learning and graphing to creating your own maps. When Yandex.Taxi just started, the submission time immediately decreased from half an hour after ordering by phone to 7 minutes after opening the application. Several years have passed, and the car arrives to you in two minutes. Online services began to sharply increase competition between drivers and reduce vehicle downtime, thereby reducing the cost of the trip.

    Thus, the entire taxi market is changing. Taxi from a rarely used service turns into a mass one, gradually becoming the basic service for moving in the city - almost like a subway. Moreover, a taxi is now able to replace not only the metro, but also personal transport. People call a taxi to get from the supermarket to the house with groceries, to catch a working meeting or to the doctor, without delay to get to an unfamiliar place. 

    But, as I said above, all this is possible only if the driver is not idle without orders. Because in the end, passengers always pay during downtime.

    If you look at the classic taxi market in Russia, the proportion of time when a driver carries a passenger is 10% or less. Even in Europe, where city taxi cabs are widespread, the average car occupancy time is from 7% to 15%. For modern application services, this figure reaches 50% or more. The gap is obvious.

    And it is in such a system that quickly freeing up and being ready for a new order is more profitable than taking a passenger to the right address for a long time and losing other customers - which are important for the overall reduction of “empty” time. At the same time, the goal of Yandex.Taxi is to make the service as inexpensive as public transport, and as affordable as your own car. The latter means that the car must always stand at the entrance at the right time - just as a private car always stands there. It turns out that to achieve this goal, the main thing is efficiency. Any minute saved by the driver is valuable to us.

    How did the idea come about


    As often happens in Yandex, the product solution grew out of the idea of ​​one of the employees. He doesn't even work in Taxi. A colleague needed to get from the metro closest to MEPhI to the institute itself. On the map, this distance does not exceed 1 km - this is exactly the situation when a taxi can replace a bus or minibus. But in reality, they had to drive 11 km, since it was necessary to turn around on the Kashirskoye highway. But once you cross the road and walk 100 meters, the travel time would be reduced by eight times! And, accordingly, the cost of the trip would be lower. In fact, the team Taxis also discussed a similar feature, but the post of a colleague helped make sure the right direction of thought. 

    Why is it not so easy to do


    It sounds simple, but only a few companies in the world can realize this task. The fact is that a combination of several factors is required. The company must:

    • Route on roads.
    • Have a graph of pedestrian roads and understand how much people will spend time on reaching from one point to another.
    • To make such calculations very quickly: at the moment when a person wants to call a taxi, he needs to instantly show alternative points. In a minute, nobody will need them anymore. And with a delay of 10 seconds, the product would have deteriorated.
    • Take into account that there are dozens or even hundreds of points for processing. Before each of them, you need to be able to build two routes - for the client and for the taxi.
    • To understand where it’s convenient for a person to approach, and a car - to drive up, and where it is inconvenient for them to get. No one will sit on a difficult intersection, go on uncomfortable roads, etc. The "ordinary" pedestrian, and car routers are not always well suited for this task.
    • To be able to calculate the price of a trip - and this is not only routing, but also accounting for traffic jams: current and future.


    How many requests do you need to be able to handle the router in order to build alternative landing points

    How does this thing work and why so


    Alternative landing points now appear if:

    • the total benefit of the passenger’s pick-up and travel times is four minutes
    • order placed soon
    • destination is known (without it we can do harm, because we don’t know which way the driver will go)
    • the car was not called to the airport (i.e. the client, most likely, without suitcases)


    In order to show the final point, it is necessary to build several routes in one zone.

    Then Yandex.Taxi considers the time of arrival of the car not only to the point where the person is, but to all intersections with roads within a pedestrian radius of three minutes from the person’s current position. That is, a number of points are obtained: now these are pedestrian crossings, exits from the metro, stops, barriers, small roads that can be crossed anywhere, driveways in yards, points to which people often call cars themselves, etc.

    What's next


    Of course, we do not plan to stop there. It is already clear that there can be many similar solutions.

    For example, very soon Taxi will learn to offer exactly those points for landing, where customers often get into cars. Such places usually form naturally - at the exits of shopping centers, in convenient places on the streets. They are suitable for both passengers and drivers, because it is better not to force people to rediscover such places every time.

    Further: it seems that in cities with a lot of traffic jams, situations arise when it is more convenient to travel part of the route by public transport or even walk, and then transfer to a taxi again. Here, of course, you need to know the schedule of public transport, but Yandex has an application for this.

    It also happens that at the end of the trip it is convenient not to reach the target 100 meters. What if they cannot be overcome quickly by car, what if it is much faster to walk? It would be nice to automatically offer to rearrange the end point by 100 meters, and not make the passenger think about it on their own (especially since the client may not know the city or the situation on the road).

    I have listed only part of the development options. By the way, we are happy to hear your ideas in the comments and implement them if they turn out to be good.



    It is generally accepted (and many on Habré probably know) that the idea of ​​modern public transport belongs to the mathematician Blaise Pascal. It was he who, in the middle of the 17th century, proposed the creation of multi-seat crews harnessed by horses. They had to move along strictly defined routes - this helped not to go in vain (as happened, for example, with cabbies) and increase the margin of the trip.  

    Such public crews were developed in the 19th century, when there were more and more large enterprises that many workers had to get to. Special omnibuses were organized for them. In general, little has changed since then. The main burden on public transport is still at the beginning and end of a standard working day. 

    The advantage of route transport since its inception was constant congestion. It allowed to reduce the cost of the trip and made transport massive. Taxi appeared as a comfortable, but expensive and less effective alternative. Technological advances made it possible to create an increasingly efficient public transport, and taxi drivers, as well as cab drivers several centuries ago, could travel for a long time looking for customers. And only thanks to the technologies that have appeared before our eyes, taxi begins to develop as a personal public transport. Cars do not drive without passengers, the navigator helps drivers, they receive regular orders as close as possible to the places of completion of the previous ones. You can even take a new order before you drop off the passenger at the destination: if the service knows where this point is, he starts looking for customers nearby in advance. Given the cost of owning a car, a taxi becomes a much cheaper and no less comfortable way to travel. And at the heart of this revolution - as with the advent of the first public transport - is mathematical thinking and, literally, applied mathematics.

    Also popular now: