Budowanie funkcji segmentacji testu A/B
W poprzedniej lekcji zaobserwowałeś, że twój eksperyment personalizacyjny jest wysoce istotny statystycznie. Jednak podczas przeprowadzania eksperymentów ważne jest sprawdzenie, jak nowe funkcje wpływają na konkretne grupy demograficzne. Zdarza się, że funkcje bardzo atrakcyjne dla jednej grupy są mniej atrakcyjne dla innych.
Ponieważ chcesz segmentować dane wielokrotnie, zbudujesz funkcję ab_segmentation(), która analizuje wpływ testów A/B na segmenty danych – tak, by móc jej używać za każdym razem, gdy chcesz przeprowadzić tego rodzaju analizę.
Twoja funkcja przyjmie nazwę kolumny i przejdzie przez każdą unikalną wartość w tej kolumnie, obliczając lift oraz istotność statystyczną.
To ćwiczenie jest częścią kursu
Analiza kampanii marketingowych z pandas
Instrukcje do ćwiczenia
- Zbuduj pętlę
forwewnątrz funkcjiab_segmentation(), która przejdzie przez każdą unikalną wartość w podanej przez użytkownika kolumniesegment. - Wyodrębnij wiersze z ramki
marketing, w których kanał marketingowy to'Email', a wartość w kolumniesegmentjest równasubsegment. - Wyświetl wyniki funkcji
lift()istats.ttest_ind().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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')