Перейти к содержимому

Аналитика

Модуль 13-analytics замыкает контент-цикл analytics → strategy → planner → production → publish → analytics: читает реальные own-метрики из viral-db, связывает опубликованные посты со слотами плана и выносит агентский вердикт по каждой ставке (strategy.bets) — сработала / провалилась / мало данных. MVP — только Instagram.

Меряет результат прошлого цикла и пишет отчёт-вердикт, который питает гейт «обновить стратегию?».

Когда использовать. Запускай, когда нужно понять, что реально зашло из опубликованного — обычно перед ревизией стратегии, чтобы решение об обновлении опиралось на данные, а не на ощущение. Автоматически вызывается как подшаг /today перед гейтом обновления стратегии.

Как вызвать

/review-performance <slug>
  • <slug> — id аккаунта. Пуст — агент спросит.
  • Dev — только max-tors.

Что на входе / на выходе

  • Вход: viral-db viral_content (own-строки с реальными shortcode и ER), strategy/current.yaml (bets, success_metrics), plans/current-week.yaml (bets_test.via_slots).
  • Выход: accounts/<slug>/analytics/<дата>-review.md — человекочитаемый разбор (что зашло/провалилось по типам и темам, вердикт по каждой ставке, рекомендации) + машиночитаемый блок bets_verdict (verdict: worked/failed/insufficient_data, n_posts, evidence). Также проставляет linked_shortcode в viral-db — связь слота плана с реальным постом.

Пример

/review-performance max-tors

Агент (если доступна живая IG-сессия) сначала дособирает весь own-контент, включая провалы, затем для каждого слота плана ищет кандидатов на связывание по хуку/типу/дате: ровно 1 кандидат — агент сверяет сам перед линковкой, больше одного — выбирает по хуку/теме/дате, ноль — честно помечает «пост не найден». Дальше для каждой ставки выносит вердикт на реальных цифрах (ER против success_metrics.target, число связанных постов, сколько дней прошло) и пишет analytics/<дата>-review.md.

Гейты/апрувы

  • Вердикт по ставке — суждение агента на evidence, не механический порог; при нехватке данных честно insufficient_data, без выдуманных цифр.
  • Нет живой IG-сессии → сбор всего own-контента пропускается, отчёт строится по имеющимся данным с честной пометкой «own-сбор пропущен».
  • Слот без кандидата на связывание не линкуется вслепую — помечается «не измерено».

Связанные: вердикт подаётся в гейт «обновить стратегию?» в /strategy и в own-память /plan-week; вызывается подшагом из /today.