Surrika

Сверка артикулов в продажах и остатках, где расходятся данные

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

Отчеты и данные

Как считать

  1. Беру продажи за 12 месяцев и вычитаю возвраты.
  2. К сумме продаж по артикулу присоединяю актуальный остаток.
  3. Артикулы, которые есть только в продажах, получают статус продаж без остатка.
  4. Артикулы только в остатках получают статус остатка без продаж.
  5. Считаю количество артикулов по категориям и статусам.

Расчет на выгрузках магазина

Пример посчитан на выгрузках вымышленного мебельного магазина: продажи сайта и трех маркетплейсов, реклама, сделки CRM и остатки за 2024-2025 годы.

Какие артикулы продавались, но закончились на складе, и какие лежат без продаж? Как свести продажи и остатки, чтобы увидеть такие расхождения?

Артикулы по статусу сверки в категориях, вымышленный мебельный магазин

SQL, по которому посчитано

WITH sales_12m AS (
    SELECT
        sku,
        MIN(category) AS category,
        SUM(units - returned_units) AS sold_units
    FROM sales
    WHERE date >= (
        SELECT date_trunc('month', MAX(date)) - INTERVAL '11 months'
        FROM sales
    )
    GROUP BY sku
),
stock_latest AS (
    SELECT
        sku,
        MIN(category) AS category,
        SUM(units) AS stock_units
    FROM stock
    WHERE date = (SELECT MAX(date) FROM stock)
    GROUP BY sku
),
sku_check AS (
    SELECT
        COALESCE(s.sku, st.sku) AS sku,
        COALESCE(s.category, st.category) AS category,
        COALESCE(s.sold_units, 0) AS sold_units,
        COALESCE(st.stock_units, 0) AS stock_units,
        CASE
            WHEN COALESCE(s.sold_units, 0) > 0 AND COALESCE(st.stock_units, 0) = 0 THEN 'Продажи без остатка'
            WHEN COALESCE(s.sold_units, 0) = 0 AND COALESCE(st.stock_units, 0) > 0 THEN 'Остаток без продаж'
            ELSE 'Есть и продажи, и остаток'
        END AS status
    FROM sales_12m s
    FULL OUTER JOIN stock_latest st ON s.sku = st.sku
)
SELECT
    category,
    status,
    COUNT(*) AS sku_count
FROM sku_check
GROUP BY category, status
ORDER BY category, status
LIMIT 30

Где взять продажи и остатки для сверки артикулов

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

Почему продажи и остатки не сходятся по артикулам

Расхождения появляются из-за комплектов, пересорта и товара в пути. Комплект продается одним артикулом, а на складе лежит по компонентам. Пересорт меняет артикул при приемке или отгрузке. Товар в пути уже продан, но еще не попал в остаток. Списание и резерв уменьшают доступный остаток без продажи.

Как читать результат сверки артикулов

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

Что сделать с артикулами после сверки

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

Частые ошибки

Сверка по названию товара

Названия меняются от канала к каналу, поэтому сводка по названию дает ложные пары. Сверяйте по артикулу. Название оставьте для проверки.

Вопросы

Можно ли сверять остатки по категории вместо артикула?

Можно для обзорной проверки, но расхождения по конкретным товарам так не найти. Для действий нужна сверка на уровне артикула.

Посчитайте это на своих выгрузках

Бросьте выгрузки на доску Surrika и задайте вопрос обычными словами. Ответ придет графиком, а под ним будет SQL, по которому он посчитан.

14 дней бесплатно, карта не нужна.

По теме

Все задачи