← блог Paramiko
AI automation / business / Paramiko

Автоматический репрайсинг на WB/Ozon: как менять цены и не продавать в минус

Цена на маркетплейсе редко остается стабильной. Конкуренты снижают стоимость, площадка запускает акцию, меняется комиссия, заканчиваются остатки или растет рекламная ставка. Если продавец управляет десятками товаров, проверять все вручную несколько раз в день уже сложно. При сотнях SKU это превращается в отдельную работу.

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

Цена на маркетплейсе редко остается стабильной. Конкуренты снижают стоимость, площадка запускает акцию, меняется комиссия, заканчиваются остатки или растет рекламная ставка. Если продавец управляет десятками товаров, проверять все вручную несколько раз в день уже сложно. При сотнях SKU это превращается в отдельную работу.

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

Поэтому хороший репрайсер — не скрипт «сделай дешевле конкурента». Это система управления ценой с расчетом экономики, ограничениями, логами и подтверждением рискованных изменений.

> ## Коротко > > Безопасный репрайсер для Wildberries и Ozon должен: > > - знать минимально допустимую цену каждого SKU; > - считать ее с учетом себестоимости, комиссии, логистики, налогов, рекламы, возвратов и других переменных расходов; > - различать цену продавца, скидку площадки и итоговую цену для покупателя; > - менять цену только в заданном диапазоне и с ограничением шага; > - проверять остатки, продажи, маржу и участие в акциях; > - записывать каждое решение в лог; > - отправлять крупные или сомнительные изменения на подтверждение человеку; > - после изменения проверять, что новая цена действительно применена. > > Начинать лучше не со всех товаров, а с 10–20 понятных SKU. Сначала репрайсер работает в режиме рекомендаций, затем — автоматически внутри безопасного коридора.

Почему простое снижение цены не работает

У продавца есть соблазн построить правило:

> Если конкурент дешевле, снизить нашу цену на 10 рублей.

На практике такое правило не понимает, можно ли вообще снижать цену. Оно не учитывает, что у товаров разная себестоимость, рекламная нагрузка, процент выкупа и стоимость логистики.

Допустим, товар продается за 1 490 рублей. После комиссии, логистики, налога, рекламы и ожидаемых расходов на возвраты продавцу остается 620 рублей. Себестоимость товара с упаковкой и доставкой до склада — 590 рублей. Фактический запас составляет всего 30 рублей.

Если репрайсер снизит цену на 50 рублей, карточка может подняться в выдаче и получить больше заказов. Но каждый выкуп начнет приносить убыток. По отчету продаж все будет выглядеть бодро, пока продавец не сведет финансовые данные.

Есть и обратная ситуация. Конкурент поднял цену, а продавец не заметил и продолжает продавать дешевле рынка. Здесь теряется не маржа на одной неудачной скидке, а дополнительная прибыль на каждом заказе.

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

Из чего складывается минимальная цена

Минимальная цена — это не себестоимость плюс желаемая наценка. На маркетплейсах между ценой для покупателя и деньгами продавца находится несколько видов расходов.

Для каждого SKU нужно учитывать как минимум:

  • закупочную или производственную себестоимость;
  • упаковку, маркировку и подготовку товара;
  • доставку до склада или стоимость FBS-обработки;
  • комиссию маркетплейса;
  • логистику и обратную логистику;
  • хранение и платную приемку, если они существенны;
  • налоги;
  • рекламные расходы;
  • скидки за счет продавца;
  • возвраты, отмены, брак и невыкупы;
  • желаемую прибыль или минимальный уровень маржинальности.

Упрощенная логика выглядит так:

``text Минимальная цена = (себестоимость + упаковка + логистика + резерв на возвраты + минимальная прибыль) / (1 − комиссия − налог − доля рекламы − другие процентные расходы) ``

Это не универсальная бухгалтерская формула. Часть расходов может быть фиксированной, часть — зависеть от категории, схемы поставки, склада, габаритов и фактической цены. Поэтому модель нужно адаптировать под конкретный кабинет и регулярно сверять с финансовыми отчетами площадки.

Пример расчета

Предположим:

  • себестоимость — 500 рублей;
  • упаковка и маркировка — 30 рублей;
  • логистика и обработка — 150 рублей;
  • резерв на возвраты и прочие потери — 40 рублей;
  • минимальная прибыль — 180 рублей;
  • комиссия — 20%;
  • налог — 6%;
  • реклама — 8% от выручки.

Тогда фиксированные затраты и прибыль составляют 900 рублей, а суммарные процентные расходы — 34%.

