Estadística

Muestreo de Thompson: Algoritmo de Bandits

Muestreo de Thompson explicado: cómo el algoritmo sortea de la posterior Beta de cada brazo y por qué converge más rápido que epsilon-greedy.

Ilustración de tres distribuciones de probabilidad en forma de campana, representando la creencia sobre la tasa de conversión de tres brazos de un bandit, en verde oscuro y turquesa

El muestreo de Thompson es el algoritmo bayesiano que la mayoría de los multi-armed bandits de producción usa para decidir, visitante a visitante, a qué variación mandar el próximo clic. En vez de fijar la división de tráfico al inicio y analizar solo al final, como un test A/B clásico, sortea un valor de la creencia actual sobre cada brazo y manda al visitante hacia el que sorteó el valor más alto, actualizando esa creencia con cada resultado observado. Esta guía explica la mecánica detrás del sorteo (la distribución Beta y la actualización conjugada), muestra la matemática paso a paso con un ejemplo de tres variaciones y números reales, calculados por el mismo motor bayesiano que ya corre en este blog, y dice con claridad cuándo esta técnica vale más que un test A/B con significancia formal, y cuándo no vale.

El problema que el muestreo de Thompson resuelve: exploración vs. explotación

Todo bandit multi-brazo necesita equilibrar dos fuerzas opuestas. Explorar es gastar tráfico en brazos sobre los que todavía hay poca certeza, para aprender más sobre ellos. Explotar es concentrar tráfico en el brazo que, con la información disponible hasta ahora, parece el mejor. Un algoritmo que solo explora nunca converge y desperdicia conversión indefinidamente; un algoritmo que solo explota corre el riesgo de atascarse demasiado pronto en una elección equivocada, porque los primeros datos de cualquier brazo son ruidosos.

Existen tres familias clásicas de respuesta a este problema, cada una con una filosofía diferente:

La diferencia central entre los tres aparece en la forma en que la exploración disminuye a lo largo del test. En epsilon-greedy se mantiene constante (a menos que alguien decida reducir ε manualmente); en UCB y en el muestreo de Thompson disminuye sola, como consecuencia directa de que más datos reducen la incertidumbre de cada brazo:

La distribución de un brazo se vuelve más estrecha a medida que los datos se acumulanPara un brazo con tasa real de 5%, la distribución de creencia Beta empieza ancha con 100 visitantes (desviación estándar de 2,32%), se vuelve más estrecha con 400 visitantes (1,11%), y mucho más estrecha con 1.600 visitantes (0,55%), reduciendo la exploración automáticamente.tasa de conversión posible para este brazo100 visitantesdesviación estándar 2,32%400 visitantesdesviación estándar 1,11%1.600 visitantesmisma tasa real (5%), más datos= curva más estrecha = menos sorteos“por error” por encima del promedio
Números reales del modelo Beta-Binomial: con un prior uniforme Beta(1,1) y tasa real de 5%, la posterior después de 100, 400 y 1.600 visitantes es Beta(6,96), Beta(21,381) y Beta(81,1521), con la desviación estándar cayendo de 2,32% a 1,11% y después a 0,55%. Nadie necesita programar esta reducción manualmente, es consecuencia directa de la matemática de la actualización.

Cómo decide el muestreo de Thompson, paso a paso

El mecanismo es más simple de lo que parece a primera vista, y no exige ningún parámetro manual como el ε del epsilon-greedy. Para cada brazo del test, el algoritmo mantiene una distribución de probabilidad que representa la creencia actual sobre la tasa de conversión real de ese brazo, dado todo lo que ya se observó. Cuando la métrica es una conversión binaria (convirtió o no convirtió), esa distribución de creencia es una Beta(α, β), el par conjugado natural de la distribución binomial.

El ciclo se repite con cada nuevo visitante:

El ciclo de decisión del muestreo de ThompsonCon cada visitante, el algoritmo sortea un valor aleatorio de la distribución Beta de cada brazo, elige el brazo con el mayor valor sorteado, observa si ese visitante convirtió o no, y usa ese resultado para actualizar la distribución de ese brazo antes del próximo visitante.Sorteaun valor de cadaBeta(α, β)Eligeel brazo conel mayor sorteoObservaconvirtió ono convirtióActualizala Beta de ese brazovuelve al inicio, en el próximo visitante
Ningún parámetro manual entra en este ciclo: la proporción de exploración y explotación sale enteramente del ancho de la distribución de cada brazo, que solo se reduce cuando llega un dato real.

