Estadística

Test A/B bayesiano: la guía completa (vs. frecuentista)

Test A/B bayesiano explicado: priors, posteriores, P(B le gana a A), pérdida esperada, un ejemplo resuelto y cuándo elegirlo frente al frecuentista.

Ilustración abstracta de curvas de distribución de probabilidad superpuestas en verde azulado oscuro y verde, que representa la estadística bayesiana

El test A/B bayesiano es un método para analizar experimentos que trata las tasas de conversión como distribuciones de probabilidad actualizadas por los datos, y produce resultados como “B tiene un 93% de probabilidad de superar a A” en lugar de un valor p frecuentista. Donde el enfoque clásico pregunta “¿qué tan sorprendentes serían estos datos si no hubiera una diferencia real?”, el enfoque bayesiano pregunta “dado lo que creía antes y lo que observé ahora, ¿qué tan probable es que B sea realmente mejor, y por cuánto?”

Esta guía es la compañera de nuestra guía completa de significancia estadística en tests A/B, que cubre en detalle el test z frecuentista y el valor p. Aquí cubrimos el lado bayesiano en sus propios términos: la mecánica del prior, la verosimilitud y el posterior; las métricas de decisión que realmente definen si publicas o no; un ejemplo numérico totalmente resuelto; y el mayor malentendido sobre el test bayesiano, que puedes espiar los resultados cuando quieras sin consecuencias. No puedes, no del todo, y fingir lo contrario es donde la mayoría de las explicaciones de proveedores se equivocan en silencio.

¿Qué es exactamente el test A/B bayesiano?

En un test A/B bayesiano, la tasa de conversión real de cada variación se trata como una cantidad desconocida descrita por una distribución de probabilidad, no como un número único fijo que intentas estimar con una conjetura puntual. Comienzas con una distribución prior, que representa lo que creías antes de ver cualquier dato de este test. Observas visitantes y conversiones. Combinas ambas cosas usando la regla de Bayes para obtener una distribución posterior, tu creencia actualizada sobre la tasa real de cada variación, dada la evidencia.

Una vez que tienes los posteriores de A y B, puedes responder directamente las preguntas que los marketers realmente hacen: ¿Cuál es la probabilidad de que B sea mejor que A? Si elijo B y me equivoco, ¿cuánto pierdo en promedio? ¿Cuál es un rango plausible para la mejora real? Ninguna de estas preguntas requiere traducir un valor p al lenguaje de negocio, porque el resultado ya es una afirmación de probabilidad sobre lo que realmente te importa.

Test A/B frecuentista vs. bayesiano: la diferencia central

Las dos escuelas difieren en lo que significa siquiera la palabra “probabilidad”. La estadística frecuentista trata la probabilidad como una frecuencia a largo plazo: un valor p describe con qué frecuencia verías datos tan extremos a lo largo de muchos experimentos repetidos si en verdad no hubiera efecto alguno. La estadística bayesiana trata la probabilidad como un grado de creencia: el posterior describe directamente qué tan seguro deberías estar de que B le gana a A, dado tu prior y este conjunto de datos específico.

Frecuentista Bayesiano
Interpretación de la probabilidad Frecuencia a largo plazo en experimentos repetidos Grado de creencia dado los datos observados
Resultado principal Valor p, significativo o no Distribución posterior, P(B le gana a A)
Se lee como “5% de probabilidad de que este patrón aparezca sin efecto real” “93% de probabilidad de que B sea genuinamente mejor que A”
Intervalo Intervalo de confianza (sobre el procedimiento) Intervalo creíble (sobre el parámetro mismo)
Peeking Requiere corrección de test secuencial para seguir siendo válido Más interpretable en cualquier N, pero no inmune al stopping opcional
Tamaño de muestra Fijado de antemano a partir de la base, el MDE, alfa y poder Sin mínimo estricto, pero el posterior necesita suficientes datos para ser preciso
Información previa No se usa Entrada explícita; puede ser no informativa o informativa
Estado en la industria Estándar académico y de la industria desde hace tiempo En crecimiento, especialmente en herramientas SaaS product-led

Ninguna columna es la “correcta”. Un test frecuentista bien ejecutado y un test bayesiano bien ejecutado sobre los mismos datos limpios normalmente apuntan a la misma conclusión práctica: son lentes distintos sobre la misma evidencia, no afirmaciones rivales sobre la realidad.

