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
Oefeninstructies
- Bouw een for-lus in onze functie
ab_segmentation()die elke unieke waarde in de door de gebruiker opgegeven kolomnaamsegmentdoorloopt. - Isoleer de rijen in marketing waar het marketingkanaal
'Email'is en de door de gebruiker opgegeven kolomsegmentgelijk is aansubsegment. - Print de resultaten van de functies
lift()enstats.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')