Как будешь строить систему алертов

«Как будешь строить систему алертов» — вопрос из категории Метрики и KPI, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Систему алертов строю по принципу "важность + скорость реакции".

  1. Определяю ключевые метрики (например, падение DAU на 20%, рост ошибок 500-х).
  2. Выбираю пороги срабатывания (статичные или динамические, через процентили).
  3. Настраиваю каналы уведомлений (Slack/Telegram для срочных, email — для daily digest).
  4. Добавляю механизм подавления шума (например, алерт срабатывает только после 15 минут аномалии).

Пример кода для алерта в SQL (BigQuery):

WITH anomalies AS (
  SELECT 
    date,
    COUNT(DISTINCT user_id) AS dau,
    LAG(COUNT(DISTINCT user_id), 7) OVER() AS dau_last_week
  FROM sessions
  GROUP BY date
)
SELECT date, dau
FROM anomalies
WHERE dau < 0.8 * dau_last_week  -- падение DAU на 20%+

Дополнительно:

  • Тестирую на исторических данных (проверяю, как алерт сработал бы в прошлом).
  • Документирую сценарии (что делать при срабатывании).
  • Разделяю алерты по командам (DevOps — инфра, Product — метрики).