En términos simples: un brazo con poco dato tiene una Beta ancha (mucha incertidumbre), así que a veces el sorteo saca de él un valor bastante alto aunque el promedio parezca mediano, y termina recibiendo tráfico de exploración de forma orgánica, sin que nadie necesite reservar una fracción fija para eso. Un brazo con muchos datos y tasa claramente mala tiene una Beta estrecha y baja, así que casi nunca sortea un valor lo bastante alto como para ganar, lo que reduce el tráfico que va hacia él sin llevarlo a cero por completo.

La actualización conjugada: de Beta(1,1) a Beta(1+conversiones, 1+no conversiones)

La parte que hace que el muestreo de Thompson sea barato de calcular (y por eso tan común en producción) es que, para una métrica de conversión binaria, la actualización de la creencia tiene una fórmula cerrada, sin necesitar ninguna simulación pesada. Partiendo de un prior uniforme Beta(1,1), que dice “antes de cualquier dato, toda tasa de conversión entre 0% y 100% es igualmente probable”, la regla de actualización después de observar un número de visitantes y conversiones es:

posterior del brazo = Beta(1 + conversiones, 1 + visitantes − conversiones)

Esa es la misma fórmula, con el mismo prior Beta(1,1), que ya corre por debajo de la calculadora bayesiana de este blog. El motivo de que sea tan simple es la propiedad de conjugación: cuando el prior es Beta y la observación es binomial (convirtió o no), la posterior sigue siendo Beta, así que basta sumar conversiones al parámetro α y no conversiones al parámetro β. No hay integración numérica pesada ni simulación detrás de este paso específico, solo una suma.

Un ejemplo numérico paso a paso: tres variaciones, una ronda de tráfico

Para salir de la teoría, vamos a correr la cuenta con números reales. Imagina una landing page corriendo un test con tres variaciones (A, B y C) bajo muestreo de Thompson. Al inicio del test, sin ningún dato, los tres brazos parten del mismo prior uniforme Beta(1,1), 33% de probabilidad de tráfico para cada uno. Después de una primera ronda de tráfico con 800 visitantes en cada brazo, los resultados observados fueron:

Brazo Visitantes Conversiones Tasa observada
A 800 40 5,00%
B 800 56 7,00%
C 800 32 4,00%

Aplicando la fórmula de actualización (Beta(1+conversiones, 1+visitantes−conversiones)) a cada brazo:

El promedio de una distribución Beta(α, β) es α ÷ (α+β), y la desviación estándar es la raíz cuadrada de [α·β ÷ ((α+β)²·(α+β+1))]. Calculando ambos para cada brazo:

Brazo Posterior Promedio posterior Desviación estándar
A Beta(41, 761) 5,11% 0,78%
B Beta(57, 745) 7,11% 0,91%
C Beta(33, 769) 4,11% 0,70%
Las tres distribuciones posteriores después de 800 visitantes por brazoEl brazo A tiene posterior Beta(41,761) con promedio 5,11%; el brazo B tiene Beta(57,745) con promedio 7,11%; el brazo C tiene Beta(33,769) con promedio 4,11%. La curva de B está desplazada a la derecha de las otras dos, con poca superposición.tasa de conversión posibleC · 4,11%desviación 0,70%A · 5,11%desviación 0,78%B · 7,11%desviación 0,91%
La curva de B casi no se superpone con las de A y C. En la próxima tanda de visitantes, la mayoría de los sorteos de la distribución de B tiende a superar los sorteos de A y C, así que B recibe la mayor fracción del próximo tráfico, sin que A y C queden en cero.

Fíjate en el patrón: cuanto mayor la distancia entre los promedios y menor la superposición de las curvas, más previsible se vuelve qué brazo gana el sorteo en la siguiente ronda, y es exactamente ese mecanismo, sin ningún parámetro manual, el que empuja tráfico creciente hacia B a partir de aquí. Aun así, A y C siguen recibiendo alguna fracción de tráfico, porque sus distribuciones, aunque más bajas, todavía tienen una cola que ocasionalmente sortea un valor competitivo, lo que es la exploración residual que mantiene al algoritmo honesto por si B tuvo, por casualidad, una ronda de suerte.

