xyz_analysis_marketplace_ru
XYZ-анализ ассортимента маркетплейсов: классификация товаров по стабильности спроса для оптимизации складских запасов и стратегии продаж.
XYZ-анализ ассортимента маркетплейсов
TL;DR
- XYZ-анализ: коэффициент вариации ≤10% (X), 10-25% (Y), >25% (Z)
- Группа X — стабильный спрос, минимальный страховой запас
- Группа Y — сезонные колебания, запас на 1.5x средней
- Группа Z — непредсказуемый спрос, пополнение по факту или pre-order
- ABC-XYZ матрица: AX/CX — приоритет, BZ/DZ — сокращение
- Пересчёт каждые 30 дней для маркетплейсов
Роль
Менеджер маркетплейса использует XYZ-анализ для классификации товаров по предсказуемости спроса. Цель — оптимизировать запасы, снизить издержки хранения и повысить Turnover Rate. Результат: план закупок, стратегия продвижения, управление рисками out-of-stock и overstock.
Регуляторика
- ФЗ-381 «О государственном регулировании торговой деятельности»: нормы хранения, сроки реализации
- ФЗ-54 (онлайн-кассы): учёт продаж для расчёта коэффициентов
- Правила маркетплейсов (Ozon, WB): требования к остаткам, штрафы за дефицит
- НДС (ст.164 НК): влияет на себестоимость при расчёте оборачиваемости
Ключевые компетенции
1. Расчёт коэффициента вариации (CV)
CV = (Стандартное отклонение / Среднее значение) × 100% Источник данных: история продаж за 30-90 дней из кабинета маркетплейса
2. Классификация товаров
| Группа | CV (%) | Характеристика | Стратегия |
|---|---|---|---|
| X | ≤10 | Стабильный спрос | Минимум запасов, высокий оборот |
| Y | 10-25 | Вариативный спрос | Страховой запас 30-50% |
| Z | >25 | Непредсказуемый спрос | Пополнение по заказу или pre-order |
3. ABC-XYZ матрица
Комбинация стабильности (X/Y/Z) и оборачиваемости (A/B/C):
- AX/BX — топ-приоритет: держать в наличии постоянно
- AZ/BZ — анализировать причины нестабильности
- CY/CZ — минимизировать склад, pre-order модель
4. Расчёт страхового запаса
SS = Z-score × σ × √Lead time Z-score: 1.65 (95% сервис), 2.33 (99% сервис) σ — стандартное отклонение продаж
Инструменты РФ
- MPSTATS — аналитика продаж на WB/Ozon, расчёт CV, экспорт данных. Бесплатный тариф: 7 дней истории
- MarketGuru — мониторинг остатков, прогноз спроса. От 15 000 ₽/мес
- Moneyplace — финансовая аналитика маркетплейсов. От 5 000 ₽/мес
- Ozon Analytics (встроенный) — история продаж, экспорт в XLSX
- Google Sheets / Yandex Tables — расчёт CV, построение матрицы
Метрики
| Метрика | Формула | Бенчмарк |
|---|---|---|
| Коэффициент вариации | CV = σ/μ × 100% | X: <10%, Y: 10-25%, Z: >25% |
| Оборачиваемость | Себестоимость / Средний остаток | >4 раза/мес для AX |
| Страховой запас | Z × σ × √LT | 95-99% сервис |
| Stockout Rate | (Дни без остатка / Общее время) × 100% | <5% |
| Dead Stock Ratio | Запас >90 дней / Общий запас | <10% |
Алгоритмы
Алгоритм 1: Проведение XYZ-анализа
- Выгрузить историю продаж (30-90 дней) из кабинета маркетплейса
- Рассчитать среднее и стандартное отклонение для каждого SKU
- Вычислить CV = (σ/μ) × 100%
- Классифицировать товары по группам X/Y/Z
- Построить матрицу с ABC-группами (из предыдущего ABC-анализа)
- Определить стратегию для каждой ячейки матрицы
- Сформировать отчёт с рекомендациями
Алгоритм 2: Оптимизация запасов
- Для группы X: поддерживать минимальный запас (3-5 дней продаж)
- Для группы Y: страховой запас 30-50% сверх среднего
- Для группы Z: работать по pre-order или пополнять раз в 7-14 дней
- Рассчитать reorder point = (Средние продажи × Lead time) + Страховой запас
- Настроить уведомления при достижении точки заказа
Алгоритм 3: ABC-XYZ матрица
- Выполнить ABC-анализ (20/80 или 50/30/20) по выручке
- Выполнить XYZ-анализ по CV продаж
- Совместить в единую матрицу 3×3:
- AX, BX, CX (стабильные товары)
- AY, BY, CY (сезонные товары)
- AZ, BZ, CZ (непредсказуемые товары)
- Определить приоритеты:
- AX: максимальные запасы, автоматическое пополнение
- BZ: минимизировать, перейти на pre-order
- CZ: рассмотреть исключение из ассортимента
Правила
Правила
- Использовать минимум 30 дней данных для расчёта CV
- Учитывать сезонность: проводить анализ поквартально
- Исключать акционные периоды из расчёта стабильности
- Пересматривать классификацию при изменении ассортимента
- Комбинировать с ABC-анализом для принятия решений
Антипаттерны
- Не использовать данные менее 14 дней — искажение CV
- Не игнорировать товары с нулевыми продажами — они Z-группа
- Не устанавливать одинаковый страховой запас для всех групп
- Не проводить анализ только по количеству, игнорируя выручку
Чек-листы
Чек-лист: Подготовка данных
- Выгружена история продаж за 30-90 дней
- Данные очищены от акционных и promo-периодов
- Рассчитаны средние продажи и σ для каждого SKU
- Рассчитан CV для каждого товара
- Проведена классификация по группам X/Y/Z
Чек-лист: Формирование стратегии
- Построена ABC-XYZ матрица
- Определены страховые запасы по группам
- Рассчитаны точки заказа (reorder point)
- Составлен план оптимизации запасов
- Настроены уведомления в кабинете маркетплейса
Чек-лист: Контроль результатов
- Stockout Rate < 5% для группы AX
- Dead Stock Ratio < 10%
- Оборачиваемость AX > 4 раз/мес
- Проведён пересчёт через 30 дней
Отчётность
Еженедельный отчёт
- Изменения в классификации товаров
- Фактический Stockout Rate vs целевой
- Динамика Dead Stock
- Рекомендации по пополнению
Ежемесячный отчёт
- Итоги ABC-XYZ распределения
- Анализ оборачиваемости по группам
- План закупок на следующий месяц
- Товары на исключение из ассортимента
Квартальный отчёт
- Пересмотр классификации с учётом сезонности
- Анализ эффективности стратегии
- Корректировка страховых запасов
- Обновление плана развития ассортимента
Дополнительные материалы
Формулы для Google Sheets / Yandex Tables
Среднее: =AVERAGE(B2:B31)
Стандартное отклонение: =STDEV(B2:B31)
CV (%): =STDEV(B2:B31)/AVERAGE(B2:B31)*100
Группа X/Y/Z: =IF(CV<=10,"X",IF(CV<=25,"Y","Z"))
Reorder Point: =(Среднее*Lead_Time)+SS
Источники данных
- Ozon: Личный кабинет → Аналитика → Продажи → Экспорт
- Wildberries: Личный кабинет → Аналитика → Детализация продаж
- MPSTATS: Экспорт → Продажи → Выбрать период
Нормативы для разных типов товаров
| Категория | Группа X | Группа Y | Группа Z |
|---|---|---|---|
| Электроника | 40% | 35% | 25% |
| Одежда/обувь | 20% | 30% | 50% |
| Продукты | 60% | 25% | 15% |
| Косметика | 35% | 40% | 25% |
ABC-анализ ассортимента
XYZ отвечает на «насколько стабильно продаётся», ABC — на «какая доля выручки/прибыли». Обе оси нужны вместе; матрица ABC-XYZ уже описана в «Алгоритм 3», но самостоятельный ABC часто запрашивают отдельно (новички, ассортиментные комитеты, аудит на момент закупки).
Когда использовать чистый ABC
- Первый аудит ассортимента после подключения коннектора (XYZ требует ≥3 мес истории — ABC можно считать с 1 мес).
- Подготовка к закупке: «куда направить оборотные средства».
- Решение о delisting: товары C-XYZ с устойчиво отрицательной маржой — кандидаты на вывод.
Алгоритм ABC
- Период наблюдения: минимум 1 полный месяц без сезонных пиков. Для сезонных категорий — 12 месяцев.
- Метрика — одна из:
revenue(выручка),gross_profit(валовая прибыль),margin_abs(маржа в рублях). НЕ складывать composite weights с весами (агент-оптимизатор хакнет веса). Если приоритет «не дать денег утечь» —gross_profit; если «масштабировать оборот» —revenue. - Уровень детализации: SKU (артикул × размер для одежды, артикул × цвет для остального). Не считать на уровне модели — теряется точность размерной сетки.
- Сортировка по убыванию метрики; SKU с метрикой ≤ 0 за период — в отдельный bucket
D(не C — иначе размывает классификацию). - Накопительная доля:
cumulative_share[i] = sum(metric[0..i]) / total. - Классификация по cutoff:
- A: первые SKU до
cumulative_share ≤ 80%. - B: SKU с
cumulative_shareот 80% до 95%. - C: SKU с
cumulative_share> 95%. - D: метрика ≤ 0 (убыточные/не запустились).
- A: первые SKU до
Cutoff-варианты
| Cutoff | A | B | C | Когда применять |
|---|---|---|---|---|
| 80/15/5 | ≤80% | 80–95% | >95% | По умолчанию, универсальный |
| 70/20/10 | ≤70% | 70–90% | >90% | Широкий ассортимент >500 SKU |
| 50/30/20 | ≤50% | 50–80% | >80% | Концентрированный портфель <50 SKU |
Cutoff фиксируется на момент анализа. Не «подгонять под желаемый список A».
Что делать с каждой группой
- A (≈20% SKU ≈ 80% выручки): не допускать OOS, держать страховой запас (см. XYZ-навык), реклама — никогда не выключать полностью, цена и контент — ручной режим, защищать от СПП.
- B: поддерживать, тестировать рекламу с целевым ДРР, рассматривать в сезонные акции, кандидаты на промо B→A.
- C: жёсткий cap на рекламу, минимальный остаток, регулярная ревизия. Если C стабильно убыточен 2+ месяца → D.
- D: delisting-кандидаты. Если стратегически нужны (комплектность, защита ниши) — переписать карточку и/или цену, перевести в C через 1 цикл.
Антипаттерны
- ABC по выручке, когда товар торгуется в убыток ради оборота → A с отрицательной экономикой. Если есть валовая прибыль — считать по ней.
- Перекидывать SKU между классами раз в неделю — закупка не успевает перестроиться. Минимальный интервал пересчёта — месяц.
- ABC без XYZ для скоропортящихся/сезонных категорий: A-X (хит-стабильный) и A-Z (хит-всплеск) требуют разной закупки, объединять нельзя.
- Считать SKU без продаж в C — это не C, это «не запустилось». Bucket D.
- Менять cutoff между пересчётами «чтобы получилось красивее» — теряется сопоставимость.
Чек-лист ABC-перевыпуска
- Зафиксирована метрика (revenue | gross_profit | margin_abs).
- Зафиксирован cutoff (80/15/5 по умолчанию).
- Период ≥ 1 месяц, без частичных недель, без распродаж/ЧП.
- Пересчитана накопительная доля, проверена монотонность.
- SKU с метрикой ≤ 0 вынесены в bucket D отдельно.
- Сопоставлено с прошлым пересчётом: переходы B→A, A→C, *→D — отдельный артефакт для закупки и delisting-комитета.
- Запасной recipe: матрица ABC × XYZ (если XYZ-данные доступны) для следующего шага планирования.
Попробуйте этот навык
Зарегистрируйтесь и используйте навык «xyz_analysis_marketplace_ru» бесплатно.