Prior, verosimilitud, posterior: el bucle que hace el trabajo

Todo cálculo bayesiano ejecuta el mismo bucle de tres partes: parte de una creencia prior, la actualiza con una verosimilitud (qué tan probables son los datos observados bajo distintas tasas reales posibles), y llega a una creencia posterior que combina ambas cosas.

El bucle de actualización de prior, verosimilitud y posteriorUna creencia prior sobre la tasa de conversión se combina con la verosimilitud de los datos observados para producir una creencia posterior, que se convierte en el nuevo prior la próxima vez que llegan más datos.Priorcreencia antes de estos datosej. Beta(1,1)Verosimilitudqué tan probables sonlos datos observadosPosteriorcreencia actualizadatras estos datosse convierte en el nuevo prior cuando llegan más datos
Cada nuevo lote de visitantes actualiza el posterior, y ese posterior se convierte en el prior de partida para la siguiente actualización, el mismo bucle repetido a medida que se acumulan los datos.

Por qué la distribución Beta modela la tasa de conversión

La conversión es un resultado binario por visitante, convierte o no convierte, lo que la convierte en un proceso Binomial. La distribución Beta es el prior matemáticamente conveniente para este caso porque es conjugada de la Binomial: combinar un prior Beta con datos Binomiales produce otra distribución Beta como posterior, sin necesidad de integración numérica. Una distribución Beta tiene dos parámetros, escrita Beta(alfa, beta), donde alfa registra aproximadamente los éxitos acumulados (conversiones) y beta registra los fracasos acumulados (no conversiones).

La regla de actualización es, en esencia, pura suma. Partiendo de un prior Beta(alfa_0, beta_0), después de observar “s” conversiones entre “n” visitantes, el posterior es:

Posterior = Beta(alpha_0 + s, beta_0 + (n − s))

Un prior Beta(1,1) es uniforme, dice “cualquier tasa de conversión entre 0% y 100% es igual de plausible antes de ver datos”, que es el punto de partida no informativo estándar. Un prior informativo como Beta(12,88), en cambio, codifica “ya creo que la tasa ronda 12 ÷ (12+88) = 12%, con cierto nivel de confianza”, lo cual es útil cuando tienes datos históricos sólidos para una página.

Cómo elegir un prior, brevemente

La mayoría de las herramientas de test A/B usan por defecto un prior no informativo como Beta(1,1), precisamente porque deja que los datos dominen la conclusión, lo que coincide con cómo los marketers esperan intuitivamente que se comporte un test nuevo. Un prior informativo construido a partir de la tasa de conversión histórica real de una página puede afinar los resultados tempranos, pero un prior demasiado confiado puede “ahogar” una cantidad modesta de datos nuevos: si tu prior está muy concentrado alrededor del 12% y tu nueva variación en realidad convierte al 18%, se necesitan más datos para superar ese prior fuerte de los que harían falta con uno plano. Ante la duda, empieza sin información y trata los priors informativos como una optimización para equipos experimentados que ya validaron que su línea base histórica es estable.

Las métricas de decisión que realmente definen si publicas

Una vez que tienes los posteriores de A y B, cuatro números hacen el trabajo práctico:

Una idea relacionada que vale la pena conocer es la región de equivalencia práctica (ROPE): en lugar de preguntar “¿existe alguna diferencia?”, defines una banda alrededor de cero que cuenta como “prácticamente igual” (digamos, más o menos 0.2 puntos porcentuales) y verificas cuánto de la mejora del posterior cae dentro o fuera de esa banda. Es una forma de codificar “estadísticamente diferente” frente a “diferente lo suficiente como para importar” directamente en la regla de decisión.

Un ejemplo totalmente resuelto, de principio a fin

El control (A) tuvo 200 conversiones de 2.000 visitantes. La variación (B) tuvo 230 conversiones de 2.000 visitantes. Recorramos la lectura bayesiana de estos números exactos, usando un prior no informativo Beta(1,1) para ambas.

Paso 1, tasas brutas. A convierte a 200 ÷ 2.000 = 10.0%. B convierte a 230 ÷ 2.000 = 11.5%. Mejora relativa sobre los números brutos: (11.5 − 10.0) ÷ 10.0 = +15%. Como siempre, la pregunta es si esa brecha es real o ruido.

