Перейти к содержимому
Levongo
Назад

Юнит-экономика на автомате: считаем через API и AI-агентов

Обложка статьи «Юнит-экономика на автомате: считаем через API и AI-агентов»

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

Здесь — инструкция, как собрать расчёт, который обновляется сам: данные приезжают по API, AI-агент разбирает то, что приезжает в человеческом виде (прайсы поставщика, переписка, PDF-инвойсы), а считает обычная формула в таблице или в коде. На сборку первой версии уйдёт день-два, если ты уже работаешь с маркетплейсом и у тебя есть доступ к личному кабинету продавца.

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

Что понадобится

Шаг 1. Выпиши формулу до того, как трогать API

Открой пустой документ и выпиши все вычеты, которые случаются с одной единицей товара от закупки до денег на счёте. Не из статьи в интернете, а из своего отчёта о реализации за последний месяц.

У меня в fashion список получился такой: закупочная цена, доставка до склада, таможенные и брокерские расходы, упаковка, комиссия площадки, логистика площадки до покупателя, обратная логистика по возвратам, хранение, эквайринг, реклама, налог. Двенадцать строк. В первой версии таблицы их было шесть — остальные я «держал в голове», и именно они съедали маржу.

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

Как понять, что шаг сделан: ты можешь взять один конкретный артикул, подставить цифры руками и получить сумму, которая сходится с тем, что реально пришло на счёт по этому артикулу за месяц. Расхождение в пределах процента — нормально. В двадцать процентов — где-то пропущена строка.

Шаг 2. Забери данные из источников по API

Теперь каждую строку формулы надо привязать к источнику. Их будет три типа, и путать их нельзя.

Первый тип — то, что отдаёт площадка. Комиссии, логистика, хранение, возвраты, фактические продажи — всё это лежит в отчёте о реализации и в статистических методах API продавца. Отчёт приходит с задержкой в несколько дней и за прошедший период, поэтому расчёт всегда будет отставать от «сегодня» — это нормально, планировать по нему всё равно можно.

Второй тип — твои внутренние данные: закупка, доставка, упаковка. Они живут в файлах поставщика, в переписке и в счетах. API у них нет, и это работа для шага 3.

Третий тип — курсы валют и налоговая ставка. Курс берётся из открытого API ЦБ, ставка вбивается константой.

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

Шаг 3. Отдай агенту чёрную работу, а не арифметику

Вот здесь появляется AI-агент — программа, которая получает задачу текстом, сама решает, какие шаги сделать, и вызывает инструменты (запрос к API, чтение файла, запись в таблицу).

Его зона ответственности — превращать человеческий хаос в строки таблицы. У меня агент делает три вещи. Разбирает прайс поставщика, который каждый раз приходит в новом формате, и вытаскивает артикул, цену, минимальную партию. Читает инвойс и достаёт сумму доставки, которую потом надо разложить на единицы по весу. Сопоставляет артикул поставщика с моим SKU на площадке — названия там никогда не совпадают, и раньше это была ручная работа на пару часов после каждой поставки.

Что агенту в этой схеме не поручается: считать маржу, считать проценты, решать, выгоден товар или нет. Он отдаёт структурированный JSON с числами, а маржинальность считает формула в таблице. Разделение простое: агент отвечает на вопрос «какие числа», код — на вопрос «сколько получилось».

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

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

Шаг 4. Поставь на расписание и добавь пороги

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

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

Отдельным правилом стоит проверка на отсутствие данных: если отчёт не приехал, сценарий должен написать об этом, а не молча посчитать по старым цифрам. Тихая поломка хуже громкой.

Как проверить результат

Считай, что готово, когда выполняются четыре условия.

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

Последний пункт — главный. Расчёт нужен не для отчётности, а чтобы принимать решение по закупке до того, как деньги ушли поставщику.

Что делать, если не работает

Цифры в расчёте не сходятся с деньгами на счёте. В девяти случаях из десяти пропущена строка вычетов — чаще всего обратная логистика или платное хранение. Возьми выписку за месяц, выпиши все списания площадки и сверь со своим списком построчно.

Агент подставляет неправильные артикулы при сопоставлении. Не лечится промптом. Заведи справочник соответствий: один раз сопоставленная пара артикулов сохраняется, и в следующий раз агент берёт её оттуда, а не угадывает заново. Модель работает только с новыми, не встречавшимися позициями.

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

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

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

Что с этим делать

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

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

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

Заложи неделю на расхождения. Первая версия расчёта всегда врёт, и это не повод её выбрасывать: врёт она в конкретном месте, которое находится сверкой с банковской выпиской.

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


Поделиться статьёй:

Следующая статья
Маркетинг в социальных сетях: как бороться за внимание, когда его уже не осталось