Хранилище данных для продавцов маркетплейсов

Объединяем данные из Ozon, Wildberries, Gold Apple, Яндекс Маркета, 1С и агрегаторов (MPStats) в единую систему. Сводим продажи, остатки, цены, конкурентов. Дальше — отчёты, аналитика, прогнозы, автоматизация.

С какой проблемы начинаем

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

  • Данные разрознены: Ozon, WB, ЯМ, 1C, MPStats.
  • Excel тормозит и ломается на больших объёмах.
  • Отчёты противоречат друг другу, спорим «кто прав».
  • Нет истории и причин: «почему просел SKU?» — непонятно.
  • Решения принимаем «на ощущениях», а не на данных.
  • Неликвид копится, закупки делают «на всякий случай».
  • Реклама без связи с остатками и ценой — деньги в пустоту.
  • Команда занята сводками, а не управлением продажами.

Хранилище данных (DWH) решает это: все источники собираем, приводим к общей логике, обновляем автоматически. В любой момент понятно «что происходит» и «что делать».

Схема DWH: хаос выгрузок → единая витрина

Слева — разрозненные выгрузки и отчёты, справа — единая картина бизнеса.

Зачем это бизнесу

  • Один источник правды по всем площадкам и SKU.
  • Прозрачные отчёты: продажи, финансы, остатки, реклама, конкуренты.
  • Прогноз спроса и рекомендации по цене и закупкам.
  • Готовые выгрузки в Excel и визуализации в DataLens.

Кому это нужно

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

  • Продавцам на двух и более площадках (Ozon, Wildberries, Яндекс Маркет, Gold Apple).
  • Командам, у которых данные разъехались между отделами и файлами.
  • Компаниям, которые хотят прогнозировать спрос, управлять ценами и рекламой.
  • Бизнесу, который вырос из Excel и хочет стабильный процесс.

Короткие схемы см. ниже в разделе «Примеры UML».

Архитектурные примеры (UML + иконки)

Краткие схемы для ориентирования. Убрали лишние автогенерированные блоки, оставили только полезные.

Поток данных: источники → витрины

Yandex CloudМаркетплейсы/API
Airflow (ETL)
Object Storage (S3/MinIO, raw)
ODS (PostgreSQL)
DWH (ClickHouse)
Витрины (views/materialized)
BI (DataLens) / Excel

Сырые данные сохраняем отдельно. Модель — слоистая. Витрины — под задачи пользователей.

Управление: код, сборка, оркестрация

Yandex CloudGitLab/GitHub
CI/CD
Kubernetes
Airflow
Наблюдаемость и алерты

Код → проверка → контейнеры → кластер → задачи по расписанию с отчётностью.

Что собираем

  • Продажи по SKU, категориям, брендам.
  • Остатки, логистика, скорость оборачиваемости.
  • Цены, скидки, промо, конкуренты.
  • Отзывы, рейтинг, тексты для анализа ИИ.
  • Финансы: выплаты, комиссии, удержания.
  • Реклама: ставки, показы, клики, конверсии.
  • Справочники: карточки, SKU, номенклатура 1С.
  • Внешние источники: MPStats и другие агрегаторы.

Источники: официальные API маркетплейсов, выгрузки, 1С, MPStats. Данные приводим к единому формату. Храним историю.

Почему важно хранить у себя

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

[Здесь будет схема полей: продажи, остатки, цены, конкуренты, финансы, реклама]

На схеме показаны сущности и связи, которые мы приводим к общей модели данных.

Архитектура решения

Строим слой за слоем. Обеспечиваем скорость, отказоустойчивость и прозрачность.

  • Staging — сырые данные из источников. Не меняем.
  • ODS — очищаем, валидируем, нормализуем. Готовим к моделированию.
  • DWH — бизнес-модель: факты, измерения, историзация.
  • Data Marts — витрины под отчёты: продажи, финансы, маркетинг.
graph TD
  A[Маркетплейсы/API/1C/MPStats] -->|Extract| B[Staging]
  B -->|Clean/Normalize| C[ODS]
  C -->|Model| D[DWH: Факты и Измерения]
  D -->|Aggregate| E[Витрины]
  E --> F[Отчёты / DataLens / Excel / BI]
  D --> G[ML/AI: прогноз, цены, реклама]
