Qué Es un Bandit Contextual (vs. Test A/B)
Entiende qué es un bandit contextual, cómo usa datos de contexto para personalizar decisiones y cuándo elegir esta técnica en vez de un test A/B.

📚 Este artículo es parte de la guía Significancia Estadística en Tests A/B: La Guía.
Bandit contextual es la respuesta a una pregunta que el test A/B clásico, e incluso el multi-armed bandit “puro”, no hacen: ¿y si la mejor variación no es la misma para todo el mundo? Este artículo es una profundización de nuestra guía Multi-Armed Bandits vs. Test A/B, enfocada específicamente en la versión contextual del bandit, la que usa datos del visitante para decidir, y no solo el historial agregado de conversiones.
Bandit puro vs. bandit contextual: la diferencia que importa
Un multi-armed bandit “puro” (también llamado bandit context-free) trata a cada visitante como intercambiable. Prueba los brazos (las variaciones), observa cuál convierte más en promedio y desplaza tráfico progresivamente hacia el ganador, exactamente como cubrimos en la guía de bandits. La pregunta que responde es siempre la misma: “¿cuál brazo es mejor, en general, para el conjunto de todo el mundo que pasa por la página?”.
El bandit contextual cambia la pregunta. Antes de elegir un brazo, mira un conjunto de características de quien está llegando (el “contexto”): tipo de dispositivo, ubicación, canal de origen, hora del día, comportamiento en visitas anteriores, y a veces señales más ricas como categoría de producto navegada. Con ese contexto como entrada, puede aprender que el brazo A convierte mejor en mobile y el brazo C convierte mejor para quien ya es cliente recurrente, y servir cada uno de ellos al público correcto, al mismo tiempo, en el mismo experimento. Ya no existe un único ganador: existe un ganador por porción de contexto.
Vale la comparación con lo que la mayoría ya conoce: el test A/B mide el promedio de dos versiones; el multi-armed bandit puro persigue ese promedio más rápido, desplazando tráfico mientras aún recolecta datos; el bandit contextual cambia la pregunta de “cuál es el promedio mejor” por “cuál es mejor para esta persona, ahora”. Es esencialmente personalización automática construida sobre el marco de bandits.
Cómo aprende el modelo: de contexto a política, sin fórmula pesada
No hace falta entender la matemática de optimización detrás de esto para usar un bandit contextual con responsabilidad, pero vale la pena entender la pieza central: la política. Una política es la regla aprendida que mapea un contexto a una acción. No está escrita a mano como un “si el dispositivo es mobile, entonces muestra X”; se estima a partir de los datos de exploración, ajustando pesos que conectan cada característica del contexto con la recompensa esperada de cada brazo.
El ciclo funciona así: el visitante llega y el sistema captura el contexto disponible (dispositivo, origen, comportamiento previo, y lo que más esté instrumentado). La política actual usa ese contexto para estimar, para cada brazo, la recompensa esperada, y elige una acción, casi siempre con una dosis deliberada de exploración (probar brazos que aún no tienen certeza absoluta, en vez de elegir siempre el aparente favorito). El sistema observa el resultado real (convirtió o no) y usa ese par contexto-acción-recompensa para actualizar la política, refinando la estimación para la próxima visita parecida.
Dos ideas hacen que este ciclo funcione sin convertirse en un tiro a ciegas. La primera es el balance entre exploración y explotación: el modelo necesita seguir probando brazos inciertos en ciertos contextos, aunque otro brazo parezca ganador ahí, o nunca va a descubrir si esa impresión inicial era solo ruido. La segunda es que la calidad de la política depende directamente de la calidad y el volumen de los datos de contexto: un contexto pobre (solo “mobile o desktop”) aprende poco; un contexto demasiado rico, con pocos datos para sostener cada combinación, aprende despacio y con mucho ruido. Encontrar ese punto medio es buena parte del trabajo de quien opera un bandit contextual.
Ejemplos reales de bandit contextual en producción
La idea se vuelve más concreta con casos de uso que ya funcionan en producción hoy:
- Recomendación de contenido. Servicios de streaming y portales de noticias usan bandits contextuales para decidir qué titular, portada o próximo video mostrar, con el contexto siendo el historial de consumo de la propia sesión y del perfil. Es el caso clásico citado en la literatura de sistemas de recomendación.
- Precificación dinámica por segmento. En vez de probar un único precio contra otro para todo el mundo, un bandit contextual puede aprender que un descuento específico convierte mejor para un segmento de tráfico (por ejemplo, quien llega de un canal pago sensible al precio) y otro funciona mejor para tráfico orgánico recurrente, ajustando la oferta por contexto, no por regla fija.
- Personalización de banner y CTA por tipo de visitante. Un sitio puede tener tres variaciones de banner superior y usar el contexto (visitante nuevo vs. recurrente, mobile vs. desktop, origen del tráfico) para decidir cuál mostrar a cada tipo de persona, en vez de elegir una ganadora única para toda la página.
- Asignación de descuento y cupón. Una variación del caso de precio: decidir quién recibe qué cupón, y de qué valor, con base en señales de propensión de compra, es hoy una aplicación documentada de bandits contextuales en e-commerce.
El hilo conductor de todos estos casos es el mismo: existe más de una decisión correcta posible, y el contexto disponible es lo bastante rico para diferenciarlas.
Bandit contextual vs. personalización basada en reglas
La comparación más importante para quien ya hace algo de personalización hoy no es con el test A/B, es con la personalización manual basada en reglas (“si el visitante viene de Instagram y es mobile, muestra el banner X”).
| Criterio | Reglas manuales | Bandit contextual |
|---|---|---|
| Quién decide el mapeo contexto → acción | Una persona, a partir de intuición o de análisis puntuales | Un modelo, a partir del resultado real observado |
| Escala de combinaciones | Práctico hasta algunas decenas de reglas; después se vuelve difícil de mantener | Maneja bien muchas combinaciones de contexto, sin que alguien tenga que escribirlas a mano |
| Velocidad de adaptación | Solo cambia cuando alguien edita la regla | Se ajusta continuamente conforme llegan nuevos datos |
| Explicabilidad | Alta: se puede señalar exactamente la regla y el motivo | Menor: la decisión es una combinación de pesos estadísticos, no una frase única |
| Riesgo de regla desactualizada | Real: el hábito de “configurar y olvidar” deja reglas malas activas por meses | Bajo, pero cambia el riesgo por dependencia de un modelo bien monitoreado |
| Costo de entrada | Bajo, se puede empezar hoy sin infraestructura nueva | Alto, exige volumen de datos, instrumentación de contexto y monitoreo del modelo |
Las reglas manuales ganan en transparencia y simplicidad. El bandit contextual gana en escala y en capturar patrones que nadie habría pensado en escribir como regla. En la práctica, muchas operaciones maduras usan las dos cosas: reglas para los pocos casos obvios y de alto riesgo, bandit contextual para el espacio más amplio de combinaciones donde la intuición humana no alcanza.
Cuándo el bandit contextual NO es la herramienta correcta
La parte que la mayoría del marketing de proveedores de herramientas se salta: existen dos motivos comunes, y legítimos, para no usar bandit contextual aunque parezca técnicamente superior.
El primer motivo es el volumen. Un bandit contextual necesita aprender una política por combinación relevante de contexto, no solo un promedio. Si tu tráfico apenas alcanza para cerrar un test A/B simple (mira la calculadora de tamaño de muestra para tener una idea de cuánto suele exigir esto), casi con certeza no alcanza para entrenar un modelo con varias variables de contexto al mismo tiempo. Un modelo hambriento de datos tiende a “aprender” patrones que son solo ruido, y entrega decisiones peores, no mejores, que una regla simple o un A/B tradicional.
El segundo motivo es la explicabilidad. Equipos pequeños, y equipos que responden a stakeholders no técnicos, suelen necesitar justificar decisiones en una frase: “cambiamos el CTA porque B convirtió 30% más, con significancia”. Esa frase existe en un test A/B. No existe de la misma forma en un bandit contextual, cuya decisión para un visitante específico es el producto de una combinación de pesos aprendidos, difícil de resumir sin simplificar demasiado. Si la gobernanza de tu empresa exige ese tipo de justificación simple para cada cambio, el costo de explicar un bandit contextual puede superar la ganancia de rendimiento que trae.
Existe todavía una tercera señal de alerta, más operacional: el bandit contextual exige monitoreo continuo del modelo, no solo del resultado. Un modelo que deja de recibir dato de calidad (por ejemplo, si una fuente de contexto se rompe silenciosamente) puede seguir tomando decisiones con confianza, solo que equivocadas, sin que nadie lo note, porque ya no hay un panel simple de “A convirtió X%, B convirtió Y%” para verificar a simple vista.
Herramientas y plataformas que ofrecen bandit contextual hoy
Vale la pena separar quién ofrece bandit contextual listo para usar, como parte de una plataforma de experimentación o personalización, de quién ofrece solo la pieza de machine learning para que construyas el tuyo:
| Herramienta | Qué ofrece | Observación |
|---|---|---|
| Optimizely | Función de Contextual Bandits dentro de su plataforma de experimentación/personalización, citada por la propia empresa como forma de entregar la experiencia más efectiva por visitante | Posicionado como parte de la oferta de personalización, no como producto aislado |
| Dynamic Yield | Combina tests A/B/n, multi-armed bandit y recomendaciones guiadas por IA en la misma plataforma de personalización omnicanal | Enfoque fuerte en recomendación y personalización de contenido/producto |
| Datadog Experiments (ex-Eppo) | Contextual bandits integrados al análisis de experimentos, con estrategia de holdout para medir el impacto real del bandit en las métricas de negocio | Eppo fue incorporada a Datadog; la documentación técnica de bandits sigue disponible en los docs del producto |
| Vowpal Wabbit | Biblioteca open source de machine learning que implementa contextual bandits y se usa como motor detrás de soluciones propias | Exige equipo de ingeniería/ML para integrar; no es una herramienta de marketing lista para usar |
| Azure Personalizer | Servicio de Microsoft basado en contextual bandits (corriendo sobre Vowpal Wabbit), hoy en proceso de descontinuación, con retiro confirmado para el 1 de octubre de 2026 | Buen ejemplo de por qué “construir sobre un servicio de nube específico” carga riesgo de descontinuación; la propia Microsoft recomienda migrar al open source microsoft/learning-loop |
El caso de Azure Personalizer es un recordatorio útil: bandit contextual no es solo un algoritmo, es también un compromiso de mantenimiento a largo plazo, ya sea con un proveedor, ya sea con una stack open source que tu equipo va a necesitar operar solo.
Hazlo Automático en Donnu
El bandit contextual pide dos cosas que la mayoría de las operaciones de CRO todavía no tienen listas: volumen de datos suficiente para entrenar una política por contexto e infraestructura de bandit corriendo de forma confiable, con monitoreo del propio modelo. Mientras eso no sea realidad, Donnu resuelve la parte que ya trae la mayor parte de la ganancia de un bandit puro: asignación de tráfico que se desplaza sola hacia la variación que está rindiendo, con estadística bayesiana honesta detrás, sin que tengas que entrenar ni mantener un modelo de política.
Empieza una prueba gratis de 14 días y mira la asignación dinámica en acción en tu propio tráfico. Para entender el cuadro completo antes de decidir entre los tres enfoques, mira la guía Multi-Armed Bandits vs. Test A/B, y para la base estadística que sostiene cualquiera de ellos, mira nuestra guía de significancia estadística en tests A/B.
Referencias
- Optimizely. Contextual bandits: the next step in personalization. optimizely.com/insights.
- Eppo (hoy Datadog Experiments). Introducing: Eppo Contextual Bandits y Example use cases for Contextual Bandits. docs.geteppo.com/contextual-bandits.
- Microsoft Learn. Reinforcement learning in Personalizer y nota de descontinuación del servicio. learn.microsoft.com/azure/ai-services/personalizer.
- Dynamic Yield. Beyond A/B testing: Multi-armed bandit experiments. dynamicyield.com.
- VWO (Wingify). Understand the Working of Multi-Armed Bandit in Wingify. help.wingify.com.
Preguntas frecuentes
- ¿Qué es un bandit contextual, en una frase?
- Es un algoritmo de decisión que usa características del visitante (dispositivo, ubicación, comportamiento previo) para elegir, para cada persona, la acción con mayor probabilidad de funcionar, en vez de buscar una única respuesta que sirva para todo el mundo.
- ¿Bandit contextual es lo mismo que multi-armed bandit?
- No. El multi-armed bandit "puro" ignora quién está viendo la página y busca el brazo con mejor tasa promedio general. El bandit contextual usa el contexto de cada visita como entrada del modelo, así que la "mejor" opción puede variar de persona a persona. Por eso es, en la práctica, un motor de personalización automática.
- ¿Cuánto tráfico necesito para que un bandit contextual valga la pena?
- Bastante más que para un test A/B simple, porque el modelo necesita aprender una política por combinación relevante de contexto, no solo un promedio. Equipos con pocas centenas de conversiones por semana normalmente no tienen dato suficiente para entrenar esto con confianza; en ese caso, un test A/B o una segmentación manual bien hecha suele superar a un bandit mal alimentado.
- ¿Se puede confiar en una decisión de bandit contextual sin entender el modelo por dentro?
- Solo hasta cierto punto. Un bandit contextual cambia una explicación simple ("B convirtió más que A, con p menor que 0,05") por una política estadística que pesa varias variables al mismo tiempo. Si tu stakeholder necesita una justificación de una frase para cada decisión, eso es fricción real, no solo un detalle técnico.