&
Trend Intelligence Platform · SaaS · BUY-79507

Видим, что Россия будет есть завтра

Собираем сигналы из соцсетей, считаем по ним Trend Score и за несколько дней показываем, какие позиции стоит завести в ассортимент. Всё это доступно в дашборде, в чате на обычном языке, через API и в квартальном отчёте, свёрстанном в вашем брендбуке.

2 месяца до MVP в эксплуатации36 месяцев поддержки и развития
01 · Что предлагаем

Один сквозной поток: от поста в соцсети до решения, что закупать

Платформа собирает посты, очищает их, группирует похожие в один тренд и считает по нему Trend Score. Категорийный менеджер видит готовый список позиций к закупке, и под каждой может открыть посты и цифры, на которых вывод построен.

Сбор

Telegram, VK, RSS, Google Trends, Instagram и Reels, научные публикации. Каждый источник опрашиваем по своему расписанию.

AI-обработка

Расшифровываем речь из видео, переводим, приводим слова к начальной форме, группируем в тренды, считаем Trend Score и определяем, на какой стадии тренд находится.

Выдача

Дашборд, чат на естественном языке, API, квартальный отчёт.

02 · Источники сбора

Сбор данных делаем своими силами, без покупных парсеров

Требование Ozon собирать данные самим совпадает с нашим интересом: платформа остаётся вашей, и вы не привязаны к чужому сервису. Часы и сроки ниже взяты из нашего PERT-расчёта.

Сопровождение: насколько часто источник ломается, когда у него меняется API или анти-бот защита, и сколько стоит поддерживать сбор все 36 месяцев. низкоесреднеевысокое
Telegram
Читаем веб-превью t.me/s/, там низкий риск бана, а полную историю и реакции добираем через MTProto на пуле аккаунтов.
Сборка~2 нед · 104 ч
Расписаниекаждые 2 ч
Сопровождениенизкое
VK
Берём данные через официальный API (wall.get, newsfeed.search). Запросы распределяем по пулу сервис-токенов и группируем, чтобы укладываться в дневные лимиты.
Сборка~1 нед · 47 ч
Расписаниекаждые 4 ч
Сопровождениенизкое
RSS / Atom
Читаем через feedparser и conditional GET (ETag, ответ 304), чтобы не тянуть то, что не изменилось.
Сборка~3 дня · 25 ч
Расписаниекаждые 6 ч
Сопровождениеминимальное
Google Trends
Свой скрапер на residential-прокси с рандомизацией запросов и обходом CAPTCHA. Покупной API можем подключить для ускорения и в любой момент заменить собственным.
Сборка~1.5 нед · 64 ч
Расписаниераз в сутки
Сопровождениесреднее
Instagram / Reels
Stealth-браузер с подменой TLS-отпечатка и residential-прокси, речь из Reels расшифровываем отдельно. Технически сбор наш; пускать ли этот источник в работу с правовой стороны, решение за Ozon.
Сборка~3 нед · 127 ч
Расписаниекаждые 8 ч
Сопровождениевысокое
Научные публикации
PubMed E-utilities, Crossref, arXiv и Semantic Scholar отдаём через официальные API. ResearchGate скрапим, только когда это нужно.
Сборка~1 нед · 47 ч
Расписаниераз в неделю
Сопровождениенизкое
Покупное можно, но только то, что мы готовы заменить. Любой покупной сервис прячем за общим интерфейсом и в любой момент можем переписать своим. Это прямое требование ТЗ.
03 · Контур данных

Как находим новые источники и как через систему идут данные

Кликните по источнику, покажем, как находим каналы, как догружаем только новое и как отсеиваем повторы. Сплошные блоки уже работают в прототипе, пунктирные, это то, что по ТЗ доделываем в боевой версии.

работает в прототипе целевой контур по ТЗкликните узел

Как устроен сбор и анализ

Архитектура Kappa: один инкрементальный поток, без второго кода как в Lambda. Firehose нет. Источники мы опрашиваем по расписанию (от 2 часов до недели), так что поток по сути плановый микро-батч. Квартальный отчёт считается тем же батч-запросом по той же витрине. Кликните на слой, чтобы увидеть состав работ и оценку.

