Retention N Days (Retention)

Доля когорты, вернувшаяся в окно после N дней. Пример расчёта для 7 дней.

Зачем нужна

Отвечает, становится ли продукт привычкой. Для LTV и прогнозов окупаемости важны разные горизонты.

Формула

Retention N Days = Вернувшиеся в окно Dn / Размер когорты (пример: D7).

Как считать

Берём когорту по дате начала периода, считаем долю активных в окне [D7, D7+1). Для другого N меняем окно.

SQL-запрос

WITH cohort AS (
  SELECT
    user_id,
    created_at AS signup_ts,
    created_at::date AS signup_date
  FROM users
  WHERE created_at >= CURRENT_DATE - INTERVAL '60 day'
),
d7_returns AS (
  SELECT DISTINCT c.user_id
  FROM cohort c
  JOIN events e ON e.user_id = c.user_id
  WHERE e.event_name IN ('app_open','session_start','feature_use')  -- same activity definition!
    AND e.event_timestamp >= c.signup_ts + INTERVAL '7 day'
    AND e.event_timestamp <  c.signup_ts + INTERVAL '8 day'
)
SELECT
  c.signup_date,
  COUNT(DISTINCT c.user_id) AS cohort_size,
  COUNT(DISTINCT r.user_id) AS returned,
  ROUND(COUNT(DISTINCT r.user_id)::decimal / NULLIF(COUNT(DISTINCT c.user_id), 0), 3) AS retention_d7
FROM cohort c
LEFT JOIN d7_returns r ON r.user_id = c.user_id
GROUP BY 1
ORDER BY 1 DESC;
Обновлено:
Открыть каталог метрик