Утримання

Аналіз бізнес-даних у SQL

Michel Semaan

Data Scientist

MAU — підводні камені

  • Не показує розподіл активних користувачів за стажем
  • Не розрізняє різні патерни активності
    • Випадок 1: щомісяця реєструються 100 користувачів і активні лише один місяць
    • Випадок 2: тільки 100 користувачів реєструються в перший місяць, далі ніхто не реєструється, але ці 100 активні щомісяця
    • У обох випадках MAU буде 100!
Аналіз бізнес-даних у SQL

MAU — розподіл

Розподіл

  • Нові користувачі приєдналися цього місяця
  • Утримані були активні минулого місяця і залишилися активними цього
  • Повернуті не були активні минулого місяця, але відновили активність цього
Аналіз бізнес-даних у SQL

Коефіцієнт утримання — огляд

  • Коефіцієнт утримання (retention rate): відсоток користувачів, які були активні минулого місяця й залишилися активними в поточному
  • Формула: $\frac{Uc}{Up}$, де $Uc$ — кількість унікальних користувачів, активних у поточному й попередньому місяцях, а $Up$ — кількість унікальних користувачів, активних у попередній період
  • Приклад: $\frac{80}{100} = 0.8 = 80\%$
Аналіз бізнес-даних у SQL

Коефіцієнт утримання — запит

WITH user_activity AS (
  SELECT DISTINCT
    DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
    user_id
  FROM orders)

SELECT previous.delivr_month, ROUND( COUNT(DISTINCT current.user_id) :: NUMERIC / GREATEST(COUNT(DISTINCT previous.user_id), 1), 2) AS retention
FROM user_activity AS previous LEFT JOIN user_activity AS current ON previous.user_id = current.user_id AND previous.delivr_month = (current.delivr_month - INTERVAL '1 month') GROUP BY previous.delivr_month ORDER BY previous.delivr_month ASC LIMIT 3;
Аналіз бізнес-даних у SQL

Коефіцієнт утримання — результат

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Аналіз бізнес-даних у SQL

Утримання

Аналіз бізнес-даних у SQL

Preparing Video For Download...