Кликните источник, чтобы увидеть, как мы его разведываем и собираем. Кликните слой пайплайна, чтобы увидеть состав работ и оценку.

04 · AI-контур

От сырого сигнала до Trend Score за один проход

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

01

Сбор

6 адаптеров, изоляция по очередям

02

STT + перевод

Whisper и Parakeet по аудио/видео Reels

03

Нормализация + эмбеддинги

лемматизация словоформ, BGE-M3 → Qdrant

04

Кластеризация

HDBSCAN → формирование трендов

05

Trend Score

охват + вовлечённость + новизна + рост

06

Стадия

emerging → growing → peak → declining

07

RAG-чат

ответы с доказательной базой

Стратегия моделей по чувствительности данных

Чувствительные данные
Внутренние данные Ozon и всё конфиденциальное обрабатываем только моделями, легальными в РФ и развёрнутыми у нас: GigaChat, локальные модели вроде Qwen, распознавание речи на Whisper и NVIDIA Parakeet.
Несенситивные данные
Для публичных постов и открытого веба берём модель под конкретную задачу. Там, где это законно в РФ, подключаем и зарубежных провайдеров (OpenAI, Anthropic), но по умолчанию работаем на моделях, легальных в РФ.
STT по видео
Whisper (RU и мультиязык) и NVIDIA Parakeet (быстрый, высокая точность). Провайдер выбирается под контент. Для видео без речи (музыка) подключаем vision-LLM: кадрируем и разбираем по скриншотам.
Сменяемость
Любого провайдера можно заменить, не трогая остальную систему. Это прямое требование ТЗ.
05 · Продукт · кликабельно

Как это выглядит для категорийного менеджера

Дашборд тянет тренды из Telegram вживую и показывает реальные посты за каждым. Открыть прототип на весь экран →

trends.ozonfresh.internal / dashboard
Трендов найдено
Растут в окне
Постов в сборе
Каналов в сборе
Нажмите «Обновить», чтобы собрать тренды.
Сейчас сервер опрашивает 40 публичных food-каналов через t.me/s/. Тренды считаем на окне 60 дней, мёртвые каналы отбрасываем. По ТЗ добавляются ещё пять типов источников: VK, RSS, Google Trends, Instagram, научные публикации. Кликните по любому тренду, откроются посты, на которых он держится, с подсветкой совпадений.
Как прототип считает тренды
нормализация словоформвес по просмотрамучёт свежестичат с цитатами на постах
Production-контур по ТЗ (включаем уже на проекте): считаем рост упоминаний относительно фона (hype-score в духе Santiment), ловим всплески по алгоритму Kleinberg (KDD’02), схлопываем форварды и репосты через MinHash, привязываем тренды к категориям Ozon Fresh по справочнику, кластеризуем эмбеддингами BGE-M3 + HDBSCAN, вытаскиваем названия блюд через food-NER, расшифровываем видео в текст, читаем комментарии через MTProto-sidecar.
06 · Скрапинг

Скрапинг, который не падает, когда у источника меняется вёрстка, API или анти-бот защита

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

За несколько дней определяем, как собирать нужные данные

Определяем, каким путём собирать данные под конкретную цель, и считаем стоимость на масштабе. Сначала проверяем решающий факт дешёвым экспериментом, потом закупаем ресурсы, без переплаты за прокси, которые не решают задачу.

Публичный вебheadless + stealth-браузер
Официальный APIгде он есть и достаточен
Реверс мобильногоприватные API приложения
Реальные устройстваmanaged device-ферма
Покупной вендоркак заменяемый резерв

Сложная анти-бот защита уровня Akamai

Нагруженный сервис, который читает данные из личных кабинетов в ритейле
Разобрав мобильное приложение, мы нашли способ полностью увести чтение данных из-под анти-бот-сенсора. Дорогую защиту проходим один раз на аккаунт, дальше чтение идёт чисто и почти без блоков. Готового публичного решения по этому API мы не нашли.
  • Декомпилировали приложение, сняли cert-pinning, разобрали крипто-сенсор
  • Воспроизвели приватный API на сервере
  • Собрали кастомный C++ fingerprint-spoofing на stealth-браузере и поведенческую телеметрию для веб-пути
  • Пустили residential-прокси с маршрутизацией по реальной успешности

