ComeçarComece de graça

Criando uma função de segmentação para A/B test

Na lição anterior, você observou que seu experimento de personalização é altamente estatisticamente significativo. No entanto, ao executar experimentos, é importante verificar como novos recursos afetam públicos específicos. Às vezes, recursos que são muito atrativos para um grupo são menos atrativos para outros.

Como você quer segmentar os dados várias vezes, você vai criar uma função ab_segmentation() que analisa o impacto dos seus testes A/B em segmentos de dados e que pode ser reutilizada sempre que quiser conduzir esse tipo de análise.

Sua função receberá o nome de uma coluna e percorrerá cada valor único nessa coluna, calculando o lift e a significância estatística.

Este exercício faz parte do curso

Análise de campanhas de marketing com pandas

Ver curso

Instruções do exercício

  • Construa um loop for dentro da nossa função ab_segmentation() que percorra cada valor único no nome da coluna fornecido pelo usuário, segment.
  • Isole as linhas em marketing em que o canal de marketing é 'Email' e a coluna informada pelo usuário, segment, é igual a subsegment.
  • Imprima os resultados das funções lift() e stats.ttest_ind().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

def ab_segmentation(segment):
  # Build a for loop for each subsegment in marketing
  for subsegment in ____:
      print(subsegment)
      
      # Limit marketing to email and subsegment
      email = marketing[(marketing['marketing_channel'] == ____) & (marketing[segment] == ____)]

      subscribers = email.groupby(['user_id', 'variant'])['converted'].max()
      subscribers = pd.DataFrame(subscribers.unstack(level=1)) 
      control = subscribers['control'].dropna()
      personalization = subscribers['personalization'].dropna()

      print('lift:', ____) 
      print('t-statistic:', ____, '\n\n')
Editar e executar o código