Аналитика маркетплейсов, которая живёт у вас
Продажи, остатки, воронка, реклама и P&L по Wildberries и Ozon — на вашем сервере, в вашем ClickHouse, без «отправьте нам API-ключи». Ключи от кабинетов селлера — слишком серьёзная вещь, чтобы отдавать их чужому SaaS.
- Python 3.14
- FastAPI
- React 19
- ClickHouse 26
- Celery + Redis
- Docker
- MIT
- Выручка0 тыс ₽
- Заказы0
- ACOS0 %
- Остатки0 шт
// веб-интерфейс
React 19 SPA: шестнадцать страниц из коробки
Дашборд, продажи, остатки, воронка, реклама, KPI, биддер, репрайсер, P&L, ABC/XYZ, PIM, интеграции и админка — всё встроено, ничего не надо собирать отдельно. Реальные скриншоты:






// архитектура
Три слоя данных — как у взрослых
Celery Beat по расписанию гоняет коллекторы WB и Ozon API, данные проходят классический путь хранилища — от сырых ответов до готовых витрин. Инкрементально и идемпотентно: сбой на середине не портит данные.
- raw_*
Сырой слой. Ответы API как есть, JSON-пейлоады с нормализованными ключами — можно переигрывать загрузку сколько угодно раз.
- stg_*
Staging. Канонизированная модель: единая схема для Wildberries и Ozon, чтобы дальше не думать, «чей» это заказ.
- mrt_*
Витрины. Агрегаты, готовые для дашбордов, API и Metabase — BI-запросы не трогают сырые данные.
- FastAPI — REST + UI + метрики
- Celery — коллекторы и трансформы
- ClickHouse — OLAP-хранилище
- Redis — брокер и локи
- Nginx — TLS
- Metabase — свои дашборды
- Prometheus + Grafana — наблюдаемость
// от просмотра до денег
Воронка, которую видно
- Просмотры128 400
- В корзину44 900 · CR 35%
- Заказы14 100 · CR 11%
Числа — иллюстрация; на живой странице «Воронка» они считаются из ваших данных за любой период до 92 дней, с фильтрами по маркетплейсу и аккаунту.
// не только графики
От наблюдения — к действию
- 🤖Биддер
Автоматическое управление ставками рекламных кампаний WB/Ozon по правилам CPM и позиции.
- 💰Репрайсер
Динамическое ценообразование с проверкой маржи и таблицей безубыточности — цена не уйдёт в минус.
- 📈P&L
Полный отчёт о прибылях и убытках, включая косвенные расходы.
- 🧮ABC/XYZ
Автоматический анализ ассортимента: AX — лидер, CZ — неликвид. Бейджи прямо в каталоге.
- 📣Telegram-оповещения
YAML-правила: высокий ACOS, низкий остаток, нет продаж — и ежедневный дайджест находок-аномалий.
- 🏷️PIM
Обогащение каталога: бренды, категории, SEO и AI-генерация описаний товаров.
- 🔌Интеграции
Вебхуки и приём остатков, совместимый с 1С и МойСклад; выгрузка стока обратно в WB/Ozon.
- 🛰️Наблюдаемость
Prometheus-метрики, Grafana-дашборды, алерты; аудит задач воркера прямо в админке.
- 🔐Supply chain
pip-audit, скан образов Grype, SBOM (SPDX) — цепочка поставки под контролем CI.
// честные границы
Что BormoStats не делает
- ✅ Собирает данные только из ваших кабинетов селлера — по вашим же API-ключам
- ✅ Полностью self-hosted: наружу не уходит ни строчки
- ❌ Не парсит конкурентов и каталоги маркетплейсов
- ❌ Не продаёт «аналитику рынка» — это инструмент, а не сервис-шпион
Поднимается одной командой
$ git clone https://github.com/Bormotoon/BormoStats.git && cd BormoStats $ cp .env.example .env # вписать API-ключи WB/Ozon $ make up # ClickHouse + Redis + API + воркеры + Metabase → UI: https://localhost:18443/ui/ → Metabase: http://localhost:13000