# Себестоимость: как неполный охват цен искажает среднюю маржу

> Для аналитика — как отсутствие себестоимости по части каталога занижает среднюю маржу на дашборде, где искать пробелы через ассистента и как проследить рост закупочной цены за период.

published: 2026-08-05T22:33:28+03:00
updated: 2026-08-05T22:33:28+03:00

**Себестоимость** — это то, во сколько вам реально обходится единица товара (закупка у
поставщика, не цена продажи). Раздел [«Себестоимость»](/inventory/costs) — единственное место в
платформе, где вы вводите эту цифру. Пока её нет — расчёты прибыли, маржи и «сколько денег
заморожено на складе» показывают ноль или заведомо неверное число, даже если продажи идут отлично.

## Зачем этот раздел

Выручка видна из данных маркетплейса сама по себе. **Прибыль** — нет: маркетплейс не знает, за
сколько вы закупили товар у поставщика. Пока себестоимость не введена, платформа физически не
может посчитать маржу и капитализацию склада (`остатки × себестоимость`) — это не примерная
оценка, а буквально ноль в формуле. Поэтому «Укажите закупочные цены» — второй шаг чек-листа
настройки на дашборде [«Товарного учёта»](/inventory) (сразу после загрузки товаров). Пока шаг не
закрыт полностью, дашборд честно показывает хинт «Цены есть у N из M. Прибыль пока показана не
полностью» — вместо того чтобы молча выдать заниженную цифру.

## Откуда данные

Себестоимость **всегда вводит сам продавец** — платформа не получает её ни от WB, ни от Ozon (это
закупочная цена у вашего поставщика, маркетплейсу она неизвестна). Три способа ввода:

- **Простой режим** — одна цена «на сейчас» по товару, с датой начала действия.
  Каждая новая запись начинает действовать с указанной даты и до следующей записи — это
  «ступенчатая» история цены: если 1 июня ввели 100 ₽, а 15 июля — 120 ₽, то с 1 по 14 июля
  действовала цена 100 ₽, с 15-го — 120 ₽. История видна по каждому товару через колонку
  «версий» — сколько раз менялась себестоимость.
- **Партионный режим** — себестоимость привязывается к конкретной партии поставки (номер прихода,
  количество, цена, дата приёмки) — точнее для товаров, где закупочная цена скачет от партии к
  партии.
- **Импорт Excel/CSV** — загрузка списком: колонки «артикул» (и штрихкод опционально) и
  «себестоимость». Загрузчик сам понимает, есть заголовок в файле или нет, распознаёт разделитель
  (запятая, точка с запятой, таб) и настоящий `.xlsx`, а не только `.csv`. По итогу импорта
  показывается, сколько строк сматчилось с товарами, сколько записано и сколько артикулов не
  нашлось в каталоге (их сначала нужно разметить в [«Онбординге»](/inventory/onboarding)).

Все денежные суммы в системе хранятся в копейках (целые числа) — на экране вы вводите рубли,
округление и сама единица хранения вас не касаются.

## Кнопка «Обновить отчёты»

После правки себестоимости витрины (маржа, капитализация) обновляются не мгновенно — фоновый синк
подтягивает их в течение нескольких минут. Кнопка **«Обновить отчёты»** в правом верхнем углу
раздела запускает пересчёт сразу, если нужно увидеть эффект правки без ожидания планового
обновления.

## Как читать экран

- **Себестоимость, ₽** — текущая действующая цена по товару (последняя версия истории).
- **Поставщик** — к какому поставщику привязан товар (можно назначать и массово, выделив
  несколько строк чекбоксами).
- **Версий** — сколько записей истории цены у товара; по клику открывается вся история с
  периодами действия («с … по …» либо «с … — по сейчас» для самой свежей записи).
- **Партий** — сколько отдельных партионных записей у товара (если используете партионный режим).
- Фильтр «Только без себестоимости» — быстро найти товары, где себестоимость ещё не заведена: это
  и есть тот список, который занижает маржу и капитализацию на дашборде.
- Фильтр по поставщику — сузить список до товаров конкретного поставщика.

## Спросите ИИ-ассистента

