Главная » Хабрахабр » Чего стоит самое точное расписание электричек с 2003 года

Чего стоит самое точное расписание электричек с 2003 года

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


Старое бумажное расписание СПб — Оредеж

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

Когда Туту.ру только рождался, у нас в стране была единая железнодорожная компания, единственный перевозчик. Поначалу было сложно. Точнее, нам говорили, что вот тут лежит открытое расписание для всех, его берите. Мы обращались с просьбами давать информацию, но договориться долго не удавалось. Это вполне понятная позиция, потому что мы хотели выгрузки, которые явно надо было задорого доделывать. Но для вас специально ничего делать не будем.

Почти каждое утро начинали с объезда 7–9 вокзалов. В результате команда стала ездить по вокзалам и фотографировать изменения в расписаниях. Но далеко не везде были нужные изменения. Так удавалось покрыть Москву. По промежуточным станциям получалось, что точность падала. По отправлению из Москвы — пожалуйста, но вот на Москву — уже нет. «Сообщите нам, чтобы помочь другим пассажирам» — этот повод отлично работал, и пассажир, который уже столкнулся с проблемой, сообщал о ней. Мы ввели систему сбора сообщений от пассажиров. Это позволяло с помощью ряда математических моделей понять, что происходит, и перестроить расписание либо сделать нужные звонки.

Было сделано много очень крутых вещей в принципе, и среди всего прочего докрутили внутренний ресурс с расписанием. Потом РЖД стали активно развиваться в плане ИТ. Широкой общественности доступно это не было, но данные выгружались на специальный терминал на вокзале.

Уходили часы на переписывание расписаний, когда были серьёзные изменения. Тогда к нашим объездам добавилось листание всего интерфейса терминала в поисках расписания.

Например, однажды в терминале была указана электричка Электрогорск — Храпуново, такой маршрут возможен только со сменой кабины, на что времени не было. Данные в терминале иногда были подозрительными, поэтому зачастую приходилось ездить по станциям и смотреть, как по факту ходили электрички. Повторные проверки позволили выяснить, что в подобных ситуациях поезд всегда не доезжал одну остановку до станции, указанной в расписании. При проверке было выяснено, что на самом деле электричка идёт с пассажирами только до Есино (а дальше — уже без пассажиров в парк станции Храпуново).

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

А вот пригородным компаниям уже было крайне важно, чтобы пассажиры получали максимум информации про отмены и прочие ситуации, иначе посыпались бы жалобы. Затем появились пригородные пассажирские компании (например, самая большая ЦППК). Возможно, поэтому договориться о получении информации оказалось гораздо легче.

Раньше это были прямо телеграммы, а теперь — либо телеграммы, либо электронная почта. Внутри структуры РЖД происходит так: специалисты составляют график движения поездов и, если что-то меняется в расписании, отправляют телеграмму по подразделениям и станциям.

И это очень круто, потому что мы по-прежнему вносим информацию, к примеру, от ЦППК, но есть возможность сверить её со вторым источником — данными РЖД по движению поездов. Наконец, после серии встреч и переговоров, мы подключились к центральной базе данных пригородных расписаний, а также к данным по фактическому движению поездов (как пригородных, так и дальнего следования). Бывает, и там и там встречаются ошибки — по одному источнику решить никак нельзя.

Одна из распространённых ситуаций — бывает, электричка отменена в одну сторону. При разном характере ошибок вес отдаётся разным источникам. Мы это вычисляем часто: ведь поезд в расписании есть, а состава для него по факту нет. Если это так, то в другую сторону она вернуться не сможет. Но отсутствие поезда в расписании, притом что он есть, — это менее существенная ошибка, чем наоборот: объективно вероятность ложноположительного срабатывания около 4%. Но это не всегда верная матмодель: иногда перевозчик засылает на место состав без пассажиров, чтобы в обратном направлении получалось отработать маршрут. Ещё благодаря внутренним работам перевозчиков и РЖД сейчас такие ситуации с отменами случаются всё реже и реже — это во многом тоже заслуга их ИТ. Обычно поезда всё же не будет.

По ним тоже довольно просто понять правильный источник: если мы видим сдвиг на час или 10 минут, то знаем, что с высокой вероятностью это опечатка графика РЖД. Или вот бывают опечатки во времени и номере. Графисты рисуют график, а не расписание: там по оси абсцисс шаг — 10 минут, а когда с графика переносится в телеграмму, то на 10 минут легко опечататься.

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

Да-да, до сих пор гоняем, случается. Если это нешаблонная ошибка, то мы ездим на станцию проверять. А от этого зависело, с какой платформы пойдёт состав. Буквально пару недель назад у нас был случай в Реутово — там не было понятно, что с путевыми работами, будет или нет поезд, работники не ответили. Пошли не там, как было в данных от перевозчика, соответственно, внесли изменения в модель. Ездили, смотрели, по какому пути пойдут поезда.

Например, модуль анализа фактического движения сигнализирует, если электричка идёт с опережением. Естественно, мы тоже ошибаемся. Оказалось, ошибки-то и нет: были технические проблемы, и электрички дальше Щербинки ехать не могли. Случай в Подольске — там была ситуация, которую мы выявили, пока смотрели свою ошибку. Соответственно, железная дорога отправила составы (которые должны были ехать до Подольска, постоять там и потом обратно в Москву) сразу в Москву с опережением расписания до первой станции. Станция тоже не могла принять составы. е. То есть туда, где можно надолго поставить состав, т. У нас система это заметила и оперативно отразила на сайте. до Курского вокзала.

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

А так отображаются изменения:

Скорее всего, эти таблички знакомы вам так же, как примерно половине жителей Москвы: если вы смотрели расписание электропоезда в Рунете, то, скорее всего, попадали именно на наше.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Создатели ботнета Mirai теперь сражаются с преступностью на стороне ФБР

Три подзащитных студента, стоявшие за ботнетом Mirai – онлайн-инструментом, учинившим разрушения по всему интернету осенью 2016 при помощи мощнейших распределённых атак на отказ от обслуживания – в четверг предстанут перед судом на Аляске и попросят судью вынести новый приговор: они ...

[Из песочницы] RESS — Новая архитектура для мобильных приложений

Вопреки провокационному заголовку, это никакая не новая архитектура, а попытка перевода простых и проверенных временем практик на новояз, на котором говорит современное Android-комьюнити Введение В последнее время стало больно смотреть на то, что творится в мире разработки под мобильные платформы. ...