sequenceDiagram
  participant MP as Маркетплейсы
  participant ETL as Airflow ETL
  participant ST as Staging
  participant ODS as ODS
  participant DWH as DWH
  participant DM as Витрины
  MP->>ETL: API вызовы (продажи, остатки, цены)
  ETL->>ST: Сохраняем сырые данные
  ETL->>ODS: Чистим, нормализуем, валидируем
  ETL->>DWH: Загружаем факты и измерения (SCD)
  ETL->>DM: Агрегируем под отчёты
  DM->>Пользователи: Дашборды, Excel, выгрузки

Стек технологий (по категориям)

Языки

  • Python — ETL, обработка данных, ML.
  • TypeScript/JavaScript — веб‑интерфейсы, интеграции.
  • Bash (Shell) — оркестрация окружений, скрипты.

Базы и хранилища

  • ClickHouse — аналитика и быстрые агрегации.
  • PostgreSQL — справочники, OLTP, интеграции.
  • Redis — кеш/очереди.
  • ChromaDB — эмбеддинги для LLM/VLM.
  • MinIO (S3) — бэкапы, артефакты, выгрузки.

Оркестрация и инфраструктура

  • Apache Airflow — DAG, ретраи, алерты.
  • Kubernetes — масштабирование воркеров.
  • Docker — изолированные окружения.
  • GitLab/GitHub CI/CD — релизы и автодеплой.

Аналитика и отчёты

  • Yandex DataLens — дашборды.
  • Excel (XlsxWriter) — автогенерация отчётов.
  • Next.js — веб‑приложения и админки.

ML/AI и LLM/VLM

  • TensorFlow — прогноз спроса, рекомендации.
  • OpenCV — проверка контента, CV‑задачи.
  • LLM/VLM — анализ отзывов, поиск по описаниям.

Библиотеки

  • pandas / numpy — подготовка данных.
  • requests/httpx — интеграции с API.
  • pydantic — валидация схем и моделей.

Работаем в вашем или нашем контуре. Подбираем стек под задачи, бюджет и SLA.

Почему Airflow

  1. Собираем данные из API и выгрузок. Ретраи, бэкофф, квоты/скорость, идемпотентность.
  2. Очищаем: удаляем дубли, приводим даты/валюты/часовые пояса.
  3. Сопоставляем идентификаторы SKU/GTIN/Артикул/1С. Ведём таблицы соответствий.
  4. Историзируем атрибуты (SCD). Храним первичные ключи и валидируем связи.
  5. Контроль качества: схемы, обязательные поля, диапазоны, аномалии.
  6. Публикуем витрины. Алерты в Telegram/почту при сбоях и задержках.
[Здесь будет скриншот пайплайна Airflow с DAG для Ozon/WB]

На скриншоте: DAG в Airflow — сбор, очистка, загрузка, публикация.

50–100 API

Подключаем десятки API. Сначала сохраняем «сырые» данные (Staging) без изменений — это страховка и аудит. Затем строим модель: факты и измерения. Отдельно решаем, что хранить в ClickHouse, а что — в PostgreSQL.

  • Факты: продажи, транзакции, показы/клики — большие таблицы, апенды.
  • Измерения: товары, категории, магазины, прайс‑листы — атрибуты, SCD.
[Схема: источники → Staging → ODS → DWH → витрины]

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

Витрины и представления

Делаем слой представлений (views) и материализованных витрин под конкретные вопросы. Это ускоряет отчёты и упрощает SQL. Правила агрегации — как код, под ревью.

  • Views — для онлайна и гибкости.
  • Materialized views — для тяжёлой аналитики.
  • Инкрементальные витрины — для больших фактов.

Админ‑панель

Предоставляем удобный интерфейс: веб‑приложение (Next.js), телеграм‑бот или Streamlit. Запуск задач, просмотр статусов, ручные перезапуски, выгрузки, роль‑доступ.

[UI: «обновить данные», «выгрузить Excel», «пересчитать витрину»]

Интерфейс под вашу команду: минимум кликов — максимум результата.

Git/S3/CI

Код храним в GitLab/GitHub. Для файлов используем S3 (обычно MinIO — бесплатный и удобный). Логика сборки — в Docker. Деплой — через CI/CD. MinIO используем для хранения изображений (иконки, артефакты), выгрузок и бэкапов.

  • Git — ветки, MR, ревью, релизы.
  • MinIO/S3 — бэкапы выгрузок, снимки данных, отчётные артефакты и изображения.
  • CI/CD — проверка кода, тесты ETL, автодеплой.

Инфраструктура