``text Минимальная цена = 900 / (1 − 0,34) = 1 364 рубля ``

Округлить порог можно до 1 390 рублей, оставив небольшой запас на колебания расходов. Если система предлагает поставить 1 299 рублей, изменение блокируется или уходит на ручное согласование.

Для рекламы лучше использовать не произвольные 8%, а фактическую долю рекламных расходов по SKU или группе товаров. Если данных мало, можно взять консервативный норматив и пересчитать его после накопления статистики.

Цена продавца и цена для покупателя — не одно и то же

Одна из частых ошибок — ориентироваться только на цену, которую видит покупатель.

На итоговую стоимость могут влиять скидки, акции и механики площадки. Часть скидки финансирует продавец, часть — маркетплейс. Условия и отображение цены могут меняться. Поэтому репрайсер должен хранить несколько значений:

  1. базовую цену продавца;
  2. скидку продавца;
  3. участие товара в акциях;
  4. расчетную цену после скидок продавца;
  5. отображаемую цену для покупателя;
  6. ожидаемую сумму к выплате продавцу;
  7. минимально допустимую цену по внутренней модели.

Если система сравнивает только витринные цены, она может принять скидку площадки за решение конкурента и начать ненужное снижение. Или, наоборот, посчитать товар прибыльным по базовой цене, хотя после акции экономика уже не сходится.

Перед автоматизацией полезно вручную разобрать 5–10 заказов: от цены на карточке до суммы в финансовом отчете. Если команда не может объяснить расхождение по конкретному заказу, передавать изменение цен автоматике рано.

Как работает безопасный автоматический репрайсинг

Надежный процесс состоит из нескольких этапов. В нем нет обязательного AI: основную часть решений лучше выполнять детерминированными правилами. AI может объяснять отклонения, готовить сводки и предлагать сценарии, но финансовые ограничения должны быть заданы формулами и проверками.

1. Система собирает данные

По расписанию или событию репрайсер получает:

  • текущие цены и скидки;
  • остатки по складам;
  • продажи и возвраты;
  • рекламные расходы;
  • комиссии и логистические начисления;
  • участие в акциях;
  • доступные рыночные ориентиры;
  • себестоимость из учетной системы, таблицы или ERP.

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

2. Рассчитывает безопасный ценовой коридор

Для каждого товара задаются:

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

Например:

``text Абсолютный минимум: 1 390 ₽ Рабочий диапазон: 1 490–1 790 ₽ Максимальное изменение за один цикл: 3% Не более двух изменений в сутки Снижение ниже 1 490 ₽: только после подтверждения ``

Абсолютный минимум нужен как аварийный стоп. Рабочая нижняя граница может быть выше: она сохраняет целевую маржу и оставляет пространство для акций.

3. Применяет бизнес-правила

Правила зависят от стратегии товара.

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

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

Пример правил:

```text Если запас больше 60 дней и продажи падают две недели: предложить снижение на 2%, но не ниже рабочей границы.

Если запас меньше 7 дней и стабильный спрос сохраняется: предложить повышение на 3–5%.

Если маржа после рекламы ниже 12%: запретить снижение и отправить предупреждение.

Если товар участвует в акции: не менять базовую цену без отдельной проверки экономики акции. ```

4. Проверяет ограничения перед записью

Перед отправкой новой цены в API система повторно проверяет:

  • актуальность исходных данных;
  • минимальную цену;
  • размер изменения;
  • наличие активной акции;
  • права учетной записи;
  • отсутствие другого незавершенного изменения;
  • лимиты и ответы API площадки.

Это защищает от ситуации, когда два сценария одновременно пытаются изменить один SKU: например, репрайсер снижает цену из-за слабых продаж, а менеджер повышает ее из-за малого остатка.

5. Меняет цену или запрашивает подтверждение

Без подтверждения можно выполнять только действия с понятным и ограниченным риском:

  • изменение внутри рабочего диапазона;
  • небольшой шаг, например до 2–3%;
  • товар не участвует в спорной акции;
  • экономика рассчитана по свежим данным;
  • после изменения сохраняется заданная маржа.

На согласование лучше отправлять:

  • снижение ниже рабочей границы;
  • изменение более чем на 5–10%;
  • массовое обновление категории;
  • товар с неизвестной себестоимостью;
  • конфликт между источниками данных;
  • необычный всплеск комиссии, рекламы или возвратов.

Уведомление в Telegram должно содержать не только кнопки «Принять» и «Отклонить», но и основание решения:

