**Контекст:** Задание senior-уровня с собеса в отдел data quality / monitoring. Нужно написать детектор, который находит «дни-аномалии» в дневной выручке магазина — такие, где выручка сильно отклоняется от ожидаемой.
**Данные:**
[см. код в задании]
**Задание:**
Написать функцию `detect_anomalies(df, window=28, z_threshold=3)`:
1. Для каждого дня считать **rolling** среднее и std за предыдущие N дней (исключая сам день — leak-free).
2. Вычислить **z-score** текущего дня относительно rolling статистик.
3. Если `|z| >= z_threshold` — пометить день как аномалию.
4. Дополнительно: разбить аномалии на `anomaly_high` (z >= 3) и `anomaly_low` (z <= -3).
**Вернуть:** оригинальный df + колонки `rolling_mean, rolling_std, z_score, anomaly_type` (values: 'normal', 'high', 'low').
pandas anomaly-detection rolling z-score monitoring