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
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 asubsegment. - Imprima os resultados das funções
lift()estats.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')