Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zbuduj pętlę for wewnątrz funkcji ab_segmentation(), która przejdzie przez każdą unikalną wartość w podanej przez użytkownika kolumnie segment.
  • Wyodrębnij wiersze z ramki marketing, w których kanał marketingowy to 'Email', a wartość w kolumnie segment jest równa subsegment.
  • Wyświetl wyniki funkcji lift() i stats.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')
Edytuj i uruchom kod