Paso 2, construir los posteriores. Con un prior Beta(1,1), la regla de actualización de arriba da:

Posterior A = Beta(1 + 200, 1 + 1800) = Beta(201, 1801)
Posterior B = Beta(1 + 230, 1 + 1770) = Beta(231, 1771)

Cada posterior es una distribución completa sobre “cuál podría ser la tasa de conversión real”, no un número único. La media de una distribución Beta(alfa, beta) es alfa ÷ (alfa + beta), lo que da medias posteriores de 201 ÷ 2002 ≈ 10.04% para A y 231 ÷ 2002 ≈ 11.54% para B, ambas extremadamente cercanas a las tasas brutas porque 2.000 visitantes son suficientes datos para que la influencia del prior plano sea insignificante.

Distribuciones posteriores de A y BEl posterior de A se centra alrededor del 10% y el posterior de B se centra alrededor del 11.5%. Las dos curvas se superponen parcialmente, y el tamaño de esa superposición es lo que permite calcular la probabilidad de que B le gane a A.8%9%10.5%12%13.5%plausibilidad de cada tasa de conversión real, dados los datosA · centrada en ~10.0%B · centrada en ~11.5%
Boceto ilustrativo de las dos distribuciones Beta posteriores tras 2.000 visitantes cada una. La superposición en el medio es donde una simulación Monte Carlo muestrea pares de tasas y verifica con qué frecuencia el sorteo de B le gana al de A.

Paso 3, P(B le gana a A). En la práctica esto se calcula tomando, digamos, 100.000 muestras aleatorias de cada posterior y contando con qué frecuencia la muestra de B supera a la de A (el fragmento de Python de más abajo hace exactamente eso). Para este conjunto de datos, eso da aproximadamente P(B le gana a A) ≈ 94%, una señal sólida pero no arrolladora de que B es la variación mejor.

Paso 4, mejora esperada e intervalo creíble. Promediar la mejora relativa (muestra_B − muestra_A) ÷ muestra_A a lo largo de esos mismos pares simulados da una mejora relativa esperada de aproximadamente +15%, coincidiendo con la estimación de la tasa bruta, con un intervalo creíble del 95% sobre esa mejora de aproximadamente −4% a +38%. El intervalo incluye una franja negativa real, lo cual es consistente con un P(B le gana a A) en el rango bajo-medio de los 90 y no en el rango alto: todavía existe una probabilidad relevante de que B en realidad sea un poco peor.

Paso 5, pérdida esperada. La pérdida esperada por elegir B, promediada sobre todos los escenarios simulados en los que B rinde peor que A, resulta pequeña en términos absolutos de tasa de conversión, bastante por debajo de medio punto porcentual, porque los escenarios en los que B pierde tienden a ser escenarios en los que pierde por poco, no por mucho. Este es el número que un equipo averso al riesgo debería revisar antes de publicar: un P(B le gana a A) alto con una pérdida esperada baja es una decisión cómoda; un P(B le gana a A) alto con una pérdida esperada grande (lo que ocurre cuando el escenario adverso es severo aunque poco probable) merece más cautela.

La decisión. Con un P(B le gana a A) alrededor del 94% y una pérdida esperada pequeña, muchos equipos se inclinarían a publicar B, señalando explícitamente que la barra de “confianza” no se ha superado del todo, y un equipo con una tolerancia al riesgo más estricta podría razonablemente optar por seguir recolectando datos. El intervalo creíble todavía deja espacio real para un resultado marginal o incluso plano. Ese matiz, “probablemente una victoria real, con una porción de duda cuantificada y no trivial”, es exactamente lo que un solo valor p o una etiqueta tajante de “significativo / no significativo” no comunican.

Para comparar: la lectura frecuentista sobre los mismos números

El mismo conjunto de datos, 200/2.000 frente a 230/2.000, procesado con un test z estándar de dos proporciones, da una referencia útil para comparar lado a lado. Pega los números en la calculadora de abajo para ver el valor p, el intervalo de confianza y el veredicto que nuestra guía de significancia estadística explica en detalle:

Calculadora de significancia estadística
Control (A)
Variación (B)
Control (A) · Tasa-
Variación (B) · Tasa-
Mejora relativa-
valor-p-
IC 95% de la diferencia-

