1.4Kпросмотров
80.6%от подписчиков
25 февраля 2026 г.
📷 ФотоScore: 1.5K
📈 Скользящее среднее (Moving Average): как увидеть реальный тренд сквозь шум данных Представьте ситуацию: вы строите бизнесу график дневной выручки, а там — настоящая «кардиограмма». В выходные пик, в понедельник провал, в праздник аномальный выброс. Смотришь на эти качели и не понимаешь: мы глобально растем или летим в пропасть? Данные часто содержат «шум». Чтобы увидеть реальный тренд, используется Скользящее среднее (Moving Average). Если коротко: мы берем каждую дату и считаем среднее значение не только за этот день, но и за N предыдущих. График выравнивается, и скрытое становится явным. Разберем на практике: 👨💻 Допустим, нам нужно сгладить дневную выручку (revenue) за 7 дней. В SQL это элегантно решается через оконные функции:
SELECT dt, revenue, AVG(revenue) OVER ( ORDER BY dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) as ma_7d
FROM daily_revenue; Здесь магия кроется в ROWS BETWEEN 6 PRECEDING AND CURRENT ROW. Мы буквально говорим базе: «для каждой даты возьми текущую строку и 6 строк до неё, а потом усредни». 🛑 Главная ловушка — проблема «Холодного старта»: Частый вопрос на собесах: «А что будет с первой строкой в таблице? У неё же нет истории за 6 дней!»
SQL не упадет с ошибкой. Для 1-го дня он посчитает среднее только по 1 дню. Для 2-го — по 2-м. Окно будет постепенно «накапливаться», пока не достигнет 7 дней.
Как с этим жить: Если вам нужна идеальная математическая точность для аналитики, первые дни периода (пока окно не наполнилось) на итоговом графике просто отрезают, чтобы они не искажали картину. 🟢 Как выбрать правильный интервал (окно): Выбор зависит от того, какие циклы есть в вашем бизнесе:
1️⃣ 7 дней (МА-7) — Золотой стандарт для ритейла и e-commerce. Такое окно захватывает ровно одни выходные и пять будней. Недельная сезонность полностью исчезает с графика.
2️⃣ 28-30 дней — Отлично показывает глобальный тренд месяца. Помогает сгладить эффект от разовых промо-акций или зарплатных дней у клиентов.
3️⃣ 3 дня — Используют для метрик, где критически важно быстро заметить падение (например, конверсия в оплату после релиза новой фичи), но нужно сгладить совсем уж случайные колебания. Итог: 🤩 🍸 Сохраняйте пост, чтобы информация была всегда под рукой.
❓ А вы использовали скользящее среднее в своих задачах? Какие интервалы обычно берете? Пишите в комментариях!
✔️ Подпишитесь на канал, чтобы не пропустить следующие посты. 🚬 Готовлю вас к собесам и пишу резюме здесь: mentor.dima-sqlit.ru @dima_sqlit