Cómo empezar tu primer A/B Test

Aprende a diseñar, ejecutar y analizar tu primer A/B test con una guía práctica orientada a perfiles técnicos que quieren aplicar growth.

¿Por qué deberías hacer A/B Testing?

A/B testing es una de las herramientas más poderosas para tomar decisiones con base en datos. Permite comparar dos versiones de algo (una landing, un botón, un canal) y entender cuál funciona mejor.

¿Qué necesitas para empezar?

  • Una hipótesis clara (ej: cambiar el CTA aumentará los registros)
  • Un único cambio entre A y B (para aislar el impacto)
  • Una métrica de éxito (conversiones, clics, tasa de rebote, compras)
  • Suficiente tráfico o usuarios para alcanzar significancia

Pasos para montar tu primer experimento

  1. Define tu hipótesis
    Ejemplo: ‘Si cambiamos el botón de registro de azul a verde, aumentarán los clics’.
  2. Diseña la variante
    No intentes cambiar muchas cosas a la vez. Solo un elemento. Ej: color, texto, orden, canal.
  3. Segmenta tu audiencia
    Puedes dividir el tráfico o los usuarios aleatoriamente: 50% ven versión A, 50% ven B.
  4. Corre el experimento y recolecta datos
    Asegúrate de guardar user_id, grupo (A o B), y resultado (click, compra, etc).
  5. Analiza resultados y toma una decisión basada en datos
    Puedes comparar tasas de conversión con una prueba estadística.
    – Si el cambio fue significativo y mejora la métrica → implementa.
    – Si no lo fue → vuelve a probar con otra hipótesis o cambia la variante.

¿Cómo validar la significancia estadística en un A/B Test?

Una vez que tienes las tasas de conversión de ambos grupos, necesitas saber si la diferencia observada es estadísticamente significativa o si pudo haber ocurrido por azar.

La forma más común de hacerlo es mediante una prueba Z de proporciones, especialmente si tienes suficientes observaciones.

Fórmula de la prueba Z para tasas de conversión

Z = (p₁ – p₂) ÷ √[p(1 – p)(1/n₁ + 1/n₂)]

Donde:

  • p1= tasa de conversión del grupo A
  • p2= tasa de conversión del grupo B
  • n1,n2= tamaño de muestra de cada grupo
  • p= tasa de conversión combinada:
p= (x₁ + x₂) ÷ (n₁ + n₂)

(x₁ y x₂ son los éxitos de cada grupo)

¿Qué representa este valor?
  • El resultado Z se compara contra una distribución normal estándar.
  • Si el valor absoluto de Z es mayor que 1.96 (para un nivel de confianza del 95%), la diferencia es significativa.
  • También puedes obtener el p-value y compararlo con 0.05:

Si p < 0.05: hay evidencia estadística para afirmar que hay diferencia entre las versiones.

from statsmodels.stats.proportion import proportions_ztest

# Suponiendo:
# A: 320 conversiones sobre 1600 usuarios
# B: 380 conversiones sobre 1600 usuarios

count = [320, 380]
nobs = [1600, 1600]

stat, pval = proportions_ztest(count, nobs)

print(f"Z-score: {stat:.2f}")
print(f"P-value: {pval:.4f}")

Errores comunes:

– Cambiar más de una cosa a la vez
– No definir hipótesis o métrica clara
– Terminar el test antes de tiempo
– Ignorar la significancia estadística