Оформление заказов через защиту Cloudflare

Биржа драгметаллов: заказы на десятки тысяч $
Checkout площадки валился 500-ми прямо при оформлении. Наивный ретрай тут означает дубль заказа и деньги клиента на ветер. Мы построили exactly-once оформление: при сбое система сверяет историю заказов, исключает дубликат, перепроверяет цену и срок резерва до списания.
  • 120 решений Turnstile за 3 минуты в проде
  • Самовосстанавливающийся пул прокси: сам отслеживает, какие IP источник помечает как подозрительные
  • Persistent-сессии с авто-релогином, self-healing 24/7
  • Защита от ценового проскальзывания и истёкшего резерва
12 ч
Если источник меняется, реагируем в течение 12 часов: чиним парсер, ищем новый способ обхода. Стоимость каждого способа считаем на масштабе ($ за проверку и за 1000 успешных сборов).
Про требование «99% доступности». Если источник начинает сбоить, включаем обходные пути: меняем доступы, поднимаем резервные парсеры, обходим анти-бот. RSS работает как постоянный baseline и продолжает давать тренды, даже если все соцсети упадут разом. SLA платформы мы отделяем от доступности самих внешних источников.
07 · Сроки

MVP за 2 месяца, вехи не длиннее 4 недель

Выводим поэтапно: к концу второго месяца команда из 6–8 человек (архитектор, AI/ML, backend, frontend, DevOps, QA, PM) запускает рабочий MVP в эксплуатацию. Дальше, опытная эксплуатация и вывод в промышленную.

нед12345678
Платформа + сбор
AI-контур
Продукт + API
MVP в проде
Наведите на этап, покажем сроки и что входит в него.

Опытная эксплуатация (4 нед) и вывод в промышленную (2 нед) идут после MVP. Полный план-график с критериями готовности по каждому этапу приложим отдельным документом к подаче.

08 · Как ведём проект

Прозрачность важнее кода: как устроен процесс

Внешнюю разработку чаще всего срывает то, что заказчик перестаёт видеть, как идут работы. Поэтому мы описываем процесс заранее: один ответственный, заранее согласованные часы и показ результата каждую неделю.

One Face to Client

Один архитектор-владелец

Заказчик общается с одним человеком. Он дирижирует delivery, инженерами и QA, держит весь контекст и отвечает за результат. Спрашивать можно с одного человека.

Delivery-менеджер

Сроки, риски, коммуникация

Отдельный человек ведёт план, риски и эскалации, чтобы архитектор не отвлекался от продукта.

Оценка до старта

Сначала PERT, потом работа

Каждый этап оцениваем по PERT и согласуем объём и часы до начала. Работ без согласованной оценки не ведём.

Переоценка при изменении

Скоуп поменялся, пересчитали

Если меняются требования, мы переоцениваем и согласуем новый объём ещё до старта работ. Никаких сюрпризов в счёте в конце месяца.

Учёт часов по факту

Прозрачный тайм-трекинг

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

Еженедельное демо

Рабочий результат каждую неделю

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

Ритм недели:план спринтаработа с дневным трекингомдемо результатаотчёт по часам и согласование следующего шага
09 · Коммерческие условия

Структура по форме КП Ozon

Все суммы с НДС 5% (УСН, IT-льгота). Предварительно, до уточнения объёма сигналов и SLA.

Разработка
12.58 млн ₽
MVP + опытная + пром
SaaS · 36 мес
49.90 млн ₽
≈ 77% TCV · эксплуатация, не часы разработки
6 источников
2.30 млн ₽
подключение, единоразово
Общая стоимость
64.78 млн ₽
по строке B57 формы КП
Основная часть стоимости, это SaaS на 36 месяцев, 77% от TCV. Это эксплуатация и поддержка платформы, отдельно от разовой разработки. Сумма складывается из RU-инфраструктуры, работы моделей и команды, которая держит парсеры под 99% SLA. Считаем по источникам: Telegram, VK, RSS и научные публикации дают низкую нагрузку, Google Trends и Instagram обходятся дороже.