Разворачиваем в Kubernetes или на виртуалках — по вашему выбору. Секреты в менеджере секретов, доступ по ролям, сетевые политики, аудит.

  • Kubernetes — масштабирование воркеров ETL, горизонтальные автоскейлеры.
  • Airflow — центральная оркестрация DAG, SLA, ретраи, идемпотентность.
  • Ваша VPC/облако — секреты в менеджере (Vault/YC Lockbox), политики сети.

ML и ИИ

Когда данные собраны и приведены к модели, подключаем алгоритмы. Цель — принимать решения быстрее и точнее: прогнозировать, рекомендовать, оптимизировать.

  • Прогноз спроса (учёт сезонности, промо, конкурентов), динамические цены.
  • Оптимизация закупок и логистики: дни до нуля, оборачиваемость.
  • Оптимизация рекламы: ставки, бюджет, ROMI; связь с остатками/ценой.
  • LLM/VLM: анализ отзывов, поиск по описаниям, сравнение карточек.

Админ-панель и управление

Предоставляем удобный интерфейс: веб-приложение (Next.js), телеграм-бот или Streamlit. Запуск задач, просмотр статусов, ручные перезапуски, выгрузки, роль-доступ.

[UI: кнопки «обновить данные», «выгрузить Excel», «пересчитать витрину»]

Интерфейс под вашу команду: минимум кликов — максимум результата.

Результаты

  • Видите полную картину по всем площадкам в одном месте.
  • Управляете ценами осознанно. Снижаете неликвид.
  • Планируете закупки по прогнозу спроса.
  • Оптимизируете рекламу на данных, а не на ощущениях.

Этапы внедрения

  1. Аудит данных и целей. Согласуем метрики.
  2. Проектирование архитектуры. Источники и витрины.
  3. Настройка сборки: Airflow, коннекторы, расписания.
  4. Моделирование DWH. Витрины под отчёты и решения.
  5. Отчёты в DataLens. Экспорты в Excel через XlsxWriter.
  6. ML‑модули: прогноз, цены, закупки.
  7. Обучение команды. Регламенты и поддержка.

Опыт

Делали проекты с пайплайнами в Airflow, витринами в ClickHouse и отчётами в DataLens. Интегрировали данные 1С, маркетплейсов и агрегаторов. Под каждую компанию адаптировали модель и отчётность. Обобщаем опыт, не раскрывая детали.

Качество данных и идентификация

У разных площадок разные идентификаторы. Мы выстраиваем сопоставление: SKU, артикул, баркод, внутренний код, 1C. Разрешаем дубли и «разъехавшиеся» карточки.

  • Профили качества: обязательные поля, диапазоны, форматы, ссылочная целостность.
  • Идентификация и мэппинг: ключи соответствий, таблицы соответствий, аудит.
  • Дедупликация: правила сравнения, подтверждение вручную при необходимости.
  • Контроль изменений: кто и когда поменял атрибуты, отчёт о расхождениях.
[Схема: ключи соответствий SKU/GTIN/Артикул/1C → Единая карточка]

Сопоставление идентификаторов снижает ошибки в отчётах и прогнозах.

Производительность и масштабирование

ClickHouse — для быстрых аналитических запросов; PostgreSQL — для справочников и интеграций. Дизайн таблиц и индексов под ваши отчёты.

  • ClickHouse: партиции по дате/категории, сортировка по ключам, агрегирующие таблицы, материализованные представления.
  • PostgreSQL: индексы, партиционирование, autovacuum-параметры, внешние ключи.
  • Инкрементальные загрузки: только изменения, CDC, upsert‑паттерны.
  • Кэширование: Redis для горячих агрегатов и UI-ответов.

Витрины и отчёты

Делаем отчёты для ежедневной работы руководителя, категорийщика, закупщика и маркетолога. Всё — в несколько кликов. Сравнение с конкурентами (MPStats) — отдельные витрины для долей, цен и динамики.

[Отчёт по продажам и остаткам]

Ежедневный отчёт: продажи, остатки, оборачиваемость, дни до нуля.

[Финансовый отчёт и сверка выплат]

Финансы: выручка, комиссии, удержания, сверка выплат.

[Отчёт по рекламе]

Реклама: ставки, CPC, CTR, ROMI. Связь с продажами и остатками.

Роли и процесс работы