Test z bilateral de dos proporciones. "Sin significancia" casi siempre significa que falta muestra, no que las versiones sean iguales.

Normalmente vas a encontrar que el test z queda bien por encima del umbral convencional de 0.05 en este conjunto de datos, técnicamente “no significativo” bajo una lectura frecuentista estricta, aun cuando el posterior bayesiano de arriba ya se inclina con bastante confianza hacia B. Esa brecha entre los dos veredictos sobre los mismos datos ilustra bien por qué “probablemente verdadero, con confianza moderada” suele ser un resumen más honesto que una línea tajante de aprobado/reprobado en cualquiera de los dos marcos.

¿Cuándo puedes detenerte? El peeking y la verdad honesta

Esta es la parte que las páginas de marketing de los proveedores suelen simplificar de más en una dirección u otra, así que vale la pena explicarla con cuidado.

El mito: “El test bayesiano te deja espiar los resultados en cualquier momento sin ninguna consecuencia, a diferencia del frecuentista.” Esto se repite porque capta algo real, y luego lo exagera.

Lo que realmente es cierto: un posterior bayesiano es un resumen válido y correctamente calibrado de la evidencia en cualquier tamaño de muestra, nunca estás “haciendo trampa con las matemáticas” al mirarlo. Esa es una propiedad genuina y útil que los tests frecuentistas de horizonte fijo no comparten sin maquinaria adicional. Pero si tu regla de decisión es “seguir revisando P(B le gana a A) y detenerte apenas cruce el 95%”, estás ejecutando un procedimiento de stopping opcional, y el stopping opcional infla tu tasa de error práctica sin importar qué marco estadístico calcule el número en el que te basas para detenerte. El posterior en sí no se sesga por mirarlo; lo que introduce el sesgo es tu procedimiento de decisión de mirar repetidamente y detenerte en el primer momento favorable, y esa es una propiedad de la regla de detención, no de las matemáticas bayesianas en particular.

La versión matizada: el test bayesiano es más interpretable en cualquier N, el posterior siempre significa lo que dice. No es automáticamente inmune a los efectos prácticos del stopping opcional, a menos que tu regla de detención haya sido diseñada específicamente para tenerlo en cuenta (métodos bayesianos secuenciales, umbrales de pérdida esperada preregistrados, o construcciones similares siempre válidas). Un equipo que espía constantemente y se detiene en cuanto P(B le gana a A) se ve bien sigue teniendo más probabilidad de declarar victorias falsas que un equipo que se compromete de antemano con una regla de detención, exactamente en el mismo espíritu en que el peeking frecuentista infla los falsos positivos.

Reglas de detención prácticas que sí funcionan:

¿Necesitas un tamaño de muestra en el mundo bayesiano?

La afirmación de que “los tests bayesianos no necesitan tamaño de muestra” es un mito que ya debería jubilarse. Es cierto que no hay una N rígida preregistrada como la que un test frecuentista de horizonte fijo exige para considerarse válido, puedes calcular un posterior después de tu primer visitante. Pero un posterior con 20 visitantes por variación es enormemente amplio e inestable, P(B le gana a A) puede oscilar entre 60% y 90% con el siguiente puñado de conversiones. Lo que en realidad necesitas es suficientes datos para que el posterior se estreche hasta un rango lo bastante preciso para actuar, lo cual en la práctica sigue los mismos factores subyacentes que el tamaño de muestra frecuentista: tu tasa base, el tamaño del efecto que te interesa detectar y cuánta incertidumbre estás dispuesto a tolerar antes de decidir. Correr un cálculo de tamaño de muestra tanto bayesiano como frecuentista sobre los mismos supuestos suele desembocar en un rango de tráfico similar, porque ambos están, en última instancia, limitados por la misma cantidad de evidencia del mundo real.

Igual que con el test frecuentista, planifica también correr el test a lo largo de ciclos completos de negocio, al menos de una a dos semanas, para que los efectos de días laborables/fin de semana y de fecha de pago no distorsionen el posterior. Un intervalo creíble amplio que se va estrechando activamente a medida que llegan datos es una señal de que vas por buen camino; uno que se mantiene amplio durante semanas es una señal de que tu tráfico no puede sostener el tamaño de efecto que persigues sin un cambio más grande y audaz.

