Привет, Хабр! Я Дмитрий Бохан, начальник отдела инновационных проектов в ПГК Диджитал. Мой отдел занимается разработкой и внедрением инновационных ИТ продуктов, мы всегда на гребне современного мейнстрима.
Перед тем, как мы перейдем к основной теме, небольшое погружение для тех, кто никогда не слышал о ПГК: наша компания является одним из крупнейших российских операторов железнодорожных грузоперевозок, а в рамках нашей ИТ дочки ПГК Диджитал, мы разрабатываем цифровые продукты для логистики.
Потребность в новом продукте
Идея разработки цифрового дашборда возникла от потребности клиента – крупного металлургического холдинга. Заказчику перевозок постоянно нужно знать, где в определенный момент находится его груз, есть ли вагоны под погрузку, и как выполняется заявленный план транспортировки. Чтобы получать такую информацию в круглосуточном режиме нужна была электронная площадка с интуитивно понятным интерфейсом для разных уровней пользователей со стороны клиента, потому что потребность в информации у линейных сотрудников и руководителей разная. Руководителям нужен «helicopter view» или вид сверху, а вот линейные сотрудники должны видеть информацию до каждого вагона в реальном времени. Так появилась идея создать дашборд на базе личного кабинета клиента (ЛКК) ПГК и наполнить его необходимыми параметрами для ежедневного обмена с клиентом.
Дашборд личного кабинета клиента – это инструмент для визуализации данных, который автоматически загружает и агрегирует информацию из разных источников. Он помогает клиенту увидеть общую картину, мониторить ключевые показатели, упрощать коммуникацию и делать прогнозы.
Сложность аналитики для крупного заказчика заключалась в многоструктурности показателей и вариативности формирования отчетов в зависимости от потребности (например, по регионам погрузки или сегментам грузов). А отсутствие единого источника приводило к разной оценке текущего состояния с обеспечением вагонами и погрузкой груза, в том числе и на совещаниях с руководителями компании.
Личный кабинет клиента за базовую платформу был выбран не случайно. Это решение имеет ряд преимуществ:
Удобство для клиента. Клиент уже имел доступ в ЛКК, персонализированный дашборд позволил получить дополнительные срезы данных, что позволило точнее видеть оперативную обстановку с выполнением заказов, в свою очередь это позволило повысить прозрачность и сэкономить время клиенту.
Безопасность данных. Все данные хранятся в ЛКК, который обеспечивает высокий уровень безопасности и защиты конфиденциальности клиента.
Использование отдельного продукта потребовало бы дополнительных расходов на инфраструктуру, тестирование безопасности, создание дополнительных сложностей для клиента в виде переключений между приложениями.
Гибкость настройки и контроль со стороны клиента. Дашборд можно настроить в соответствии с потребностями конкретного клиента, включая выбор показателей, графиков и информационных панелей. Клиент имеет полный контроль над своими данными и может настраивать доступ к различным разделам ЛКК в зависимости от потребностей сотрудников. Ряд ролей видит комплексную информацию, а ряд ролей видит ограниченную информацию необходимую для принятия оперативных решений на конкретной станции.
Снижение нагрузки на службу поддержки. Т.к. требуется поддерживать одно приложение, а не два. Нет дублирования функций (авторизация, управление правами). Клиенты могут самостоятельно решать многие вопросы, связанные с их заказами и платежами.
Дизайн и прототип
Дизайн персонализированного дашборда личного кабинета клиента (ЛКК) создавался уже на базе согласованного прототипа, сам прототип мы собрали в Excel. Проработка состояла из следующих этапов:
Заполнение информации о продукте со стейкхолдерами: предоставление информации о продукте, верхнеуровневых целях и задачах персонализированного дашборда личного кабинета.
Изучение контекста использования дашборда, определение целевой аудитории и выявление потребностей ЦА (работать им с данным решением, и нужно точно понимать, что нужно ЦА). Использовали глубинное интервью и другие методики анализа.
Сбор референсов и анализ существующих решений на рынке. Возможно есть готовые решения, и выявленную потребность можно закрыть дешевле и быстрее, чем идти в кастомную разработку.
Создание прототипов и тестирование их на фокус-группе для проверки удобства использования и соответствия ожиданиям клиента. Когда прототип удовлетворил ЦА и стейкхолдеров приступили к проработке дизайна.
Разработка концепции дизайна дашборда личного кабинета, включая навигацию, структуру, визуальное оформление и взаимодействие с пользователем.
Внесение корректировок в дизайн на основе полученных отзывов и утверждение финальной версии. (Ниже представлен итоговый дизайн)
Весь процесс у нас занял около двух месяцев, включая согласование и утверждение дизайна с клиентом.
Качественные данные
Вместе со стартом отрисовки дизайна, мы приступили к проработке источников данных. «Было гладко на бумаге, да забыли про овраги, а по ним ходить». Подготовить и качественно вывести данные – это одна их самых сложных задач при разработке дашбордов и аналогичных продуктов.
Подготовка данных:
— Хранилище данных. Логистические данные часто расположены по различным системам, таким как TM (системы управления транспортом), ERP (планирование ресурсов предприятия) и даже ручные электронные таблицы. Интеграция этих данных в одно представление было серьезной проблемой. Точность данных имеет определяющее значение для эффективного принятия решений, но данные могут были подвержены несоответствиям, ошибкам и отсутствующим значениям. В 90% случаев это было связано с ручным вводом информации и различным определением данных в разных системах. Для решения этих проблем, мы со стейкхолдерами определили мастер-данные и порядок работы с ними. Нам также пришлось изменить устоявшиеся процессы, где-то выполнить дополнительную интеграцию, и минимизировать ручной ввод.
Агрегация данных:
— Преобразование данных. Логистические данные поставляются в различных формах, включая числовые, текстовые и даже геопространственные данные. Агрегация этих разнообразных данных требовала их преобразования в единый вид.
— Гранулярность. Уровень детализации, необходимый для анализа, варьировался в зависимости от целей конкретной панели дашборда и уровня руководителя, который будет с ней работать.
— Согласованность данных. Данные должны быть стандартизированы и отформатированы последовательно для различных источников, чтобы при переходе из одного раздела в другой, пользователь не сталкивался с изменением значений. Важно при тестировании обратить на это внимание, не только на то, что у вас данные отображаются в интерфейсе, но и на то, что они еще соответствую друг-другу при переходе из раздела в раздел.
Обработка данных и визуализация:
— Объем данных. Операции логистики генерируют огромные объемы данных, и для их оперативной обработки приходится использовать сложную архитектуру хранения (Data Lake), а также распределенные вычисления, и, конечно, поиграть с джобами (job), чтобы они запускались, когда идет минимальная нагрузка на систему.
— Консистентность данных – эта точно то, что может сильно повлиять на успешность проекта, и на что стоит обратить внимание. Чтобы уменьшить влияние консистентности данных на проект, мы составили чек-лист, который в дальнейшем сильно сократил проблемы:
-
Как проверить дубликаты?
Найдите и удалите дублирующиеся записи.
Проверьте уникальность ключевых идентификаторов (ID).
-
Как проверить целостность ссылок?
Убедитесь, что все внешние ключи ссылаются на существующие записи.
Проверьте корректность связей между таблицами.
-
Как проверить наличие пустых значений?
Определите и устраните отсутствующие (null) значения в обязательных полях.
Проверьте заполненность всех обязательных полей.
-
Как проверить типы данных?
Убедитесь, что все поля содержат данные соответствующего типа (например, даты, числа).
Проверьте правильность форматов данных (например, e-mail, телефонных номеров).
-
Как проверить диапазоны значений?
Проверьте, что числовые данные находятся в допустимых диапазонах.
Убедитесь, что даты лежат в пределах допустимых временных рамок.
-
Как проверить соблюдение логики данных?
Убедитесь, что данные соответствуют бизнес-правилам (например, дата окончания после даты начала).
Проверьте зависимые поля на корректность их значений (например, статус заказа и дата выполнения).
-
Как проверить форматирование данных?
Проверьте, что данные соответствуют установленным стандартам форматирования.
Убедитесь в отсутствии несанкционированных символов.
-
Как проверить согласованность данных?
Убедитесь, что одинаковые данные согласованы между различными источниками или таблицами.
Проверьте консистентность данных в связанных таблицах.
-
Как проверить полноту данных?
Проверьте, что все необходимые данные присутствуют и нет пропущенных элементов.
Убедитесь в полном заполнении данных для всех записей, где это требуется.
-
Как проверить временные метки?
Убедитесь, что временные метки последовательны и корректны.
Проверьте правильность часовых поясов и последовательность событий.
-
Как проверить кросс-табличную целостность?
Сравните данные между таблицами и убедитесь, что они синхронизированы.
Проверьте согласованность сумм и средних значений между таблицами.
-
Как проверить актуальность данных?
Убедитесь, что данные актуальны и соответствуют текущей ситуации.
Проверьте, что используемые данные обновлены (например, курсы валют).
-
Как выявить аномалии в данных?
Найдите и проанализируйте необычные или экстремальные значения, которые могут быть ошибками (например, отрицательные суммы).
-
Как проверить соответствие требованиям?
Убедитесь, что данные соответствуют требованиям конкретного проекта или задачи.
Проверьте, что данные подходят для отчетности или анализа.
-
Как автоматизировать проверки?
Настройте автоматические проверки для регулярного контроля данных.
Убедитесь, что результаты проверок фиксируются и анализируются.
Настройте уведомления, которые приходят на почту или в телеграм (как в нашем случае), если к вам пришли сломанные данные.
Этот чек-лист поможет вам последовательно провести проверку данных и обеспечить их консистентность, что точно сэкономит вам силы и нервы при дальнейшей эксплуатации.
Преимущества дашборда
Продукт был успешно презентован нашему клиенту. Мы смогли максимально компактно отобразить сложную структуру перевозок металлургической компании. На одном экране собрана основная информация, которую раньше клиенту приходилось вручную собирать из разных источников. Благодаря адаптивным настройкам пользователь может сам выстроить удобный интерфейс под свои потребности в разрезе определенных станций или грузов.
Акцент был сделан также на востребованность продукта не только у отдельных специалистов по выделенным станциям/грузам, но и у руководителей различных функций, а именно, как он сможет помогать принимать управленческие решения.
Достаточно одного взгляда на дашборд, чтобы оценить текущую обстановку, определить «узкие» места и заранее принять правильные решения. Например, скорректировать объемы перевозок, подготовить обращение об усилении заадресовки вагонов или наоборот приостановить подсыл парка.
В целом, создание дашборда на базе ЛКК позволяет улучшить взаимодействие между клиентом и компанией, повысить удовлетворённость клиентов и оптимизировать процессы работы с клиентами.