Вы будете понимать, кто и что делает каждый день. Решения принимаются быстро и прозрачно.

  • Руководитель: видит «картину дня», принимает решения по ценам и бюджету.
  • Категорийщик: контролирует ассортимент, остатки, оборачиваемость.
  • Маркетолог: ведёт кампании на базе метрик и ограничений по складу.
  • Аналитик: проектирует витрины, проверяет качество, автоматизирует выгрузки.

Резервирование и DR

Делаем бэкапы и план восстановления. Тестируем сценарии отказа.

  • Бэкап баз и конфигураций (S3/MinIO) с retention.
  • Репликация ClickHouse/PG при необходимости.
  • План восстановления и регламенты ответственных.

Машинное обучение и ИИ

Когда данные собраны и приведены к модели, подключаем алгоритмы. Цель — принимать решения быстрее и точнее: прогнозировать, рекомендовать, оптимизировать.

  • Прогноз спроса по SKU и категориям (сезонность, тренды, промо).
  • Динамическое ценообразование с учётом конкурентов и остатков.
  • Оптимизация закупок: когда и сколько заказывать.
  • Оптимизация рекламы: ставки, распределение бюджета, ROMI.
  • Анализ отзывов: тональность, темы, причины возвратов (LLM).
  • Компьютерное зрение: проверка карточек, соответствие фото (OpenCV).
  • VLM-модели: понимание изображения + текста, сравнение карточек.
  • Рекомендации ассортимента и кросс-продаж.

Стек ML/AI: TensorFlow, OpenCV, LLM/VLM-модели. Храним эмбеддинги в ChromaDB при необходимости.

Развёртывание: bare-metal с GPU, on‑premise, или API провайдеров. По желанию — хостим у нас.

[Схема: DWH → Витрины → ML-пайплайн → Рекомендации/Прогнозы]

ML-пайплайн использует витрины как стабильный источник данных и пишет результаты обратно.

Процессы и SLA

  • Расписания: ежедневно/почасово/по событию; окна задержек; приоритеты.
  • Мониторинг: Airflow, логи, метрики (задержка, объёмы, ошибки).
  • Качество: уникальность, полнота, схемы, пороги аномалий.
  • Регламенты принятия решений и ответственные за витрины.
[Скрин: алерты и мониторинг Airflow/ClickHouse/Logs]

Мониторинг: задержка данных, провал задания, качество загрузок.

Результаты для бизнеса

  • Видите полную картину по всем площадкам в одном месте.
  • Управляете ценами осознанно. Снижаете неликвид.
  • Планируете закупки по прогнозу спроса.
  • Оптимизируете рекламу на данных, а не на ощущениях.

Роли и процесс

  • Руководитель: видит «картину дня», принимает решения по ценам и бюджету.
  • Категорийщик: контролирует ассортимент, остатки, оборачиваемость.
  • Маркетолог: ведёт кампании на базе метрик и ограничений по складу.
  • Аналитик: проектирует витрины, проверяет качество, автоматизирует выгрузки.

Политика хранения

Мы не полагаемся на долгосрочное хранение у маркетплейсов: там история ограничена. Храним у вас столько, сколько нужно бизнесу: от 2 лет до «бессрочно» — по политике компании и требованиям комплаенса. MinIO используем для сохранения изображений и отчётных артефактов.

  • Staging (raw) — полный слепок ответов API.
  • ODS/DWH — нормализованные таблицы с историзацией.
  • S3/MinIO — архивы, бэкапы, большие бинарные файлы.

Безопасность и доступы

  • Храним доступы в секретах, разделяем роли.
  • Разграничиваем доступ к витринам по отделам.
  • Логируем действия и операции загрузки.

FAQ

Сколько это занимает по времени?

Пилот — 1–2 месяца. Полный контур — от 3–6 месяцев, зависит от источников и требований.

Можно ли начать с малого?

Да. Стартуем с ключевых витрин: продажи и остатки. Дальше наращиваем финансы, рекламу, конкурентов.

Нужен ли MPStats?

Не обязателен, но ускоряет конкурентный анализ. Мы учитываем и внутренние данные площадок.

Глоссарий

  • DWH — хранилище данных для аналитики.
  • SCD — историзация изменений справочных атрибутов.
  • Витрина — агрегированная таблица для отчётов.
  • ETL/ELT — сбор, преобразование, загрузка данных.

Стоимость и сроки

Пилот — 1–2 месяца. Полноценное внедрение — от 3–6 месяцев. Бюджет зависит от количества источников, объёма данных и требований к SLA.