Surrika

Выбросы в продажах по дням: расчет аномальных скачков

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

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

Как считать

  1. Собираем выручку по каждому дню за 12 месяцев и считаем медиану дневной выручки.
  2. Для каждого дня находим абсолютное отклонение от медианы и берем медиану этих отклонений.
  3. Порог аномалии считаем как медиана плюс три увеличенных медианных отклонения.
  4. Дни выше порога сортируем по превышению и оставляем 30 самых крупных.

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

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

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

Выбросы дневной выручки и обычный уровень

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

WITH daily AS (
  SELECT
    date,
    sum(revenue - returned_revenue) AS revenue
  FROM sales
  WHERE date >= (SELECT date_trunc('month', max(date)) - INTERVAL '11 months' FROM sales)
  GROUP BY date
),
center AS (
  SELECT median(revenue) AS median_revenue
  FROM daily
),
spread AS (
  SELECT median(abs(d.revenue - c.median_revenue)) AS mad
  FROM daily d
  CROSS JOIN center c
),
flagged AS (
  SELECT
    d.date,
    d.revenue,
    c.median_revenue,
    d.revenue - c.median_revenue AS excess_revenue
  FROM daily d
  CROSS JOIN center c
  CROSS JOIN spread s
  WHERE s.mad > 0
    AND d.revenue > c.median_revenue + 3 * 1.4826 * s.mad
)
SELECT
  date AS sale_date,
  round(revenue, 2) AS revenue,
  round(median_revenue, 2) AS typical_revenue,
  round(excess_revenue, 2) AS excess_revenue,
  round(revenue / NULLIF(median_revenue, 0), 3) AS revenue_ratio
FROM flagged
ORDER BY excess_revenue DESC
LIMIT 30

Где взять продажи по дням для поиска выбросов

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

Почему средняя выручка искажает резкие скачки продаж

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

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

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

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

Порог по выручке для штук

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

Сравнение с тем же днем прошлого года

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

Вопросы

Что считать выбросом, если продажи зависят от дня недели?

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

Нужно ли убирать выбросы перед расчетом среднего?

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

Как проверить, что скачок связан с рекламой?

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

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

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

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

По теме

Все задачи