Юнит экономика товара на Ozon с примером расчёта от продажи до остатка после налога
Показываю, что и в каком порядке вычитать из выручки товара, чтобы получить остаток после налога. На данных моих магазинов объясняю структуру расходов, а через формулы для отдельного товара — влияние рекламы, возвратов и ошибки в выборе цены для расчёта.
За 90 дней выручка моих магазинов составила 41 269 352 ₽, но после учтённых расходов и налога из каждых 100 ₽ осталось 11,4 ₽. Между этими величинами лежат комиссия, логистика, реклама и закупка товара, которую легко недооценить. Сам оборот почти ничего не говорит о том, можно ли заказывать следующую партию и забирать деньги из бизнеса. Поэтому я начинаю проверку товара не с количества заказов, а с того, что остаётся от его фактической продажи.
Когда мне нужен пример расчёта юнит экономики, я хочу видеть весь путь денег, а не формулу из выручки и закупочной цены. Ниже я пройду этот путь для отдельного товара и покажу, какие данные подставлять на каждом этапе. Числовая опора здесь — реальные агрегированные данные моих магазинов, а не история придуманного артикула. Фактической цены и расходов отдельного товара в этих данных нет, поэтому я не стану выдавать среднюю структуру бизнеса за результат конкретной карточки. Для товара оставлю воспроизводимые формулы, а суммы на каждые 100 ₽ выручки использую для объяснения механики.
От какой цены считать юнит экономику маркетплейса
Сначала я открываю конкретную продажу и сопоставляю цену для покупателя с тем, какая сумма реализации отражена в расчётах продавца. Цена, установленная мной в кабинете, ещё не доказывает, что именно столько выручки принёс заказ. При этом и платёж покупателя нельзя автоматически считать окончательной базой: нужно проверить скидки, источник их финансирования и связанные начисления. Если часть скидки компенсируется площадкой, я учитываю подтверждённую компенсацию по её экономическому смыслу, а не просто уменьшаю доход на видимую скидку. Отправная точка расчёта — подтверждённый доход от реализации до удержания расходов площадки, а не витринная цена и не выплата на расчётный счёт.
В моих данных из каждых 100 ₽ выручки комиссия Ozon забрала 40,5 ₽, логистика и прочие сборы — 10,1 ₽, реклама — 13,1 ₽. На себестоимость товара пришлось 21,5 ₽, на налог — 3,5 ₽, а остаток составил 11,4 ₽. Это фактическая структура за 90 дней по магазинам вместе, а не тарифная сетка Ozon и не норматив для нового товара. Значения округлены отдельно, поэтому при вычитании опубликованных строк итог может немного разойтись с указанным остатком. Для проверки собственного расчёта я использую исходные суммы без округления, а округляю уже результат.
Куда уходит 100 ₽ выручки
Магазины автора, 90 дней
Комиссия Ozon40,5 %
Логистика и прочие сборы10,1 %
Реклама13,1 %
Себестоимость товара21,5 %
Налог3,5 %
Осталось11,4 %
Доли посчитаны по доставленным заказам за 90 дней. Сумма всех статей — ровно 100%, поэтому видно, сколько остаётся на самом деле. Собственные магазины автора, 90 дней, выручка 41 269 352 ₽
Не подставляйте средние расходы моих магазинов в расчёт своего товара как готовые ставки. Комиссия 40,5 ₽ и налог 3,5 ₽ на каждые 100 ₽ выручки описывают конкретный набор продаж и начислений. Они не устанавливают условия Ozon или налоговую нагрузку другого продавца. И остаток 11,4 ₽ нельзя называть свободной чистой прибылью, пока не проверено, какие расходы бизнеса ещё не вошли в расчёт.
Какую таблицу я собираю для одного товара
Если объяснять на практике, юнит экономика маркетплейса — это проверка того, сколько денег приносит выбранная единица продажи после связанных с ней затрат. Для этой статьи я выбираю единицей товар, который покупатель оставил у себя. Расходы на невыкупы и возвраты при этом не исчезают: я распределяю их на состоявшиеся продажи того же артикула. Такой подход позволяет сравнить товар с самим собой, даже когда меняется качество заказов. В таблице я обязательно подписываю единицу расчёта, потому что прибыль на оформленный заказ и прибыль на оставленный покупателем товар — разные показатели.
Артикул и период наблюдения, а также количество заказанных, отправленных, возвращённых и оставленных покупателями единиц.
Подтверждённая выручка от реализации после отмен и возвратов, с отдельной проверкой скидок и компенсаций.
Комиссия по продажам с учётом относящихся к ним корректировок.
Доставка, обработка, обратная логистика и прочие сборы с понятным правилом распределения на товар.
Рекламные расходы артикула, включая затраты на трафик, который не закончился продажей.
Себестоимость оставленных покупателями единиц и отдельно потери по повреждённым или утраченным товарам.
Налоговая база, способ расчёта налога и сумма, отнесённая на выбранный товар.
Остаток после перечисленных расходов и перечень затрат бизнеса, которые пока остаются за пределами таблицы.
Для таблицы юнит экономики Ozon мне недостаточно выгрузки заказов: нужны ещё начисления, рекламные расходы и собственный учёт закупки. Я связываю строки по артикулу и, где это возможно, по отправлению, чтобы видеть происхождение каждого удержания. Расходы, которые нельзя напрямую привязать к продаже, распределяю по заранее выбранному основанию и не меняю его ради красивого результата. Состав закупочной части я подробно разбираю в статье о том, из чего складывается себестоимость товара. Перед расчётом также проверяю, не записаны ли упаковка или доставка до склада одновременно в себестоимость и в отдельные расходы.
Юнит-экономика по каждому товару: себестоимость, реальная выплата Ozon, комиссия, реклама и прибыль. Убыточные помечаются сразу — их не приходится высматривать в таблице.
Пошаговый расчёт от реализации до остатка после налога
Начинаю с выручки выбранного артикула по завершившимся продажам и делю её на количество единиц, оставленных покупателями. Получаю фактическую среднюю реализацию на единицу, которую дальше обозначаю буквой Р. Из Р вычитаю комиссию, приходящуюся на ту же единицу и тот же набор продаж. Беру её из начислений с корректировками, а не рассчитываю по ставке, которую помню с прошлой поставки. В агрегированном примере стартовой величиной служат 100 ₽ выручки, а первая вычитаемая строка составляет 40,5 ₽.
Следом вычитаю логистику и остальные сборы, относящиеся к этому товару. В числитель включаю подтверждённые расходы выбранного набора отправлений, в том числе расходы на возвраты, а делю их на оставленные покупателями единицы. Так неудачные отправления уменьшают результат успешных продаж, вместо того чтобы пропасть из расчёта. В моём агрегированном примере строка логистики и прочих сборов составляет 10,1 ₽ на каждые 100 ₽ выручки. Если я выделяю обратную логистику отдельно для анализа, из общей строки её убираю, иначе получится повторное вычитание.
Затем вычитаю рекламные расходы на единицу. Для этого беру расходы, отнесённые на артикул, и делю их на все оставленные покупателями единицы в выбранной области расчёта, а не только на продажи, отмеченные рекламной системой. Это позволяет включить в стоимость продаж и клики, после которых покупатель ничего не заказал. В общей структуре моих магазинов реклама забирает 13,1 ₽ из каждых 100 ₽ выручки. Если кампания продвигает несколько товаров и точной привязки расходов нет, я показываю способ распределения и считаю результат оценкой, а не точным фактом.
После рекламы вычитаю себестоимость проданной единицы. В неё включаю те затраты на приобретение и подготовку товара, которые приняты в моём учёте, и проверяю, чтобы они не повторялись в других строках. В агрегированных данных на эту часть приходится 21,5 ₽ из каждых 100 ₽ выручки. Себестоимость всей закупленной партии из результата отдельных продаж я здесь не вычитаю: непроданный остаток пока остаётся товарным запасом. Вернувшийся пригодный товар тоже не становится полностью потерянной закупкой, хотя его возврат уже мог принести расходы на перевозку и обработку.
Последней из перечисленных строк вычитаю налог, рассчитанный по применимому режиму и корректной налоговой базе. Я не беру банковскую выплату и не умножаю её автоматически на привычную ставку: удержания площадки сами по себе не объясняют, как определяется база. Если налог зависит от расходов или считается по бизнесу в целом, для товара нужен согласованный способ распределения, а окончательную сумму я сверяю с учётом. В моих данных налог составляет 3,5 ₽ на каждые 100 ₽ выручки, после учтённых статей остаётся 11,4 ₽. Это фактическое соотношение, а не рекомендация использовать такую же налоговую долю в чужой таблице.
Вся базовая юнит экономика выбранного товара теперь собирается в выражение: остаток на единицу = Р − комиссия на единицу − логистика и сборы на единицу − реклама на единицу − себестоимость − налог на единицу. Все строки должны относиться к одному товару и совместимому набору продаж, иначе аккуратная формула даст случайный результат. Я сохраняю промежуточный остаток после каждого вычитания, чтобы сразу видеть, на каком этапе товар теряет деньги. Полученную сумму рассматриваю как вклад продажи в покрытие оставшихся расходов бизнеса и прибыль. Если зарплата, аренда или другие общие затраты не распределены на товар, объявлять этот остаток чистой прибылью рано.
Как тот же товар меняется при возвратах и рекламе
Для сравнения сценариев я копирую расчёт того же артикула, сохраняя себестоимость и правила расчёта начислений. Отдельно меняю долю возвратов, отдельно — рекламную долю, затем проверяю их совместное изменение. Конкретных значений этих долей для отдельного товара в переданных данных нет, поэтому числовой прогноз здесь был бы выдумкой. Вместо него можно построить проверяемую модель на собственных наблюдениях, взяв обычный период и период с более высокой нагрузкой. При сравнении нужно явно указать, что остаётся неизменным: число отправлений, объём продаж или рекламный бюджет.
В сценарии возвратов я сначала фиксирую количество отправленных единиц и рассчитываю, сколько из них покупатели оставят при выбранной доле возвратов. Затем считаю выручку по оставленным единицам и заново собираю расходы по всем отправлениям, включая обратную логистику и подтверждённые потери. Средняя нагрузка возвратов на состоявшуюся продажу получается делением связанных с возвратами расходов на количество оставленных единиц. Когда возвратов становится больше, расходов на неудачные отправления может прибавиться, а единиц для их распределения становится меньше. Полную себестоимость возвращённого товара я списываю в потери только при наличии основания, например если товар больше нельзя продать, и отдельно учитываю его возможную остаточную стоимость.
В рекламном сценарии я задаю долю расходов относительно подтверждённой выручки от реализации, а не относительно суммы оформленных заказов. Рекламный расход на оставленную единицу тогда равен её средней реализации, умноженной на выбранную рекламную долю. При неизменных остальных строках прирост рекламных расходов на единицу уменьшает остаток до пересчёта налога на ту же сумму. Если налоговая база зависит от расходов, налог в сценарии тоже требуется пересчитать. Предельный рекламный бюджет я ищу через остаток после остальных затрат, но оставляю из него сумму на покрытие общих расходов, а не отдаю рекламе всё до нулевого результата.
В результате у меня появляются сопоставимые варианты: обычная нагрузка, повышенные возвраты, повышенная рекламная доля и их совместное увеличение. Особенно внимательно я смотрю на последний вариант, потому что рекламный бюджет мог уже потратиться, а возвраты уменьшили подтверждённую выручку. Тогда рекламная доля растёт даже без увеличения расходов на продвижение, просто из-за меньшего знаменателя. Нельзя одновременно оставить прежнюю выручку, увеличить возвраты и считать, что модель отражает весь ущерб. Если же я вручную задаю рекламную долю уже от выручки после возвратов, дополнительно увеличивать её за тот же эффект не нужно.
Ошибка с ценой продавца и проверка на завтра
Типичная ошибка выглядит так: продавец записывает в доход цену из кабинета, а расходы берёт из реальных начислений по продаже. Получается смесь желаемой выручки и фактических затрат. Если подтверждённая реализация ниже установленной цены и разница ничем не компенсирована, расчёт завышает остаток на величину этой разницы при неизменных остальных строках. По всему объёму продаж ошибка растёт вместе с количеством проданных единиц. На бумаге товар оплачивает рекламу и оставляет прибыль, а в деньгах запланированного остатка нет.
Я проверяю такую ошибку обратной сверкой: суммирую использованную в таблице выручку и сопоставляю её с подтверждённой реализацией выбранных продаж. Затем отдельно сверяю удержания, корректировки и начисленный налог, не пытаясь объяснить всё одной разницей с банковской выплатой. Выплата может относиться к другому моменту расчётов, поэтому она не заменяет проверку экономики товара. После исправления цены приходится заново оценивать допустимые расходы на рекламу и решение о следующей закупке. Если хочется перевести остаток в относительный показатель, в статье о том, как посчитать рентабельность товара на Ozon, я объясняю, почему её нельзя путать с наценкой.
Завтра я бы выбрал один активно продающийся артикул и собрал по нему завершившиеся продажи, возвраты, начисления, рекламу и закупочную себестоимость. Затем заполнил бы перечисленные строки, проверил реализацию вместо цены из кабинета и сохранил остаток после каждого вычитания. Следующим действием сделал бы копии расчёта с другой долей возвратов и рекламы, используя собственные наблюдения вместо придуманных значений. Именно ради возможности доверять такой проверке я сделал SellOps; в описании того, как устроен сервис, можно посмотреть его логику перед использованием. Когда остаток на единицу подтверждён, я перехожу к расчёту точки безубыточности товара, чтобы связать экономику продажи с расходами бизнеса и объёмом партии. Практический результат этой работы — решение по конкретному артикулу: продолжать закупку, пересматривать расходы или сначала выяснить, почему продажи не оставляют денег.