Алгоритм подбора попутчика в системах каршеринга и такси анализирует множество факторов, чтобы найти возможных кандидатов в попутчики. habr.com
Некоторые этапы работы алгоритма на примере сервиса Яндекс Go: taxi.yandex.ru
- Исследование машин такси вокруг. taxi.yandex.ru Часть из них проезжает мимо с заказом по тарифу «Эконом» и не подходит, так как люди, сидящие в них, не соглашались на совместную поездку. taxi.yandex.ru Есть «свободные» такси, которые уже завершили заказ и ждут следующего. taxi.yandex.ru
- Проверка, нет ли рядом водителей, которые уже везут человека по тарифу «Вместе». taxi.yandex.ru Если такие есть, нужно проверить маршруты — важно, чтобы они были примерно в одну сторону и чтобы общее время совместной поездки не сильно превышало время двух отдельных поездок. taxi.yandex.ru
- Проверка параметров. taxi.yandex.ru Алгоритм смотрит, насколько увеличится маршрут каждого из пользователей и сколько времени сможет сэкономить водитель, совместив два заказа. taxi.yandex.ru
- Повторение расчётов. taxi.yandex.ru После нажатия кнопки «Заказать» все расчёты повторяются заново с некоторыми поправками, так как ситуация на дороге постоянно меняется. taxi.yandex.ru
Для более точного прогнозирования вероятности найти попутчика используется ML-модель. habr.com В расчёт берётся ситуация на дорогах, спрос на такси, плотность заказов в определённых районах и другие признаки. habr.com