Retenție

Analiza datelor de business în SQL

Michel Semaan

Data Scientist

MAU - capcane

  • Nu arată distribuția utilizatorilor activi după vechime
  • Nu distinge între tipare diferite de activitate
    • Cazul 1: 100 de utilizatori se înregistrează în fiecare lună și sunt activi doar o lună
    • Cazul 2: Doar 100 de utilizatori se înregistrează în prima lună, nimeni altcineva nu se mai înregistrează, dar aceștia sunt activi în fiecare lună
    • MAU-ul ambelor cazuri va fi 100!
Analiza datelor de business în SQL

MAU - distribuție

Distribuție

  • Utilizatorii noi s-au alăturat în această lună
  • Utilizatorii reținuți au fost activi luna anterioară și au rămas activi
  • Utilizatorii reactivați nu au fost activi luna anterioară, dar au revenit
Analiza datelor de business în SQL

Rata de retenție - prezentare generală

  • Rata de retenție: Procentul utilizatorilor activi luna anterioară care rămân activi în luna curentă
  • Formulă: $\frac{Uc}{Up}$, unde $Uc$ este numărul de utilizatori distincți activi în ambele luni, iar $Up$ este numărul de utilizatori distincți activi în luna anterioară
  • Exemplu: $\frac{80}{100} = 0.8 = 80\%$
Analiza datelor de business în SQL

Rata de retenție - interogare

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;
Analiza datelor de business în SQL

Rata de retenție - rezultat

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Analiza datelor de business în SQL

Retenție

Analiza datelor de business în SQL

Preparing Video For Download...