Насколько «прибыль» из кабинета отличается от настоящей
Не риторический вопрос — у нас есть замер.
Июль 2026, двенадцать реальных кабинетов. Если сложить прибыль так, как она складывается «в лоб» из построчных отчётов площадок, получается 37,0 млн ₽. По полной формуле, с расходами уровня кабинета — рекламой, хранением, платной приёмкой, прочими удержаниями, налогом, — получается 24,5 млн ₽.
Разница 12,5 млн ₽, и вся она в сторону завышения. Это не ошибка площадки и не наша: просто часть расходов приходит отдельно от продаж, и тот, кто их не подставил, честно видит цифру в полтора раза больше правды.
Формула, по которой считаем
Одна на обе площадки. Не «версия для WB» и «версия для Ozon».
Знаменатель маржинальности — Реализация, то есть ваша цена после вашей собственной скидки, но до скидки площадки. Это не придирка: разделите ту же прибыль на то, что фактически заплатили покупатели, и вместо 18,85 % получится 41,41 % — совсем другая цифра, по которой принимаются совсем другие решения.
Что в этой формуле неочевидно
Возвраты не вычитаются
Кажется, что должны. Но невыкупленное просто не попадает в продажи — в разобранном месяце продано 6 063 штуки при 9 016 заказанных. Вычесть возвраты ещё раз значит посчитать их дважды: на том отчёте это дало бы 2 399 433 ₽ вместо 2 916 951 ₽.
Эквайринг ведёт себя по-разному
У Ozon он приходит внутри фактической комиссии, у WB — отдельной строкой. Молча выбрать одно поведение для обеих площадок нельзя: на одном кабинете WB это 35 206 ₽, и они либо вычтены, либо потеряны.
Сводка складывает рубли, а не строки
Прибыль по нескольким кабинетам считается по каждому отдельно, и только потом суммируется. Смешать входные данные разных площадок в одну формулу — верный способ получить завышенную сводку.
Одна сверка, о которой мы говорим честно
Формулу свели с отчётом площадки за один месяц по реальному кабинету: 2 916 952 ₽ у нас против 2 916 951 ₽ в отчёте, маржинальность 18,85 % против 18,85 %. Расхождение — один рубль, это округление.
Это одна проверка на одном отчёте, а не непрерывная сверка каждый день. Мы намеренно не пишем «сверяем до рубля» как постоянное свойство сервиса — это было бы обещанием, которого никто не выполняет. Что осталось от проверки на постоянной основе: числа того отчёта закреплены тестом, и если формулу сломать, тест падает. И принцип: если наш отчёт расходится с кабинетом — неправы мы, и это чинится, а не объясняется.
Та же формула кормит и дашборд, и лист прибыли, и отчёт о прибылях и убытках — расходиться между экранами им нечем. Построчная расшифровка сходится в итог: это тоже проверяется тестом, а не глазами.
У каждого числа подписано, откуда оно
Потому что «замерено» и «мы прикинули» — разные основания для решения на сотни тысяч рублей.
| Ярлык | Что значит |
|---|---|
| от площадки | Число пришло из отчёта маркетплейса. С ним идут в кабинет и сверяют там. |
| наш расчёт | Мы посчитали сами из чисел площадки. Спорить об этом — к нам, и рядом написано, из чего именно посчитано. |
| замерено | Посчитано по вашей же истории этого товара, с порогами достаточности данных. |
| предположение | Величину ввёл человек. Видно на экране, чтобы предположение не читалось как факт. |
| нет данных | Ни замера, ни предположения. Сценарий не считается вовсе, вместо числа стоит причина. |
| оценка | Величина выведена, а не измерена, — например деньги в разрезе поисковой фразы на Ozon: заказов по фразам площадка не отдаёт, и расход туда разносится. |
| без себеса | Себестоимость не задана и потому не вычтена. Настоящая маржа ниже показанной, и по такому числу нельзя выносить вердикт «участвовать в акции или нет». |
| предварительно | Отчёт площадки за период ещё не закрыт, часть сумм оценена по последним неделям. На одной закрытой неделе такие оценки составляли 432 560 ₽ логистики и 74 868 ₽ эквайринга — молча писать нули значило бы завысить прибыль на треть. |
Прочерк — это не ноль
Если площадка не отдала статью, на её месте стоит прочерк, а не ноль. Ноль означал бы «расхода не было», то есть завышенную прибыль, поданную как факт. Рядом с итогом идёт список того, чего не хватило: «Не учтено: реклама, хранение — площадка эти статьи не отдала, прибыль завышена на них».
Список намеренно кричит только о расходах. Недостающий доход — например компенсация площадки — прибыль занижает, а не завышает, и засорять им предупреждение значило бы обесценить само предупреждение.
Как расходы доходят до отдельного товара
Здесь важно не преувеличить: часть статей площадка по товарам не делит вовсе.
Что привязано к товару фактом
Комиссия, логистика, эквайринг, штрафы, себестоимость — приходят построчно вместе с продажей и раскладываются по артикулам без домыслов.
Прочие удержания: факт плюс доля
Заметная часть статьи физически не несёт артикула — кросс-докинг, услуги поставки, подписка, страхование, приёмка. За июль по одному кабинету это 164 580 ₽ из 490 125 ₽.
Поэтому к привязанной части прибавляется доля неразнесённого остатка, пропорциональная доле товара в Реализации. Правило восстановлено по восьми контрольным точкам и проверено на четырёх независимых: расхождение на месяце — 23 ₽, это 0,09 %.
Хранение — целиком долей
По нему привязанной к артикулу части не бывает вовсе, то есть оно разносится пропорцией полностью. Это не «почти факт», и на экране так и сказано словами.
Реклама — отдельный разрез
Расход по каждому артикулу собирается: у Ozon это клики плюс продвижение с оплатой за заказ (за июль по одному кабинету 1 027 166 ₽ при эталонных 1 026 302 ₽), у WB это единственный существующий разрез по артикулам.
Честно: в прибыли магазина целиком реклама берётся кабинетной суммой. Разложить по товарам то, что площадка по товарам не привязала, значило бы выдумать атрибуцию — а выдуманная атрибуция рекламы и есть самый частый способ показать красивую прибыль.
Сделали — и что изменилось: замер против контрольной группы
Самое слабое место любого сервиса советов: советовать умеют все, доказать результат — почти никто.
«Посмотрите через неделю» — это обещание, а не замер. Проблема в том, что простое «до и после» врёт систематически: если весь кабинет вырос на 11 %, а товар на 12, сравнение «до/после» покажет +12 % и будет формально право, а по существу соврёт.
Поэтому мы вычитаем движение кабинета. Контроль — ваши же товары: похожие по масштабу трафика, за тот же период, с которыми в те же дни не делали того же самого. Норм по рынку у нас нет и не будет — по каждой категории в базе один-три кабинета, и все свои, а покупать внешнюю оценку решено не идти.
Когда вердикта не будет — и это правильный ответ
| Условие | Что скажем |
|---|---|
| Срок наблюдения не вышел | «Судить будем через N дней: раньше это разница между днями недели, а не результат». У каждого действия свой срок — правка карточки зреет дольше, чем ставка. |
| Мало наблюдений | «На таких числах разница между „сработало“ и „не сработало“ — это один-два заказа». |
| Не набралась контрольная группа | «Без контрольной группы рост товара и рост всего кабинета выглядят одинаково». |
| Отрыв в пределах обычного разброса | «Товары этого кабинета за такой срок расходятся на столько и без всяких действий. Записывать это в результат нельзя». |
| В том же окне менялось несколько вещей | «Разделить их вклад мы не можем — вердикта не будет». |
А когда вердикт всё-таки есть, к нему намертво пришита оговорка: «Это не доказательство причины: мы видим, что товар повёл себя не так, как остальной кабинет, и что это совпало по времени с действием. Совпадение по времени причиной не является». Ширину «обычного разброса» задаём не мы, а сам кабинет — разброс изменений контрольных товаров за тот же период. Это и есть определение слова «обычный».
Упущенные продажи в рублях
Дни, когда товара не было на складе, умноженные на скорость продаж в дни с товаром и на прибыль с единицы. Ни кабинет площадки, ни один сервис аналитики такой цифры не даёт — потому что это модель, а не выгрузка, и мы называем её этим словом.
День без остатка — не то же самое, что день без наблюдения. Если сбор остатков в этот день не отработал, снимка нет ровно так же, как если бы товар кончился, а выводы противоположные. Ненаблюдённые дни в счёт не идут, и об этом сказано в той же фразе: «ещё N дней окна сбор не отработал — итог занижен».
Скорость продаж — без отменённых заказов. По отменённому заказу денег не было, упущенной прибылью он быть не может.
Считаем карточку целиком, а не отдельный размер. Покупатель, не нашедший размер M, чаще берёт L, а не уходит. Цена этой ошибки измерена: по одному кабинету поразмерный счёт дал 4,57 млн ₽ за месяц, а по группам размеров — 1,05 млн ₽. Вчетверо, и в сторону завышения.
Ничего не достраивается. Нет прибыли с единицы — товар не считается и попадает в список «посчитать нечем» с причиной. Средняя по кабинету сюда не подставляется никогда.
Отдельная оговорка про само число. Прибыль с единицы здесь берётся из построчных денег продажи — то есть без расходов уровня кабинета, которые к конкретному дню отсутствия товара не привязать. Это не та же величина, что чистая прибыль магазина по полной формуле, и выдавать одну за другую мы не будем.
Утренний список: что просело и какая вероятная причина
Каждое утро — короткий список изменений по товарам за неделю: где просело, где выросло и какая вероятная причина. Шестьдесят два сценария: кончился остаток, подняли цену, площадка сняла свою скидку, встала реклама, вышли из акции, просела воронка, выросла цена заказа в рекламе, ушёл выкуп.
Именно «вероятная». Это сопоставление ваших же чисел между собой, то есть корреляция, а не доказательство — и на самом экране написано так же. Когда ничего не сходится, вердикт говорит «вероятен внешний фактор», а не хватается за правдоподобную историю: выдуманная причина хуже отсутствующей, потому что делает недостоверными все настоящие на той же странице.
Исключение ровно одно: когда площадка своими словами сообщила, что карточка заблокирована. Это факт, и смягчать его до «вероятно» было бы враньём в другую сторону.
Перед тем как объяснять падение, мы проверяем, настоящее ли оно. Половина разобранных «падений» оказалась артефактом учёта: сравнение с акционным пиком, один крупный заказ в прошлом окне, меньше дней в продаже, правленая задним числом себестоимость. Отсеянное не прячется молча — оно едет наверх списком с числом строк и причиной словами.
Границы, о которых лучше знать заранее
Две площадки, не три. Wildberries и Ozon. Яндекс Маркет в коде есть, но ни один его метод не проверен живым кабинетом, и все признаки площадки у нас выключены — чтобы экран показывал честное «нет данных», а не уверенный ноль. Пока это так, мы его не заявляем.
Внешней аналитики рынка нет. Ни ниш, ни объёмов чужих продаж, ни выручки конкурентов. Мы про ваш кабинет и ваши деньги.
Рейтинга и тональности отзывов в разборе причин нет. Источника для них в проекте не существует, поэтому сценарий «рейтинг упал» намеренно отсутствует, а не собран на глазок из числа отзывов.
Часть данных приходит с задержкой. Пока отчёт площадки за период не закрыт, суммы помечены как предварительные — с прямым указанием, что именно оценено.
Частые вопросы
Чем это отличается от отчёта в кабинете площадки?
Кабинет показывает построчные удержания по продажам. Расходы, которые приходят отдельно от продаж — реклама, хранение, платная приёмка, прочие удержания, налог, — в этих строках не участвуют. На двенадцати кабинетах за июль 2026 разница между «в лоб» и полной формулой составила 12,5 млн ₽ в сторону завышения.
Правда ли, что вы сверяете всё до рубля?
Нет, и мы намеренно так не пишем. Была одна сверка формулы с отчётом площадки за месяц по реальному кабинету: 2 916 952 ₽ у нас против 2 916 951 ₽ в отчёте, расхождение в один рубль — округление. Числа того отчёта закреплены тестом, и если формулу сломать, тест упадёт. Но ежедневной сверки с кабинетом это не заменяет и таковой не является.
Реклама раскладывается по каждому товару?
Расход по артикулам собирается отдельным разрезом: у Ozon это клики плюс продвижение с оплатой за заказ, у WB это единственный доступный разрез. Но в прибыли магазина целиком реклама берётся кабинетной суммой — раскладывать по товарам то, что площадка по товарам не привязала, значило бы выдумать атрибуцию.
Что будет, если я не задам себестоимость?
Число всё равно посчитается, но будет помечено ярлыком «без себеса» с пояснением, что настоящая маржа ниже показанной. По такому числу мы не выносим вердикт «участвовать в акции или нет» — это специально запрещено.
Как вы доказываете, что ваш совет сработал?
Не доказываем — замеряем. Изменение товара сравнивается с изменением контрольной группы ваших же похожих товаров за тот же период; отрыв меньше обычного разброса кабинета называется шумом. При любом положительном выводе стоит оговорка, что совпадение по времени причиной не является.
Можно посчитать бесплатно, без подключения кабинета?
Да — по числам, которые вы введёте руками: калькулятор прибыли Wildberries считает ту же экономику одной штуки, включая точку безубыточности и цену под нужную маржу. Расчёт по вашим реальным продажам требует подключённого кабинета: он идёт по вашим данным и нашим формулам.
Начните с одного товара
Посчитайте юнит-экономику руками — бесплатно и без регистрации. Если сойдётся с тем, что вы думали, это хорошая новость. Если нет — вы только что нашли, где течёт.
Для работы достаточно ключа с правами только на чтение.
Читайте дальше: репрайсер для WB и Ozon · биддер для Ozon