Разбор10 сентября 2026 г.
Процент выкупа на Ozon и ошибка, которая портит прогноз прибыли
Я ошибался в прогнозе прибыли, когда смешивал заказы с известным результатом и заказы, которые ещё ехали к покупателю. В таблице всё выглядело убедительно: есть общее количество заказов, есть доставленные, можно разделить одно на другое и получить процент выкупа. Но свежий период при таком подходе почти неизбежно выглядит хуже старого. Часть покупателей ещё не получила возможность забрать заказ, а расчёт уже записал их в невыкуп. Получалось, что я оценивал доходность продаж через скорость завершения доставки, хотя хотел ответить совсем на другой вопрос.
Теперь я сначала выясняю, что именно попало в знаменатель, и только потом смотрю на сам процент. По моим магазинам за год средний выкуп составил 81,7% на выборке 65 987 завершённых заказов. Это полезная опора для анализа, но не обещание такого же результата для любого нового периода. У магазинов разные показатели, а у свежих заказов ещё нет окончательного исхода. Ниже я покажу, как отделяю наблюдаемый результат от прогноза и где между ними обычно теряются деньги на бумаге.
Что на самом деле показывает процент выкупа
Мне процент выкупа нужен, чтобы оценить, какая часть заказов с известным исходом дошла до успешной покупки. Здесь решающее условие — известный исход, а не просто наличие заказа в выгрузке. Заказ в пути пока нельзя уверенно отнести ни к выкупу, ни к невыкупу. Отмена или отказ уже дают результат, если соответствующий процесс действительно завершён. Поэтому перед расчётом я разделяю заказы по исходам, а не пытаюсь получить полезный показатель из общего счётчика.
Отдельно я договариваюсь сам с собой, что именно называю успешной покупкой в конкретном отчёте. Получение товара покупателем и продажа, после которой не было возврата, — разные события. Если показатель измеряет получение, последующий возврат нужно учитывать отдельно при расчёте прибыли. Если я считаю долю окончательно сохранённых продаж, возвращённый заказ уже не должен оставаться в успешных исходах. По одному названию поля «процент выкупа» нельзя понять эту механику, а без описания методики я не стал бы обещать совпадение своего расчёта с любым отчётом Ozon.
На годовом срезе моих магазинов результат такой: Магазин 1 — 91,2%, Магазин 2 — 90,1%, Магазин 3 — 80,0%, Магазин 4 — 79,5%. Это данные по завершённым заказам, а не доля доставленных среди всего, что успели заказать к моменту выгрузки. Разница между магазинами означает, что одинаковое количество новых заказов нельзя автоматически превращать в одинаковое количество будущих продаж. Для прогноза каждому магазину нужна своя исходная вероятность успешного завершения. При этом сами проценты не объясняют причины расхождения: данных о причинах отказов и составе заказов в этом срезе у меня нет.
Общий показатель 81,7% я читаю вместе с размером выборки — 65 987 завершённых заказов. Процент по всей выборке нужно получать из суммарного количества успешных исходов и суммарного количества завершённых заказов, а не усреднением процентов магазинов без учёта их объёма. Иначе небольшой магазин получает такой же вес, как магазин с заметно большим количеством заказов. По приведённым данным нельзя восстановить вес каждого магазина: отдельных количеств здесь нет. Поэтому общий результат годится как ориентир по всей совокупности, но подменять им показатели отдельных магазинов я бы не стал.
Процент выкупа по магазинам
Доставлено из числа доехавших и отменённых
Как правильно выбрать заказы для расчёта
Сначала я выбираю единицу учёта и сохраняю её во всём расчёте. Заказ, отправление и товарная единица не взаимозаменяемы: при частичном получении они могут дать разные результаты. Если числитель собран по товарам, а знаменатель по заказам, аккуратное оформление таблицы уже ничего не исправит. Для анализа заказов с частичными исходами нужно заранее определить правило классификации либо перейти на более подробный уровень. В приведённом годовом срезе единица выборки — завершённый заказ, поэтому смешивать его с количеством товарных единиц нельзя.
Затем я фиксирую группу заказов по дате создания и проверяю их состояние на выбранную дату наблюдения. Такой подход позволяет сравнивать судьбу заказов, которые появились в одном периоде, а не смешивать новые заказы со старыми доставками. Внутри группы я отдельно держу успешные исходы, завершённые неуспешные исходы и незавершённые процессы. Какие именно причины отмены включать, зависит от задачи: для прогноза от всех созданных заказов их нельзя молча выбрасывать. Если же я исследую только поведение покупателей после отправки, это уже другая выборка, и её нужно так и назвать.
Сам расчёт короткий: количество успешных исходов делю на количество всех завершённых исходов в выбранной группе и выражаю результат в процентах. В знаменателе оказываются успешные и неуспешные завершения, соответствующие принятому правилу отбора. Незавершённые заказы я показываю рядом отдельным количеством, чтобы было видно, насколько группа ещё неполная. Однако исключение незавершённых заказов само по себе не делает свежую выборку надёжной: быстро завершившиеся заказы могут отличаться от тех, что ещё находятся в процессе. Для устойчивого ориентира я выбираю группы, в которых исходы уже в основном известны, и проверяю, не меняется ли показатель при дальнейшем наблюдении.
Не считайте заказ в пути невыкупленным только потому, что на дату отчёта он ещё не доставлен. Отношение доставленных ко всем созданным заказам смешивает результат продаж со степенью завершённости периода. Даже процент только по завершённым заказам на свежей группе может быть смещён, если разные исходы наступают с разной скоростью. Для прогноза прибыли нужен ориентир по сопоставимым группам с известными исходами, а незавершённые заказы должны оставаться отдельной частью расчёта.
Как я переношу процент выкупа в расчёт прибыли
Первым шагом я разделяю фактический финансовый результат и ожидания по незавершённым заказам. По завершённым продажам беру выручку и расходы из связанных с ними операций, проверяя, нет ли ещё неучтённых корректировок. По заказам в процессе пока нет окончательной прибыли, поэтому для них строю отдельный прогноз. Уже известные расходы по таким заказам сохраняю как факт, а не заменяю усреднённой оценкой. Это разделение позволяет потом обновлять прогноз без повторного начисления тех же затрат.
Следующим шагом считаю результат успешного сценария для незавершённого заказа. Из ожидаемой выручки вычитаю себестоимость проданного товара, затем связанные с продажей удержания и расходы на выполнение заказа, которые ещё не учтены в факте. Суммы беру из своих документов и актуальных условий, а не из случайного примера с чужим тарифом. Если начинаю расчёт с выплаты, где удержания уже вычтены, повторно вычитать их нельзя. Расходы на продвижение и прочие затраты периода добавляю отдельно по заранее выбранному правилу распределения, чтобы они не исчезли между отчётами.
После этого считаю неуспешный сценарий, потому что отсутствие продажи не означает отсутствие расходов. Выручки от сохранённой продажи в нём нет, но могут остаться затраты на обработку, движение товара и другие операции, которые действительно возникли по заказу. Если пригодный товар вернулся в остатки, я не списываю его полную закупочную стоимость как окончательную потерю. Повреждение, утрата или уценка требуют отдельного учёта по фактическому результату. Получается собственная денежная оценка невыкупа, а не просто пустая ячейка вместо прибыли.
Дальше я умножаю результат успешного сценария на вероятность выкупа, а результат неуспешного — на вероятность невыкупа, после чего складываю полученные величины. Для каждого незавершённого заказа это даёт ожидаемый финансовый результат оставшихся событий; уже понесённые расходы учитываются отдельно и без повторов. Затем суммирую ожидания по незавершённым заказам и прибавляю фактический результат завершённых. Если используемый процент описывает получение товара, последующие возвраты добавляю отдельной поправкой на основе своей истории. Без данных о таких возвратах я прямо помечаю прогноз как неполный, а не выдаю его за окончательную прибыль.
Почему свежий период делает прибыль хуже на бумаге
Самая неприятная ошибка возникает, когда продавец берёт доставленные заказы и делит их на все созданные в свежем периоде. В знаменатель сразу попадают заказы, которые ещё собираются, едут или ожидают получения. При росте продаж таких заказов может стать заметно больше, и показатель снизится без какого-либо ухудшения поведения покупателей. Если ещё и считать доставки по дате доставки, а заказы по дате создания, числитель и знаменатель будут относиться к разным группам. В такой таблице движение процента уже нельзя однозначно объяснить выкупом.
Денежное последствие появляется на следующем действии: заниженный процент начинают применять к ожидаемой выручке новых заказов. Прогноз успешных продаж сокращается, вслед за ним уменьшается ожидаемый доход, хотя часть заказов просто не успела завершиться. Если при этом расходы уже учтены фактически, прибыль выглядит особенно слабой из-за несовпадения момента признания доходов и затрат. Бывает и обратная ошибка: продавец умножает на процент выкупа всю маржу, словно расходы по невыкупленным заказам исчезают вместе с выручкой. Тогда прогноз, наоборот, завышается, потому что отрицательный результат неуспешных исходов остаётся за пределами формулы.
Поэтому в свежем периоде я не пытаюсь любой ценой получить один красивый процент, который сразу объяснит всю прибыль. Для незавершённых заказов выбираю исторический ориентир своего магазина по сопоставимым группам, а наблюдаемый результат текущей группы показываю отдельно. Если условия продаж или состав заказов заметно изменились, годовая история становится менее надёжной опорой. Тогда я проверяю прогноз при более осторожном и более благоприятном предположении о выкупе, не придумывая точность, которой у меня нет. А для заказа, уже находящегося на позднем этапе доставки, при наличии данных использую вероятность завершения с этого этапа, а не бездумно повторяю оценку для всех новых заказов.
Доставленные ко всем заказам я при этом не считаю бесполезным отношением. Для одной и той же группы оно может показать, какая часть заказов уже дошла до доставки на дату проверки. Просто это показатель хода исполнения, а не готовая оценка окончательного выкупа. Я подписываю его соответственно и не использую вместо вероятности продажи в финансовой модели. Когда назначения показателей разделены, задержка доставки перестаёт выглядеть как внезапное ухудшение экономики магазина.
Что я предлагаю проверить завтра в своей таблице
Для начала я бы взял выгрузку заказов выбранного магазина и сохранил дату, на которую проверяются их состояния. Затем выделил бы группы по дате создания и для каждой показал количество успешных, неуспешных и незавершённых исходов. Рядом записал бы правило учёта отмен, частичных получений и последующих возвратов, чтобы через время не гадать, откуда взялось число. После этого сравнил бы более зрелые группы между собой и посмотрел, насколько меняется их результат при обновлении данных. Такая проверка помогает выбрать историческую базу для прогноза без произвольного срока ожидания.
Когда у меня несколько магазинов, главная сложность уже не в делении, а в одинаковых правилах на всех выгрузках. Именно потребность доверять расчётам стала причиной, по которой я сделал SellOps, а не остановился на чужой красивой сводке. Общую логику работы я описал на странице о том, как устроен сервис, но проверить знаменатель можно и в обычной таблице. Название инструмента не исправляет смешанные даты и повторно вычтенные расходы. Я сначала добиваюсь воспроизводимого расчёта на понятной группе заказов и лишь затем использую его в регулярном контроле.
Завтра начните с конкретного действия: найдите ячейку, из которой процент выкупа попадает в ваш прогноз прибыли, и проверьте её исходные строки. Если среди неуспешных заказов фактически сидят заказы в пути, отделите их и пересчитайте наблюдаемый результат только по известным исходам. Для прогноза оставшейся части возьмите сопоставимую историческую группу, в которой результат уже достаточно устойчив. Затем отдельно добавьте расходы невыкупа и проверьте, не вычтены ли какие-то удержания повторно. После такой правки станет видно, где магазин действительно теряет деньги, а где таблица всего лишь торопится назвать незавершённую доставку несостоявшейся продажей.
Хотите увидеть эти цифры по своим товарам?
Попробовать SellOps бесплатно