Aan de slagGa gratis aan de slag

Een functie bouwen voor A/B-testsegmentatie

In de vorige les zag je dat je personalisatie-experiment sterk statistisch significant is. Bij experimenten is het echter belangrijk om te controleren hoe nieuwe features specifieke doelgroepen beïnvloeden. Soms spreekt een feature één groep sterk aan, maar een andere minder.

Omdat je de gegevens meerdere keren wilt segmenteren, bouw je een functie ab_segmentation() die de impact van je A/B-tests analyseert op segmenten van de data en die je telkens kunt hergebruiken als je dit soort analyse wilt doen.

Je functie neemt een kolomnaam aan en doorloopt elke unieke waarde in die kolom om de lift en de statistische significantie te berekenen.

Deze oefening maakt deel uit van de cursus

Marketingcampagnes analyseren met pandas

Cursus bekijken

Oefeninstructies

  • Bouw een for-lus in onze functie ab_segmentation() die elke unieke waarde in de door de gebruiker opgegeven kolomnaam segment doorloopt.
  • Isoleer de rijen in marketing waar het marketingkanaal 'Email' is en de door de gebruiker opgegeven kolom segment gelijk is aan subsegment.
  • Print de resultaten van de functies lift() en stats.ttest_ind().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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')
Code bewerken en uitvoeren