Créer une fonction d’A/B test avec segmentation
Dans la leçon précédente, vous avez observé que votre expérimentation de personnalisation est hautement significative sur le plan statistique. Cependant, lorsque vous menez des expériences, il est important de vérifier comment les nouvelles fonctionnalités affectent des segments démographiques spécifiques. Parfois, des fonctionnalités très attrayantes pour un groupe le sont moins pour d’autres.
Comme vous souhaitez segmenter les données à plusieurs reprises, vous allez créer une fonction ab_segmentation() qui analyse l’impact de vos A/B tests sur des segments de données et que vous pourrez réutiliser chaque fois que vous souhaitez effectuer ce type d’analyse.
Votre fonction prendra en entrée un nom de colonne et parcourra chaque valeur unique de cette colonne pour calculer le lift et la significativité statistique.
Cet exercice fait partie du cours
Analyzing Marketing Campaigns with pandas
Instructions
- Créez une boucle for dans la fonction
ab_segmentation()qui parcourt chaque valeur unique de la colonne fournie par l’utilisateur,segment. - Isolez les lignes de marketing où le canal marketing est
'Email'et où la colonne saisie par l’utilisateursegmentest égale àsubsegment. - Affichez les résultats des fonctions
lift()etstats.ttest_ind().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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')