Юнит-экономика с ИИ полезна, когда модель считает вклад одной оплаченной единицы и всего периода на раскрытых расходах, а не выдаёт одну «магическую» маржу. Ниже — проверка юнит-экономики нейросетью на учебном примере: полный набор входов, самостоятельный промпт и эталон, с которым можно сверить ответ. Все цифры вымышлены для объяснения, это не отраслевые нормы и не клиентский кейс. Запуск модели в этом материале не выполнялся, поэтому эталон — расчётная конструкция, а не измеренный результат.
Главная опасность — двойной учёт. Себестоимость и рекламу легко вычесть дважды: сначала в марже единицы, потом ещё раз в итоге периода. Поэтому сначала фиксируются определения, затем арифметика, и только после этого сценарии и порог.
Зафиксируйте единицу, период и пропуски затрат
Единица — один оплаченный заказ за один условный месяц. Цена 2 000 рублей, себестоимость продукта 1 200 рублей, платёжная комиссия 40 рублей, рекламный бюджет 20 000 рублей за месяц, постоянные расходы 15 000 рублей за месяц. Плановый объём — 100 оплаченных заказов.
Сразу выпишите, чего в наборе нет: налоги, возвраты, доставка, LTV, когортное удержание и бухгалтерская чистая прибыль. Эти строки не додумываются задним числом, иначе результат перестаёт сверяться с входами. В реальной задаче состав затрат нужно уточнить до расчёта.
Отдельно зафиксируйте допущения: один заказ равен одной оплаченной единице; цена и затраты на единицу не меняются; рекламный бюджет не растёт при изменении объёма. Последнее условие важно, потому что превращает рекламу в фиксированную сумму периода, а не в постоянную стоимость привлечения.
Проверьте вклад без двойного учёта
Вклад до распределения рекламы на единицу: 2 000 − 1 200 − 40 = 760 рублей. Это деньги, которые заказ приносит до рекламы и постоянных расходов.
При 100 заказах реклама на единицу: 20 000 ÷ 100 = 200 рублей. Вклад после распределения рекламы: 760 − 200 = 560 рублей.
Результат периода считается один раз и с расходами ровно один раз: 760 × 100 − 20 000 − 15 000 = 41 000 рублей. Тот же результат даёт эквивалентный маршрут через 560 × 100 − 15 000 = 41 000: в 560 уже распределена реклама, но постоянные расходы ещё нет. Повторно вычитать рекламу 20 000 из 560 × 100 нельзя: она уже распределена по заказам и сидит в 560. Постоянные 15 000 вычитаются отдельно.
Проверка простая: если из 560 × 100 дополнительно убрать 20 000 и 15 000, получится 21 000 вместо 41 000. Ошибка здесь — повторно вычтенная реклама 20 000, а не постоянные расходы: fixed из 560 × 100 вычитать как раз нужно. Это признак двойного вычитания, а не более честного расчёта.
Постройте сценарии на полных входах
При фиксированном рекламном бюджете изменение числа заказов меняет вклад линейно, а расходы периода остаются те же.
| Заказов | Выручка | Переменные затраты | Результат периода |
|---|---|---|---|
| 50 | 100 000 | 62 000 | 3 000 |
| 100 | 200 000 | 124 000 | 41 000 |
| 150 | 300 000 | 186 000 | 79 000 |
Выручка — цена × заказы. Переменные затраты — (1 200 + 40) × заказы. Результат периода — 760 × заказы − 35 000. Все три строки считаются по одним правилам.
Рекламный бюджет здесь не превращается в постоянный CAC. Если задать стоимость привлечения как 200 рублей на заказ, то при 50 заказах рекламные расходы упадут до 10 000 и результат станет другим — но это уже другая модель, а не фиксированный бюджет. Смешивать две схемы в одном расчёте нельзя.
Проверьте порог и ограничьте вывод
Порог при фиксированном бюджете: (20 000 + 15 000) ÷ 760 = 46,05, то есть 47 заказов с округлением вверх. Контрольная пара: 46 × 760 − 35 000 = −40 рублей, 47 × 760 − 35 000 = 720 рублей. Сорок шесть заказов убыточны по модели, сорок семь покрывают модельные затраты.
Учебный пример
Ниже — полный вход, копируемый промпт и эталон результата. Учебный пример вымышлен: это не клиентский кейс и не выполненный тест нейросети.
{
"inputs": {
"currency": "RUB",
"period": "one invented month",
"paid_orders": 100,
"price_per_order": 2000,
"variable_product_cost_per_order": 1200,
"payment_fee_per_order": 40,
"ad_budget_fixed_month": 20000,
"fixed_cost_month": 15000,
"scenarios_orders": [50, 100, 150],
"assumptions": [
"один заказ = одна оплаченная единица",
"цена и затраты на единицу фиксированы",
"ad_budget не растёт в сценариях",
"налоги, возвраты, доставка и другие расходы не включены"
]
}
}
Промпт ниже работает сам по себе: в нём есть все входы, определения, формулы и выходная схема. Ничего из внешних материалов ему не нужно.
Рассчитай экономику оплаченных заказов за один месяц на раскрытых входах.
ВХОДЫ (RUB):
paid_orders = 100
price_per_order = 2000
variable_product_cost_per_order = 1200
payment_fee_per_order = 40
ad_budget_fixed_month = 20000
fixed_cost_month = 15000
scenarios_orders = [50, 100, 150]
ДОПУЩЕНИЯ:
- один заказ = одна оплаченная единица;
- цена и затраты на единицу фиксированы;
- рекламный бюджет фиксирован и не растёт в сценариях;
- налоги, возвраты, доставка, LTV и прочие расходы не включены.
ПРАВИЛА РАСЧЁТА:
1. unit_before_ads = price_per_order - variable_product_cost_per_order - payment_fee_per_order.
2. unit_after_ads_at_100 = unit_before_ads - ad_budget_fixed_month / 100.
3. Результат периода = unit_before_ads * orders - ad_budget_fixed_month - fixed_cost_month. Реклама и fixed вычитаются ровно один раз.
4. Для каждого сценария: revenue = price_per_order * orders; variable_cost = (variable_product_cost_per_order + payment_fee_per_order) * orders; model_result = unit_before_ads * orders - ad_budget_fixed_month - fixed_cost_month.
5. Порог = ceil((ad_budget_fixed_month + fixed_cost_month) / unit_before_ads); проверь соседние значения ниже и выше порога.
6. Не вычитай рекламу одновременно из unit-маржи и из итога периода ещё раз.
ВЫХОДНАЯ СХЕМА (JSON):
{
"unit_before_ads": число,
"ad_cost_per_order_at_100": число,
"unit_after_ads_at_100": число,
"model_result_month_at_100": число,
"scenarios": [{"orders": число, "revenue": число, "variable_cost": число, "model_result": число}],
"break_even_orders_fixed_budget": число,
"warning": строка
}
В warning укажи, что model_result не является чистой прибылью: состав затрат неполный.
Эталон ответа — полный результат для сверки:
{
"unit_before_ads": 760,
"ad_cost_per_order_at_100": 200,
"unit_after_ads_at_100": 560,
"model_result_month_at_100": 41000,
"scenarios": [
{"orders": 50, "revenue": 100000, "variable_cost": 62000, "model_result": 3000},
{"orders": 100, "revenue": 200000, "variable_cost": 124000, "model_result": 41000},
{"orders": 150, "revenue": 300000, "variable_cost": 186000, "model_result": 79000}
],
"break_even_orders_fixed_budget": 47,
"warning": "model_result не чистая прибыль: состав затрат неполный; не использовать как решение об инвестициях."
}
Сверка ответа модели: 2 000 − 1 200 − 40 = 760; 760 × 100 − 20 000 − 15 000 = 41 000; (20 000 + 15 000) ÷ 760 округляется до 47; 760 × 46 − 35 000 < 0 ≤ 760 × 47 − 35 000. Расхождения показывайте построчно.
Результат модели — не чистая прибыль и не прогноз спроса. Модель отвечает на вопрос «сходится ли арифметика при раскрытых допущениях», а не на вопрос «стоит ли вкладывать деньги».
Проверьте неполноту и следующий шаг
Ограничения нужно выписать рядом с результатом, а не прятать в финале.
- Все цифры учебные, это не отраслевые нормы.
- Нет налогов, возвратов и LTV.
- Сценарии не являются прогнозом спроса.
- Состав затрат должен быть уточнён в реальной задаче.
После сверки отделите три вещи: что известно из входов, что посчитано по раскрытым правилам и что осталось неизвестным. Неизвестные расходы и сигналы не домысливаются — их выносят в список вопросов к бизнесу.
Следующий шаг для своей задачи: собрать полный состав затрат и период, затем повторить расчёт по тем же правилам и сверить контрольную пару вокруг порога. Для сверки данных и когортных разрезов пригодятся материалы Нейросеть для анализа данных в Excel: пример и проверка и Когортный анализ с ИИ: даты, окна и расчёты.
Внешний ориентир по формуле безубыточности — Plan your business — Small Business Administration: точка безубыточности в единицах считается как постоянные затраты, делённые на разницу между ценой и переменными затратами на единицу.

