НачатьНачать бесплатно

Создание функции сегментации для A/B-теста

На предыдущем уроке вы убедились, что ваш эксперимент с персонализацией обладает высокой статистической значимостью. Однако при проведении экспериментов важно проверять, как новые функции влияют на отдельные демографические группы. Иногда то, что привлекательно для одной группы, оказывается менее интересным для другой.

Поскольку вам потребуется сегментировать данные несколько раз, вы создадите функцию ab_segmentation(), которая анализирует влияние A/B-тестов на сегменты данных. Её можно будет использовать повторно всякий раз, когда понадобится провести подобный анализ.

Функция будет принимать название столбца и перебирать каждое уникальное значение в этом столбце, вычисляя прирост (lift) и статистическую значимость.

Это упражнение является частью курса

Анализ маркетинговых кампаний с помощью pandas

Посмотреть курс

Инструкции к упражнению

  • Добавьте цикл for внутрь функции ab_segmentation(), который перебирает каждое уникальное значение в столбце segment, указанном пользователем.
  • Выделите строки из marketing, где маркетинговый канал равен 'Email', а значение столбца segment, указанного пользователем, совпадает с subsegment.
  • Выведите на экран результаты функций lift() и stats.ttest_ind().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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')
Редактировать и запускать код