Управление каналами продаж в Fashion retail

Фэшн-бренд BAON проверил концепцию построения аналитического хранилища данных на основе open source решений и облачных сервисов Яндекс. Как показал пилот, инфраструктура Yandex Cloud обеспечивает гибкость работы с данными о продажах в мультиканальной сети — собственных магазинах, интернет-сайте, мобильном приложении и на маркетплейсах. Проект продемонстрировал возможности сервисов Yandex Cloud, преимущества использования фреймворка BI.Qube для извлечения данных из 1С и API маркетплейсов, а также подтвердил экспертизу команды BI.Qube в реализации подобных решений.

О заказчике

BAON – крупный российский фэшн-ритейлер с обширным ассортиментом повседневной одежды и аксессуаров. Компания активно реализует товары через маркетплейсы – Wildberries, Озон, Lamoda, Мегамаркет и Яндекс Маркет. Особенностью бизнеса является необходимость оперативной и достоверной оценки эффективности движения товаров и выручки по многочисленным каналам.

Предпосылки и задачи

Информация о продажах в BAON поступает из 1С и API маркетплейсов. Ввиду распределённости и разнородности источников данных, различий в форматах загружаемых сводок, присутствию внесистемного документооборота –формирование отчётов по принятой в компании методике происходило долго и трудозатратно.

Чтобы ускорить процесс формирования отчётов и повысить эффективность анализа продаж, компания искала возможность объединения в едином аналитическом DWH данных из документов в учётных системах компании и оперативных данных маркетплейсов, доступных по API.

Для этого были определены следующие цели проекта:

  • Единая правда в данных
  • Актуальность данных каждый день
  • Формирование отчётов и доступ к дашбордам в любое время
  • Разнородные данные по маркетплейсам из бухгалтерских документов в 1С и оперативные данные из API маркетплейсов необходимо корректно сопоставить на границах отчетных периодов
  • Минимальная зависимость от иностранных вендоров ПО
  • Работа аналитиков и менеджмента в формате self-service
  • Стабильный ИТ-сервис, который не потребует на старте новой продуктовой команды

В пилоте BAON хотел опробовать open source в виде управляемых сервисов Yandex Cloud, и оценить совокупную стоимость владения при работе с managed DB. Такой выбор позволяет получить ряд преимуществ:

  • Упростить и ускорить разработку и запуск аналитических DWH на open source, не тратя время и деньги на покупку, настройку и обслуживание собственной инфраструктуры
  • Масштабировать свои решения по мере роста потребностей в данных, не беспокоясь о производительности, надежности и безопасности баз данных
  • Использовать готовые платформы и инструменты для анализа данных, машинного обучения, визуализации и других задач, не разрабатывая их самостоятельно
  • Снизить риски потери или повреждения данных, полагаясь на автоматическое резервное копирование, восстановление и защиту данных, которые предоставляет облачный провайдер
  • Сэкономить на затратах, платя только за то, что используется, и не переплачивая за лишние ресурсы

Для реализации проекта была выбрана команда BI.Qube, обладающая экспертизой в fashion retail, необходимым опытом и подтвержденными компетенциями в open source. Исходя из целей проекта, эксперты BI.Qube сформировали задачи в области работы с данными:

  • Построение на российских и open source платформах аналитического DWH, которое автоматически собирает и консолидирует данные из всех источников (1С, маркетплейсы, Excel, мастер данные)
  • Систематизация мастер данных, в т.ч. хранящихся во внесистемных документах, внедрение MDM (Master Data Management) с системой золотой записи, для объединения противоречивых и изменяющихся данных во времени (с учётом историчности). Внедрение решения, позволяющего хранить нормативно-справочную информацию непосредственно в хранилище

Проектное решение

Команда BI.Qube определила для реализации проекта следующий технологический стек:

  • Виртуальные машины Yandex Compute Cloud
  • Yandex Managed Service for PostgreSQL
  • Озеро данных Yandex Object Storage
  • Витрины в Yandex Managed Service for ClickHouse
  • Фреймворк BI.Qube, интегрирующий сервисы Yandex Cloud (метакомпоненты MetaStaging, MetaVault, MetaControl)
  • Оркестрация в Airflow
  • Визуализация в Power BI на основе данных в ClickHouse

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

Таким образом архитектура аналитического DWH выстроена по следующей схеме:

Слой источников данных. Это слой, где находятся разные системы-источники, которые генерируют и хранят данные о бизнесе. В проекте BAON было три основные группы источников –

  • Маркетплейсы
  • Информационные базы 1C (САБ, Бухгалтерия, Управление Финансами)
  • Внесистемные и неструктурированные данные в таблицах Excel

