Как агентство MasterContext автоматизировало отчёты о проделанной работе для клиентов на n8n
MasterContext автоматизировал клиентские отчёты по контексту: бот дважды в месяц сам тянет данные, считает метрики и пишет черновик вывода. Ноль токенов.
MasterContext, агентство контекстной рекламы из Красноярска, №1 по контексту в своём городе по Рейтингу Рунета и сертифицированный партнёр Яндекса. Среди клиентов крупные сети доставки на франшизе, например Ёбидоёби: агентство ведёт им Яндекс.Директ по каждому городу и каждому франчайзи отдельно. Всего на настройке Директа у MasterContext порядка 140 клиентов, и только по одной сети Ёбидоёби бот собирает около 90 отчётов.
Каждому клиенту дважды в месяц уходит отчёт о проделанной работе. Раньше его руками собирал менеджер. Теперь черновую часть собирает бот, до того как команда придёт на работу.
Если коротко
Я собрала для MasterContext бота на self-hosted n8n, который дважды в месяц в шесть утра сам формирует клиентские отчёты по контекстной рекламе. Он выгружает данные из базы Директа, считает метрики, которых нет в готовой BI, и пишет черновик вывода через дерево решений прямо в коде, без нейросети и без единого токена.
Готовый отчёт со всеми цифрами и черновиком вывода бот кладёт в общую Google-таблицу. Менеджер находит своего клиента, дописывает свою часть и отправляет. Отчётный период, который раньше растягивался на 1-3 дня, теперь к утру уже готов к разбору.
Что было до
У агентства есть клиентские менеджеры, у каждого свой набор клиентов. Отчёты уходят дважды в месяц: первого числа за полный прошлый месяц, шестнадцатого за первую половину текущего. И каждый раз менеджер делал руками один и тот же набор шагов:
- открывал Яндекс DataLens, на котором у агентства построена аналитика;
- вытаскивал нужные показатели по конкретному городу или франчайзи;
- вручную досчитывал то, чего в DataLens нет: стоимость привлечения, эффективность, конверсию, средний чек;
- собирал из этого сообщение-отчёт по привычной структуре;
- писал вывод: кампания растёт, стоит на месте или просела, и что с этим делать дальше;
- рассылал готовый отчёт каждому своему клиенту в Telegram.
На один отчёт уходило прилично времени, а клиентов под полторы сотни, и каждый отчёт со своими цифрами. В сумме отчётный период растягивался на один-три дня. Всё это время лучшие люди агентства занимались не стратегией, а сборкой таблиц руками.
Проблема была не только во времени. Когда дважды в месяц руками собираешь десятки таблиц, легко ошибиться в цифре, перепутать период сравнения или пропустить клиента. А отчёт это лицо агентства перед клиентом, тут ошибаться неприятно.
Было и стало
| До автоматизации | После автоматизации |
|---|---|
| Менеджер вручную собирал каждый отчёт из DataLens | Бот сам выгружает данные по всем клиентам |
| Метрики, которых нет в BI, досчитывались руками | Бот считает их сам по тем же формулам |
| Черновик вывода менеджер писал с нуля | Дерево решений готовит черновик сравнения |
| Отчётный период растягивался на 1-3 дня | К утру отчёты готовы к разбору |
| Цифры легко перепутать в ручной рутине | Расчёт одинаковый для всех клиентов |
| Время команды уходило на сборку таблиц | Время команды уходит на анализ и решение |
Как работает сейчас
Для менеджеров почти ничего не поменялось внешне: они так же работают с таблицей и так же отправляют отчёты клиентам. Поменялось то, что к их приходу отчёты уже собраны.
Бот запускается дважды в месяц в шесть утра и делает всё до начала рабочего дня:
- выгружает данные из базы, которая питает Яндекс.Директ, те же данные, на которых строится DataLens;
- собирает по каждому городу и франчайзи нужные показатели: показы, клики, охват, стоимость клика, стоимость лида, конверсии, расход;
- досчитывает метрики, которых нет в готовой аналитике;
- раскладывает всё по фиксированной структуре отчёта (финансовые итоги, ключевые метрики по поиску, РСЯ, медийная реклама);
- через дерево решений пишет черновик вывода: сравнивает период с предыдущим и формулирует, что именно изменилось;
- кладёт готовый отчёт в общую Google-таблицу, к которой есть доступ у всех менеджеров.

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

