Ejercicio 55: Diseño y Evaluación de un A/B Testing en Python
Introducción: En este ejercicio, se explorará el diseño, análisis y validación de un experimento A/B. El objetivo es evaluar si un nuevo diseño de página de pago en una empresa de e-commerce mejora la tasa de conversión de los usuarios. Se abordarán la formulación de hipótesis, la simulación de datos, la aplicación de pruebas estadísticas y la interpretación de resultados.
Objetivos
- Simular datos de conversión para un experimento A/B.
- Realizar un análisis exploratorio y visualización de datos.
- Aplicar una prueba estadística para evaluar la significancia de los resultados.
- Interpretar los resultados y tomar decisiones basadas en datos.
Entrada de Datos
- Simulación de 10,000 usuarios con conversiones siguiendo una distribución binomial.
- Grupo A (Control): Conversión con tasa
p_A = 0.10
. - Grupo B (Tratamiento): Conversión con tasa
p_B = 0.12
.
Código Base
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import norm
# Simulación de datos
np.random.seed(42)
# TODO: Implementar
# Simular conversiones para el Grupo A
conversiones_a = np.random.binomial(1, 0.10, 5000)
# Simular conversiones para el Grupo B
conversiones_b = np.random.binomial(1, 0.12, 5000)
# Crear DataFrame
datos = pd.DataFrame({
'usuario_id': np.arange(1, 10001),
'grupo': ['A']*5000 + ['B']*5000,
'conversion': np.concatenate([conversiones_a, conversiones_b])
})
# Visualización de datos
# TODO: Implementar
Pruebas
# Cálculo de tasas de conversión
tasa_conversion_a = datos[datos['grupo'] == 'A']['conversion'].mean()
tasa_conversion_b = datos[datos['grupo'] == 'B']['conversion'].mean()
print(f"Tasa de conversión Grupo A: {tasa_conversion_a:.2%}")
print(f"Tasa de conversión Grupo B: {tasa_conversion_b:.2%}")
# Visualización
plt.figure(figsize=(10, 5))
sns.histplot(data=datos, x='conversion', hue='grupo', multiple='dodge', shrink=0.8)
plt.title('Histograma de Conversiones por Grupo')
plt.show()
# Prueba estadística
# TODO: Implementar
Desafío Final
El desafío consiste en completar el análisis estadístico aplicando una prueba Z para proporciones, interpretando los resultados y tomando una decisión informada sobre si implementar el nuevo diseño de la página de pago. Se espera un reporte bien estructurado que incluya visualizaciones y una discusión sobre la importancia de las pruebas A/B en la toma de decisiones basada en datos.