According to the company itself, Yandex.Navigator is used by 13 million users. Recently, the navigator spoke in the voice of Vasily Utkin and Optimus Prime, but users are still unhappy: someone believes that the navigator is building suboptimal routes, it leads right along the traffic jam or often gets off the track. In April, news appeared that soon the service would become partially paid, and in June, the search for available parking spaces became available in the navigator. Life around asked Mikhail Vysokovsky of Yandex.Navigator to talk about how the service builds a route, where the traffic forecast comes from and what innovations to expect.
Head of Yandex.Navigator Service
Where does the navigator get data
Opening the navigator, we see how the arrow moves beautifully along the line of the road. But in fact, the GPS signal is not at all like that - it's something that constantly jumps: five meters to the left, 20 meters to the right. Therefore, accurately showing the location and leading a person along the route is a big task for any navigator.
The navigator receives location information from a mobile device: first, the smartphone must understand its geographical coordinate and inform the Internet service. For example, an iPhone has several sensors: GPS, GLONASS, data from cellular network base stations and Wi-Fi. The iPhone automatically analyzes this and gives the application a specific coordinate, relatively speaking: "Friend, I know for sure that your coordinates are like that." How exactly the device determined them - by GPS, GLONASS or cellular network - remains at the discretion of the operating system. Android is a little easier: you can find out where the signal comes from.
After the coordinates from the device are received, you need to understand where the car actually moves, what road it goes. The navigator receives data about this every few seconds. This is not an easy task, especially if the user is at a difficult end. The algorithm makes a number of assumptions about where the user is actually located. If several signals have come that a person is traveling closer to the understudy than to the main road, the navigator throws it to an understudy. At some point, after analyzing all the previous signals, the system may change the decision - then the arrow will be on the main road. At every moment of time, this is a decision based on the user's route, previous signals and new ones that are arriving.
Yandex.Maps and Yandex.Navigator use identical algorithms. Sometimes their forecasts and choice of routes diverge: this can happen because even nearby devices can get slightly different coordinates or build a route with a difference of a few seconds. Despite the fact that the platform is unified, different teams work on geoservices in Yandex. The Navigator team is responsible for the entire automotive theme and routing - it’s easier to synchronize.
How the navigator builds a route
While the user is building a route from point A to point B, the system considers a large number of alternatives and selects the optimal route options. There is a road graph - this is map information where maneuvers are marked: where you can turn and where you can not. The system goes through different options for combining maneuvers, giving the advantage an optimal time, and offers this route, but taking into account traffic jams and current overlaps. In addition, the navigator usually offers two other routes, they should be significantly different - we will not offer the exact same route, but with a stop at the gas station to save 30 seconds.
Now Yandex.Navigator offers a maximum of three route options. We can offer 50 different routes, and let the user think what to do with them. But the results of usability testing indicate: when a person is given a huge number of routes, it is quite difficult to understand which one you need to choose.
While driving, every two minutes the navigator checks to see if the route is faster. However, there is a certain limitation on when this route can be offered. The situation in the city is changing rapidly, and if the navigator keeps saying: “The route was found 30 seconds faster,” it will be quite difficult. Now the system offers an alternative if the time savings are more than five minutes, when there is little time before maneuvering. At the same time, if even 30 seconds are important to a person, he can request a quick route search by himself, by going to the "Overview" on the application panel.
Now the algorithm is designed so that it optimizes the time for each specific user, that is, it builds a route specifically for you. And does not take into account social welfare, trying to separate streams. (On the Internet, there were speculations that Yandex.Navigator is trying to globally influence the transport situation in Moscow. - Ed.) But, since there are many users, we inevitably influence the situation on the roads. A few years ago, the navigator was such an elite club - there was a small proportion of people who used the navigator, and the rest were Muscovites. Then users saw: there are traffic jams, but there are no traffic jams - and the navigator did not affect the situation on the roads. Now, when millions of users build routes with a navigator every day, and we tell them that there is no traffic jam, everyone is coming here, and, probably, the traffic jam may also appear because of this.
How the navigator takes traffic jams into account
Each time users travel with the Yandex.Maps or Yandex.Navigator application, they transmit anonymous information about their movements. In total, 13 million people use our navigator in Russia.
Upon receiving this data, we automatically analyze it on the server and understand that on a certain road, if people drive slower, most likely a traffic jam has formed. We take this information into account and communicate it to users in two ways. The first is the color indicator in the application, the second - traffic jams are taken into account in the time that the navigator predicts. This is a fully automatic system: data is updated every minute.
Some time ago we built a route, taking into account only current traffic jams. Although in reality the situation is constantly changing, and rush hours are a difficult time for all navigators. Traffic grows randomly, and the navigator, when building a route on current traffic jams, does not take into account new ones, and because of this lies in time. Therefore, now in experimental mode we take into account the traffic forecast for the next hour. For such a forecast, we have two factors: the first is the situation in the past weeks on this day of the week and at this time, and the second is the traffic situation for the moment.
After we predicted traffic jams, we analyze how well we did it. If a person has reached the end with the navigator, we know how long he did it, and we can compare it with the promise of the navigator. Our second metric is called "Yandex lies." People often complain about the way the navigator behaves in “Conversations”. We consider the share of conversations in which Yandex is scolded by the words “lying”, “telling lies” and all other curses. When we display something inaccurately, we see a sharp rise in such conversations - we get a fairly sensitive tool.
Why the navigator junk near the Kremlin
The navigator, like other applications with geolocation, receives information about the current location from the device. And it can’t determine how reliable they are. At the same time, the device does not report that these are bad coordinates, it behaves in a standard way - for some reason, only the coordinates are not on the Kremlin embankment, but somewhere else.
In a simple way, a navigator with a GPS signal change cannot do anything. It behaves on the principle "what the device said, then I do." When at the end of last year we realized that the situation on the Kremlin embankment is not a one-time story, but a regular problem, we came up with a new algorithm. Now, if the navigator sees that the coordinate changes very quickly (for example, the user seems to have flown at a speed of 200 kilometers per hour from one point to another), the system blocks this movement. The navigator’s arrow does not move anywhere: at this moment route guidance does not work and the exact position is not determined, but at least a person can navigate on the map where to go, and not find himself in the gray zone of Vnukov. This works when teleportation occurs. Unfortunately, there are more complex schemes. Sometimes the coordinate can be transferred not for tens of kilometers, but to a neighboring street, then a little more and more. In this case, the navigator cannot understand if it is a false overshoot or if you need to trust the last value.
How changes in the city affect the operation of the navigator
In fact, algorithms need constant improvement. It would seem that he did - and everything should work endlessly. In general, it would be so, but the world is constantly changing. In addition to the story of the Kremlin embankment, there are other cases. For example, a year ago in Moscow there were a lot of dedicated lanes for public transport: taxis ride on them, but violators still travel. In this case, we see that some of the signals are tightly stuck in a terrible traffic jam, and some of the signals pass quietly. The algorithm automatically detected this as a traffic jam and highlighted in yellow - it turned out stupid. We have learned to identify signals that differ from the main stream. But the My Street program is quite difficult to take into account, because the situation is changing every day. Today there is a repair, and tomorrow on a nearby street. We take it into account in standard ways - mark and check all messages about overlaps.
How the navigator searches for free parking
Once I went to the theater. Imagine the situation. The performance begins at 19:00, after the third call to enter is bad. I looked at the traffic jams and decided to go by car. I drove to the final destination, the navigator reported that we had arrived, but in fact I hadn’t arrived anywhere: I’m still driving a car, I see the theater on the right, but that doesn’t help me. Then I see that there is a parking on the left, I drive closer and find the sign "Disabled only". There is also parking on the right, but it costs 200 rubles. I kind of want to park, but I hope to find a cheaper place. While I’m thinking where to go, it turns out that I’m standing at the pedestrian crossing, and they also beep to me from behind. There are a lot of problems. Then I turn into the nearest lane and find myself damn where. As a result, I somehow leave the car and run to the theater, but this is a super-uncomfortable story.
We realized that parking is a new traffic jam. If before the traffic jams were the main problem for Muscovites, now they still remain a problem, but at the same time navigators have learned to predict them. With parking, not a single navigator has ever helped. We have done five things. First, they started showing at the entrance to the destination where parking is allowed and forbidden. At this moment, the person is stressed and often does not see signs, and if everyone is standing, this does not mean that parking is allowed here - maybe they closed the numbers with pieces of paper. Next - when a person understood where to park, he wants to park not for 200 rubles. Therefore, we began to show where and for how much you can leave the car. Thirdly, when approaching the destination, the navigator offers a special route so that the user can drive along neighboring lanes and with a high probability find a parking lot without going far from the destination. Otherwise, you can turn into a one-sided lane, and then appear on the Third Ring.
But ideally, the user should see where it’s actually free. And this is a very complicated story. There is simply no such data. We are trying to detect with our algorithms that space has become available. Now the Android navigator in the background provides us with information - we record that the person has changed the way of moving from car to pedestrian and vice versa. We conclude that he most likely left or took the car. We overlay this data on the parking map and show the free spots for five minutes. But now we do not guarantee that it is really free there: a place can be taken even in 30 seconds. Moreover, the probability of finding a free seat is still high. This feature is already available to users: you can turn on the parking layer and see green dots. After the person has parked, he still needs to pay for the parking - we have done integration with the payment service and are testing the payment function.
We look for parking data in different ways. There is open data from the Department of Transport, but often they are outdated and are constantly changing due to reconstruction in the center. We recheck them. Data about other parking lots, for example at shopping centers, we collect manually using the directory of organizations.
Will the navigator be paid
We feel that the navigator should not do everything the same for everyone. Now we are working to offer special solutions to professional navigator users. For example, a taxi driver should show the traffic situation on the allocated lanes, and truckers should build routes taking into account where they are allowed to go and show the axle load. Now many logistics and transport companies have applications that automatically launch our navigator. Before, we did not know what kind of companies they were or what they wanted. Maybe for a courier company you need to display 50 points on the map and show the optimal route between them. We asked them to register in the system and are now trying to understand what there is demand for. The nearest thing that appears is navigation for taxi drivers in the selected lanes. For ordinary users, Yandex.Navigator will remain free.
What innovations to expect
Sitting in the room, you can talk as much as you like about how the navigator is useful or not useful. But at the wheel the situation is changing. Therefore, we regularly test the system, making races with users and looking at where the navigator works well and where not. In addition, we read a lot of reviews - through the support service, in stores and social networks. If any problem comes to the fore, we make a function prototype, arrange races, and then test for parts of users.
Recently, it has become possible to build a route completely by voice, without using hands. There are statistics that claim that using a smartphone while driving 24 times increases the likelihood of accidents. Now, sitting behind the wheel, we can say: "Listen, Yandex, let's go home."
Only a search appears on the porches. Navigation at the last mile, when you need to understand which side of the house to drive up to, where there is a barrier and where not, used to be quite difficult. Now in the "People’s Card" - in a special editor, where users can independently add additional information to the cards - we announced a week of porches. If the entrance has been made to this map, then the navigator will now be able to find it. When there is a lot of data, we will add a more convenient way to search.
In Russia, users often complain about poor communication. Now you can only download maps in the navigator, and we are actively working to make it possible to build a route offline.
We want to be more than just a dry tool that leads through traffic jams. Therefore, new voiceovers appear in the navigator: earlier there were standard voices of Oksana and Dmitry, then Vasily Utkin and Fedor Bondarchuk, Optimus Prime and Bumblebee from Transformers appeared. The recording of the voices of the stars lasted several hours. When the navigator says, “After 200 meters, turn right,” these are actually five glued pieces.A synthesized machine voice is now available: it differs from ordinary voices in that it can pronounce much more phrases, such as street names. New voices will appear for different audiences.
Now you can call a tow truck from the Navigator application. This is not a thing directly related to the navigator. But we are going to develop in this direction. Having a problem with the machine? Go to the Navigator. Need to pay for parking? Go to the Navigator. Do not know what to do? Go to the Navigator.