``text Товар: органайзер, SKU 1042 Текущая цена: 1 690 ₽ Предложение: 1 590 ₽ Причина: запас на 74 дня, продажи снизились на 18% Ожидаемая маржа после изменения: 16% Абсолютный минимум: 1 390 ₽ ``

Так менеджер проверяет логику, а не подтверждает изменение вслепую.

6. Проверяет результат

Успешный ответ API еще не означает, что цена уже отображается на витрине. Изменение может применяться с задержкой, попасть под ограничения или быть скорректировано другой механикой.

После записи репрайсер должен повторно получить цену и зафиксировать:

  • что было отправлено;
  • какой ответ вернул маркетплейс;
  • какая цена установлена в кабинете;
  • какая цена отображается покупателю;
  • сколько времени заняло применение;
  • не было ли следующего изменения поверх предыдущего.

Если результат не совпал с ожидаемым, система не повторяет запрос бесконечно, а останавливает сценарий и отправляет уведомление.

Что дает репрайсинг кроме экономии времени

Главная выгода — не количество сохраненных кликов. Репрайсинг уменьшает время между изменением ситуации и реакцией продавца.

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

Экономию времени можно посчитать без сложной модели:

``text Число SKU × время одной проверки × частота проверок × рабочие дни ``

Если 200 товаров проверяются дважды в неделю и на один SKU уходит в среднем 40 секунд, это около 9 часов ручной работы в месяц. Но реальный эффект обычно находится в другом:

  • снижение числа продаж с отрицательной маржой;
  • более быстрая реакция на дефицит и избыточный запас;
  • меньше ошибок при массовом обновлении цен;
  • единые правила для разных менеджеров;
  • история решений для разбора спорных периодов;
  • возможность оценить результат ценового эксперимента.

ROI стоит считать по фактической дополнительной марже и предотвращенным потерям, а не по росту выручки. Если оборот вырос на 15%, а прибыль снизилась, репрайсер работает неправильно.

Основные риски автоматического изменения цен

Устаревшая или неверная себестоимость

Если закупочная цена хранится в случайной таблице и обновляется вручную, именно она станет слабым местом системы. Репрайсер должен видеть дату обновления себестоимости и блокировать автоматическое снижение при просроченных данных.

Неполный расчет расходов

Комиссию обычно учитывают, а логистику, рекламу и возвраты — не всегда. Особенно опасно использовать среднее значение по кабинету: у разных товаров экономика может различаться в несколько раз.

Ценовая гонка с конкурентами

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

Резкие массовые изменения

Ошибка в формуле, примененная к одному SKU, неприятна. Та же ошибка на тысяче товаров может повлиять на весь дневной оборот. Нужны лимиты на число обновлений, тестовая группа и аварийная остановка.

Конфликт ручного и автоматического управления

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

Нет возможности объяснить решение

Фраза «алгоритм посчитал» непригодна для финансовых действий. Для каждого изменения должны быть доступны исходные данные, примененное правило, расчетная маржа и результат.

Как внедрить репрайсер без риска для всего кабинета

Шаг 1. Подготовить экономику по SKU

Соберите себестоимость и все значимые расходы. Разделите товары хотя бы на группы по категории, габаритам, схеме поставки и рекламной модели. Проверьте расчет на реальных финансовых отчетах.

Шаг 2. Выбрать пилотную группу

Возьмите 10–20 товаров:

  • с понятной себестоимостью;
  • со стабильными продажами;
  • без критичных остатков;
  • без сложных акций;
  • с достаточной историей данных.

Не стоит начинать с самых оборотных SKU. Ошибка на пилоте должна быть заметной, но не дорогой.

Шаг 3. Запустить режим рекомендаций

В течение одной-двух недель система рассчитывает новую цену, но не применяет ее. Менеджер сравнивает рекомендации со своими решениями и отмечает ошибки.

На этом этапе обычно обнаруживаются пропущенные расходы, некорректные остатки, особенности акций и товары-исключения.

Шаг 4. Включить подтверждение в Telegram

Следующий режим — система готовит изменение и отправляет его ответственному сотруднику. После подтверждения цена передается в маркетплейс, а результат возвращается в тот же диалог или отчет.

Это уже экономит время: менеджеру не нужно собирать данные вручную, но право окончательного решения остается у него.

Шаг 5. Автоматизировать безопасный диапазон

Когда рекомендации стали предсказуемыми, можно разрешить небольшие изменения без подтверждения. Например, до 3% и только при сохранении маржи выше установленного уровня.

Все остальное продолжает проходить ручную проверку.

Шаг 6. Настроить мониторинг

