BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

Отраслевые решения

  • Дистрибуция
  • Розничная торговля
  • Производство
  • Операторы связи
  • Банки
  • Страхование
  • Фармацевтика
  • Нефтегазовый сектор
  • Лизинг
  • Логистика
  • Медицина
  • Сеть ресторанов
  • Сельское хозяйство и агрохолдинги
  • Энергетика
  • E-Commerce
  • FMCG
  • Пищевая промышленность
  • Селлеры на маркетплейсах
  • Строительные компании и девелоперы

Функциональные решения

  • Управление по KPI
  • Финансы
  • Продажи
  • Склад
  • Категорийный менеджмент
  • HR
  • Маркетинг
  • Внутренний аудит
  • Геоаналитика, аналитика на географической карте
  • Цепочка поставок (SCM)
  • S&OP и FP&A
  • Разработка стратегии цифровой трансформации
  • Process Mining
  • Интегрированное планирование (IBP)
  • Закупки
  • ИТ (CIO)
  • Построение хранилища данных
  • Создание Data Lake и Data Engineering
Главная » Решения Эксперт-BI на российских BI-платформах » Эксперт-BI Логистика: система бизнес-анализа для логистической компании, 3PL » Решение для Рейсовой модели в железнодорожной логистике » BI/DWH для Рейсовой модели в железнодорожной логистике » Выявление незакрытых рейсов - поиск вагонов по которым отсутствует событие завершения рейса и которые продолжают числиться в движении или на станции

Выявление незакрытых рейсов - поиск вагонов по которым отсутствует событие завершения рейса и которые продолжают числиться в движении или на станции

Бизнес-кейс этой главы заключается в необходимости своевременного обнаружения вагонов, у которых отсутствует зафиксированное завершение рейса, но которые продолжают находиться в движении или на станциях. Такие случаи приводят к искажению данных в аналитике рейсовой модели, погрешностям в KPI по utilisations и загрузке парков вагонов, а также к рискам в планировании перевозок. Эффективное решение требует интегрированной архитектуры данных, точной идентификации «незакрытых» рейсов и оперативных механизмов устранения данных расхождений. В главе рассматриваются архитектура и методы, которые позволяют детектировать незакрытые рейсы на уровне DWH/BI, а также практические алгоритмы и примеры реализации.

 

Краткое содержание главы

  • Привычная архитектура DWH для анализа рейсовой модели и точка входа событийGV
  • Алгоритмы обнаружения незакрытых рейсов и критерии валидности
  • Реализация: SQL-запросы, протоколы интеграции и проверки качества данных

     

Архитектура и модель данных для выявления незакрытых рейсов

Основной набор сущностей в модели данных для анализа рейсовой модели включает вагон, рейс (или рейс-диапазон), событие рейса и географическую локацию (станцию). В рамках BI DWH целесообразно реализовать звездную схему, где факт-таблица рейсов (fact_flight или fact_trip) агрегирует ключевые события и параметры рейсов, а размерные таблицы (dimension) описывают вагоны, станции, типы событий, временные эпохи и контекст перевозки.

  • Факт-таблица: trips_fact
    • ключи: trip_id, wagon_id
    • измерения: start_time, end_time, status, origin_station_id, destination_station_id, duration, distance, movement_time
  • Таблица размерностей:
    • dim_wagon: wagon_id, wagon_type, owner, fleet_number, manufacturing_year
    • dim_station: station_id, station_name, city, country
    • dim_event: event_type (START_RIDE, MOVEMENT, ARRIVAL, END_RIDE), event_time, related_trip_id
    • dim_time: calendar, week, month, quarter, year
  • Тригерная логика и связь событий:
    • Каждый рейс имеет start_time и может иметь end_time. Однако незакрытые рейсы имеют end_time = NULL или отсутствующие END_RIDE события.
    • События MOVEMENT/ARRIVAL/DEPARTURE регистрируются как факторы, влияющие на актуальность рейса и статус вагонов.