Слой загрузки данных. Это слой, где происходит загрузка данных из разных источников в хранилище.

  • Данные о продажах с маркетплейса Wildberries загружаются в хранилище через RestAPI, который позволяет работать с данными по стандартным HTTP-методам
  • Данные о продажах со всех каналов из информационных баз 1С САБ, 1С Бухгалтерия, 1С Управление Финансами загружаются с помощью коннектора 1С, разработанного командой BI.Qube. Коннектор автоматически извлекает данные на уровне объектов 1С и запросов, находящихся в отчётах 1С, чем значительно экономит время и трудозатраты. Для того, чтобы данные поступали из 1С в слой загрузки данных, используется технология доступа к данным OLE DB. Этот унифицированный интерфейс, является провайдером, специальным драйвером, позволяющим подключаться к источнику и работать с данными из информационных баз 1С, используя SQL-запросы
  • Для загрузки и хранения данных из Excel таблиц используется объектно-ориентированное S3 хранилище Yandex Object Storage. Оно обеспечивает высокую доступность, надежность, масштабируемость и безопасность данных. Кроме того, облачное S3 хранилище Yandex Object Storage поддерживает разные классы хранения, которые позволяют оптимизировать стоимость и производительность в зависимости от частоты доступа к данным. Данные в Yandex Object Storage загружаются посредством S3 API

Данные о продажах из маркетплейса и информационных баз 1С поступают в промежуточный слой, управляемый метакомпонентом MetaStaging, после чего направляются в Yandex Managed Service for PostgreSQL.

Data Transfer для извлечения и загрузки данных был исключён из стека ввиду того, что он не умеет брать данные из 1С и не умеет грузить данные на регулярной основе. Также проблематично организовать правильное его взаимодействие с Airflow. Коннектор 1С и метакомпоненты BI.Qube в полной мере обеспечивают выполнение этих задач с высоким качеством.

Слой обработки данных. Это слой, где происходит обработка структурированных и полуструктурированных данных, загруженных в промежуточный слой и в озеро данных Yandex Object Storage, для их подготовки к аналитике. Для этого используется флагманское на российском рынке решение – Yandex Managed Service for PostgreSQL, облачный PaaS сервис для создания и управления кластерами баз данных PostgreSQL. PostgreSQL – это объектно-реляционная система управления базами данных с открытым исходным кодом, которая поддерживает множество типов данных, функций и расширений. PostgreSQL подходит для хранения и обработки структурированных и полуструктурированных данных, позволяет масштабировать базы данных как вертикально, так и горизонтально, использовать язык SQL, хранить и обрабатывать данные в нормализованном и стандартизованном виде, с учетом всех бизнес-правил и логики. В PostgreSQL создаются специальные схемы и таблицы, отвечающие за хранение и обработку данных, а также модели хранилища данных, которые преобразуют исходные данные из различных источников.

Для создания и управления этими схемами и таблицами используется фреймворк BI.Qube, связующее звено между различными компонентами архитектуры. Он обеспечивает согласованность данных, упрощает и оптимизирует процесс построения, управления и поддержки аналитического DWH, позволяя автоматически генерировать SQL-код, в визуальном интерфейсе создавать и обновлять схемы и таблицы, проверять и контролировать данные. В частности, в проекте используются следующие метакомпоненты BI.Qube: MetaStaging, MetaVault, MetaControl

Слой витрины данных. Это слой, в котором данные уже агрегированы и содержат метрики, которые считаются по определенным алгоритмам. В проекте BAON первоначально витрины данных были реализованы с помощью Yandex Managed Service for ClickHouse, который предоставил готовую инфраструктуру и управление кластерами ClickHouse. Здесь хранятся агрегированные и предварительно обработанные данные, которые оптимизированы для быстрого выполнения аналитических запросов. Для переноса данных из хранилища в витрину используются возможности интеграционной платформы Apache Airflow, скрипты на SQL и Python. В ходе работы над проектом выяснилось, что мощности Yandex Managed Service for ClickHouse избыточны для текущего объема данных и потребностей компании в оперативности получения аналитики. Поэтому для экономии ресурсов заказчика витрины были временно организованы в среде PostgreSQL.

Слой визуализации данных. Для визуализации данных и создания отчетов был использован инструмент PowerBI, который подключается к витрине данных в PostgreSQL и ClickHouse. С помощью PowerBI создано порядка 15 отчетов, которые отражают различные аспекты бизнеса, такие как продажи по магазинам, продажи по каждому маркетплейсу, воронка продаж, анализ ассортимента, динамика цен и скидок и т.д. Отчеты представляют собой интерактивные дашборды, которые позволяют фильтровать, сортировать и сравнивать данные по разным параметрам.

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

Инструменты, не доступные как готовые сервисы в Yandex Cloud на момент реализации пилота, развёрнуты в виртуальной среде Yandex Compute Cloud – фреймворк BI.Qube, Airflow и PowerBI. Виртуальные машины Yandex Compute Cloud предоставляют масштабируемые и гибкие вычислительные ресурсы, позволяют быстро создавать и управлять своими собственными серверами в облаке, на которых можно устанавливать и запускать любые программы. Виртуальные машины также дают больше контроля и гибкости над облачной инфраструктурой, так как пользователь может выбирать подходящие параметры, такие как зона доступности, количество и производительность ядер процессора, количество памяти, диски, сетевые настройки и другие.

Уникальность подхода

Подход к построению аналитического DWH команды BI.Qube выгодно отличается применением собственных инструментов. Помимо автоматизации извлечения данных из любых источников, эксперты BI.Qube могут настроить весь регулярный ETL-процесс всего за один день.

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

