1 заметка с тегом

расписание

Вопрос-ответ: качество работы маршруток

Спрашивает Евгений Макаров из Baseride Technologies:

Мы собираем данные о работе маршрутных такси в Нижнем Новгороде для центральной диспетчерской, которая контролирует качество перевозок. На каждой машине установлен GPS-передатчик, который передаёт данные в «Клаудбас». На основании данных формируются ежедневные и ежемесячные отчёты о выполненной работе и нарушениях.

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

Как наглядно отобразить эту информацию?

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

Попробуем решить задачу иначе: от частного (одного рейса) к общему (ежедневным и ежемесячным отчётам). Как наглядно показать отклонения и превышения маршрутки за один рейс? Расположим остановки по горизонтали, сохранив пропорциональность растояний между ними. Отклонения от расписания при посещении конкретной остановки покажем кругом, площадь которого пропорциональна опозданию/опережению в минутах. Участки превышения скорости закрасим красным цветом: чем больше превышение, тем краснее участок.

Рейсы без нарушений или с небольшими нарушениями выглядят нейтрально:

Конкретные опоздания и превышения показаны при наведении:

Чтобы картина была нагляднее, оживим её временным слайдером.

Чем «краснее» рейс, тем больше нарушений и тем они серьёзнее:

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

Во-первых, такие рейсы легко сравнивать между собой. Например, можно одним взглядом окинуть все утренние рейсы, расположив их друг под другом (слева — время старта):


Живой прототип: http://minibus.datalaboratory.ru/onebyone/

Во-вторых, рейсы можно складывать между собой. Та же картина дня может быть свёрнута в одну линию с суммарным опозданиям по остановкам и суммарными (полупрозрачными) нарушениями на участках:

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

Дополним картину средними показателями, над каждой остановкой подпишем средний интервал ожидания:

Живой прототип: http://minibus.datalaboratory.ru/all/

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

Мы в Лаборатории данных создаём наглядные системы мониторинга для траспортных компаний и городских служб. Пишите: data@datalaboratory.ru

Присылайте вопросы о визуализации данных на почту: data@datalaboratory.ru, ответы публикуются по понедельникам. При участии Кирилла Беляева и Сергея Долинина.