Comprueba la matemática en la calculadora bayesiana

La posterior de cada brazo en el muestreo de Thompson es el mismo objeto matemático que una calculadora bayesiana de test A/B usa para responder “cuál es la probabilidad de que B sea mejor que A”. Para comparar el brazo B con el brazo A del ejemplo anterior, ingresa los números de la tabla (A: 800 visitantes, 40 conversiones; B: 800 visitantes, 56 conversiones) en la calculadora de abajo:

Calculadora bayesiana de test A/B
A (control)
B (variación)
-probabilidad de que B le gane a A
Tasa de A (posterior)-
Tasa de B (posterior)-
Probabilidad de que A gane-
Riesgo al elegir B (pérdida esperada)-
Mejora relativa (medias)-

Modelo Beta-Binomial con prior uniforme Beta(1,1) e intervalo de credibilidad del 95%. Cálculo determinístico, recalcula en vivo.

Corriendo estos números en el mismo motor bayesiano que alimenta la calculadora (Beta-Binomial conjugado, prior Beta(1,1), intervalo de credibilidad del 95%), el resultado es: tasa posterior de A en 5,11% (intervalo de credibilidad de 3,70% a 6,74%), tasa posterior de B en 7,11% (intervalo de 5,43% a 8,98%), probabilidad de que B le gane a A de 95,34%, mejora relativa de los promedios de +39,0%, y un riesgo (pérdida esperada) de apenas 0,02 punto porcentual al decidir por B contra 2,02 puntos porcentuales al decidir por A. Comparando B contra C bajo el mismo criterio (C: 800 visitantes, 32 conversiones), la probabilidad de que B le gane a C sube a 99,57%, coherente con la distancia todavía mayor entre las dos curvas en la figura anterior.

Ese es el punto de conexión entre las dos técnicas: un test A/B bayesiano corre esta cuenta una vez, al final del test, para reportar un veredicto. El muestreo de Thompson corre el sorteo equivalente con cada visitante, durante todo el test, para decidir tráfico en tiempo real. La matemática de fondo es la misma; lo que cambia es la frecuencia y el propósito del cálculo.

Por qué el muestreo de Thompson converge más rápido que epsilon-greedy

“Converge más rápido” quiere decir, aquí, que el algoritmo pierde menos conversión posible durante el propio proceso de aprendizaje, lo que se llama regret (arrepentimiento acumulado). La razón estructural de esta ventaja está en cómo cada método decide cuánto explorar en cada momento:

Criterio Epsilon-greedy UCB Muestreo de Thompson
Cómo decide la exploración Fracción fija (ε) del tráfico, siempre aleatoria entre los brazos Bono de optimismo sumado a la tasa estimada, mayor cuanto menos dato haya Sorteo aleatorio de la distribución de creencia de cada brazo
¿La exploración disminuye sola con más datos? No, ε sigue igual a menos que alguien lo reduzca manualmente Sí, el bono se reduce conforme baja la incertidumbre Sí, la distribución se vuelve más estrecha conforme baja la incertidumbre
¿Necesita parámetro manual? Sí, el valor de ε (y, si se usa epsilon decreciente, también la tasa de decaimiento) No, el bono se calcula a partir de los propios datos No, el prior es el único ajuste, y un prior uniforme ya funciona bien en la mayoría de los casos
Dónde desperdicia más tráfico En brazos ya claramente malos, después de muchos datos Menos que epsilon-greedy, pero el bono es una aproximación determinística de la incertidumbre Tiende a desperdiciar menos, porque la varianza real de cada brazo entra directo en el sorteo

Epsilon-greedy trata la incertidumbre como un problema de “cuánto tiempo debo explorar”, resuelto con un número fijo elegido de antemano. El muestreo de Thompson trata la incertidumbre como parte de la propia distribución de cada brazo, así que la cantidad de exploración se ajusta automáticamente: brazos recién llegados exploran mucho (distribución ancha), brazos ya bien establecidos exploran poco (distribución estrecha), sin que nadie necesite decidirlo a mano. Es esta autorregulación, documentada en evaluaciones empíricas como la de Chapelle & Li (2011), la que suele darle al muestreo de Thompson un regret acumulado menor que el de epsilon-greedy en el mismo escenario.

