Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Calculando Métricas de Retenção e Churn | Segmentação Avançada de Coortes e Métricas de Retenção
Análise de Coorte com Python

Calculando Métricas de Retenção e Churn

Deslize para mostrar o menu

Métricas de retenção e churn são ferramentas essenciais na análise de coorte, auxiliando na mensuração de quão bem seu produto retém usuários ao longo do tempo e onde você pode estar perdendo-os. A taxa de retenção quantifica a porcentagem de usuários de uma coorte que permanecem ativos após um determinado período. A taxa de churn é o complemento, mostrando a porcentagem de usuários que deixaram de se engajar. A taxa de sobrevivência acompanha a probabilidade de um usuário permanecer ativo em cada período, fornecendo uma visão da longevidade do usuário.

Fórmulas:

  • Taxa de Retenção (no período n):
    Retention Rate = (Number of users active in period n) / (Number of users in cohort at period 0);
  • Taxa de Churn (no período n):
    Churn Rate = 1 - Retention Rate (at period n);
  • Taxa de Sobrevivência (no período n):
    Survival Rate = (Number of users still active at period n) / (Number of users in cohort at period 0).

Essas métricas são frequentemente visualizadas por meio de curvas de retenção ou gráficos de sobrevivência, que ajudam a identificar rapidamente padrões, como quedas acentuadas ou períodos de estabilidade. Ao acompanhar essas taxas em múltiplas coortes e períodos de tempo, é possível identificar estratégias de engajamento bem-sucedidas e áreas que precisam de melhorias.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
import pandas as pd import numpy as np import matplotlib.pyplot as plt # Example cohort data: each row is a user, columns are activity in each month (1 = active, 0 = inactive) data = { "user_id": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "cohort_month": ["2023-01"] * 5 + ["2023-02"] * 5, "month_0": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], # All users active at signup "month_1": [1, 0, 1, 1, 0, 1, 1, 0, 1, 1], "month_2": [1, 0, 0, 1, 0, 1, 0, 0, 1, 0], "month_3": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0], } df = pd.DataFrame(data) # Calculating retention, churn, and survival rates for each cohort results = [] for cohort, group in df.groupby("cohort_month"): cohort_size = len(group) retention = [] churn = [] survival = [] users_remaining = cohort_size for month in ["month_0", "month_1", "month_2", "month_3"]: active = group[month].sum() retention_rate = active / cohort_size retention.append(retention_rate) churn.append(1 - retention_rate) survival.append(users_remaining / cohort_size) users_remaining = active # Update for next period results.append({ "cohort_month": cohort, "retention": retention, "churn": churn, "survival": survival, }) # Converting results to DataFrame for plotting metrics_df = pd.DataFrame(results) months = ["month_0", "month_1", "month_2", "month_3"] # Plot retention curves plt.figure(figsize=(10, 5)) for idx, row in metrics_df.iterrows(): plt.plot(months, row["retention"], marker="o", label=f"Cohort {row['cohort_month']}") plt.title("Cohort Retention Curves") plt.xlabel("Months Since Signup") plt.ylabel("Retention Rate") plt.legend() plt.show() # Plot survival curves plt.figure(figsize=(10, 5)) for idx, row in metrics_df.iterrows(): plt.plot(months, row["survival"], marker="o", label=f"Cohort {row['cohort_month']}") plt.title("Cohort Survival Curves") plt.xlabel("Months Since Signup") plt.ylabel("Survival Rate") plt.legend() plt.show() # Printing calculated metrics print(metrics_df[["cohort_month", "retention", "churn", "survival"]])

Este código demonstra como calcular e visualizar as taxas de retenção, churn e sobrevivência para coortes de usuários utilizando pandas e matplotlib em Python.

O objetivo é analisar como grupos de usuários (coortes) se comportam ao longo do tempo, com foco em seu engajamento e longevidade com um produto.

Estrutura dos Dados:

  • Os dados estão organizados em um DataFrame onde cada linha representa um usuário;
  • As colunas incluem um identificador único do usuário, o mês da coorte (quando o usuário ingressou) e indicadores binários de atividade para cada mês (1 = ativo, 0 = inativo).

Lógica de Cálculo:
Para cada coorte, o código:

  1. Calcula a taxa de retenção para cada mês como a proporção de usuários ainda ativos em relação ao tamanho original da coorte;
  2. Calcula a taxa de churn como o complemento da retenção (1 - taxa de retenção);
  3. Acompanha a taxa de sobrevivência, que mostra a probabilidade de um usuário permanecer ativo até cada período, atualizando a contagem de usuários restantes após cada mês.

Visualização:

  • Curvas de retenção e sobrevivência são plotadas para cada coorte utilizando matplotlib;
  • Esses gráficos ajudam a comparar visualmente a velocidade com que os usuários deixam de usar (churn) ou permanecem engajados (retenção/sobrevivência) entre coortes e períodos, revelando tendências e padrões no engajamento dos usuários.

Interpretar as métricas de retenção e churn é fundamental para tomar decisões de negócios informadas. Altas taxas de retenção indicam que os usuários percebem valor contínuo em seu produto, sugerindo forte engajamento e aderência ao mercado. Por outro lado, altas taxas de churn podem sinalizar problemas como necessidades dos usuários não atendidas, onboarding inadequado ou pressão da concorrência. Curvas de sobrevivência ajudam a visualizar a velocidade com que os cohorts estão diminuindo – quedas acentuadas podem revelar quando os usuários normalmente perdem o interesse.

Ao acompanhar regularmente essas métricas, é possível identificar tendências ao longo do tempo e entre diferentes cohorts. Por exemplo, se o lançamento de uma nova funcionalidade coincidir com o aumento da retenção, pode valer a pena investir mais nessa direção. Por outro lado, se o churn aumentar após uma atualização específica, isso pode indicar a necessidade de melhorias no produto ou de suporte adicional ao usuário. Em última análise, essas métricas permitem testar hipóteses, otimizar jornadas dos usuários e alocar recursos de forma eficaz.

question mark

Qual das seguintes afirmações sobre métricas de retenção e churn em análise de cohort está correta?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 2
some-alt