Как мы определяем, куда чаще всего ездят на такси

Популярность того или иного места среди пользователей Яндекс.Такси мы определяем по числу заказов, в которых это место было пунктом назначения. Это значит, что про каждую поездку нам нужно понять, куда направлялся пассажир. Когда название организации есть в заказе, всё просто. Но люди часто указывают только адрес, причём иногда неточный: например, название улицы без номера дома.
Поэтому на первом этапе мы работаем не с адресами или названиями организаций, а с максимально конкретными данными — координатами, в которых водители завершали поездки. Мы находим скопления конечных точек (кластеры) и определяем, куда хотели попасть приехавшие туда люди. Для этого используется информация из описания поездки: кластер относится к той организации, название которой встречается в большинстве заказов.
В некоторых местах — например, возле больших торговых центров — получается сразу несколько кластеров. Если из описаний заказов, относящихся к этим кластерам, видно, что они относятся к одной организации или адресу, мы склеиваем такие кластеры и считаем, что все люди ехали в одну организацию.
https://avatars.mds.yandex.net/get-bunker/50064/3f1c6be242b67dbf970de92faefc283bfd9de5db/orig
На последнем этапе мы проверяем, не склеил ли алгоритм кластеры, которые на самом деле относятся к нескольким разным организациям, — в Москве примером такой некорректной склейки стал кластер на площади Европы, где находятся Киевский вокзал и ТЦ «Европейский». Подобные кластеры мы разделяем вручную: зачисляем каждой из самых популярных организаций число поездок, пропорциональное числу заказов, в которых было явно указано её название.
https://avatars.mds.yandex.net/get-bunker/118781/3f7328b850a2a1a01aa80fc3086b14960d5af830/orig
Исключение составляют кластеры баров и ресторанов, их мы не расклеиваем: в местах вроде «Красного Октября» в Москве или улицы Рубинштейна в Петербурге так много заведений и расположены они так кучно, что результаты расклейки были бы слишком неточными.
Хотите получать исследования на почту?