Cuándo usar muestreo de Thompson en vez de un test A/B clásico (y cuándo no)

La pregunta correcta no es “qué técnica es más moderna”, es “qué exige la decisión específica”. El muestreo de Thompson tiende a valer más cuando:

El test A/B clásico sigue siendo la herramienta correcta cuando:

Muchas operaciones maduras usan las dos cosas en secuencia, como ya cubrimos en la guía de bandit vs. test A/B: test A/B para validar formalmente que un cambio funciona, muestreo de Thompson para optimizar continuamente entre variaciones ya validadas, donde la pregunta dejó de ser “¿esto funciona?” y pasó a ser “¿cuál de ellas funciona mejor, siempre?”.

Hazlo automático en Donnu

Acabas de ver la mecánica entera detrás del muestreo de Thompson: la posterior Beta de cada brazo, la actualización conjugada que suma conversiones y no conversiones al prior, el sorteo que decide el próximo visitante, y por qué esta autorregulación de la exploración suele vencer a un epsilon fijo. Donnu A/B ya corre hoy sobre ese mismo motor bayesiano nativo, la misma matemática Beta-Binomial que declara un ganador honesto en un test A/B clásico es la base que un bandit como el muestreo de Thompson usa para optimizar continuamente. No necesitas elegir la herramienta correcta a ciegas, empieza por la estadística que los dos escenarios ya exigen.

Comienza una prueba gratis de 14 días y corre tu propia comparación bayesiana sobre tu tráfico real.

Lee también la guía completa de multi-armed bandits vs. test A/B, la pieza hermana sobre bandit contextual explicado para cuando el ganador cambia según el perfil del visitante, y la guía de significancia estadística en tests A/B para la base frecuentista que complementa esta lectura bayesiana.

Referencias

Preguntas frecuentes

¿Qué es el muestreo de Thompson, en pocas palabras?
Es un algoritmo de multi-armed bandit que decide qué variación mostrar a cada visitante sorteando un valor aleatorio de la distribución de creencia (posterior) de cada brazo y eligiendo el brazo que sorteó el valor más alto. Nació en un artículo de William R. Thompson en 1933 y hoy es el método bayesiano más usado en bandits de producción.
¿Por qué el muestreo de Thompson suele converger más rápido que epsilon-greedy?
Porque la cantidad de exploración se ajusta sola a la incertidumbre real de cada brazo: brazos con pocos datos tienen distribuciones anchas y son sorteados con frecuencia (exploración automática), mientras que brazos con muchos datos y tasa claramente mala tienen distribuciones estrechas y casi nunca ganan el sorteo. Epsilon-greedy, en cambio, reserva la misma fracción fija de tráfico para exploración todo el tiempo, incluso después de que la incertidumbre ya haya desaparecido.
¿Necesito saber estadística bayesiana para usar el muestreo de Thompson en la práctica?
No para operar el producto: la mecánica (Beta como distribución de creencia, actualización por conversiones observadas, sorteo y elección del valor más alto) es la misma matemática que ya sostiene una calculadora bayesiana de test A/B. Entender la lógica ayuda a interpretar por qué el tráfico migra del modo en que migra, pero la cuenta en sí ya viene lista en la herramienta.
¿Cuándo NO debo usar el muestreo de Thompson en vez de un test A/B clásico?
Cuando la decisión necesita un veredicto formal y documentable: un valor p, un intervalo de confianza, o una asignación de tráfico lo bastante estable como para analizar por segmento después. El muestreo de Thompson cambia la asignación continuamente, así que no produce significancia estadística en el sentido clásico ni preserva una división de tráfico comparable entre el inicio y el final del test.
¿El muestreo de Thompson y el test A/B bayesiano de Donnu usan la misma matemática?
Sí. Las dos técnicas parten del mismo modelo Beta-Binomial conjugado: la posterior de cada brazo (o variación) es Beta(1 + conversiones, 1 + no conversiones) a partir de un prior uniforme Beta(1,1). La diferencia está en el uso que se le da a esa posterior: un test A/B bayesiano reporta la probabilidad final de que B sea mejor que A; el muestreo de Thompson sortea de esa misma posterior con cada visitante para decidir el tráfico en tiempo real.