«Вы прибыли!»: как участники онлайн-хакатона разрабатывали для Ситимобил модели прогноза ожидаемого времени поездки

Мы предложили эту задачу нескольким десяткам команд на онлайн-хакатоне MIPT.Hack, организованном командой Phystech.Genesis. И теперь расскажем о том, какие решения придумали и презентовали команды-победительницы за 30 часов хакинга, и почему для экономики агрегатора такси жизненно важно как можно более точно прогнозировать время «в пути».

«Вы прибыли!»: как участники онлайн-хакатона разрабатывали для Ситимобил модели прогноза ожидаемого времени поездки

Для начала: почему онлайн-хакатон?

Мы решили не отказываться от хакатона из-за пандемии и режима самоизоляции, но перевести его в онлайн-формат. Онлайн прекрасен тем, что позволяет организовать хакатон без потери качества и «той самой» атмосферы кодинга с единомышленниками. При этом сохраняются все фишки офлайна: чек-поинты, Q&A с экспертами из индустрии, презентации и награждение.

Хакатоны в онлайне — это не новость, но большая их часть по отзывам участников обычно сильно проигрывает офлайну по атмосфере и интенсивности. Мы это учли и исправили. Из нашего опыта проведения хакатонов мы четко поняли, что участникам крайне важно общение с экспертами и интенсивность процесса хакинга. Именно на эти две ценности мы ставили упор при переносе хакатона в онлайн-формат: каждая команда держала связь в Zoom со специалистами из компаний-партнеров и имела возможность задавать вопросы в чате на протяжении всех 30 часов интенсивного кодинга.

Алексей Марахин,

главный организатор MIPT.Hack по треку Ситимобил

Итого: 30 часов, реальная задача из бизнеса и приз в 100 тысяч рублей на трек. Бонусом участники MIPT.Hack получили мерч и промокоды на доставку еды, чтобы кодить, не отвлекаясь на готовку.

В треке Ситимобил командам нужно было предложить свою методику корректировки расчетного времени поездки.

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

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

Андрей Павлов, руководитель отдела эффективности платформы Ситимобил

Но обо всем по порядку.

Чем опасен неточный прогноз времени «в пути»

Итак, откуда вообще берется необходимость корректировать ожидаемое время поездки.

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

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

В тот момент, когда пользователь создает заказ, гео-поставщик (сервис маршрутизации) оценивает ожидаемое время этой поездки. Но дорожная ситуация — вещь крайне нестабильная. Поэтому прогнозируемое время «в пути» будет смещаться. А между тем, точность этого прогноза — одна из составляющих, на которых строится экономика агрегатора такси.

При этом каждый город отличается от любого другого плотностью заказов, видом дорожного графа и качеством работы гео-поставщика. На расчет базовой цены поездки для клиента (и, как следствие, на заработок водителя) влияет и множество других факторов: кроме пиковых часов, это еще и день недели, сезонные изменения и другие.

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

Сложность этой задачи по большому счету сводится к предсказанию пробок на дорожном графе. Часть случаев возникновения пробок могут быть объяснены системными причинами, такими как: структура дорожного графа (а именно — количество перекрестков), количеством левых поворотов или сезонными характеристиками в виде пиковых часов загрузки дорог утром и вечером. Но существуют и менее системные, сложно прогнозируемые причины, например ДТП.

Андрей Павлов, руководитель отдела эффективности платформы Ситимобил

А теперь к задаче:

Мы попросили участников на основе анализа исторических и географических данных предложить методику корректировки расчетного времени поездки.

Датасет, который мы предложили командам, содержал параметры поездок по четырем городам присутствия сервиса: здесь ссылка на соревнование на Kaggle.

А дальше на основе тех данных, которые доступны на момент создания заказа, необходимо было скорректировать ожидаемое время поездки. Чем точнее эта корректировка, тем лучше сервис избавляется от вариативности цены из-за ошибок маршрутизации. И, в конечном счете, это позволяет сделать цену для клиента и водителя справедливой.

Решения команд

В треке Ситимобил победителями стали 4 команды. Мы оценивали MAPE модели, код-ревью, количество и качество найденных инсайтов в данных и презентацию решения.

Полная запись эфира со всеми финальными презентациями участников.

Команда «На результат» — победители

Модель команды стала первой на лидерборде с наименьшей ошибкой по MAPE. Также ребята подчеркнули возможное влияние на бизнес и нашли хорошие инсайты в данных. Команда успела за время хакатона написать хорошо структурированный код и упаковать свой пайплайн обучения в докер, чтобы мы смогли быстро проверить и воспроизвести результат.

Виталий Минаев: «Для нашей команды хакатон MIPT.Hack стал отличной возможностью провести время с друзьями в работе над интересным проектом, разобраться в технологиях и алгоритмах, до которых раньше не доходили руки, а также узнать больше о задачах, которые решают в Ситимобил».

Максим Филин: «Задача была не только интересной, но и понятной, с точки зрения бизнеса. Оказалось, что для решения задачи можно применять многие подходы, алгоритмы и использовать различные источники данных. Удалось проверить множество гипотез и предположений и углубиться в новое направление».

Сергей Арефьев: «Отличный датасет: много данных, чистый таргет, приятно было решать. Наличие работающего лидерборда — это сразу плюс 10 баллов к хакатону по пятибальной шкале :) Сразу виден твой настоящий результат, ибо на презентациях можно сказать все что угодно, и без лидерборда все принимается на веру».

Сергей Полежаев: «Было очень интересно, задача была сложная, но метрики улучшать было возможно. И борьба была не за тысячные доли процента, это тоже очень порадовало».

Роман Александров: «Задача очень классическая для «data science», но было интересно поработать над маршрутами. Оперативной памяти на их обработку еле хватало, это было «challenging»). Мы с командой в течение хакатона практически без остановки сидели в Skype. Нехилый вышел марафон».

Олег Черемсин: «Хотелось чего-то менее похожего на повседневную работу, поэтому взялись за задачу от Ситимобил. И не пожалели, с предоставленными данными было очень интересно работать, уровень соперников был на высоте, и из их решений узнали новые подходы и инструменты, которые планируем применять в дальнейшем. Организация — на высоте, чувствуется большой опыт, в плане соблюдения графика и отсутствия технических проблем — все отлично».

Какой итог?

Спасибо всем участникам, организаторам и моим коллегам Алексею Павлову и Илье Браславскому, которые выступили в качестве экспертов с нашей стороны. Задачи по увеличению эффективности работы Ситимобил, конечно, не заканчиваются. Они лежат в плоскости развития сервисов маршрутизации, ценообразования и распределения заказов. Сейчас это одно из тех мест, где создаваемые математические модели могут и должны повышать качество сервиса для наших пользователей: а это десятки тысяч водителей и сотни тысяч клиентов.

Андрей Павлов, руководитель отдела эффективности платформы Ситимобил

Задачи, которые Ситимобил хотел решить участием в хакатоне — это поиск талантливых ребят и команд, свежие идеи, неожиданный подход к решению. Рынок получил сигнал, что Ситимобил нужны талантливые ребята для работы над нашим продуктом. И хотя эффект от участия в хакатоне как правило отложенный, мы уже получили несколько интересных резюме от участников. Надеемся, что вскоре они станут частью нашей команды :)

Анна Глумова, менеджер по развитию HR-бренда
44
2 комментария

@Ситимобил
Мб стоит не хакатоны устраивать, а поднять уровень сервиса со дна?) 

Ответить

Комментарий недоступен

Ответить