← Все системы Кейс 01 · AI-система

CRM и аналитика
для контент-завода

Система, которая каждый день видит, что происходит с контентом двенадцати креаторов на пяти площадках — и доводит цифру до продаж на маркетплейсе.

12креаторов в системе
60+аккаунтов под наблюдением
5платформ в одной базе
9 000+роликов в реестре
Десятки млнпросмотров в истории
1окно вместо десятка таблиц
Задача

Данные были, картины не было

Контент-завод: двенадцать креаторов снимают ролики про товары бренда и публикуют их сразу на пяти площадках — Instagram, TikTok, YouTube, VK и Дзен. Статистику собирали руками: заходили в каждый кабинет, переписывали просмотры в таблицу, сводили в конце месяца.

Пока роликов сотня — это терпимо. На тысячах ручной сбор ломается: цифры устаревают быстрее, чем их сводят, история не хранится, а на вопрос «какой ролик привёл покупателя на Wildberries» ответить нечем. Решения по креаторам принимались на ощущение, а не на данные.

  • Сбор вручную по каждому кабинету
  • История метрик нигде не хранилась
  • Пять платформ — пять разных таблиц
  • Связи «ролик → заказ» не существовало
  • Отчёт за месяц собирался днями
Что построено

Пять разделов одной системы

Раздел «Креаторы»: сводные показатели и карточки креаторов с просмотрами и ER
КреаторыСводка по всем: ролики, просмотры, средний ER, прирост за 30 дней. Рейтинг и фильтры по платформе и периоду — видно, кто тянет, а кто просел.
Карточка креатора: KPI, график публикаций по неделям и статистика по платформам
Карточка креатораИстория публикаций по неделям с разбивкой по площадкам, статистика по каждой платформе, лучшие и последние ролики.
Реестр роликов: таблица всех публикаций с артикулом, товаром и метриками
Реестр роликовКаждая публикация со всех площадок в одной таблице: артикул, товар, дата, просмотры, лайки, ER. Фильтры, поиск и выгрузка в Excel.
Воронка продаж: переходы в карточку, корзины, заказы и оценка выручки по креаторам
Воронка продажПереходы в карточку → корзина → заказы по каждому креатору. Связка через подменный артикул, который креатор называет в ролике.
Сводный отчёт: матрица «креатор × платформа» с роликами и просмотрами
Сводный отчётМатрица «креатор × платформа» за любой период: сколько роликов и просмотров дала каждая площадка каждому креатору. То, что раньше сводили вручную несколько дней, теперь открывается по ссылке.
Раздел «Качество роликов»: пять карточек диагнозов с долями и таблица роликов с хуком и диагнозом
Качество роликовРазбор каждого ролика: хук, удержание, источники трафика и автоматический диагноз — почему именно этот ролик не сработал. Фильтры по диагнозу и типу хука.
Второй слой

От «сколько» к «почему»

Первые четыре раздела отвечают на вопрос «сколько»: роликов, просмотров, заказов. Через полгода работы стало ясно, что этого мало. Видно, что ролик собрал мало просмотров, — и совершенно непонятно, что с этим делать: переписывать первые секунды, менять тему или ждать, пока алгоритм раздаст.

Публичные счётчики на этот вопрос не отвечают в принципе. Лайк и просмотр — это итог, а причина спрятана внутри ролика: на какой секунде человек ушёл и что в этот момент происходило на экране.

Почему начали с YouTube. Он даёт владельцу канала кривую удержания посекундно, источники трафика и долю показов из ленты Shorts — то, чего нет ни в одном публичном счётчике. И открывается это бесплатно и сразу: получил токен на свой канал — данные пошли.

У остальных площадок владельческая аналитика тоже есть, но вход туда дороже: бизнес-аккаунты, отдельные токены, модерация приложения, где-то платный доступ. Это следующие шаги, а не закрытая дверь — просто начинать логично с самого дешёвого источника.

Тем более что ролики у креаторов одни и те же: снятое один раз расходится перепечатками по всем пяти площадкам. Поэтому YouTube работает как измерительный стенд — самый быстрый способ увидеть, на какой секунде ролик теряет зрителя, а вывод про хук и удержание переносится на те же ролики в остальных сетях.

Карточка ролика: кривая удержания, метрики, источники трафика и расшифровка с долей оставшейся аудитории по секундам
Карточка роликаКривая удержания, пятнадцать метрик, источники трафика — и расшифровка, где напротив каждой фразы стоит доля оставшейся аудитории. Красным подсвечены секунды с самым резким падением: видно не «ушли на пятой секунде», а на какой именно фразе ушли.
Диагностика

Пять диагнозов вместо таблицы цифр

Дюжина метрик на ролик — это не помощь, а новая работа: их ещё надо уметь читать. Поэтому система ставит диагноз сама, по цепочке «раздача → хук → удержание → отклик», и останавливается на первом провале. Ниже искать бессмысленно: если алгоритм не дал показов, судить о хуке уже не по чему — те ступени искажены тем, что сломалось выше.

01

Не попал в ленту

Из ленты Shorts пришло меньше 30% просмотров — алгоритм почти не раздавал ролик. 10% роликов.

02

Уходят на первых секундах

До третьей секунды доживает меньше 86% начавших смотреть. Проблема в хуке. 22% роликов.

03

Не досматривают до конца

До конца доходит меньше 14,5% начавших. Хук сработал, дальше рассыпается. 23% роликов.

04

Слабее роликов той же длины

Оценка YouTube ниже 0.50 — удержание хуже, чем у роликов такой же длительности. 5% роликов.

Норма

Ни одно из условий не сработало. 40% роликов — с ними всё в порядке, и это тоже ответ.

Разобрано 290 роликов за январь — август 2026. Пока это один креатор: на нём калибровали пороги, дальше подключаются остальные.