Контекст интеграции данных с источников: транспортно-логистические ERP/TMS-системы, AVL/IoT-сенсоры, WMS/ERP для станции, а также журнал движений. В рамках архитектуры данные проходят через конвейеры ELT/ETL с характерной схемой CDC (change data capture) и стриминговой загрузкой в Data Lake/ried BI-каталог. Преимуществом такого подхода является возможность проводить кросс-ссылку между активными рейсами и текущей локацией вагона, определяя случаи отсутствия завершающего события.

 

Схема потоков данных и интеграции

  • Источники: TMS/ERP системы (основные данные о рейсах), AVL-системы (позиционирование вагонов), WMS (станции, график), IoT-датчики (события движения).
  • Интеграция: Kafka-очереди для потоковых событий, Debezium или аналогичный CDC-слой для изменения данных в исходных системах, ELT в Data Lake и загрузка в аналитическую схему DWH.
  • Контракты и качество данных: формальные соглашения по идентификаторам рейсов и вагона, единообразие форматов времени, обработка задержек и ошибок дублирования.
  • Технологический набор: PostgreSQL/Greenplum или ClickHouse для хранения фактов и размерностей; Apache Kafka для потоков; Apache Airflow или Dagster для оркестрации; BI-инструменты (Power BI, Tableau, Looker) для визуализации.
  • Надежность и идемпотентность: лимитированные повторные записи, контроль версий записей, аудит изменений, мониторинг задержек конвейера.

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

 

Алгоритм обнаружения незакрытых рейсов

Алгоритм ориентирован на своевременное обнаружение рейсов, где отсутствует зафиксированное завершение и вагон продолжает движение или находится на станции. Он строится вокруг следующих принципов:

  • Определить текущие активные рейсы: выбрать рейсы с end_time NULL или без END_RIDE события, связанные с текущим trip_id.
  • Проверить наличие END_RIDE событий для текущего рейса: если END_RIDE не зафиксирован - рейс считается незакрытым.
  • Подтвердить «жизненность»остающихся движений: для данного вагона проверить наличие последующих MOVEMENT/ARRIVAL/DEPARTURE событий после start_time. Отсутствие таких событий уменьшает уверенность в незакрытом рейсе и требует дальнейшей проверки.
  • Контекст станции: если вагон сейчас на станции, это может быть признаком остановки или ожидания в передаче, что также должно отражаться в метрике незакрытых рейсов.
  • Валидация и корреляция: сопоставление событий между системами (AVL, WMS, TMS) для устранения противоречий и дублирующих записей; учет временных зон и задержек в синхронизации.

     

Этапы процесса:

  1. сбор и нормализация данных по рейсам и событиям во всех источниках;
  2. идентификация активных рейсов без END_RIDE;
  3. анализ связанных событий движения после старта;
  4. формирование порога «неверифицированных» записей и постановка их в очередь на исправление;
  5. генерация предупреждений и дашбордов для оперативного реагирования.

     

Интеграции и протоколы

Чтобы реализовать данный подход в рамках единого BI DWH, необходимы гибкие интеграционные протоколы и понятные контракты между системами:

  • данные о рейсах и событиях, включая идентификаторы вагонов и рейсов, должны иметь единый идентификатор trips.trip_id и wagon_id;
  • время синхронизации должно приводиться к единой временной зоне, желательно UTC, с учетом переходов и задержек;
  • протокол обмена данными: REST API/Message Bus для реальных событий; CDC-оповещения для изменений в TMS/ERP; периодический пакетный обмен для исторических изменений;
  • ответственность за качество данных: владельцы данных (data owners) в каждой системе, SLA на задержки и обработку ошибок;
  • обеспечение идемпотентности: уникальные ключи и детерминированная обработка повторных событий.

     

Реализация: алгоритм и примеры SQL-запросов

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

-- Определение активных рейсов без зафиксированного END_RIDE
SELECT
  t.trip_id,
  t.wagon_id,
  t.start_time,
  t.end_time,
  t.status
FROM trips_fact t
LEFT JOIN (
  SELECT DISTINCT related_trip_id
  FROM events_dim
  WHERE event_type = 'END_RIDE'
) e ON e.related_trip_id = t.trip_id
WHERE t.end_time IS NULL
  AND e.related_trip_id IS NULL
