«Вы прибыли!»: как участники онлайн-хакатона разрабатывали для Ситимобил модели прогноза ожидаемого времени поездки
Мы предложили эту задачу нескольким десяткам команд на онлайн-хакатоне MIPT.Hack, организованном командой Phystech.Genesis. И теперь расскажем о том, какие решения придумали и презентовали команды-победительницы за 30 часов хакинга, и почему для экономики агрегатора такси жизненно важно как можно более точно прогнозировать время «в пути».
Для начала: почему онлайн-хакатон?
Мы решили не отказываться от хакатона из-за пандемии и режима самоизоляции, но перевести его в онлайн-формат. Онлайн прекрасен тем, что позволяет организовать хакатон без потери качества и «той самой» атмосферы кодинга с единомышленниками. При этом сохраняются все фишки офлайна: чек-поинты, Q&A с экспертами из индустрии, презентации и награждение.
Итого: 30 часов, реальная задача из бизнеса и приз в 100 тысяч рублей на трек. Бонусом участники MIPT.Hack получили мерч и промокоды на доставку еды, чтобы кодить, не отвлекаясь на готовку.
В треке Ситимобил командам нужно было предложить свою методику корректировки расчетного времени поездки.
Но обо всем по порядку.
Чем опасен неточный прогноз времени «в пути»
Итак, откуда вообще берется необходимость корректировать ожидаемое время поездки.
Агрегатор такси — это сложный организм, он связывает на своей платформе пассажира, который хочет уехать, и водителя, который готов принять этот заказ.
В тот момент, когда пользователь создает заказ, гео-поставщик (сервис маршрутизации) оценивает ожидаемое время этой поездки. Но дорожная ситуация — вещь крайне нестабильная. Поэтому прогнозируемое время «в пути» будет смещаться. А между тем, точность этого прогноза — одна из составляющих, на которых строится экономика агрегатора такси.
При этом каждый город отличается от любого другого плотностью заказов, видом дорожного графа и качеством работы гео-поставщика. На расчет базовой цены поездки для клиента (и, как следствие, на заработок водителя) влияет и множество других факторов: кроме пиковых часов, это еще и день недели, сезонные изменения и другие.
А теперь к задаче:
Мы попросили участников на основе анализа исторических и географических данных предложить методику корректировки расчетного времени поездки.
Датасет, который мы предложили командам, содержал параметры поездок по четырем городам присутствия сервиса: здесь ссылка на соревнование на Kaggle.
А дальше на основе тех данных, которые доступны на момент создания заказа, необходимо было скорректировать ожидаемое время поездки. Чем точнее эта корректировка, тем лучше сервис избавляется от вариативности цены из-за ошибок маршрутизации. И, в конечном счете, это позволяет сделать цену для клиента и водителя справедливой.
Решения команд
В треке Ситимобил победителями стали 4 команды. Мы оценивали MAPE модели, код-ревью, количество и качество найденных инсайтов в данных и презентацию решения.
Команда «На результат» — победители
Модель команды стала первой на лидерборде с наименьшей ошибкой по MAPE. Также ребята подчеркнули возможное влияние на бизнес и нашли хорошие инсайты в данных. Команда успела за время хакатона написать хорошо структурированный код и упаковать свой пайплайн обучения в докер, чтобы мы смогли быстро проверить и воспроизвести результат.
Виталий Минаев: «Для нашей команды хакатон MIPT.Hack стал отличной возможностью провести время с друзьями в работе над интересным проектом, разобраться в технологиях и алгоритмах, до которых раньше не доходили руки, а также узнать больше о задачах, которые решают в Ситимобил».
Максим Филин: «Задача была не только интересной, но и понятной, с точки зрения бизнеса. Оказалось, что для решения задачи можно применять многие подходы, алгоритмы и использовать различные источники данных. Удалось проверить множество гипотез и предположений и углубиться в новое направление».
Сергей Арефьев: «Отличный датасет: много данных, чистый таргет, приятно было решать. Наличие работающего лидерборда — это сразу плюс 10 баллов к хакатону по пятибальной шкале :) Сразу виден твой настоящий результат, ибо на презентациях можно сказать все что угодно, и без лидерборда все принимается на веру».
Сергей Полежаев: «Было очень интересно, задача была сложная, но метрики улучшать было возможно. И борьба была не за тысячные доли процента, это тоже очень порадовало».
Роман Александров: «Задача очень классическая для «data science», но было интересно поработать над маршрутами. Оперативной памяти на их обработку еле хватало, это было «challenging»). Мы с командой в течение хакатона практически без остановки сидели в Skype. Нехилый вышел марафон».
Олег Черемсин: «Хотелось чего-то менее похожего на повседневную работу, поэтому взялись за задачу от Ситимобил. И не пожалели, с предоставленными данными было очень интересно работать, уровень соперников был на высоте, и из их решений узнали новые подходы и инструменты, которые планируем применять в дальнейшем. Организация — на высоте, чувствуется большой опыт, в плане соблюдения графика и отсутствия технических проблем — все отлично».
@Ситимобил
Мб стоит не хакатоны устраивать, а поднять уровень сервиса со дна?)
Комментарий недоступен