Кабинет

Торговод · Отгрузки FBO: бесплатный расчёт, что везти на склад Ozon

Опубликовано 12 июл. 2026 г.15 мин чтенияНачальный
Торговод · Отгрузки FBO: бесплатный расчёт, что везти на склад Ozon (copy)
Чему научитесь
  • Как инструмент решает, какой товар в дефиците, а какой залёг мёртвым грузом
  • По какой формуле считается рекомендация «сколько везти» в каждый регион
  • Как поставить инструмент тремя способами, включая запуск через ИИ-агента
  • Какой ключ Ozon нужен для аналитики, а какой - для автобронирования слота
  • Чего в инструменте нет и какие доработки поставить себе в очередь
Применить за 10 мин
Экономит 4 ч
Начальный

Я задолбался гадать на глаз, что везти на склад Ozon. Привёз партию - а спрос оказался там, где у тебя пусто: в Москве размели за неделю, в Екатеринбурге тот же товар встал и копит плату за хранение. Минус с двух сторон: где-то упустил продажи, где-то заморозил деньги. Поэтому я собрал бесплатный инструмент «Торговод · Отгрузки FBO» - он берёт ваши реальные данные из кабинета и говорит, какой товар везти, сколько штук и в какой регион.

Ниже - полный разбор: что инструмент считает, КАК именно считает (формулы разберу по косточкам), как его поставить и что в нём честно недоделано.

Разборы, кейсы и готовые сборки AI-помощников для селлеров веду в Telegram-канале «Вайб Селлер Клуб». Другие материалы - в разделе Статьи.

Что такое «Торговод · Отгрузки FBO» и какую боль на FBO он снимает?

Схема FBO означает, что ваш товар лежит на складах Ozon и оттуда едет покупателю. Удобно: не надо собирать заказы руками. Неудобно другое - вы должны заранее угадать, сколько товара положить и в каком регионе, иначе платформа продаст его за вас там, где его нет.

И вот тут начинается самое обидное. Кончился товар в регионе - карточка проседает в выдаче, а потом её надо разгонять заново, уже за деньги. То есть один пропущенный завоз бьёт дважды: сначала по выручке, потом по позициям.

«Торговод · Отгрузки FBO» решает ровно эту задачу. Он ходит в официальный API Ozon (интерфейс, через который кабинет отдаёт ваши же данные программам) вашими ключами, тянет каталог, остатки и заказы за последний месяц, и раскладывает всё по трём экранам: «Что грузить», «Кластеры» и «Слот-хантер». Инструмент бесплатный, код открытый, лежит на GitHub.

Почему остатки на FBO ломаются именно по регионам?

Ozon раскидывает товар по кластерам - это группы складов, привязанные к регионам. Покупатель из Перми видит в первую очередь то, что лежит рядом с ним. Если рядом пусто, товар либо приедет дольше, либо не покажется вообще.

Отсюда главная ловушка. Вы смотрите в кабинет, видите «остаток 300 штук, хватит на 40 дней» и спите спокойно. А внутри этих 300 штук - 280 лежат в Москве, а в трёх других кластерах уже голяк, и там ваши продажи умерли неделю назад.

Поэтому инструмент считает две вещи параллельно: общую картину по товару (чтобы вы вообще увидели проблемные позиции) и раскладку по кластерам (чтобы понять, куда конкретно везти). Одно без другого не работает.

Экран «Что грузить»: какие статусы бывают и что они значат?

Экран «Что грузить»: таблица товаров со статусами, ABC, остатком и рекомендацией сколько везти

Таблица показывает все товары сразу: остаток на FBO, спрос в день, дней до нуля, букву ABC и готовую рекомендацию «сколько везти». Статус - это просто светофор поверх этих цифр.

СтатусКогда ставитсяЧто делать
ДЕФИЦИТЗапаса меньше 7 днейВезти прямо сейчас, тут уже горит
РИСКЗапаса меньше 14 дней ИЛИ формула советует довезти хоть штукуПосмотреть внимательно, скорее всего есть что довезти
ИЗБЫТОКЗапаса больше 90 дней и везти нечегоНе везти, думать про распродажу и вывоз
НОРМАВсё остальноеНичего не делать

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

Читайте статус РИСК не как «завтра кончится», а как «есть что довезти». Товар может лежать с запасом на два месяца по стране, но в одном кластере просесть - и формула честно скажет: довези туда штук двадцать. Товар получит РИСК, хотя пожара нет.

