Retenção

Análise de Dados de Negócios em SQL

Michel Semaan

Data Scientist

MAU - armadilhas

  • Não mostra a divisão de usuários ativos por tempo de casa
  • Não diferencia padrões de atividade
    • Caso 1: 100 usuários se cadastram todo mês e só ficam ativos por um mês
    • Caso 2: Só 100 usuários se cadastram no primeiro mês; depois ninguém mais entra, mas esses 100 ficam ativos todo mês
    • Em ambos, o MAU será 100!
Análise de Dados de Negócios em SQL

MAU - divisão

Divisão

  • Novos: entraram neste mês
  • Retidos: ativos no mês anterior e neste mês
  • Ressuscitados: inativos no mês anterior, voltaram neste mês
Análise de Dados de Negócios em SQL

Taxa de retenção - visão geral

  • Taxa de retenção: porcentagem de usuários ativos no mês anterior que seguem ativos no mês atual
  • Fórmula: $\frac{Uc}{Up}$, onde $Uc$ é a contagem de usuários distintos ativos no mês atual e no anterior, e $Up$ é a contagem de usuários distintos ativos no período anterior
  • Exemplo: $\frac{80}{100} = 0{,}8 = 80\%$
Análise de Dados de Negócios em SQL

Taxa de retenção - consulta

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;
Análise de Dados de Negócios em SQL

Taxa de retenção - resultado

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Análise de Dados de Negócios em SQL

Retenção

Análise de Dados de Negócios em SQL

Preparing Video For Download...