Retention

Analysera affärsdata i SQL

Michel Semaan

Data Scientist

MAU – fallgropar

  • Visar inte fördelningen av aktiva användare efter hur länge de har använt tjänsten
  • Skiljer inte på olika aktivitetsmönster
    • Fall 1: 100 användare registrerar sig varje månad och är aktiva i en månad
    • Fall 2: Endast 100 användare registrerar sig den första månaden, inga fler registrerar sig efter det, men dessa 100 är aktiva varje månad
    • Båda fallen ger MAU = 100!
Analysera affärsdata i SQL

MAU – fördelning

Fördelning

  • Nya användare registrerade sig den här månaden
  • Behållna användare var aktiva föregående månad och fortsatte vara aktiva den här månaden
  • Återvända användare var inte aktiva föregående månad men kom tillbaka den här månaden
Analysera affärsdata i SQL

Retentionsgrad – översikt

  • Retentionsgrad: Ett procentmått som visar hur många användare som var aktiva en tidigare månad och fortfarande är aktiva den aktuella månaden
  • Formel: $\frac{Uc}{Up}$, där $Uc$ är antalet unika användare som var aktiva både den aktuella och föregående månaden, och $Up$ är antalet unika användare som var aktiva under föregående period
  • Exempel: $\frac{80}{100} = 0,8 = 80\%$
Analysera affärsdata i SQL

Retentionsgrad – fråga

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;
Analysera affärsdata i SQL

Retentionsgrad – resultat

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Analysera affärsdata i SQL

Retention

Analysera affärsdata i SQL

Preparing Video For Download...