Короткий ответ
Это классический парадокс Симпсона — агрегированный тренд разворачивается относительно трендов по сегментам, когда одновременно меняется структура (миксы) сегментов, например доля заказов из более дорогого региона выросла, «перетянув» общее среднее вверх, даже если внутри каждого региона чек снизился.
Как это работает подробнее
Общее среднее — это не просто среднее средних, а средневзвешенное по объёму; если за период сильно вырос вес (доля заказов) более дорогого сегмента, то итоговое средневзвешенное может вырасти, даже если в каждом сегменте в отдельности показатель упал.
Пример кода
example.sql
SELECT region,
COUNT(*) AS orders,
AVG(amount) AS avg_check,
COUNT(*) * 1.0 / SUM(COUNT(*)) OVER () AS share_of_orders
FROM fact_orders
WHERE order_date BETWEEN '2024-04-01' AND '2024-04-30'
GROUP BY region;Что использовать на практике
- На практике. При любом изменении агрегированной метрики стоит разложить её на сегменты (по региону, каналу, устройству) и сравнить тренд и веса каждого сегмента отдельно — это стандартная проверка перед тем, как делать вывод об «общем улучшении».
- Проверка. пересчитать общий средний чек вручную как средневзвешенное (SUM(avg_check*orders)/SUM(orders)) по регионам и свериться с цифрой дашборда — если регион с ростом доли имеет более высокий чек, парадокс подтверждён.
Подводные камни
- Частые ошибки. Докладывают бизнесу только агрегированную цифру без разбивки по сегментам, что приводит к неверным управленческим решениям (например, решают не чинить падение чека в регионах, потому что «в целом по компании всё растёт»).