Я искал причину просевшей прибыли в рекламе, а нашёл её в остатках на складе Ozon. Продажи шли, закупочная стоимость не менялась, заметного роста расходов на продвижение тоже не было. При этом в финансовом отчёте регулярно появлялись начисления за размещение, которые я относил в общие расходы магазина. Из-за этого товары выглядели прибыльнее, чем были на самом деле. Особенно неприятно оказалось увидеть, что часть расхода создавали позиции, которые почти перестали продаваться.
С платным хранением легко ошибиться именно потому, что ответ приходится собирать из разных представлений данных. В информации об остатках мне нужно понять, за какие товары возникает плата, а в начислениях — сколько уже отнесено на расходы. Это связанные вещи, но они не обязаны совпадать при первом взгляде на экран. Расчётная стоимость размещения оставшегося запаса ещё не означает, что такую сумму уже начислили за выбранный период. Поэтому я отдельно проверяю состав остатков, фактические операции и влияние хранения на прибыль каждого артикула.
Где в Ozon Seller искать платное размещение по товарам
Если нужно посмотреть платное хранение на Ozon по товарам, я начинаю с раздела FBO и информации об остатках на складах площадки. Там ищу данные о размещении: платности хранения, расчётной стоимости и детализации по товарам. Названия вкладок и расположение отчётов меняются, поэтому без доступа к вашей версии кабинета я не могу гарантировать точную цепочку кнопок. Ориентир здесь — именно остатки на складах Ozon, а не список заказов или ожидаемая выплата. Если нужного представления не видно, в поиске справки кабинета полезно использовать слова «размещение», «стоимость размещения» и «остатки FBO».
В товарной детализации я ищу артикул продавца, идентификатор товара Ozon, склад и показатель стоимости размещения, если эти поля доступны. Сначала снимаю фильтры по отдельным складам и товарам: забытый фильтр легко оставляет за пределами отчёта существенную часть расхода. Затем проверяю дату, к которой относятся остатки, и период, за который рассчитана стоимость. Если есть выгрузка, сохраняю её вместе с выбранными параметрами, чтобы потом не сравнивать разные срезы данных. Название товара оставляю для удобства чтения, но связываю таблицы по устойчивому идентификатору: названия могут повторяться и меняться.
Отдельно я читаю пояснение к показателю стоимости, прежде чем использовать его в расчёте прибыли. Это может быть оценка будущего расхода, стоимость за определённый интервал или уже рассчитанная сумма за прошедший период — смысл нужно проверить в самом отчёте. Текущий остаток не восстанавливает историю хранения: товар мог долго лежать на складе, а перед выгрузкой почти полностью распродаться. И наоборот, крупная свежая поставка не доказывает, что именно она создала основной расход в прошлом периоде. Вопрос о моменте появления платы я разбираю отдельно в статье когда начинается платное хранение на Ozon и какие остатки проверить заранее, потому что здесь мне нужна уже проверка денег, а не прогноз условий.
Как посмотреть фактические начисления за хранение
За фактически начисленной суммой я иду в финансовый раздел кабинета и открываю детализацию начислений или операций за нужный период. Ориентир — «Финансы» и данные о начислениях, хотя конкретное название вкладки лучше сверить с вашим интерфейсом. В видах услуг ищу формулировки, связанные с размещением и хранением, а затем читаю расшифровку операции, чтобы не прихватить соседнюю складскую услугу. Возвраты, обработку и другие расходы нельзя автоматически записывать в хранение только потому, что они связаны со складом. Перед сверкой я прохожу проверки из таблицы: они помогают понять, почему сумма в товарном отчёте отличается от финансовой.
Что проверить при сверке размещения и начислений
| Что проверить | Где смотреть | Что означает расхождение |
|---|---|---|
| Период оказания услуги | Пояснения и детализация отчёта | Сравниваются расходы за разные периоды |
| Дата отражения операции | Финансовые начисления | Расход отражён позднее периода хранения |
| Состав складов и товаров | Фильтры товарного отчёта | В выгрузку попала лишь часть остатков |
| Смысл показателя стоимости | Описание поля отчёта | Прогноз сравнивается с фактическим начислением |
| Корректировки и сторно | Детализация финансовых операций | Первоначальная сумма была изменена |
| Идентификаторы товаров | Выгрузки и справочник артикулов | Часть расходов не связалась с товарами |
Схема проверки отчётов, без тарифов и ставок Ozon
Если после этих проверок суммы не сходятся, я не распределяю разницу по товарам наугад. Сначала проверяю, одинаково ли учтены знаки операций: в разных выгрузках расход может быть показан отрицательным значением либо положительной суммой в отдельной колонке. После этого отделяю исходные начисления от корректировок и смотрю, к какому периоду оказания услуги они относятся. Для сверки с финансовым отчётом сохраняю дату отражения операции, а для анализа товара — период расхода, если он известен. Когда расшифровки всё равно не хватает, обращаюсь в поддержку с конкретными операциями и параметрами выгрузки, а не с общим вопросом о дорогом хранении.
Не складывайте расчётную стоимость размещения из отчёта по остаткам с фактическим начислением за ту же услугу. Так один расход может попасть в прибыль повторно. Для расчёта фактического результата нужна подтверждённая сумма, а прогноз лучше держать отдельно. Если товарную расшифровку пока не удалось получить, сохраните расход как нераспределённый и явно отметьте эту неопределённость.
Какие товары дают основной расход и как пересчитать их прибыль
После сверки мне нужна таблица, где рядом стоят артикул, фактический расход на размещение, продажи и результат до хранения. Я сортирую её по сумме размещения от большей к меньшей, а не по остатку и не по выручке. Это сразу показывает товары, которые забирают больше денег именно за выбранный период. Затем смотрю, какая часть результата до хранения остаётся после этого расхода: крупная сумма сама по себе ещё не означает, что товар пора убирать. У хорошо продающейся позиции хранение может быть приемлемым, а у товара со слабой маржой даже небольшой расход съедает весь заработок.
Порядок расчёта по каждому артикулу
Зафиксировать период анализа
Выберите один период для продаж и расходов. Отдельно отметьте начисления, которые отражены в нём, но относятся к другому периоду хранения.
Собрать фактическое размещение
Суммируйте подтверждённые расходы и корректировки по артикулу и складам. Не добавляйте прогнозные значения к начисленным суммам.
Получить доход от продаж
Возьмите сумму продаж с учётом возвратов и относящихся к ним корректировок. Не заменяйте её выплатой на расчётный счёт.
Вычесть себестоимость продаж
Вычтите закупочную стоимость проданного товара с корректным учётом возвращённого товара. Закупку остатков, которые продолжают лежать на складе, целиком в этот расход не переносите.
Учесть остальные прямые расходы
Вычтите относящиеся к товару удержания Ozon, рекламу и другие прямые затраты. Проверьте, что размещение ещё не включено в эти суммы.
Вычесть хранение и отсортировать
Из полученного результата вычтите размещение по артикулу за период. Отсортируйте товары по расходу хранения и сравните их оставшийся результат.
Товары без продаж я из расчёта не исключаю: они как раз могут оказаться главным источником проблемы. Если выручки за период нет, а размещение начислено, у артикула возникает отрицательный результат в пределах учитываемых расходов. Делить хранение на количество продаж в таком случае бессмысленно, потому что продаж не было. Для управления остатками мне нужна сумма расхода по всей позиции, а показатель на проданную единицу я использую только как дополнительный. Иначе неподвижный запас исчезает из аналитики, хотя деньги за него продолжают уходить.
При отсутствии прямой товарной расшифровки я сначала пытаюсь получить её, а уже потом выбираю способ распределения. Разносить хранение пропорционально выручке удобно, но это плохая замена фактическим данным: товар без продаж тогда не получит расход вообще. Если приходится делать оценку, использую доступную историю остатков, время нахождения на складе и характеристики, от которых зависит расчёт услуги по действующим условиям. Такое распределение обязательно помечаю как оценочное и проверяю, что его итог равен подтверждённому расходу магазина. По одному снимку текущих остатков точно восстановить прошлое размещение нельзя, и я не выдаю подобный расчёт за точный.
Почему хранение нельзя прятать в общих расходах магазина
Моя ошибка заключалась не в том, что расход совсем пропадал: в общем результате магазина он учитывался. Проблема возникала ниже, на уровне выбора товаров для пополнения и продвижения. Артикул показывал хороший результат после закупки, удержаний и рекламы, а его хранение оставалось общей строкой без привязки к источнику. Я мог принять решение увеличить поставку именно того товара, который уже создавал лишний складской расход. Общая прибыль при этом выглядела правдоподобно, но решения по ассортименту опирались на завышенную прибыль отдельных позиций.
В таблице я показываю расчёт по одному артикулу за условный период, а не тариф Ozon и не норматив расходов. Все суммы придуманы только для демонстрации порядка вычитания. В строку удержаний площадки размещение специально не включено, чтобы оно не вычиталось повторно. Расход на хранение относится ко всему остатку этого артикула за период, а не только к проданным единицам. Последняя строка показывает результат после перечисленных прямых расходов, но до налогов и общих расходов бизнеса, поэтому называть её чистой прибылью было бы неверно.
Пример расчёта результата товара, все числа условные
| Этап | Что учитываю | Условная сумма |
|---|---|---|
| Доход | Продажи с учётом возвратов | 10 000 ₽ |
| Вычитаю закупку | Себестоимость проданного товара | −4 000 ₽ |
| Вычитаю услуги площадки | Удержания Ozon без размещения, пример | −2 500 ₽ |
| Вычитаю другие затраты | Реклама и упаковка | −1 000 ₽ |
| Получаю промежуточный результат | До размещения, налогов и общих расходов | 2 500 ₽ |
| Вычитаю размещение | Хранение всего остатка артикула, пример | −1 500 ₽ |
| Получаю результат товара | После размещения, до налогов и общих расходов | 1 000 ₽ |
Пример, числа условные. Суммы услуг не являются тарифами Ozon.
В примере из таблицы после размещения у товара остаётся заметно меньше денег, чем обещал промежуточный результат. Если оставить хранение в общих расходах, именно промежуточную сумму легко принять за доступный запас для скидки или дополнительной рекламы. Тогда продавец расходует деньги, которые уже нужны для оплаты лежащего товара. При переносе размещения из общих расходов на артикул итог магазина сам по себе не меняется: меняется точность объяснения, кто этот итог создал. При этом прежнюю общую строку нужно убрать из повторного вычитания, иначе вместо исправления получится двойной расход.
Есть и другая путаница: стоимость закупленного остатка и расход на его хранение решают разные задачи в расчёте. Деньги, вложенные в непроданный товар, показывают, сколько средств связано запасом, а размещение показывает, сколько этот запас уже стоил за период. Нельзя подменять одно другим или считать всю закупку лежащего товара расходом на хранение. Для отдельной проверки оборотных денег я использую подход из статьи как посчитать деньги, замороженные в товаре и выплатах Ozon. Он помогает увидеть ситуацию, когда товар ещё приносит положительный результат, но держать в нём столько денег уже неудобно для закупок остальных позиций.
Что я проверяю перед следующей поставкой
Для регулярной работы я сохраняю связь между начислениями, артикулами и периодами, а не собираю новую таблицу с нуля перед каждой поставкой. Именно потребность проверять такие связи стала одной из причин, по которым я сделал SellOps: готовой аналитике без понятного происхождения результата мне было трудно доверять. Общий подход к работе с данными я описал на странице как устроен SellOps, но сам принцип проверки не зависит от инструмента. В своей таблице я тоже хочу видеть исходную сумму, правило её отнесения к товару и нераспределённый остаток. Если эти вещи скрыты, красивый показатель прибыли не помогает понять, можно ли закупать товар дальше.
Самый дорогой по хранению артикул я не отправляю в распродажу автоматически. Сначала проверяю продажи, ожидаемый расход на дальнейшее размещение и результат при доступных вариантах действий. Скидка уменьшает доход, вывоз и другие операции тоже могут потребовать денег, поэтому сравнивать нужно весь сценарий по действующим условиям, а не только исчезновение хранения. Для залежавшихся позиций полезен разбор что делать с неликвидом и когда пора распродавать остатки, где выбор действия связан с экономикой товара. До такой проверки я хотя бы пересматриваю очередное пополнение, чтобы не увеличивать проблему по привычке.
Завтра я бы начал с выгрузки начислений за завершённый период и доступной детализации размещения по товарам. Затем сверил бы состав услуг, даты и итоговую сумму, сохранив отдельно всё, что пока не удалось связать с артикулом. После этого отсортировал бы товары по расходу на хранение и добавил рядом результат до и после размещения. Для позиций вверху таблицы проверил бы ближайшую поставку: действительно ли нужен новый запас, пока старый продолжает создавать расход. На выходе нужен не просто ответ, где посмотреть платное хранение на Ozon, а исправленная прибыль товара и конкретное решение о его следующем пополнении.
Хотите увидеть эти цифры по своим товарам?
Попробовать SellOps бесплатно