CommencezCommencez gratuitement

Créer une fonction de segmentation pour un test A/B

Dans la leçon précédente, vous avez constaté que votre expérience de personnalisation est fortement significative sur le plan statistique. Toutefois, lorsqu'on exécute des expériences, il est important de vérifier comment les nouvelles fonctionnalités influencent des segments démographiques précis. Parfois, des fonctionnalités très attrayantes pour un groupe le sont moins pour d'autres.

Comme vous souhaitez segmenter vos données à plusieurs reprises, vous allez créer une fonction ab_segmentation() qui analyse l'impact de vos tests A/B sur des segments de données et que vous pourrez réutiliser chaque fois que vous effectuerez ce type d'analyse.

Votre fonction recevra un nom de colonne et parcourra chaque valeur unique de cette colonne pour calculer le lift et la signification statistique.

Cette activité fait partie du cours

Analyser des campagnes marketing avec pandas

Voir le cours

Instructions de l’exercice

  • Construisez une boucle for dans la fonction ab_segmentation() qui parcourt chaque valeur unique de la colonne saisie par l'utilisateur, segment.
  • Isolez les lignes de marketing où le canal marketing est 'Email' et où la colonne segment fournie par l'utilisateur est égale à subsegment.
  • Affichez les résultats des fonctions lift() et stats.ttest_ind().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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().astype(float)
      personalization = subscribers['personalization'].dropna().astype(float)

      print('lift:', ____) 
      print('t-statistic:', ____, '\n\n')
Modifier et exécuter le code