При подготовке курса мы посчитали кейс для кофейни «Зерно». Четыре задачи маркетолога из модулей 3 и 4: посты, недельный отчёт по рекламе, разбор конкурентов, разбор отзывов. Сценарий n8n сложил минуты, вычел расходы и попросил модель написать кейс на страницу. Вышло так: было 26,9 часа в месяц, стало 4,7. Цифры там условные, и в этом уроке вы замените их своими.
Чему научитесь в этом уроке:
• сравнить время на задачи до запуска конвейеров и после, на одних и тех же задачах;
• посчитать расходы в месяц: модель по недельному разбору 5.3 или смете и тариф n8n;
• получить кейс на страницу, где каждое число взято из расчёта, а оценочные цифры помечены.
Похожий урок есть в треке 2: «Было → стало: считаем на своих данных». Там считали ассистента для почты и заявок. Здесь задачи другие, и есть две свои особенности: время «стало» не равно нулю, а расходы берутся из ваших недельных разборов.
«Было»: откуда взять минуты
Представьте, что вы меряете расход бензина. Если до замены шин вы не записали, сколько уходило на сотню, после замены сравнивать не с чем. С временем так же. Опора для «было» это хронометраж одной недели до запуска конвейеров, таблица из урока 1.1 модуля 1. В ней по каждой задаче стоит, сколько раз в неделю вы её делали и сколько минут уходило на раз.
Если замера не было, кейс всё равно можно собрать. Оцените минуты по памяти, но честно пометьте в кейсе: «было» оценено по памяти, а не замерено. Читатель кейса должен знать, какие цифры точные, а какие примерные.
«Стало»: проверка и кнопка
Конвейер пишет пост, но одобряете его вы. Отчёт собирается сам, но выгрузки из Директа и Метрики загружаете вы. Поэтому «стало» никогда не ноль: это время на загрузку, чтение, проверку и кнопку. В дневнике правок 5.4 минут нет, поэтому «стало» нужно замерить отдельно. Возьмите одну обычную неделю после запуска конвейеров и те же задачи, что в хронометраже 1.1. По каждой записывайте в ту же таблицу, сколько раз за неделю вы к ней подходили и сколько минут ушло на загрузку, проверку и кнопку. Сбои и правки в эти минуты не включайте: им место в разделе «что не посчитано». Если записать ноль, кейс получится красивым и неверным.
Расходы в месяц
- Модель. Недельный разбор 5.3 показывает расход за неделю: разделите его на 7, умножьте на 30 и на курс доллара. Если разборов мало, посчитайте месяц по смете, как в уроке 2.3. В примере взят замер курса: 30 постов с картинками ≈ 1,4 $ в месяц (30 картинок по 0,045 $ и 30 постов текстом около 0,003 $, с округлением вверх). При курсе 95 ₽ это 1,4 × 95 = 133 ₽.
- n8n. Ваш тариф облака или стоимость своего сервера. В примере 2 000 ₽: тариф Starter 20 € в месяц при оплате за год (на 08.10.2026, n8n.io/pricing) при условном курсе 100 ₽ за евро, как в уроке 1.3. Подставьте то, что платите вы.
Курс доллара тоже ваш, на дату расчёта. Если у вас идёт пробный период n8n и вы пока не платите, запишите в расходы цену тарифа, на который перейдёте: пробный период кончится, а кейс должен показывать обычный месяц.
Сценарий: расчёт, текст, проверка
Сценарий из четырёх узлов. Старт (Manual Trigger, запуск кнопкой) → Code «Расчёт» → Basic LLM Chain «Текст кейса» (узел, который отправляет данные модели и получает текст) → Code «Проверка кейса». Код «Расчёт» дословно, с примером «Зерно»:
// Было → стало: ученик вписывает СВОИ замеры. Здесь — пример кофейни «Зерно» (условные цифры)
const hourRub = 800; // стоимость часа владельца или маркетолога, ₽
const usdRub = 95; // курс для расхода на модели
// модели: 30 постов с картинками ≈ 1,4 $ в месяц (замер 08.10); n8n Starter 20 € × условный курс 100
const monthly = { 'модели (CloseRouter)': 1.4 * usdRub, 'n8n Starter': 20 * 100 };
const tasks = [
// задача, раз в неделю, минут на раз «было», минут на раз «стало» (проверка и кнопка)
['Пост в ТГ и ВК', 3, 60, 10],
['Недельный отчёт по рекламе', 1, 90, 10],
['Разбор конкурентов', 1, 60, 15],
['Разбор отзывов', 1, 45, 10],
];
const W = 4.3; // недель в месяце
const rows = tasks.map(([t, n, b, a]) => ({ задача: t, было_мин_мес: Math.round(n * b * W), стало_мин_мес: Math.round(n * a * W) }));
const before = rows.reduce((s, r) => s + r.было_мин_мес, 0), after = rows.reduce((s, r) => s + r.стало_мин_мес, 0);
const savedH = +((before - after) / 60).toFixed(1);
const savedRub = Math.round(savedH * hourRub);
const costRub = Math.round(Object.values(monthly).reduce((s, v) => s + v, 0));
const net = savedRub - costRub;
return [{ json: { rows, было_ч: +(before / 60).toFixed(1), стало_ч: +(after / 60).toFixed(1), сэкономлено_ч: savedH, сэкономлено_руб: savedRub, расходы_руб: costRub, расходы: monthly, чистая_выгода_руб: net, пример: true } }];
Свои данные вы вписываете в начало кода: hourRub это стоимость вашего часа, usdRub курс, monthly расходы в месяц, а в tasks каждая строка устроена так: задача, сколько раз в неделю, минут на раз «было», минут на раз «стало». W = 4.3 это недель в месяце. Если ваши задачи отличаются, меняйте строки, но оставляйте только те, что делает конвейер.
Системное сообщение узла «Текст кейса», дословно:
Напиши кейс «было → стало» на одну страницу для владельца малого бизнеса по расчёту ниже. Простой текст без звёздочек и решёток, 900–1400 знаков.
Структура: 1) что было (сколько часов в месяц уходило и на что), 2) что сделали (какие задачи теперь делает конвейер, а что осталось за человеком: проверка и кнопка), 3) цифры: часы было/стало, сэкономлено часов и рублей, расходы, чистая выгода, 4) что не посчитано и где риск.
Правила: числа только из расчёта, ничего не досчитывай, не округляй по-своему. Если в данных «пример: true» — первой строкой напиши «Пример на условных цифрах». Не обещай роста продаж — его не измеряли.
Сообщение пользователя в том же узле: {{ JSON.stringify($json) }}, то есть модель получает весь расчёт целиком. Последний узел проверяет модель кодом:
// Проверка кейса
const d = $('Расчёт').first().json;
const text = String($input.first().json.text || '');
const flat = JSON.stringify(d).replace(/(\d)[\s ](?=\d{3})/g, '$1');
const nums = text.replace(/(\d)[\s ](?=\d{3})/g, '$1').match(/\d+(?:[.,]\d+)?/g) || [];
const extra = [...new Set(nums.filter(n => !flat.includes(n.replace(',', '.')) && !['1','2','3','4'].includes(n)))];
return [{ json: { проверка_чисел: extra.length ? 'нет в расчёте: ' + extra.join(', ') : 'ОК', пометка_пример: /^\s*Пример на условных цифрах/.test(text) ? 'есть' : 'НЕТ', text } }];
Проверка делает две вещи. Ищет в тексте числа, которых нет в расчёте (кроме номеров пунктов 1–4), и смотрит, стоит ли первой строкой «Пример на условных цифрах», когда в данных пример: true. Когда считаете свои цифры, поменяйте в «Расчёте» пример: true на пример: false.
Что вышло на примере
Пример на условных цифрах, запуск 102: час 800 ₽, модели 1,4 $ в месяц, курс 95, n8n 2 000 ₽. Было 26,9 часа в месяц, стало 4,7 часа. Сэкономлено 22,2 часа, это 17 760 ₽. Расходы 2 133 ₽: модели 133 ₽ и n8n 2 000 ₽. Чистая выгода 17 760 − 2 133 = 15 627 ₽ в месяц.