Сделать это полностью на «чистом» Airflow, без MetaStaging, потребует много времени. Необходимо писать код на языке Python по извлечению данных из источников, использовать драйвера DBC, организовывать подключения конкретно к таблице и описывать правила многочисленных загрузок.

Особенности проекта

Одной из ключевых технологических особенностей решения является использование собственного коннектора 1С, который значительно упрощает и ускоряет процесс интеграции данных из 1С в DWH. Коннектор 1С позволяет автоматизировать выгрузку данных из баз данных 1С любых конфигураций, включая кастомные, без необходимости писать запросы на языке 1С и использовать промежуточную SQL-базу данных. Коннектор 1С также исключает из процесса специалистов 1С, что экономит время и ресурсы, а также уменьшает риски и ошибки. Кроме того, коннектор 1С не нарушает лицензионное соглашение на 1С, так как не вносит изменений в базу данных, а только читает ее. Благодаря этому решению, команда разработчиков смогла обеспечить высокое качество и актуальность данных из 1С в DWH.

В ходе проекта также были выявлены и устранены некоторые технологические излишества, которые не приносили дополнительной пользы для аналитики. В частности, было решено отказаться от использования ClickHouse в качестве промежуточного звена между PostgreSQL и PowerBI, так как ClickHouse не мог отдавать данные PowerBI в режиме DirectQuery, который позволяет обновлять данные в реальном времени. Вместо этого все данные грузятся прямо в PowerBI в режиме импорта, что не влияет на производительность, так как данные ETL-процессом отдаются в нерабочее время. Таким образом, преимущества ClickHouse, заключающиеся в быстрой передаче данных и быстрых ответах на запросы, в этом проекте не потребовались, так как данные уже живут в PowerBI, и поэтому достаточно, чтобы витрина была на том же PostgreSQL. Это позволило сократить количество компонентов системы и упростить ее архитектуру.

Также для извлечения и загрузки данных был исключён из стека Data Transfer ввиду того, что он не умеет брать данные из 1С и не предназначен для загрузки данных в пакетном режиме. Также проблематично организовать правильное его взаимодействие с Airflow. Коннектор 1С и метакомпоненты BI.Qube в полной мере обеспечивают выполнение этих задач с высоким качеством.

Результаты внедрения

Пилот по созданию аналитического хранилища данных (DWH) для fashion retail компании был успешно реализован командой BI.Qube за три месяца. Он показал высокую эффективность и качество решения на российских и open source технологиях. Аналитическая система обладает следующими преимуществами:

  • Гибкость — система позволяет легко подключать новые источники данных, добавлять новые отчеты и изменять логику обработки данных в соответствии с бизнес-требованиями
  • Масштабируемость — система позволяет увеличивать ресурсы и распределять нагрузку по мере роста объемов данных и пользователей, не теряя производительности и надежности
  • Экономичность — система позволяет снизить затраты на разработку и поддержку решения, так как использует бесплатные и открытые технологии, а также оптимизирует использование ресурсов
  • Скорость — система позволяет быстро загружать, обрабатывать и анализировать данные, используя оптимальные алгоритмы, индексы, кэши и другие техники
  • Качество — система позволяет обеспечивать высокое качество данных, используя проверки, очистку, трансформацию, согласование и другие процессы

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

Реализация аналитического DWH в инфраструктуре Yandex Cloud позволила в кратчайшие сроки развернуть и настроить все необходимые инструменты и приступить непосредственно к задачам проекта. Залогом успеха по быстроте, безошибочности и корректности формирования кода DWH было использование фреймворка BI.Qube и его low code/no code инструментов. С помощью BI.Qube быстрее и легче решаются задачи в open source проектах, снижается трудоемкость и стоимость решения для конечного заказчика.

Система в действии

Тиражирование

Бизнесу нужна единая правда в данных и формирование отчетности и дашбордов в любое время. Мы поставили [задачами проверки концепции] масштабируемость решения, применение open-source технологий, проверку работы стека технологий Yandex Cloud и его сочетания с Microsoft Power BI. Важным критерием был опыт подрядчика и понимание отраслевой специфики fashion-ритейла — с размерами, размерными сетками и ассортиментом по моделям и цветам

Дмитрий Захаров, CIO BAON,
конференция «Практический опыт миграции платформы данных на российское ПО» (26.10.2023)

Проект реализован с использованием продукта BI.Qube командой интегратора IT Pro, которая отвечала за разработку хранилища, настройку репликации и ETL, создание витрин для высокопроизводительной аналитики. Экспертиза IT Pro помогла устранить проблемы с интеграцией данных из множества источников, задержками при работе с рассчитываемыми «на лету» данными и недостаточной производительностью аналитических запросов.

    Получить оценку проекта

    Имя

    Номер телефона

    Компания

    Электронная почта

    Даю согласие на обработку своих персональных данных и принимаю условияполитики конфиденциальности

    Наверх

    Мы на связи в мессенджерах

    Напишите нам - это самый простой и быстрый способ получить ответ удобном формате!