Как считаются спрос в день и «дней до нуля»?

Спрос в день берётся из заказов за последний месяц. Заказано 90 штук за 30 дней - значит спрос 3 штуки в день. Никакой магии.

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

Оговорка вторая - про «дней до нуля». Это фактический остаток на FBO, делённый на спрос в день. Товар, который уже едет на склад, в этой цифре не участвует - только то, что физически лежит. И самое главное: число общее по стране. В среднем может быть 30 дней, а в конкретном кластере - ноль. Увидеть это можно только в карточке товара, в раскладке по регионам.

По какой формуле инструмент решает, сколько везти?

Основа расчёта выглядит так:

рекомендация = спрос_в_день x целевые_дни - остаток_в_кластере - товар_в_пути

Целевые дни - это то, на сколько дней вперёд мы хотим закрыть регион. Они зависят от буквы ABC:

Класс товараЦелевые дни покрытияЛогика
A (ходовой)90 днейКормилец, дефицита допускать нельзя
B (средний)60 днейДержим ровно, без запаса на всякий случай
C (хвост)60 днейДеньги в нём морозить смысла нет

Дальше цифра поправляется на грейд оборачиваемости, который Ozon сам показывает по товару. Красный грейд означает, что товар оборачивается плохо и площадка на него косо смотрит, поэтому запас закладывается больше.

Грейд оборачиваемостиМножительПример для товара A
Красный×1,390 дней × 1,3 = 117 дней
Жёлтый×1,1590 дней × 1,15 = 103 дня
Зелёный×1,090 дней

Чтобы формула не сошла с ума, сверху навешены два потолка. Первый: рекомендация не может превысить 120 дней запаса. Второй: не больше пятикратных продаж за 28 дней. И отдельное правило - если за 30 дней товар не продался ни разу, рекомендация равна нулю. Мёртвый товар инструмент возить не предлагает.

Как работает поправка на тренд и почему она включается не всегда?

Механика простая. Инструмент сравнивает продажи за последние 10 дней со средним за 30 дней. Если свежие продажи выше, он пересчитывает спрос как смесь: 60 процентов веса берётся из последних 10 дней и 40 процентов из среднего за месяц. Товар разгоняется - заявка растёт вместе с ним.

Но у этой логики есть предохранитель, и он важнее самой логики. Тренд включается, только если за 30 дней продано не меньше 10 штук.

Объясню, зачем. Представьте товар, который продаётся по две штуки в месяц. Оба заказа случайно пришли на прошлой неделе. Формально «последние 10 дней в 15 раз лучше среднего» - и без предохранителя инструмент попросил бы вас везти на склад сотню штук мёртвого товара. На малых числах любой случайный всплеск выглядит как ракета. Поэтому на них тренд намеренно игнорируется, и работает голое среднее за месяц.

Такой инструмент - не магия и не чужой сервис по подписке. Это ваш собственный расчёт, который вы можете открыть и поправить. Как собирать подобные вещи под свой магазин, разбираю в «Вайб Селлер Клубе», а базовый разбор агента-помощника лежит в статье Claude Code для селлера.

Что такое ABC и зачем инструмент считает её дважды?

ABC-классификация - это способ отделить кормильцев от балласта. Товары выстраиваются по убыванию, дальше считается накопленная доля: всё, что попало в первые 80 процентов, получает букву A, следующие 15 процентов - B, остаток - C.

Хитрость в том, что «важность» товара можно мерить по-разному. Дорогая позиция может давать много денег при единичных продажах. Дешёвая - наоборот, уходить сотнями штук и держать оборот. Одна метрика всегда кого-то обижает.

Поэтому инструмент считает ABC дважды: один раз по выручке за 30 дней, второй раз по количеству проданных штук. В расчёт целевых дней идёт лучшая из двух букв. Товар, который вышел в A по выручке и в C по штукам, всё равно получит приоритет как A - и целевые 90 дней покрытия вместе с ним.

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

Кластеры: как понять, в какой регион везти?

Экран «Кластеры»: продажи, остаток и рекомендация к отгрузке по регионам

Карту «склад - кластер» инструмент забирает из самого Ozon, так что придумывать ничего не надо. Спрос по регионам берётся из заказов FBO: у каждого отправления есть кластер назначения, по нему и раскидывается статистика. Если часть товара уходит через FBS, этот спрос тоже учитывается - он разносится по кластерам пропорционально остатку, иначе продавец с большой долей FBS получал бы нулевые рекомендации.