Проверка чисел ответила «ОК», пометка примера стоит первой строкой. Модель соблюла четыре части кейса, роста продаж не обещала, а в рисках сама назвала, что не учтено время на настройку и сбои платформ. Одна мелочь: дроби она написала через точку, «26.9». Это поправьте руками перед тем, как показывать кейс.
Правила кейса
- Числа только из расчёта. Модель ничего не досчитывает, проверка кодом это ловит.
- Без обещаний продаж. Рост продаж вы не измеряли, значит, в кейсе его нет. Кейс про часы и рубли.
- Раздел «что не посчитано». Время на сборку конвейеров, сбои, правки. Источник для него ваш дневник правок 5.4: возьмите из него, что сломалось и что поправили, и сколько это заняло.
- Пометка оценки. Каждая цифра, взятая по памяти, а не из замера, помечена.
Если выгода вышла маленькой или отрицательной, так и запишите. Кейс, где проверка съедает сэкономленное, показывает, какой конвейер стоит убрать или переделать. Это полезнее приукрашенной цифры.
Если не получилось
- Проверка пишет «нет в расчёте: …». Модель вставила своё число. Прочитайте его в тексте: если это округление, запустите узел ещё раз; если повторяется, удалите это число из текста руками.
- Пометка примера «НЕТ». В расчёте осталось
пример: true, а модель не написала первую строку. Для своих цифр поставьтепример: false; для примера запустите узел заново. - Проверка пишет «нет в расчёте: 95». Модель назвала в тексте курс доллара, а в выходе «Расчёта» его нет. Уберите курс из текста руками или запустите узел ещё раз.
- «Стало» почти равно «было». Проверьте, не записали ли вы в «стало» время на правки сбоев. Его место в разделе «что не посчитано», а в «стало» только обычная неделя.
- Нет замера «было». Оцените по памяти и пометьте в кейсе. Пересобрать прошлое уже нельзя.
Контрольный вопрос. Конвейер пишет пост сам, вы только читаете и нажимаете «Опубликовать», на это уходит 10 минут. Что записать в «стало» для поста?
Подсказка: Вспомните, из чего складывается ваша работа после запуска конвейера.
На курсе задания проверяются автоматически. Подобрать курс
Контрольный вопрос. Модели в месяц обходятся в 1,4 $, курс 95 ₽ за доллар. Сколько рублей в месяц пойдёт на модель?
Подсказка: Расход в долларах переведите в рубли по курсу и проверьте, где стоит запятая.
На курсе задания проверяются автоматически. Подобрать курс
Контрольный вопрос. Что должно быть в кейсе «было → стало» по правилам урока? Выберите все подходящие.
Выберите все верные варианты.
Подсказка: Пройдите по четырём правилам кейса и проверьте каждый вариант.
На курсе задания проверяются автоматически. Подобрать курс
Задание. МИССИЯ «Кейс на своих цифрах». Соберите сценарий из четырёх узлов урока и впишите в «Расчёт» свои данные: стоимость часа, курс, расход модели в месяц по недельному разбору 5.3 (за неделю ÷ 7 × 30 × курс) или по смете урока 2.3, свой тариф n8n или сервер, задачи, которые делает конвейер, с минутами «было» и «стало». Поставьте пример: false и запустите. Приложите: (1) таблицу «было» (хронометраж недели до запуска или оценка по памяти, так и подпишите) и таблицу «стало» за неделю после запуска по тем же задачам; (2) выход узла «Расчёт»; (3) выход узла «Проверка кейса»; (4) кейс на страницу, где оценочные цифры помечены, и раздел «что не посчитано» с одной-двумя записями из дневника правок 5.4. Принято, если: «было» и «стало» относятся к одним и тем же задачам; «стало» не ноль; расход модели посчитан из разбора 5.3 или по смете, способ указан, тариф n8n ваш; проверка чисел «ОК» или лишние числа убраны из текста; в кейсе нет обещаний роста продаж; есть раздел «что не посчитано»; цифры по памяти помечены; на скриншотах не видны ключи и номер личного чата.
Подсказка: Если разборов 5.3 пока один и расхода за неделю нет, посчитайте расход по журналу запусков и смете, как в уроке 2.3, и пометьте это в кейсе.
✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.
На курсе задания проверяются автоматически. Подобрать курс
Что дальше
Кейс готов, и он понадобится в уроке 6.2. Там вы покажете конвейеры в работе и защитите этот кейс: откуда каждая цифра и что в нём не посчитано. Если дневник ещё набирается, дополните кейс, когда пройдут оставшиеся контрольные точки.
Итог:
• «было» берётся из хронометража недели до запуска, а без замера оценивается по памяти с пометкой;
• «стало» это время на проверку и кнопку, не ноль;
• «стало» замеряют неделю после запуска на тех же задачах;
• расходы: модель по разбору 5.3 или смете и ваш тариф n8n; в примере 2 133 ₽ в месяц, выгода 15 627 ₽;
• в кейсе числа только из расчёта, без обещаний продаж и с разделом «что не посчитано».