ORDER BY t.start_time;
-- Расширенная логика: проверка наличия движения после старта
SELECT
  t.trip_id,
  t.wagon_id,
  t.start_time,
  t.status
FROM trips_fact t
LEFT JOIN (
  SELECT DISTINCT related_trip_id
  FROM events_dim
  WHERE event_type = 'END_RIDE'
) e ON e.related_trip_id = t.trip_id
WHERE t.end_time IS NULL
  AND e.related_trip_id IS NULL
  AND EXISTS (
    SELECT 1
    FROM events_dim ev
    WHERE ev.wagon_id = t.wagon_id
## AND ev.event_time > t.start_time
      AND ev.event_type IN ('MOVEMENT', 'ARRIVAL', 'DEPARTURE')
  )
ORDER BY t.start_time;

Обоснование выбора SQL-логики:

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

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

 

Реализация в процессе интеграции

  • этапы внедрения
    • проектирование схемы и нормализация ключей: trip_id, wagon_id, event_type
    • настройка CDC-потоков и buffering для минимизации потери данных
    • создание полнофункциональных представлений (views) и материализованных представлений для ускорения аналитики
    • разработка дэшбордов оперативной аналитики по незакрытым рейсам
    • регламент мониторинга качества данных и регламентов исправления ошибок
  • практика best practices
    • минимизация дубликатов через уникальные ключи и строгую схему схлопывания
    • обеспечение идемпотентности конвейеров: повторные загрузки не приводят к ложным дубликатам
    • тестирование на тестовых стендах: моделирование сценариев незакрытых рейсов и некорректной синхронизации
    • обеспечение аудита и логирования для расследования случаев спорной регистрации
  • операционные требования
    • роли и ответственность за данные по рейсам, владение данными в системах источников
    • регламенты по изменению схемы данных и миграциям
    • план резервирования и восстановления после сбоев

       

Валидация и мониторинг

Ключевые показатели валидности: точность идентифицированных незакрытых рейсов, процент ложных срабатываний, задержка между событием и обновлением в DWH, доля незакрытых рейсов среди активных. Метрики можно отразить в дашбордах BI: количество незакрытых рейсов за период, топ вагонов по незакрытым рейсам, стационарные узлы с повторяющимися случаями. Внутренние проверки включают сверку с TMS/ERP данными, контроль версий событий и регулярную углубленную проверку корректности временных меток.

 

Внедрение и операционные требования

Успешное внедрение требует ясной стратегии управления изменениями, согласования по данным и надёжной инфраструктуры. Рекомендации:

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

     

Key takeaways

  • Незакрытые рейсы представляют риск для точности аналитики и операционной эффективности, требуя консолидации данных из TMS, AVL и WMS.
  • Архитектура DWH должна поддерживать единый идентификатор рейса и вагона, потоковую загрузку и корректную синхронизацию времени.
  • Алгоритм выявления основывается на отсутствии END_RIDE для текущего рейса и наличии последующих движений после старта.
  • Реализация в SQL должна быть адаптирована под конкретную модель данных, с учетом движения и статусов на станции.
  • Важна валидация данных и мониторинг качества, а также четкие операционные процессы для исправления расхождений.
  • Интеграционные протоколы и CDC упрощают сбор данных в BI DWH и повышают актуальность аналитических материалов.
  • В процессе внедрения следует соблюдать best practices по идемпотентности, аудиту данных и управлению изменениями.

     