Дерево решений вместо нейросети
Самое интересное в этом проекте не объём, а то, как написан вывод. Соблазн был очевидный: отдать цифры нейросети и попросить «напиши вывод по этому отчёту». Мы сознательно так не сделали.
Отчёт по рекламе это не эссе, а сравнение цифр по понятным правилам. Если доход вырос относительно прошлого месяца, конверсий стало больше, а цена конверсии при этом снизилась, вывод один и тот же: больше конверсий по меньшей цене, отличный результат. Если конверсия просела, но лидов стало больше, формулировка другая. Все эти ветки можно описать заранее.
Поэтому логику вывода я зашила деревом решений прямо в коде. Бот проходит по условиям («показатель такой и такой → формулировка такая») и сам собирает черновик сравнения. Причину результата и план действий дописывает менеджер, потому что это уже про суждение, а не про арифметику.
Что это даёт:
- ноль токенов. Нейросеть в выводах не участвует, платить за неё не нужно;
- предсказуемость. На одних и тех же цифрах вывод всегда одинаковый, ничего не плавает и не выдумывается;
- скорость и цена. Дерево решений в коде работает мгновенно и стоит ровно ничего сверх сервера.
Это, пожалуй, главная мысль кейса. Автоматизация не обязана быть «умной» и дорогой, чтобы окупаться. Иногда самое надёжное решение это не нейросеть, а аккуратно описанные правила.
Почему отчёты не уходят клиенту сами
Технически бот мог бы и сам рассылать готовые отчёты клиентам в Telegram. Мы намеренно так не сделали, и это было условие самого агентства.
Логика клиента такая: если отчёты будут улетать автоматически, менеджер перестанет их читать и превратится в кнопку «переслать». А ценность агентства как раз в том, что живой человек смотрит на цифры, понимает контекст конкретного клиента и добавляет вывод, который машина не сделает.
Поэтому бот доводит отчёт до состояния «всё посчитано, черновик вывода готов» и оставляет его в общей таблице. Дальше человек: менеджер находит своего клиента, изучает отчёт, дописывает причину и план, копирует и отправляет. Сборку забрал бот, суждение осталось за человеком. Ровно так, как и хотел клиент.
Результат
| Метрика | Было | Стало |
|---|---|---|
| Кто собирает отчёт | Менеджер вручную | Бот, до прихода команды |
| Отчётный период | 1-3 дня | Готово к утру |
| Масштаб | ~140 клиентов, по Ёбидоёби ~90 отчётов | те же объёмы, сборка идёт сама |
| Риск ошибки в ручной сборке | Высокий, всё руками | Расчёт одинаковый для всех клиентов |
| Вывод | Пишется с нуля | Черновик готов, человек дописывает |
| Стоимость работы бота | - | ~$5 в месяц за VPS, ноль токенов |
| Что делает команда | Собирает таблицы | Анализирует и решает |
Главное здесь не в том, что бот «делает отчёты за людей». Он делает скучную часть: выгрузку, расчёт, сборку, черновик сравнения. А то, ради чего клиент и платит агентству, то есть суждение и стратегию, по-прежнему делает человек, просто теперь у него на это есть время.
Куда это можно перенести
Эта схема не только про Яндекс.Директ и не только про агентства. Она подходит почти любому, кто регулярно собирает однотипные отчёты по понятным правилам:
- агентствам и отделам маркетинга с пачкой клиентов или проектов;
- любым регулярным отчётам по рекламе, продажам, финансам;
- ситуациям, где данные есть в системе, а человек тратит дни на их ручную сборку в отчёт.
Привязки к конкретным инструментам тут нет. Если данные можно выгрузить, метрики посчитать, а правила вывода описать словами, такой же бот соберётся под вашу систему: другую рекламную площадку, другую BI, другую таблицу.
Если у вас есть регулярная отчётность, которую кто-то собирает руками по одним и тем же правилам, эту схему можно собрать под ваши инструменты. Я честно посмотрю, какую часть стоит автоматизировать, а какую правильнее оставить человеку.
Напишите мне в Telegram или оставьте заявку. Расскажите, как сейчас устроены ваши отчёты, и я бесплатно разберу, что там можно собрать автоматически.
Стек
Частые вопросы
- Почему вывод пишет дерево решений в коде, а не нейросеть?
- Потому что отчёт по рекламе это не творчество, а сравнение цифр по понятным правилам. Если доход вырос, конверсий больше, а цена конверсии ниже, вывод однозначный. Такую логику дешевле и надёжнее описать кодом: ноль токенов, предсказуемый результат, ничего не выдумывается и не плавает от запуска к запуску.
- Почему отчёты не уходят клиенту в Telegram автоматически?
- Так захотел сам клиент. Условие было прямое: менеджеры не должны пересылать отчёты вслепую. Поэтому бот кладёт готовый отчёт с цифрами и черновиком вывода в общую таблицу, а менеджер находит своего клиента, читает, добавляет свою часть и отправляет сам. Это сознательный human-in-the-loop, а не недоработка.
- Сколько стоит поддерживать такой процесс?
- Из постоянных расходов только небольшой VPS, порядка пяти долларов в месяц. Нейросеть в выводах не используется, поэтому за токены платить не нужно. Бот работает на той же инфраструктуре, что и другие сценарии агентства, так что отдельный сервер под одни отчёты держать не приходится.
- Можно ли собрать так же под другой рекламный канал или другую систему отчётов?
- Да. Здесь источник это база, на которой строится Яндекс.Директ и DataLens, но привязки именно к ним нет. Если данные по рекламе можно выгрузить, метрики посчитать, а правила вывода описать, схема переносится на другой канал, другую BI или другой формат отчёта. Меняется слой выгрузки и набор правил.
- Что с конфиденциальностью клиентов агентства?
- Само агентство, MasterContext, мы называем открыто. А вот конкретные цифры и идентификаторы клиентов на скриншоте отчёта скрыты, так и оставляем. Данные не уходят во внешние сервисы ради красивого вывода: всё считается на инфраструктуре агентства, а отчёты лежат в их же рабочей таблице.
- Как часто и когда формируются отчёты?
- Дважды в месяц. Первого числа бот собирает отчёт за полный предыдущий месяц, шестнадцатого за первую половину текущего, оба раза со сравнением с прошлым периодом. Запускается он в шесть утра, чтобы к началу рабочего дня готовые отчёты уже лежали в таблице и менеджерам оставалось их только разобрать.
Хотите автоматизировать что-то в своём бизнесе?
Расскажите, что вас задолбало делать руками. 30 минут на бриф, потом конкретное предложение или отказ, если задача не моя.