Bygg en segmenteringsfunktion för A/B-test
I föregående lektion såg du att ditt personaliseringsexperiment är mycket statistiskt signifikant. När man kör experiment är det dock viktigt att undersöka hur nya funktioner påverkar specifika demografiska grupper. Ibland är funktioner som tilltalar en grupp mindre attraktiva för andra.
Eftersom du vill segmentera data flera gånger kommer du att bygga en funktion, ab_segmentation(), som analyserar effekten av dina A/B-tester på datasegment. Funktionen kan återanvändas varje gång du vill genomföra den här typen av analys.
Funktionen tar emot ett kolumnnamn och går igenom varje unikt värde i den kolumnen för att beräkna lyft och statistisk signifikans.
Den här övningen är en del av kursen
Analysera marknadsföringskampanjer med pandas
Övningsinstruktioner
- Bygg en for-slinga inuti funktionen
ab_segmentation()som går igenom varje unikt värde i det kolumnnamn som användaren angett,segment. - Isolera de rader i
marketingdär marknadsföringskanalen är'Email'och den angivna kolumnensegmentär lika medsubsegment. - Skriv ut resultaten från funktionerna
lift()ochstats.ttest_ind().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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')