Платформа аналитики на WB/Ozon: 1 848 листингов, 20 245 отзывов, кластеризация через embeddings, авто-SWOT и план 30/60/90 через GigaChat.
Полный цикл сборки + analytics + LLM в фоновых задачах
discovery (по 16 tracked-брендам через iter_seller_catalog + wb_search + Ozon iter_seller_products), snapshot (4×/сутки card.wb.ru/v4/detail батчами по 100), reviews (daily, через feedbacks1.wb.ru или feedbacks2.wb.ru), serp (2×/сутки по 54 ключам), enrich_listings (regex CATEGORY_RULES, 1 883 листинга за 2-3с), enrich_wb_basket (basket-CDN до NN=80), fix_sold_total (proxy), review_cluster (KMeans+TF-IDF), auto_swot (7 SQL → 3 prompt), alert_detector (5 детекторов), tasks_sync (6 источников), daily_digest, collect_all (оркестратор).
7 SQL-фактов → SWOT, План 90д, Exec Summary
7 SQL-фактов в JSON (listings WB/Ozon, brands list, top_categories top-10, weak_categories CTE, health_score market vs Основит, top-6 review-кластеров, gray-resellers, GMV WB) → 3 prompt: SWOT (5-7 пунктов в каждой категории, max_tokens 3500), Plan-90d (горизонты 30/60/90 по 5-8 активностей с kpi/action/owner/expected, 3500), Exec Summary (180 слов, 3-4 абзаца, 1500). temperature=0.3. Cross-project Redis-lock TTL 360s, atomic Lua-release. 3 retry × 80s + backoff [10, 30, 60].
Прозрачные формулы: всё в рубли в месяц
core/revenue_calc.py — content_loss / map_violation_loss / stock_out_loss / serp_loss / grey_market_loss. Константы: DEFAULT_MARGIN=0.30, PHOTO_UPLIFT_PCT=0.05 (+5% CR/фото до 8), DESC_UPLIFT_PER_250=0.03, VIDEO_UPLIFT_PCT=0.08, DEFAULT_CR=0.025, DAYS=30. SERP_CTR таблица: pos1=0.20, pos2=0.12, pos3=0.08, pos5=0.05, pos10=0.022, pos20=0.005.
Видимость → Показы → Клики → CR → Продано → AOV → GMV
api/pulse.py (413 LOC) — funnel из 7 этапов с цифрами на каждом, 5 KPI с trend 7 дней, top-3 problems / top-3 opportunities (deep-link /sku/{id}), changes_7d. Главная переписана с 8 фактов на структурированный нарратив. Plurals, null-safety, mp echo whitelist. Pulse-воронка Основит: 160 слотов TOP-20 → 960k показов/мес → 48k кликов/мес → CR 15.88% → 7 623 ед → AOV 2 257 ₽ → GMV 17.2M ₽.
WB + Ozon + GigaChat + Qwen3 ONNX
Docker oboz-api :8102, 8 383 LOC
Docker oboz-frontend :3050, App Router
Hypertables price/stock/sales/serp
Кэш + in-process lock + GigaChat lock
Async jobs + расписания
socks5h://127.0.0.1:10180 — reverse SSH