Минимальный контроль включает:

  • число предложенных и примененных изменений;
  • средний размер изменения;
  • товары у нижней границы;
  • ошибки API;
  • расхождения между расчетной и фактической ценой;
  • маржу до и после изменения;
  • изменения продаж, выкупа и рекламной доли;
  • ручные отмены решений.

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

Где здесь уместен AI-агент

AI-агент полезен как управляющий и объясняющий слой над данными и инструментами. Он может:

  • собрать сводку по товарам с падающей маржой;
  • найти необычные изменения расходов;
  • объяснить, почему система предлагает новую цену;
  • подготовить сценарии «что будет, если снизить цену на 3%»;
  • отправить запрос на подтверждение в Telegram;
  • сформировать еженедельный отчет для владельца.

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

Хорошая архитектура выглядит так: AI помогает понять ситуацию, детерминированный модуль считает экономику, интеграционный слой работает с API, а человек подтверждает изменения с повышенным риском. Подробнее о границах таких систем можно прочитать в статье «AI-агент для бизнеса: что это и какие задачи ему можно поручить».

Чек-лист безопасного репрайсинга

Перед включением автоматического изменения цен проверьте:

  • [ ] Для каждого SKU известна актуальная себестоимость.
  • [ ] Комиссии, логистика, налоги, реклама и возвраты включены в расчет.
  • [ ] Цена продавца отделена от итоговой цены для покупателя.
  • [ ] Заданы абсолютный минимум и рабочий диапазон.
  • [ ] Ограничены шаг, частота и число массовых изменений.
  • [ ] Товары в акциях обрабатываются отдельными правилами.
  • [ ] Ручное изменение не перезаписывается автоматически без причины.
  • [ ] Рискованные действия требуют подтверждения.
  • [ ] Каждое решение записывается в лог вместе с исходными данными.
  • [ ] После отправки новой цены система проверяет фактический результат.
  • [ ] Есть аварийная остановка и возможность быстро отключить автоматизацию.
  • [ ] Пилот проверен на ограниченной группе товаров.

FAQ

Можно ли настроить один репрайсер одновременно для Wildberries и Ozon?

Да, но нельзя использовать одну формулу без адаптации. У площадок различаются комиссии, логистика, акции, структура API и отображение скидок. Общими могут быть себестоимость, целевая маржа, интерфейс подтверждения и логирование. Расчет цены и проверки должны учитывать правила конкретного маркетплейса.

Как часто нужно менять цены?

Зависит от категории, объема продаж и стратегии. Для большинства SMB нет необходимости менять цену каждые несколько минут. Частые изменения могут создавать шум и мешать оценивать результат. Разумнее запускать проверку несколько раз в день, а для отдельных групп — по событию: резкое изменение остатка, рекламы или спроса.

Нужно ли всегда быть дешевле конкурентов?

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

Как определить минимальную цену товара?

Нужно сложить фиксированные расходы и минимальную прибыль, затем учесть процентные расходы: комиссию, налог, рекламу и другие удержания. Расчет следует проверить на фактических заказах и финансовых отчетах. Простая наценка на закупочную стоимость обычно не показывает реальную маржу.

Можно ли полностью убрать человека из процесса?

Для небольших изменений внутри проверенного диапазона — да. Для массовых обновлений, снижения ниже рабочей границы, участия в акциях и товаров с неполными данными лучше оставить подтверждение. Human-in-the-loop нужен не для каждого клика, а для решений с повышенной ценой ошибки.

Что делать, если API маркетплейса не применил цену?

Репрайсер должен повторно запросить состояние товара, записать ответ API и остановить дальнейшие изменения по этому SKU. Бесконечные повторы опасны: они могут создать очередь конфликтующих запросов. После нескольких контролируемых попыток задача передается человеку.

Что делать дальше

Если цены сейчас меняются вручную, не начинайте с покупки репрайсера. Сначала возьмите несколько товаров и восстановите их экономику: от цены на витрине до фактической выплаты и прибыли. Затем определите безопасные границы и только после этого выбирайте способ автоматизации.

Если хочешь понять, что автоматизировать у себя — напиши Дмитрию в Telegram @dmkosik или опиши процесс для диагностики Paramiko. Можно начать с одного сценария: как сейчас рассчитываются цены, кто их меняет и где чаще всего возникают ошибки.

marketplace diagnostic

Покажем, где селлер теряет деньги

Разберём 10–20 SKU и проверим цену, рекламу, остатки, возвраты и закупки. На выходе — список конкретных утечек и действий по приоритету.

Разобрать 10–20 SKU