Дальше начинается практика. Не во все кластеры вам реально удобно возить: где-то далеко, где-то дорого, где-то у вас нет нормальной логистики. Для этого есть тумблер - выключаете кластер, и его рекомендация не пропадает, а переезжает в резервный соседний. Важно понимать механику: рекомендация уходит целиком в ОДИН кластер, а не размазывается по нескольким. Отключили Екатеринбург - все его штуки поедут в Пермь. Если и Пермь отключена, они уйдут в Тюмень, затем в Уфу. Резервный кластер можно задать и вручную в настройках.

Смысл в том, чтобы спрос региона не потерялся. Покупатель из Екатеринбурга всё равно закажет - просто товар приедет к нему с соседнего склада, и это лучше, чем не приедет вообще.

Слот-хантер: как поймать слот приёмки и чем это опасно?

Слот-хантер не создаёт заявку на поставку. Заявку вы делаете руками в кабинете Ozon, как обычно. Инструмент подхватывает уже существующую и охотится на свободное время приёмки.

Настройка занимает минуту:

  1. Выберите заявку, для которой ищем слот.
  2. Задайте окно: даты и диапазон времени, которые вам подходят.
  3. Задайте интервал опроса - как часто дёргать Ozon. Минимум 30 секунд, по умолчанию минута.
  4. Если хотите получать сообщение в Telegram, когда слот пойман, - пропишите TELEGRAM_BOT_TOKEN и TELEGRAM_CHAT_ID в файле .env. В самой форме заявки поля для этого нет.

Дальше инструмент работает сам. Нашёл подходящий слот - он его РЕАЛЬНО бронирует, а не просто присылает уведомление «смотри, освободилось».

Внимание. Слот-хантер перезаписывает текущий слот выбранной заявки. Если у неё уже был нормальный слот, он будет заменён на первый подходящий из найденных. Берётся именно ПЕРВЫЙ попавший в ваше окно, а не самый удобный. Поэтому окно задавайте узко и осознанно: не «вся следующая неделя», а конкретные дни и часы, на которые вы точно готовы отгрузить.

Какой ключ Ozon нужен: только на чтение или на запись?

Ключи создаются в кабинете продавца: Настройки - Seller API - создать ключ. Инструмент попросит их при первом запуске и положит в файл на вашем компьютере.

И вот тут важный нюанс, который стоит проговорить прямо. Ключа с ролью «только чтение» достаточно для аналитики: экраны «Что грузить» и «Кластеры» с ним работают полностью, все расчёты идут как надо. Это самый безопасный вариант - программа физически не может ничего изменить в вашем кабинете.

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

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

Как поставить инструмент: три пути

Требования одинаковые для всех трёх путей: компьютер на Windows, Mac или Linux и Python версии 3.11 или новее. На Python 3.10 инструмент не запустится. Сам он работает локально на порту 4000, данные хранит в файле базы рядом с собой.

Путь 1. Через ИИ-агента (Claude Code, Cursor, Codex). Самый простой, если вы не хотите разбираться в командах.

  1. Откройте страницу проекта на GitHub, нажмите зелёную кнопку Code и выберите Download ZIP.
  2. Распакуйте архив в короткую папку латиницей, например C:\torgovod-fbo.
  3. Откройте эту папку в своём ИИ-агенте и дайте команду развернуть проект.
  4. В Claude Code для этого есть готовая команда /setup - агент сам поставит зависимости, создаст файл настроек, проведёт вас по вводу ключей Ozon и запустит приложение.
  5. Откройте в браузере адрес http://localhost:4000.

Путь 2. Вручную, если Python уже стоит.

  1. Скачайте и распакуйте проект так же, как в первом пути.
  2. На Windows дважды кликните по файлу start.bat.
  3. На Mac или Linux выполните в папке проекта команду bash start.sh.
  4. Скрипт сам создаст окружение, поставит зависимости и откроет http://localhost:4000.
  5. При первом входе введите ключи Ozon на странице настроек.

Путь 3. Демо без ключей, чтобы просто посмотреть.

  1. Распакуйте проект.
  2. Выполните команду python seed_demo.py.
  3. Инструмент наполнится 12 выдуманными товарами - можно покликать по всем экранам и понять, как всё устроено, ничего не подключая.

