Cuped

Reducción del error en tests A/B (y similares)

Hoy, cuatro maneras distintas de realizar un test A/B. Comienzo con unos datos simulados que tienen este aspecto:

set.seed(1)
n <- 1000
test <- c(rep(0, n/2), rep(1, n/2))
y0 <- rnorm(n)
y1 <- y0 + test + rnorm(n)

Ahí:

  • n es el número de sujetos, 1000.
  • test es un vector que indica el tratamiento: 500 en un grupo, 500 en otro.
  • y0 es el valor de/asociado a los sujetos en un periodo anterior al tratamiento.
  • y1 es el valor de los sujetos después del tratamiento. Como se puede ver, está relacionado con el tratamiento en sí y con el valor anterior. Se le ha añadido, además, cierta cantidad de ruido estadístico.

Hay varias maneras de estimar el efecto del tratamiento (o de, como dicen algunos, realizar un test A/B). Voy a mencionar cuatro.