- «У каких товаров ещё не заведена себестоимость?»
- «Покажи историю цены по товару [название]».
- «Насколько выросла себестоимость по [товар] за последние три месяца?»

Ассистент также умеет принимать файл с прайсом прямо в чате: прикрепляете Excel или CSV,
он показывает превью — сколько товаров нашёл и у скольких изменится цена, — и применяет
изменения только после явного подтверждения.

## Кому что важно в этом разделе

- Владельцу бизнеса — без себестоимости маржа буквально ноль в системе (см. персональную статью
  «для владельца»).
- Менеджеру маркетплейсов — рутина ввода и еженедельная сверка счётчика «без цены».
- Бухгалтеру — точность в копейках и история цены «с даты» без переписывания прошлых периодов.
- Аналитику — как неполный охват себестоимости искажает среднюю маржу и как отследить рост цены
  закупки за период.

Для агентств, ведущих несколько кабинетов клиентов, ввод себестоимости в этом разделе намеренно не
описан отдельной ролью: закупочная цена — конфиденциальные данные конкретного клиента, агентство
обычно работает с готовыми витринами (см. [«Финансы»](/docs/report-finance)), а не вводит закупку
за клиента.

## Коротко

- Хинт «Цены есть у N из M» на дашборде честно показывает, когда себестоимость введена не по всему каталогу — маржа в такой момент занижена, а не отражает реальное падение.
- Прежде чем делать вывод о снижении маржинальности, сверьте охват себестоимости между сравниваемыми периодами — рост может быть эффектом более полного ввода цен, а не улучшением юнит-экономики.
- Фильтр «Только без себестоимости» в разделе [«Себестоимость»](/inventory/costs) и прямой вопрос ассистенту дают точный список пробелов без ручного перебора каталога.
- Сопоставляйте список пробелов с долей в обороте продаж, чтобы приоритизировать закрытие цен по ходовым позициям, а не по хвосту ассортимента.
- Для средней маржи используется актуальная («текущая») цена товара, а не сумма партий партионного учёта — не путайте эти два числа при анализе.

## Боль: средняя маржа на дашборде может быть занижена, и на глаз это не видно

Карточка «Маржа за месяц» и капитализация склада на дашборде [«Товарного учёта»](/inventory)
считаются по формуле `остаток × себестоимость`. Если у части каталога себестоимость не введена,
эта часть входит в расчёт с нулевой ценой закупки — то есть средневзвешенная маржа по всему
ассортименту оказывается ниже реальной, и чем больше товаров без цены, тем сильнее искажение. Хуже
всего то, что на глаз это неотличимо от «маржа действительно низкая» — оба случая выглядят как
одна и та же просевшая цифра на карточке.

Для аналитика это означает: прежде чем делать вывод о снижении маржинальности («упала на 8% за
месяц»), нужно сначала исключить более простое и частое объяснение — новые товары без
себестоимости, которые тянут среднее вниз, а не реальное падение прибыльности бизнеса.

## Пошаговое решение в продукте

<details>
<summary>Подробно: пошаговый разбор для аналитика</summary>

### 1. Проверьте индикатор охвата, прежде чем анализировать динамику маржи

На дашборде [«Товарного учёта»](/inventory) шаг чек-листа настройки «Укажите закупочные цены»
показывает хинт **«Цены есть у N из M. Прибыль пока показана не полностью»**, пока охват неполный.
Это не косметическая деталь — это прямое указание, что цифра маржи на карточке дашборда занижена
и не сопоставима один в один с периодами, когда охват был выше (или наоборот). Прежде чем строить
вывод о динамике маржинальности, сверьте, не изменился ли сам охват себестоимости между
сравниваемыми периодами — рост маржи может быть не улучшением юнит-экономики, а просто более
полным вводом цен закупки.

### 2. Найдите товары без себестоимости через фильтр или ассистента

В разделе [«Себестоимость»](/inventory/costs) фильтр «Только без себестоимости» даёт точный список
позиций, которые сейчас искажают среднюю маржу. Тот же вопрос можно задать ассистенту напрямую в
чате: «У каких товаров ещё не заведена себестоимость?» — быстрее, чем открывать таблицу и
прокликивать фильтр вручную, особенно если вопрос возникает в середине другого анализа.

