+7 (383) 363-50-86
Написать
Главная
Проекты
BI-аналитика для «Платферрум»

BI-аналитика для «Платферрум»

Как мы внедрили рабочее решение для маркетплейса по продаже металлопроката за 10 дней

Клиент

«Платферрум» — это первый маркетплейс в России, специализирующийся на продаже металлопроката. Проект реализуется при поддержке компании «Северсталь». Пользователи платформы — строители, производители металлоконструкций, поставщики металлообработки, финансовые и логистические провайдеры, трейдеры и представители малого и среднего бизнеса. Задача маркетплейса — быстрое и безопасное заключение сделок, а также предоставление широкого спектра онлайн-услуг. Можно сказать, что «Платферрум» — это экосистема на рынке металлопроката.

Хотите узнать, какое участие в разработке и развитии маркетплейса «Платферрум» принимала компания Digital Clouds? Читайте полный кейс https://dclouds.ru/projects/platferrum

Цели и задачи

Заказчику требовалось оперативно получать наглядную информацию о товарах, не попавших на витрину, с указанием причин. Проблема заключалась в том, что перед тем, как товар попадет в каталог маркетплейса, он проходит процесс верификации — система проверяет наличие цен, остатков, заполненность склада и другие параметры товара (их более 15). Если хотя бы одно из этих условий нарушается — товар не попадает на витрину маркетплейса.
Вместе с заказчиком мы выделили следующие задачи:
  • обеспечить контроль передачи данных по подсистемам,
  • создать инструмент для удобной отчетности,
  • подготовить рабочие места для контент-менеджеров и техподдержки.

Реализация

Наша задача заключалась в разработке быстрого и эффективного решения, которое не повлияет на текущие процессы и не станет дополнительной нагрузкой для разработчиков.
Поскольку инфраструктура «Платферрум», включая базы данных, размещена в защищенном контуре Yandex Cloud, использование Yandex DataLens стало естественным решением.

Преимущества Yandex DataLens:
1) понятный интерфейс,
2) минимальный порог вхождения,
3) быстрый вывод данных на экран в 4 шага:
  • создание подключения к источнику данных,
  • создание датасета,
  • оформление визуализаций,
  • вывод в дашборд.

Что мы сделали

1
Подключили необходимые базы данных к DataLens
Первая интеграция с хранилищем данных PostgreSQL была настроена в несколько кликов. Для этого нужно было указать параметры БД и создать пользователя на чтение данных из DataLens;

BI-1.png

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

BI-2.png

3
Сделали наглядную визуализацию в чарте
В чарте настроили индикаторы, которые загораются красным, если все товары по поставщику пропали с платформы;

BI-3.png

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

BI-4.png

Пользователи DataLens

Далее мы начали делиться результатами с коллегами, а затем DataLens быстро освоили и другие члены команды.

Пользователей DataLens на «Платферрум» можно разделить на 3 типа:
  • менеджеры, контент-менеджеры — пользуются готовой отчетностью,
  • аналитики — строят отчеты по запросу от бизнеса для общего пользования,
  • техподдержка, тестировщики, аналитики — самостоятельно строят отчеты
  • под свои запросы.

BI-5.png


Данное решение помогло нам быстро выполнить первые задачи, но у такого решения есть свои недостатки — в DataLens нельзя работать с таблицами из разных источников на уровне датасета.

Имея такое ограничение, мы не могли решать новые задачи:
  • внедрение сквозной аналитики: бизнесу нужны данные не только из мастер-системы, но и данные из CRM, чтобы строить различные воронки по клиентам;
  • мониторинг выполнения KPI по менеджерам в отделе продаж: данные по компании и ответственному менеджеру также хранятся в CRM;
  • анализ процессов разработки, построение таких метрик как TTM, LT и др.

Чтобы решить поставленные задачи мы решили создать хранилище, где будут собраны эти данные. Так, мы настроили передачу данных в ClickHouse из нескольких источников:
  • PostgreSQL: информация о заказах, товарах, покупателях и поставщиках;
  • Yandex Tracker: данные о задачах и их истории передвижения по статусам;
  • GitLab: данные о комитах;
  • CRM: лиды, сделки, данные о сотрудниках отдела продаж для расчета KPI.

BI-6.png


На текущий момент передача данных для PostgreSQL реализована с помощью сервиса Yandex Data Transfer:
  • для каждой БД PostgreSQL поднят свой трансфер, который копирует таблицы из БД и переносит в базу ClickHouse с таким же названием;
  • трансферы работают в режиме периодического копирования и запускают передачу данных с прода раз в час;
  • Yandex Data трансферы создаются командой DevOps с помощью автоматизированной инфраструктуры.

Для получения данных мы создали самописные трансферы:
  • для данных Yandex Tracker и GitLab — трансферы на Python (получаем нужную информацию с помощью API);
  • для данных из Битрикс24 — трансфер, реализованный на Node.js.

После создания единого хранилища данных мы начали создавать дашборды:
  • собрали дашборд по выполнению KPI по данным из CRM и фактическим продажам;

BI-7.png

  • построили сквозную аналитику, объединив данные из CRM и данные платформы;

BI-8.png

  • построили дашборды команде разработки по деплоям из данных GitLab;

BI-9.png

  • построили дашборд с производственными метриками по данным Yandex Tracker.

BI-10.png

Реакция на изменение структуры баз данных

Наши базы данных часто меняются:
  • добавляются новые таблицы и поля,
  • удаляются поля из таблицы,
  • удаляются таблицы,
  • меняется тип данных у полей.


Последние изменения могут негативно отразиться на дашбордах — они ломаются с ошибкой о несуществующих объектах. Первое время разработчики узнавали об изменениях постфактум — либо мы видели, что дашборды упали с ошибкой «Не существует такого поля/таблицы», либо к нам приходили пользователи и спрашивали, почему дашборд сломался.

Как мы узнаем об изменениях сейчас

Мы настроили процесс через Yandex Tracker.

BI-11.png


Системный аналитик после проработки своей задачи ставит чекбокс «Будут изменения в BI».
После релиза создается подзадача [CHGOBJ] + название Story в нашу очередь DL (класс обслуживания «Ускоренный»).
Задача BI-аналитика — ознакомиться с документацией и понять текущие изменения таблиц.

Результат

Решение от команды BI-аналитиков Digital Clouds оказалось быстрым, рабочим и масштабируемым — оно позволяет клиенту оперативно получать необходимую информацию без привлечения дополнительных ресурсов. Более того, благодаря Yandex Cloud мы обеспечили безопасность данных, что является ключевым аспектом в современном цифровом мире.

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

Развитие проекта

Сегодня BI-команда Digital Clouds работает над решением проблем миграции данных. Так как Yandex Data Transfer работают в режиме периодического полного копирования таблиц, перед каждым новым копированием таблицы в ClickHouse очищаются — в этот момент дашборды становятся недоступны пользователю на время копирования.

Первые полгода после запуска нашего решения это было некритично — дашборды обновлялись в течении 2-х минут. Но данных становится все больше, и сейчас таблицы могут обновляться по 10 минут, что неудобно для пользователей. К тому же для более качественной работы клиенту необходимо получать данные непрерывно.
Изучив способы, позволяющие осуществлять миграцию данных, сейчас команда строит новое DWH и активно тестирует Altinity Sink Connector.

BI-12.png