Платформа аналитики на WB/Ozon: 1 848 листингов, 20 245 отзывов, кластеризация через embeddings, авто-SWOT и план 30/60/90 через GigaChat.
Один инстанс, изолированные клиенты, переключение из админки
Каждый клиент логинится под своим аккаунтом и видит только свои данные: изоляция реализована на уровне базы данных, а не ручными фильтрами в коде. Модель бренд-агностична: «свой бренд» клиента помечается флагом, без привязки к конкретной компании. Администратор получает сводный дашборд по всем клиентам и может переключиться в любого из них прямо из интерфейса. Роли разграничены: администратор, владелец, читатель. Аналитические запросы изолируются автоматически.
Один сводный дашборд для всех клиентов агентства. Данные каждого тенанта изолированы на уровне БД: бренды, SKU и снимки цен привязаны к tenant_id, а доступ внутри тенанта разграничен ролями. Переключение тенанта меняет весь рабочий контекст без смешения данных между клиентами.
Сбор, аналитика и LLM в фоновых задачах, отдельно по каждому клиенту
17 фоновых воркеров проходят весь путь: поиск товаров по отслеживаемым брендам клиента, регулярные снимки цен и остатков, сбор отзывов, съём поисковых позиций, обогащение карточек и категорий, оценка продаж, кластеризация отзывов, генерация AI-аналитики, детектор отклонений, синхронизация задач и ежедневный дайджест. Оркестратор связывает всё в единый цикл. Каждый воркер обходит активных клиентов и работает строго в рамках их данных.
Около 17 фоновых воркеров проходят путь от поиска товаров до утреннего дайджеста. Оркестратор запускает шаги по расписанию, держит зависимости между ними и не смешивает данные разных клиентов. Каждый шаг изолирован: сбой одного воркера не роняет весь конвейер, оркестратор переводит его в повтор.
SQL-факты превращаются в SWOT, план на 90 дней и краткое резюме
Система собирает набор фактов по бренду клиента (листинги на WB и Ozon, бренды, сильные и слабые категории, оценка здоровья позиций относительно рынка, ключевые кластеры отзывов, серые реселлеры, оборот) и передаёт их в GigaChat-2-Max тремя запросами: SWOT-анализ, план роста с горизонтами 30/60/90 дней (с KPI, действиями, ответственными и ожидаемым эффектом) и краткое резюме для руководителя. Промпты параметризованы под бренд конкретного клиента.
7 SQL-фактов → 3 prompt (SWOT / Plan-90д / Exec Summary). GigaChat-2-Max через cross-project Redis-lock, temperature=0.3, 3 retry с backoff [10, 30, 60].
Прозрачные формулы: всё переведено в рубли в месяц
Платформа считает упущенную выручку по понятным сценариям: слабый контент карточки, нарушение минимальной цены, отсутствие товара на складе, низкие поисковые позиции и серый рынок. Все оценки строятся на прозрачных коэффициентах конверсии и эффекта от улучшений, итог выводится в рублях в месяц. На основе тех же расчётов формируются конкретные подсказки, что и насколько улучшить.
map_violation, stock_low, competitor_new, price_drop, serp_drop. Дедуп через UPSERT ON CONFLICT (kind, COALESCE(listing_id::text, title)), owner назначается по отделу.
Видимость, показы, клики, конверсия, продано, средний чек, оборот
Главная показывает воронку из 7 этапов с цифрой на каждом шаге, ключевые показатели с динамикой за неделю, по три главные проблемы и возможности с переходом в карточку товара, а также сводку изменений за 7 дней. Вместо набора плоских фактов клиент видит связный рассказ о состоянии бизнеса.
Полный путь от видимости в TOP-20 до выручки за месяц. SERP_CTR таблица для каждой позиции, AOV из последних 30 дней. Подсветка узких мест — этап с худшей конверсией.
WB + Ozon + GigaChat + Qwen3 ONNX
Контейнеризованный API, 9 958 строк кода
App Router с авторизацией, 6 987 строк кода
Изоляция данных клиентов на уровне БД
Кэш и координация фоновых задач
JWT, роли: администратор, владелец, читатель
Прямой доступ к маркетплейсам и резервный канал