EmpezarEmpieza gratis

Creación de una función de segmentación para un test A/B

En la lección anterior, observaste que tu experimento de personalización es altamente significativo desde el punto de vista estadístico. Sin embargo, al ejecutar experimentos, es importante comprobar cómo las nuevas funcionalidades afectan a demografías específicas. A veces, lo que resulta muy atractivo para un grupo lo es menos para otros.

Como quieres segmentar los datos varias veces, vas a crear una función ab_segmentation() que analice el impacto de tus tests A/B en segmentos de datos y que puedas reutilizar cada vez que realices este tipo de análisis.

Tu función recibirá el nombre de una columna y recorrerá cada valor único de esa columna calculando el lift y la significación estadística.

Este ejercicio forma parte del curso

Análisis de campañas de marketing con pandas

Ver curso

Instrucciones del ejercicio

  • Crea un bucle for dentro de nuestra función ab_segmentation() que recorra cada valor único del nombre de columna introducido por el usuario segment.
  • Aísla las filas de marketing donde el canal de marketing sea 'Email' y la columna introducida por el usuario segment sea igual a subsegment.
  • Imprime los resultados de las funciones lift() y stats.ttest_ind().

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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')
Editar y ejecutar código