Почему алгоритмы Яндекс Go оптимизируют поездки не до конца, или как ездить дешевле

Собрался я ехать домой и вызвал такси, спрос оказался весьма серьезный и цена была прямо скажем не комфортная. Подумал подожду несколько минут, постою с коллегой поболтаю. Проверил через 10 минут, цена никак не менялась, при этом смотря на маршрут, я понимал, что маршрут Яндекс построил явно не оптимальный и в беседе в шутку прозвучала мысль скорректировать маршрут, и сделать это весьма просто, ставлю промежуточную точку в сторону, как мне показалось оптимального пути, и вуаля, первая же попытка привела к снижению стоимости на 400-500 рублей во всех тарифах, причем поездка оказалась по километражу меньше на 11 км, но по времени длиннее на 5 минут.

Почему алгоритмы Яндекс Go оптимизируют поездки не до конца, или как ездить дешевле

Нажал поехали, приехал водитель, я сел, проехал мимо промежуточной точки и приехал домой. Казалось бы, конец истории

Но стало интересно, как работает алгоритм изнутри, первое что сделал — посмотрел получасовой ролики на YouTube канале Yandex Go «Почему цена такая» (очень рекомендую, ролик клевый). Оттуда нам понадобится всего пара вещей, формула расчета стоимости, стоимость минуты и километра пути. В моем случае это Ростов-на-Дону, в видео Краснодар и Екатеринбург, плюс минус одно и тоже и возьмем 10 руб/км и 500руб/ч (или 8.3р/мин).

Почему алгоритмы Яндекс Go оптимизируют поездки не до конца, или как ездить дешевле

После, посмотрел какой маршрут строит Яндекс Такси, и разумеется логично было бы запрашивать этот маршрут у Яндекс Карт, что так и оказалось, маршрут Такси всегда строится на выдаче одного самого быстрого маршрута Яндекс Карт. (к слову сказать, Гугл показал тот маршрут, которым я в итоге и поехал, наверное просто меньше пробок «видит»).

Почему алгоритмы Яндекс Go оптимизируют поездки не до конца, или как ездить дешевле

Дальше этот маршрут с остальными характеристиками проходит через формулу подсчета стоимости и уже эта цифра показывается на экране. Если мы сравним два маршрута, в одном меньше км, в другом минут, то увидим следующий расклад:

Водитель — да, заработает больше за единицу времени, но и амортизация машины будет больше (почти на 40%, при разнице пути 11 км)

Пассажир — заплатит больше, притом, что «быстрее» ему может и не надо (5 минут разницы за 400 рублей)

Яндекс Такси — получит больше денег за более дорогую поездку, уменьшит время в пути водителя, чтобы он быстрее начал выполнять следующий заказ и никаких других затрат…

Причем, после этого случая, я несколько раз выбирал данный маршрут, да и другие маршруты с подобным не очевидным путем, и разница в стоимости было от 20 до 500 рублей. Т. е можно было бы подумать, что это забота о водителе, но тогда заработок в минуту должен всегда компенсировать амортизацию авто, а оно не всегда так. В итоге получается, что Яндекс Такси либо слепо верит тому, что показывают Карты, и только после этого считает цену поездки. Либо …

Забавно, но я бы и не обратил на это внимания, если бы Яндекс запретил в приложении выводить стоимость поездки по тому же маршруту не зависимо от промежуточных точек, ниже, чем изначально предложенная. Сделать конечно это не просто, да и это уже нарушение прозрачности алгоритмов.

Подводя итоги, кажется, что для Яндекса не составляет труда переписать пару сотен строк кода и передавать в формулу цены не один путь, а несколько и если находится вариант быстрый, но по дороже и чуть дольше, но подешевле, то пользователь об этом вероятно должен знать и иметь возможность выбрать.

Предлагаю залайкать пост, чтобы Яндекс обратил на это внимание:)

4444
30 комментариев