Corre los números tú mismo: un fragmento de Python beta-binomial

La actualización Beta-Binomial y la estimación Monte Carlo de P(B le gana a A), la mejora esperada y la pérdida esperada son lo bastante simples como para ejecutarlas tú mismo usando nada más que la biblioteca estándar de Python. Este es un fragmento de referencia para correr localmente, no es una herramienta en vivo incrustada en esta página.

import random

def simulate_beta(alpha, beta_param, n_samples, rng):
    # Usa random.betavariate, parte de la biblioteca estándar de Python.
    return [rng.betavariate(alpha, beta_param) for _ in range(n_samples)]

def bayesian_ab_test(conv_a, n_a, conv_b, n_b, prior_alpha=1, prior_beta=1, n_samples=100_000, seed=42):
    rng = random.Random(seed)

    # Posterior = Beta(prior_alpha + conversiones, prior_beta + no_conversiones)
    post_a = (prior_alpha + conv_a, prior_beta + (n_a - conv_a))
    post_b = (prior_alpha + conv_b, prior_beta + (n_b - conv_b))

    samples_a = simulate_beta(*post_a, n_samples, rng)
    samples_b = simulate_beta(*post_b, n_samples, rng)

    b_wins = sum(1 for a, b in zip(samples_a, samples_b) if b > a)
    prob_b_beats_a = b_wins / n_samples

    lifts = [(b - a) / a for a, b in zip(samples_a, samples_b)]
    expected_lift = sum(lifts) / n_samples

    # Pérdida esperada al elegir B: déficit promedio en los escenarios donde A resultó mejor en realidad.
    loss_if_b = [max(a - b, 0) for a, b in zip(samples_a, samples_b)]
    expected_loss_b = sum(loss_if_b) / n_samples

    return {
        "prob_b_beats_a": prob_b_beats_a,
        "expected_relative_lift": expected_lift,
        "expected_loss_b": expected_loss_b,
    }

result = bayesian_ab_test(conv_a=200, n_a=2000, conv_b=230, n_b=2000)
print(result)

Correr esto con los números del ejemplo resuelto reproduce el mismo rango aproximado que el Paso 3 de arriba: un P(B le gana a A) en el rango bajo-medio del 90%, una mejora relativa esperada cercana a +15%, y una pérdida esperada pequeña al elegir B. Si tienes scipy disponible, scipy.stats.beta ofrece la misma distribución con métodos de forma cerrada para media, varianza e intervalos, útil si prefieres calcular cuantiles exactos en vez de simularlos.

Más allá de dos variaciones, y más allá de la tasa de conversión

Todo lo anterior asume un control, una variación y un resultado binario de conversión, pero dos extensiones aparecen constantemente en la práctica. Con los tests A/B/n (un control más varias variaciones), puedes calcular la “probabilidad de superar al control” para cada variación por separado, o la “probabilidad de ser la mejor de todas las variaciones”, y las dos preguntas pueden tener respuestas distintas, más variaciones en juego significa más oportunidades de que una se vea bien por azar, así que trata los resultados multivariación con la misma cautela que implica una corrección frecuentista por comparaciones múltiples. Para resultados continuos como ingreso por visitante en lugar de un binario convierte/no convierte, el emparejamiento Beta-Binomial de arriba no aplica directamente, eso normalmente exige un modelo conjugado distinto (comúnmente enfoques al estilo Gamma-Exponencial) o métodos basados en simulación en lugar de la actualización simple mostrada aquí.

El test A/B bayesiano y los bandidos multibrazo

El test A/B bayesiano y los bandidos multibrazo (comúnmente implementados vía muestreo de Thompson) se apoyan en la misma maquinaria de posteriores, pero responden preguntas distintas. El test A/B es “testear y publicar”: corres un experimento fijo, llegas a una conclusión con confianza, y luego envías todo el tráfico al ganador. Un bandido es “explorar y explotar”: desplaza continuamente más tráfico hacia la variación que se ve mejor en cada momento, usando la misma idea de muestreo posterior, sin nunca “concluir” formalmente el test. Los bandidos tienden a minimizar el arrepentimiento (tráfico desperdiciado en una variación perdedora) durante el propio test, lo cual conviene para campañas de corta duración o muchas variaciones simultáneas, mientras que un test A/B fijo generalmente se prefiere cuando quieres una respuesta limpia, bien documentada y defendible estadísticamente para reportar a un equipo o interesado antes de implementar un cambio permanente.

