Rétention

Analyser des données d'entreprise en SQL

Michel Semaan

Data Scientist

MAU - écueils

  • N'affiche pas la répartition des utilisateurs actifs par ancienneté
  • Ne distingue pas différents profils d'activité
    • Cas 1 : 100 utilisateurs s'inscrivent chaque mois et ne sont actifs qu'un mois
    • Cas 2 : 100 utilisateurs s'inscrivent seulement le premier mois, plus aucune inscription ensuite, mais ces 100 restent actifs tous les mois
    • Dans les deux cas, le MAU sera 100 !
Analyser des données d'entreprise en SQL

MAU - ventilation

Ventilation

  • Nouveaux utilisateurs ce mois-ci
  • Utilisateurs retenus actifs le mois précédent et encore ce mois-ci
  • Utilisateurs ressuscités inactifs le mois précédent, revenus ce mois-ci
Analyser des données d'entreprise en SQL

Taux de rétention - aperçu

  • Taux de rétention : pourcentage d'utilisateurs actifs le mois précédent qui le sont encore ce mois-ci
  • Formule : $\frac{Uc}{Up}$, où $Uc$ est le nombre d'utilisateurs distincts actifs à la fois ce mois-ci et le mois précédent, et $Up$ le nombre d'utilisateurs distincts actifs le mois précédent
  • Exemple : $\frac{80}{100} = 0.8 = 80\%$
Analyser des données d'entreprise en SQL

Taux de rétention - requête

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;
Analyser des données d'entreprise en SQL

Taux de rétention - résultat

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Analyser des données d'entreprise en SQL

Rétention

Analyser des données d'entreprise en SQL

Preparing Video For Download...