FAQ

  1. Какова основная цель выявления незакрытых рейсов в BI DWH?
  • Цель состоит в исправлении искажений в аналитике рейсовой модели, связанных с отсутствием завершающего события для активных рейсов, чтобы KPI по использованию вагонов, обороту и загрузке объектов логистики были корректны и своевременны.

 

  1. Какие данные необходимы для детекции незакрытых рейсов?
  • Необходимы данные о рейсах (trip_id, wagon_id, start_time, end_time, status), событиях (event_type, event_time, related_trip_id, wagon_id), а также контекст по станциям и движению (station_id, движение, ARRIVAL/DEPARTURE), желательно с единым timestamp и единообразной временной зоной.

 

  1. Какие риски связаны с некорректной детекцией?
  • Ложные срабатывания, пропуски движений из-за задержек синхронизации, дублирование записей из-за неоптимального конвейера, неверная идентификация текущего активного рейса. Для минимизации рисков требуется надежный контроль качества данных и аудит изменений.

 

  1. Какие технологии применимы для реализации?
  • В качестве базовой стековой конфигурации: PostgreSQL/ClickHouse для моделей данных, Kafka для потоковых событий, Debezium для CDC, Airflow/Dast для оркестрации, Power BI/Tableau для визуализации. В качестве альтернативы можно рассмотреть российские решения для обработки больших данных и визуализации с учетом ограничений безопасности.

 

  1. Какой пример архитектуры наиболее эффективен для больших парков вагонов?
  • Энд-то-энд архитектура: источники → CDC/стриминг → Data Lake/оперативный DWH → звездная схема (fact/dim) → представления и материалы для BI. В крупных системах важна горизонтальная масштабируемость, правильная агрегация по времени и продуманная архитектура индексов.

 

  1. Как обеспечить точность и своевременность данных?
  • За счет распространения CDC-событий, обработки в реальном времени или near-real-time, использования идемпотентной загрузки и журналирования изменений, а также регулярной сверки с источниками (TMS/ERP, AVL) и мониторинга задержек в конвейере.

 

  1. Какие дополнительные проверки можно внедрить?
  • Регулярные сверки с реестрами станций и движений, контроль целостности между фактами и размерностями, тестирование на синхронизации часовых зон, автоматические регламенты исправления ошибок и повторные загрузки данных по расписанию.

 

  1. Как корректировать данные после обнаружения незакрытых рейсов?
  • В процесс коррекции включаются: идентификация источника расхождения в первичных системах, исправление записей в TMS/ERP, повторная загрузка в DWH, обновление материалов представления и уведомление стейкхолдеров об изменениях и причинах дубликатов.

 

  1. Какие риски связаны с интеграцией через CDC и стриминг?
  • Возможны задержки в потоке, пропуски событий, проблемы согласованности временных зон и дублирование, что требует стратегии идемпотентной загрузки и контроля версий данных.

 

  1. Как оценивать эффект внедрения детекции незакрытых рейсов?
  • Оценка проводится через показатели точности обнаружения, снижение ошибок в KPI, уменьшение несостыковок в движении вагонов и улучшение оперативного планирования. Важно также измерять время реакции на выявленные расхождения и качество исправлений.

 

← Предыдущая статья
Определение границ рейса - расчет момента начала и завершения рейса на основе операций отправления прибытия изменения накладной и смены станции назначения
Следующая статья →
Сопоставление рейсов и накладных - проверка соответствия фактических перемещений вагона данным перевозочных документов для выявления расхождений

 

Узнать стоимость решенияЗапросить видео презентацию

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ПАО «Ростелеком» — российский провайдер цифровых услуг и сервисов. Предоставляет услуги широкополосного доступа в Интернет, интерактивного телевидения, сотовой связи, местной и дальней телефонной связи и др. Занимает лидирующие позиции на российском рынке высокоскоростного доступа в интернет, платного ТВ, хранения и обработки данных, а также кибербезопасности

  • ПАО «Транснефть» – крупнейшая российская нефтепроводная компания. «Транснефть» обеспечивает транспортировку более 85% добываемых в России нефти и нефтепродуктов.

  • АО «Евросиб СПб–транспортные системы» – оператор контейнерных сервисов с широкой сетью маршрутов на внутрироссийских и международных направлениях. Имеет успешный опыт управления парком фитинговых платформ, а также организации ускоренных контейнерных поездов, в основе которых точное расписание, оптимальные сроки доставки груза и экономическая целесообразность.

  • Торгово-производственному холдингу ТБМ, специализирующемуся на поставке комплектующих и фурнитуры для производства окон, дверей, стеклопакетов и мебели, был необходим аналитический инструмент для выявления узким мест и поиска зон роста бизнеса и, как результат, оптимизации процессов. Добиться этого можно было, только внедрив data-driven подход.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.