Cuándo elegir bayesiano vs. frecuentista

Ningún enfoque es una mejora universal sobre el otro, la elección suele depender de quién lee el resultado y qué está en juego:

Errores comunes y malentendidos

Hazlo automáticamente en Donnu

Acabas de recorrer lo que realmente hace falta para correr un test A/B bayesiano con honestidad: construir bien los posteriores, leer P(B le gana a A) junto con la pérdida esperada en vez de aisladamente, y tratar “puedes espiar en cualquier momento” como una verdad matizada y no como un pase libre. Donnu incorpora la estadística bayesiana en sus reportes por defecto, con un snippet liviano que nunca bloquea tu página y aislamiento de datos a nivel de cuenta, para que tengas una lectura honesta sin tener que programar tú mismo las matemáticas Beta-Binomial.

Empieza una prueba gratuita de 14 días y corre tu próximo experimento con una estadística que resiste el escrutinio. Para el lado frecuentista de esta misma moneda, mira nuestra guía completa de significancia estadística en tests A/B, y para el flujo completo de un experimento, mira cómo hacer un test A/B paso a paso.

¿Prefieres leer en inglés? Mira la versión en inglés de esta guía.

Referencias

Preguntas frecuentes

¿Qué es el test A/B bayesiano en términos simples?
Es una forma de leer un test A/B que parte de una creencia prior sobre las tasas de conversión, actualiza esa creencia con los datos que recolectas, y reporta el resultado como una probabilidad, como "B tiene un 93% de probabilidad de ganarle a A", en lugar de un valor p. Responde directamente la pregunta de negocio: ¿qué tan probable es que B sea realmente mejor?
¿De verdad puedo espiar un test A/B bayesiano en cualquier momento?
Puedes mirar el posterior en cualquier punto y siempre es un resumen matemáticamente válido de la evidencia acumulada hasta ese momento, lo cual es una ventaja real frente a una lectura frecuentista ingenua. Pero detenerte en el instante en que una métrica se ve favorable, una estrategia de stopping opcional, sigue inflando tu tasa de error bajo pruebas repetidas, en cualquiera de los dos marcos. El bayesiano es más tolerante para mirarlo, no inmune a que se le haga trampa.
¿Es el test A/B bayesiano más preciso que el frecuentista?
Ninguno es más "preciso": responden preguntas distintas usando los mismos datos subyacentes. El frecuentista te da un valor p contra una hipótesis nula; el bayesiano te da una distribución de probabilidad sobre el efecto mismo. Ambos necesitan suficiente tamaño de muestra y una recolección de datos limpia para ser confiables, y un test mal diseñado falla en cualquiera de las dos escuelas.
¿Aún necesito un tamaño de muestra mínimo para un test bayesiano?
Sí. La afirmación de que "el bayesiano no necesita tamaño de muestra" es un mito. Con muy pocos datos, tu posterior es amplio e incierto, así que una métrica como P(B le gana a A) puede oscilar bruscamente con cada nuevo visitante. Igual necesitas suficiente tráfico para que el posterior se estreche hasta un rango útil y estable antes de tomar una decisión de publicación.
¿Qué es la pérdida esperada en el test A/B bayesiano?
La pérdida esperada es la tasa de conversión promedio que sacrificarías, a lo largo de todos los resultados plausibles del posterior, si eligieras una variación y resultaras equivocado. Responde "cuánto me cuesta un error" en lugar de solo "quién probablemente está ganando", lo que la convierte en una regla de detención más sensible al riesgo que P(B le gana a A) por sí sola.
¿Qué es un intervalo creíble y en qué se diferencia de un intervalo de confianza?
Un intervalo creíble del 95% es el rango que tiene un 95% de probabilidad de contener el efecto real, dado tu prior y los datos observados, que es la interpretación directa que la mayoría de las personas le asigna equivocadamente a un intervalo de confianza frecuentista. Un intervalo de confianza, en cambio, describe con qué frecuencia el procedimiento de construcción del intervalo capturaría el valor real a lo largo de muchos experimentos repetidos.