Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Mapeando o Ciclo de Vida de um Explorador do SpaceStream | Segmentação Avançada de Coortes e Métricas de Retenção
Análise de Coorte com Python
Seção 2. Capítulo 3
single

single

Desafio: Mapeando o Ciclo de Vida de um Explorador do SpaceStream

Deslize para mostrar o menu

Agora, sua tarefa é calcular métricas avançadas de retenção para a SpaceStream, um serviço intergaláctico de holovisão. Como Analista de Dados Líder, você irá analisar uma coorte de 5 usuários ao longo de três meses, acompanhando quem permanece fiel e quem se afasta. Seu objetivo é calcular três métricas essenciais para cada mês: Taxa de Retenção, Taxa de Churn e Taxa de Sobrevivência.

Comece examinando o conjunto de dados fornecido, onde cada usuário está marcado como ativo (1) ou inativo (0) para cada mês. As colunas month_0, month_1 e month_2 representam a atividade ao longo de três meses consecutivos. Sua solução exigirá o uso do pandas para processar esse conjunto de dados e extrair as métricas necessárias para cada mês.

1234567891011121314151617181920212223242526
import pandas as pd data = { "user_id": [1, 2, 3, 4, 5], "month_0": [1, 1, 1, 1, 1], # Everyone starts active "month_1": [1, 0, 1, 0, 1], # 3 users active "month_2": [1, 0, 0, 0, 0], # 1 user active } df = pd.DataFrame(data) # Calculating retention rate: fraction of original cohort active in each month cohort_size = len(df) retention_rate = [df[f"month_{i}"].sum() / cohort_size for i in range(3)] # Calculating churn rate: 1 - retention rate churn_rate = [1 - r for r in retention_rate] # Calculating survival rate: fraction of users still active in ALL months up to i survival_rate = [] for i in range(3): still_active = df[[f"month_{j}" for j in range(i + 1)]].all(axis=1).sum() survival_rate.append(still_active / cohort_size) print("retention_rate:", retention_rate) print("churn_rate:", churn_rate) print("survival_rate:", survival_rate)

Este código calcula as métricas exigidas para cada mês. A taxa de retenção mede qual fração da coorte original está ativa em determinado mês. A taxa de churn é simplesmente um menos a taxa de retenção, indicando a proporção que não está mais ativa. A taxa de sobrevivência verifica os usuários que permaneceram continuamente ativos desde o início até o mês atual – exigindo que o usuário tenha um 1 em todos os meses até então.

Tarefa

Deslize para começar a programar

Escreva uma função Python chamada calculate_cohort_metrics(df) que recebe um DataFrame com a mesma estrutura apresentada acima e retorna três listas: retention_rate, churn_rate e survival_rate para cada mês. Sua função deve:

  • Aceitar um DataFrame onde cada linha representa um usuário e cada coluna após user_id representa um mês (por exemplo, month_0, month_1, ...).
  • Calcular a taxa de retenção para cada mês como a fração de usuários do cohort ativos naquele mês.
  • Calcular a taxa de churn para cada mês como um menos a taxa de retenção.
  • Calcular a taxa de sobrevivência para cada mês como a fração de usuários que estiveram ativos em todos os meses até e incluindo aquele mês.
  • Retornar as três listas na ordem: retention_rate, churn_rate, survival_rate.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

some-alt