Retention

Analizzare i dati aziendali in SQL

Michel Semaan

Data Scientist

MAU - insidie

  • Non mostra la ripartizione degli utenti attivi per anzianità
  • Non distingue tra diversi schemi di attività utente
    • Caso 1: 100 utenti si registrano ogni mese e sono attivi solo per un mese
    • Caso 2: Solo 100 utenti si registrano nel primo mese e poi nessuno più, ma questi 100 sono attivi ogni mese
    • In entrambi i casi i MAU saranno 100!
Analizzare i dati aziendali in SQL

MAU - ripartizione

Ripartizione

  • Nuovi utenti entrati questo mese
  • Utenti trattenuti: attivi il mese scorso e anche questo mese
  • Utenti risorti: inattivi il mese scorso, tornati attivi questo mese
Analizzare i dati aziendali in SQL

Tasso di retention - panoramica

  • Tasso di retention: percentuale di utenti attivi il mese scorso che sono attivi anche questo mese
  • Formula: $\frac{Uc}{Up}$, dove $Uc$ è il conteggio degli utenti distinti attivi sia nel mese corrente sia in quello precedente, e $Up$ è il conteggio degli utenti distinti attivi nel periodo precedente
  • Esempio: $\frac{80}{100} = 0{,}8 = 80\%$
Analizzare i dati aziendali in SQL

Tasso di retention - query

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;
Analizzare i dati aziendali in SQL

Tasso di retention - risultato

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Analizzare i dati aziendali in SQL

Retention

Analizzare i dati aziendali in SQL

Preparing Video For Download...