### 3. Проверьте, сколько именно товаров и какой доли оборота не хватает

Помимо количества товаров без цены важно понимать их долю в обороте — товар без себестоимости с
минимальными продажами искажает среднюю маржу гораздо меньше, чем ходовая позиция без цены. Список
из фильтра «Только без себестоимости» стоит сопоставить с данными по продажам (раздел
[«Продажи»](/docs/report-sales)), чтобы приоритизировать, какие пробелы закрывать в первую очередь
для точности расчётов, а не закрывать хвост каталога с нулевым оборотом.

### 4. Проследите историю роста себестоимости за период

Каждая версия себестоимости в простом режиме имеет дату начала действия — это готовый временной
ряд для анализа. Спросите ассистента: «Насколько выросла себестоимость по [товар] за последние три
месяца?» — он поднимет историю версий и покажет изменение цены закупки во времени, без ручного
пролистывания истории по каждому товару отдельно. Это полезно для анализа, какая доля роста
себестоимости продавца объясняет изменение маржи за тот же период, в отличие от изменений в цене
продажи или удержаниях маркетплейса.

### 5. Учитывайте партионный режим отдельно, если он используется

Если по части товаров ведётся партионный учёт (себестоимость привязана к конкретным приходам, а не
к единой текущей цене), для анализа средней маржи используется именно «текущая» цена товара
(последняя версия простой истории или актуальная партия), а не сумма всех исторических партий —
не путайте фактическую закупочную стоимость конкретной поставки с ценой, участвующей в расчёте
маржи по отчётам.

</details>

## Ценность для аналитика

- **Неполнота названа явно, а не спрятана.** Хинт «Цены есть у N из M» снимает риск ложного
  вывода о падении маржинальности там, где на самом деле не хватает данных по себестоимости.
- **Пробелы находятся за секунды, а не перебором каталога.** Фильтр и вопрос ассистенту дают
  точный список без ручного просмотра сотен строк.
- **История цены закупки — готовый временной ряд.** Дата действия каждой версии позволяет
  анализировать динамику роста себестоимости без дополнительной подготовки данных.
- **Разделение «текущая цена» и «партия в поставке»** не даёт случайно смешать два разных числа
  при построении отчёта о марже.

## Частые вопросы

- **Почему маржа на дашборде вдруг просела при неизменных продажах?** Наиболее вероятная причина —
  появились новые товары без себестоимости (например, после массового добавления карточек), и они
  тянут средневзвешенную маржу вниз. Проверьте хинт «Цены есть у N из M» рядом с шагом настройки
  «Укажите закупочные цены», прежде чем делать вывод о реальном снижении прибыльности.
- **Как быстро оценить, насколько сильно искажена текущая цифра маржи?** Сравните число товаров
  без себестоимости из фильтра «Только без себестоимости» с общим количеством SKU и с их долей в
  обороте продаж — чем выше доля оборота у товаров без цены, тем сильнее занижена средняя маржа.
- **Можно ли получить историю изменения себестоимости без ручного открытия карточки каждого
  товара?** Да, спросите ассистента: «Насколько выросла себестоимость по [товар] за последние три
  месяца?» — он читает историю версий и отвечает динамикой, не требуя открывать раздел
  «Себестоимость» и пролистывать записи вручную.
- **Партионный учёт как-то отдельно учитывается в средней марже дашборда?** Нет отдельного
  агрегирования по партиям для этого показателя — маржа считается по актуальной («текущей») цене
  товара. Партии дают точность на уровне конкретного прихода, но не заменяют текущую цену в
  общем расчёте маржи по отчётам.
- **Есть ли риск задвоения при импорте себестоимости из Excel — например, если файл загружали
  дважды?** Нет: импорт матчит строки файла к товарам по артикулу или штрихкоду и обновляет
  запись на ту же дату, а не создаёт дубль версии истории — повторная загрузка того же файла с
  той же датой действия перезапишет значение, а не добавит вторую строку в историю.
