Короткий ответ
Сравниваю текущий период не только с прошлой неделей, но и с тем же периодом предыдущего года/месяца и с динамикой похожих прошлых провалов (праздники, выходные), чтобы отличить повторяющийся паттерн от аномалии.
Как это работает подробнее
сравнение «неделя к неделе» чувствительно к календарным эффектам (праздники, начало/конец месяца, выходные дни). Нужно сопоставить с историческим паттерном за несколько периодов, а не с одной соседней неделей.
Пример кода
Пример SQL
SELECT date_trunc('week', order_date) AS week,
sum(amount) AS revenue
FROM orders
WHERE order_date >= current_date - interval '104 weeks'
GROUP BY 1
ORDER BY 1;Что использовать на практике
- Порядок действий. строю график продаж за последние 1–2 года с разметкой праздников/акций; смотрю, было ли похожее падение в аналогичный период ранее (год к году); проверяю календарь — не выпала ли неделя на праздники или сокращённую рабочую неделю.
Подводные камни
- Частые ошибки. сравнивать только с одной предыдущей неделей без учёта исторического контекста; не учитывать разное количество рабочих/выходных дней в сравниваемых периодах; сразу делать вывод о «проблеме», не исключив сезонность.