Совет. На Windows после первого запуска на рабочем столе появляется ярлык «Торговод FBO». Дальше запуск в один клик, лезть в командную строку больше не нужно.

Какие грабли ждут при первом запуске?

  1. Старый Python. Версия ниже 3.11 упадёт с невнятной ошибкой, по которой ничего не понять. Проверьте версию первым делом - это экономит полчаса нервов.
  2. Занятый порт 4000. Лаунчер молча прибьёт процесс, который висит на этом порту. Если там крутится другой ваш проект, он просто остановится, и вы не сразу поймёте почему.
  3. Антивирус или политика Windows. Файл start.bat запускает PowerShell, и это иногда блокируется. Если ничего не происходит - причина обычно здесь.
  4. Кириллица и пробелы в пути. Классика жанра. Папка вида «C:\Мои документы\Торговод» - готовый источник загадочных ошибок. Распаковывайте в короткий путь латиницей.
  5. Оборванная установка. Зависимости ставятся один раз, факт установки помечается служебным файлом. Если процесс сорвался на полпути, удалите папку .venv и запустите заново.
  6. Фальшивые ключи после демо. Если вы гоняли демо-режим, в настройках остались выдуманные ключи. Введите настоящие на странице настроек - демо-данные сотрутся сами.
  7. Долгий первый обмен данными. Между запросами к Ozon инструмент выдерживает паузу в 2 секунды, чтобы не превысить лимиты платформы. Каталог и 35 дней заказов выкачиваются по страницам, поэтому на большом ассортименте первая синхронизация идёт десятки минут. Это нормально и не является поломкой - просто оставьте её работать и займитесь делами.

Чего в инструменте нет и что можно допилить

Мне важно сказать это прямо, а не прятать за красивой обёрткой. У инструмента есть границы, и вот они:

  • Только Ozon FBO. Wildberries и Яндекс Маркет не поддерживаются вообще.
  • Нет сезонности. Прогноз - это среднее за 30 дней плюс свежий тренд. Ни сравнения год к году, ни новогодних пиков инструмент не знает.
  • Нет учёта акций и рекламы. Если вы запланировали всплеск спроса под акцию, формула о нём не догадается.
  • Время поставки не заходит в формулу. Поле в интерфейсе есть, по умолчанию 8 дней, но в расчёт оно пока не попадает - роль страхового запаса играют целевые 60 и 90 дней. Самая очевидная доработка из всех.
  • Наценка за нелокальный кластер только показывается. Проценты видны, но в решение «везти или не везти в дальний регион» они не заходят.
  • Нет лимитов приёмки склада, кратности коробов, габаритов и веса.
  • Рекомендация не спрашивает про деньги. Она посчитает, сколько везти, не поинтересовавшись, есть ли у вас бюджет на закуп.
  • Спрос считается по заказам, а не по выкупам. Про это я писал выше.
  • Статус РИСК стоило бы разделить надвое - на «скоро кончится» и «есть что довезти». Пока это один статус, и он размытый.

Теперь главное. Это не список недостатков - это список задач. Код открыт, лежит рядом с вами, и любой пункт из этого списка можно отдать ИИ-агенту как задание: «добавь в формулу время поставки», «раздели статус РИСК на два». Ровно в этом и состоит вайб-кодинг: вы получаете инструмент под свой бизнес, а не чужую подписку с чужими правилами.

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

Безопасно ли это и куда уходят мои ключи?

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

  • Программа запускается у вас на компьютере, а не на чужом сервере. Никакой регистрации и никакой подписки.
  • Ключи хранятся в отдельном файле настроек на вашем диске и в репозиторий не попадают.
  • Обращения идут только к официальному Ozon Seller API, вашими же ключами, с соблюдением лимитов запросов.
  • Код открыт целиком. Вы можете прочитать его сами или попросить ИИ-агента объяснить простыми словами, что делает каждый файл.
  • Инструмент не связан с Ozon, не одобрен им и не аффилирован с ним. Это независимая разработка, и решения на основе его цифр вы принимаете сами.

Если хотите вынести инструмент с личного компьютера, чтобы он работал круглосуточно, - это отдельная история, я разбирал её в статье про запуск Торговода на сервере.

Источники

Была ли статья полезной?
Автор
Владимир Кабанов
Селлер, автор Вайб Селлер Клуба

Продаю на Ozon и Wildberries, автоматизирую магазин через вайб-кодинг и учу этому селлеров.

Похожие статьи

Связанные понятия