Eine segmentierende A/B-Test-Funktion bauen
In der vorherigen Lektion hast du gesehen, dass dein Personalisierungs-Experiment statistisch hochsignifikant ist. Beim Durchführen von Experimenten ist es jedoch wichtig zu prüfen, wie neue Features bestimmte Zielgruppen beeinflussen. Manchmal sind Features, die eine Gruppe stark ansprechen, für andere weniger attraktiv.
Da du unsere Daten mehrfach segmentieren möchtest, wirst du eine Funktion ab_segmentation() bauen, die die Auswirkungen deiner A/B-Tests auf Datensegmente analysiert und die du jedes Mal wiederverwenden kannst, wenn du diese Art Analyse durchführen willst.
Deine Funktion nimmt einen Spaltennamen entgegen und iteriert durch jeden eindeutigen Wert in dieser Spalte, um Lift und statistische Signifikanz zu berechnen.
Diese Übung ist Teil des Kurses
Marketingkampagnen mit pandas analysieren
Anleitung zur Übung
- Baue eine for-Schleife in unsere Funktion
ab_segmentation()ein, die jeden eindeutigen Wert in der vom Nutzer eingegebenen Spaltesegmentdurchläuft. - Isoliere die Zeilen in marketing, in denen der Marketingkanal
'Email'ist und die vom Nutzer eingegebene Spaltesegmentgleichsubsegmentist. - Gib die Ergebnisse der Funktionen
lift()undstats.ttest_ind()aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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')