Яндекс регулярно проводит исследования загруженности дорог в разных городах — по данным своих геоинформационных сервисов. В основе этих исследований лежит один и тот же метод.
Что такое пробка
Сейчас все, к сожалению, так или иначе представляют себе, что такое «пробка на дороге». Однако для того чтобы измерять загруженность улиц, нужно определиться, что это такое. В наших исследованиях степень загруженности зависит от скорости, с которой едут машины. Мы сравниваем время, за которое они проезжают тот или иной отрезок пути, с эталонным — тем временем, за которое можно проехать по тому же пути ночью, когда улицы совершенно свободны. Чем больше разница, тем хуже дорожная ситуация.
Получается, что пробка — это любое затруднение движения, не обязательно связанное с большим количеством машин. Пробки могут возникать и на крупных магистралях, и на сравнительно небольших улицах. Там не скапливается много машин, но тоже может быть очень низкая скорость движения — например, из-за аварии.
Улицы
Измерить загруженность на абсолютно всех улицах города невозможно — для маленьких улиц слишком мало данных. Чтобы наши оценки отражали общую ситуацию и не зависели от случайностей, нужны данные за большой период времени, хотя бы месяц. Тогда мы будем уверены, что в том или ином месте движение действительно затруднено, а не просто в какой-то конкретный день шёл дождь и образовалась пробка. То есть нам подходят только те улицы, по которым каждый будний день проезжают хотя бы несколько человек с включёнными Яндекс.Картами или Навигатором. Как правило, это ключевые магистрали, улицы, соединяющие районы города и важные улицы внутри районов.
Загруженность улицы, особенно достаточно длинной, не везде одинакова. Поэтому мы делим улицы на отрезки и оцениваем их по отдельности. Для этого мы размечаем выбранные улицы вручную, расставляя точки рядом с поворотами и основными перекрёстками — эти точки отмечают границы отрезков. Также с помощью простого алгоритма мы расставляем на этих отрезках промежуточные точки — на расстоянии около 300 метров друг от друга. С их помощью мы проверяем, действительно ли данные о движении относятся к этому участку.
Треки
Оценка загруженности улиц основана на данных о поездках пользователей — треках. Мобильные устройства с включёнными Яндекс.Картами или Навигатором во время поездки передают сигналы на серверы Яндекса — примерно каждые пять секунд. При этом записываются время и координаты точки, в которой находится устройство. Из этих точек и состоит трек поездки. Если сигнала не было больше трёх минут, трек обрывается.
Для каждого отрезка мы выбираем треки поездок, которые проходили по нему. Тут как раз используются промежуточные точки — мы берём для каждого отрезка только те треки, длина которых близка к длине участка и которые последовательно проходили через все его точки. Это нужно для того, чтобы исключить случаи, когда автомобиль объезжал пробку через дворы или по соседней улице. Для тех участков, где может быть плохая связь, — например, туннелей — промежуточные точки не используются.
Все треки, относящиеся к тому или иному отрезку, мы группируем по дню и часу. Для каждой группы рассчитываем медианное время поездки — то есть такое, что половина всех поездок короче по времени, а другая половина — длиннее.
По расстоянию между точками и времени, которое потребовалось, чтобы его проехать, можно определить скорость на этом участке.
Разумеется, все данные, которые мы используем, полностью обезличены.
Оценка загруженности и баллы
Сервис Яндекс.Пробки оценивает загруженность улиц в баллах. Значению 0 баллов примерно соответствуют абсолютно свободные дороги, а при 10 баллах быстрее будет идти пешком. Чем выше балл, тем больше разница между временем, за которое можно проехать по дороге в этот момент, и тем временем, которое требуется ночью. Или, что то же самое, — насколько скорость поездки была меньше той, которая в реальности бывает на этом участке пути по ночам.
При оценке загруженности всего города баллы рассчитываются для суммарного времени проезда по всем выбранным улицам. Также можно оценить загруженность отдельных зон или трасс.
С течением времени методы подсчёта данных о движении машин меняются — например, алгоритмы учатся лучше отсеивать пешеходов или машины на выделенных полосах — и шкала Яндекс.Пробок тоже меняется. Сравнивать загруженность за разные годы можно только по единой шкале. Поэтому в каждом исследовании мы рассчитываем значения баллов за прошлые годы заново и сравниваем по той шкале, которая используется на сервисе сейчас. При сравнении загруженности разных городов баллы в них также приводятся к одной шкале.