Архитектура

Как это устроено

ИСТОЧНИКИ — ПО КЛЮЧАМ API СБОР И ХРАНЕНИЕ ВИТРИНА Instagram · TikTok YouTube VK Дзен Wildberries YouTube — кабинет канала ключ ScrapeCreators API ключ YouTube Data API v3 сервисный ключ VK API публичный JSON-фид канала ключ кабинета продавца доступ владельца по OAuth Коллекторы на Python — новые ролики и снапшоты метрик — артикул товара из описания ролика — удержание, трафик и расшифровки — лимиты, повторы, логи по аккаунтам — сбой площадки не роняет остальные PostgreSQL — снапшот на каждый день, без перезаписи — история метрик по каждому ролику — кривые удержания и тексты роликов Веб-приложение (Next.js) Креаторы Реестр роликов Сводный отчёт Воронка продаж Качество роликов рейтинг, KPI, карточка каждого все публикации, фильтры, Excel матрица «креатор × платформа» переходы → корзина → заказы удержание, хук, диагноз ролика Доступ по логину и паролю ОБЛАКО RAILWAY · DOCKER · УПРАВЛЯЕМЫЙ POSTGRES СОБРАНО В CLAUDE CODE СЦЕНАРИИ N8N — АКТУАЛИЗАЦИЯ СПИСКА АККАУНТОВ КРЕАТОРОВ

Каждая площадка отдаёт данные по-своему: Instagram и TikTok — через ScrapeCreators, YouTube — по официальному Data API, VK — по сервисному ключу, Дзен API не имеет вовсе и читается из публичного фида канала, Wildberries отдаёт воронку из кабинета продавца. Отдельная строка — доступ владельца к кабинету YouTube: он даёт то, чего нет в публичных счётчиках, — удержание по секундам и источники трафика. Коллекторы приводят это к одной схеме, дальше вся система работает с единым форматом.

Инженерные решения

Что делает систему рабочей

01

История, а не текущий срез

Метрики пишутся снапшотами: на каждый ролик — своя строка за каждый день сбора, ничего не перезаписывается. Поэтому можно спросить не только «сколько сейчас», но и «сколько дал этот ролик за первую неделю» или «как рос креатор с апреля».

02

Сбор, который не разоряет

Платные источники тарифицируются постранично, поэтому свежие ролики опрашиваются при каждом запуске, а полный проход по всему архиву — раз в неделю. Сбор не стартует сам по себе: без явного подтверждения скрипт выходит, не потратив ни одного кредита.

03

Падение одной площадки не ломает сбор

Ошибка по аккаунту или платформе логируется и не останавливает остальные: протухший токен VK или сбой стороннего API стоит одной строки в логе, а не пропущенного дня по всем двенадцати креаторам.

04

Связка контента с продажами

В ролике креатор называет подменный артикул — по нему публикация связывается с карточкой товара на Wildberries, а дальше с переходами, корзинами и заказами. Так видно не «сколько просмотров», а сколько заказов принёс конкретный креатор.

05

Честность цифр важнее красоты

Выгрузка из кабинета и сбор по API дают разные числа — API видит не все коды. В отчёте показаны обе таблицы с прямым объяснением расхождения, а оценочная выручка так и подписана оценочной. Витрина, которой нельзя верить, не нужна никому.

06

Список аккаунтов живёт сам

Креаторы заводят новые площадки и меняют хендлы. Сценарии на n8n актуализируют реестр аккаунтов, чтобы новые профили попадали в сбор без правки конфигов руками.

07

Облако и закрытый доступ

Всё живёт на Railway: управляемый PostgreSQL, сервис сбора и веб-приложение в Docker. Витрина закрыта логином и паролем — посторонний увидит запрос авторизации, а не данные заказчика.

08

Пороги диагнозов посчитаны, а не назначены

Сначала границы стояли круглые, на глаз: 0.8, 0.1, 0.4. Проверка по реальным данным показала, что они попадают примерно в десятый перцентиль — диагноз получал только самый хвост, а две трети роликов числились нормой. Ролик с досмотром 11% при пороге 10% проходил как здоровый, хотя лежал в нижних 15% канала. Пороги пересчитаны по нижней четверти выборки и пересчитываются заново, когда данных заметно прибавляется.

09

Пусто — это «не отдали», а не ноль

Кривую удержания YouTube скрывает на роликах с малым числом просмотров. Если считать такие пропуски нулями, средние поедут вниз и система начнёт ставить диагнозы там, где данных просто нет. Поэтому пустое значение остаётся пустым и в расчёты не попадает.

Результат

Что изменилось

Было

Ручной обход кабинетов, разрозненные таблицы, сведение отчёта днями. История метрик не хранилась, связи с продажами не было.

Стало

9 000+ роликов и 60+ аккаунтов под наблюдением в одной базе. Отчёт за любой период — открывается по ссылке. Воронка доводит цифру до заказов на маркетплейсе.

Для заказчика

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

Стек

На чём собрано

Сбор данных

  • Python
  • ScrapeCreators API
  • YouTube Data API v3
  • YouTube Analytics API
  • Расшифровки роликов
  • VK API
  • Wildberries API

Хранение

  • PostgreSQL
  • Схема снапшотов
  • Миграция с SQLite
  • Тесты на pytest

Витрина

  • Next.js
  • TypeScript
  • Recharts
  • Basic Auth
  • Выгрузка в Excel

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

  • Railway
  • Docker
  • n8n
  • Claude Code

Система спроектирована и собрана мной в Claude Code — от схемы базы и коллекторов до веб-приложения и деплоя. Это тот случай, когда AI не «пишет тексты», а работает инструментом инженера: архитектура, решения и отладка на живых данных — мои.

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

Нужна такая система?

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