Продажи есть. Заказы идут. В кабинете WB/Ozon всё «вроде нормально».
А денег — нет. И это не магия маркетплейсов, а математика оборотки.
Самый частый сценарий: деньги ушли в остатки и застряли там дольше, чем бизнес может терпеть.
Склад становится не активом, а «морозилкой для денег»: лежит красиво, но не греет.
За 60 минут вы сможете:
- понять, на сколько дней вам хватит склада,
- увидеть, где зависли деньги (по SKU/категориям),
- выбрать действия: остановить закупку хвоста, распродать излишки, настроить лимиты.
Быстрый тест: если совпало 2 пункта — деньги почти точно в складе
- Остатки растут быстрее продаж.Откройте остатки (в закупке) и сравните с выручкой за 30 дней.
- ДДС “худеет”, хотя оборот растёт.Провокация №1: оборот ≠ прибыль.Откройте ДДС: “поступления” есть, но “закупки/оплата поставщикам” и “хранение/логистика” съедают всё.
- Скидки стали постоянными.Откройте отчёт по ценам/скидкам и PNL — фактическая маржинальность падает.
- Есть “кладбище SKU”.Товары продаются редко, но держат большую часть денег в остатках.
- На вопрос “на сколько дней хватит склада?” ответа нет.Если не считали — значит, складом не управляете.
Вопрос по ходу: у вас сейчас склад — актив или морозилка? 🙂
Главная метрика, которая отвечает “куда делись деньги”
Оборачиваемость запасов (в днях) — это показатель, сколько дней вы будете продавать текущий склад, если ничего не докупать.
Формула:
Оборачиваемость (дни) = Остатки в закупке / Среднедневная себестоимость продаж
То есть не “сколько штук”, а сколько дней денег заморожено в товаре.
Как посчитать за вечер без сложной управленки
Шаг 1. Найдите “Остатки в закупке” (₽)
Берём сумму остатков по закупочной цене/себестоимости.
Где взять:
- учёт закупок (1С/МойСклад/таблица)
- или остатки по SKU + закупочная цена (хотя бы приблизительно)
Шаг 2. Найдите “Себестоимость продаж” за 30 дней (₽)
Берём себестоимость проданного за 30 дней. Если точной строки нет — считаем как “проданные единицы × закупочная цена”.
Шаг 3. Считаем среднедневную себестоимость (₽/день)
Мини-формула №1:
Среднедневная себестоимость = Себестоимость продаж за 30 дней / 30
Шаг 4. Считаем дни оборачиваемости
Мини-формула №2:
Дни оборачиваемости = Остатки в закупке / Среднедневная себестоимость
Как понимать результат
- 20–45 дней — часто рабочая зона (зависит от ниши и сроков поставки)
- 60–90+ дней — деньги уже “застыли”, растут риски скидок/списаний/кассового разрыва
- 120+ дней — склад почти всегда ломает ДДС, даже если PNL “терпит”
Вопрос: вы готовы увидеть эту цифру по своему складу? Потому что дальше станет очень понятно, почему денег нет.
Почему “денег нет” проявляется по-разному: 4 угла проверки
Ниже — четыре блока. В каждом: как проявляется → как проверить → что сделать.
1) PNL красивый, а ДДС пустой
Как проявляется
В PNL прибыль есть, но денег не прибавляется. Причина: прибыль “на бумаге”, а деньги в товаре.
Как проверить
- Откройте PNL за месяц: валовая прибыль, маржинальность, операционная прибыль.
- Откройте ДДС: закупки/оплаты поставщикам, хранение, логистика.
- Сравните: рост остатков + закупки против чистого денежного потока.
Что сделать
- Введите правило: закупка только под оборачиваемость, а не “под ощущение спроса”.
- Разделите закупки на хиты и хвост — у них разные правила.
- Поставьте лимит: остатки ≤ X дней продаж.
2) Операционка: “страх” out-of-stock превращается в заморозку
Как проявляется
Вы закупаете “на всякий случай”, но срок поставки 10–14 дней, а склад держите на 90–120.
Как проверить
- Откройте продажи по дням и остатки по SKU.
- Посчитайте дни покрытия по ключевым SKU.
- Сверьте со сроком поставки и приёмки.
Что сделать
- Для хитов задайте минимальный запас: срок поставки + буфер.
- Для хвоста — потолок по дням и план распродажи.
- Разведите товары на A/B/C, чтобы управлять не “в среднем”, а по скорости.
3) Маркетинг: рост продаж может убивать деньги
Провокация №2: рост продаж может убивать деньги, если вы покупаете товар быстрее, чем возвращается денежный поток.
Как проявляется
Реклама разгоняет продажи → вы догоняете закупками → потом комиссии/логистика/хранение/возвраты → маржинальность падает, ДДС пустеет.
Как проверить
- Откройте расходы на рекламу и сравните с валовой прибылью в PNL.
- Проверьте товары, где рост продаж совпал с падением маржинальности.
- Сверьте: реклама должна улучшать ДДС, а не прятать проблемы.
Что сделать
- Режьте рекламу на SKU с плохой оборачиваемостью и тонкой маржинальностью.
- Усиливайте рекламу там, где склад — “конвейер”, а не морозилка.
- Фиксируйте правило: “реклама — усилитель, не спасатель”.
4) Учёт и потери: деньги утекли через возвраты/штрафы/хранение
Как проявляется
Вы видите продажи, но не видите “дыру”: возвраты, удержания, платное хранение, списания, корректировки.
Как проверить
- Откройте отчёты WB/Ozon по возвратам и удержаниям.
- Посмотрите SKU с высоким возвратом и дорогой логистикой.
- Уточните фактическую себестоимость: закупка + доставка + упаковка + обязательные расходы.
Что сделать
- В PNL заведите отдельные строки: возвраты/штрафы/хранение/списания.
- Пересоберите карточку/упаковку у “дорого возвращаемых” товаров.
- Уберите/заморозьте закупку SKU, где потери системные.
Усилитель: GMROI — прибыль на замороженные деньги
GMROI (Gross Margin Return on Inventory Investment) — это “сколько валовой прибыли приносит каждый рубль, вложенный в склад”.
Мини-формула №3 (упрощённая):
GMROI = Валовая прибыль / Средняя стоимость запасов
Если GMROI низкий — склад “кормят”, но бизнес не зарабатывает.
План действий на 7–14 дней: как быстро разморозить деньги
- Посчитайте оборачиваемость в днях по SKU и категориям.
- Разметьте A/B/C: хиты / середняки / хвост.
- Для хвоста поставьте цель: снизить остатки на X% за 14 дней.
- Остановите закупку хвоста до распродажи текущего остатка.
- Проверьте PNL по SKU: маржинальность после комиссии/логистики/рекламы.
- Запустите распродажу хвоста (скидка/комплект), но считайте маржинальность.
- Пересоберите цену: иногда +3–5% лучше, чем вечные скидки и хранение.
- Перенастройте рекламу: больше на хиты, меньше на “морозилку”.
- Введите лимиты: остатки ≤ целевые дни покрытия (разные для A/B/C).
- Закрепите правило закупок: прогноз продаж × дни покрытия, а не “вдруг разберут”.
Мини-кейс (условный): денег не было, потому что склад был 75 дней
Было:
- Остатки в закупке: 3 000 000 ₽
- Себестоимость продаж за 30 дней: 1 200 000 ₽
- Среднедневная себестоимость: 40 000 ₽/день
- Оборачиваемость: 3 000 000 / 40 000 = 75 дней
Сделали за 14 дней:
- Остановили закупку хвоста.
- Распродали часть C-SKU.
- Сдвинули рекламу на хиты, где оборачиваемость 25–35 дней.
- Пересобрали цену на 3 SKU, чтобы уйти от постоянной скидки.
Стало:
- Остатки: 2 200 000 ₽
- Оборачиваемость: 55 дней
- В ДДС высвободилось около 800 000 ₽ (меньше закупок + распродажа)
Вывод: деньги часто находятся не в “ещё продажах”, а в скорости оборота склада.
5 типовых ошибок, из-за которых “денег нет” месяцами
- Закупать “побольше”, не считая дни покрытия.
- Смотреть выручку и игнорировать ДДС.
- Думать, что скидка — маркетинг, когда это уже спасение склада.
- Не выделять возвраты/штрафы/хранение в PNL отдельными строками.
- Держать “кладбище SKU” из жалости: “вдруг выстрелит”.
Итог: что контролировать каждую неделю, чтобы деньги не пропадали
- Оборачиваемость запасов (дни) — по SKU и группам.
- Остатки в закупке (₽) и их динамика.
- Маржинальность по факту (после комиссии/логистики/рекламы).
- ДДС: закупки + хранение vs чистый денежный поток.
- GMROI — прибыль на деньги в складе.
Проверка за 15 минут: 3 отчёта → 3 цифры → вывод
- Остатки в закупке (₽) — сумма по закупочной стоимости.
- Себестоимость продаж за 30 дней (₽) — по проданным единицам.
- Дни оборачиваемости = остатки / (себестоимость за 30 / 30).
Если получили 60–90+ дней, а ДДС слабый — деньги в морозилке.
Если 20–45 дней и маржинальность держится — склад работает как актив.
Чтобы не гадать, в боте есть упрощённый шаблон PNL и инструкция, как за вечер собрать цифры по отчётам WB и Ozon и сразу увидеть, где зависли деньги.
Если нужен разбор как у CFO — сделаю оценку финансового состояния, разбор остатков и план действий.