O Que É um Bandit Contextual (vs. Teste A/B)
Entenda o que é um bandit contextual, como ele usa dados de contexto para personalizar decisões e quando escolher essa técnica em vez de teste A/B.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
Bandit contextual é a resposta para uma pergunta que o teste A/B clássico e até o multi-armed bandit “puro” não fazem: e se a melhor variação não for a mesma para todo mundo? Este artigo é um aprofundamento do nosso guia Multi-Armed Bandits x Teste A/B, focado especificamente na versão contextual do bandit, a que usa dados do visitante para decidir, e não só o histórico agregado de conversões.
Bandit puro x bandit contextual: a diferença que importa
Um multi-armed bandit “puro” (também chamado de bandit context-free) trata cada visitante como intercambiável. Ele testa os braços (as variações), observa qual converte mais na média e desloca tráfego progressivamente para o vencedor, exatamente como cobrimos no guia de bandits. A pergunta que ele responde é sempre a mesma: “qual braço é melhor, em geral, para o conjunto de todo mundo que passa pela página?”.
O bandit contextual muda a pergunta. Antes de escolher um braço, ele olha para um conjunto de características de quem está chegando (o “contexto”): tipo de dispositivo, localização, canal de origem, hora do dia, comportamento em visitas anteriores, e às vezes sinais mais ricos como categoria de produto navegada. Com esse contexto como entrada, ele pode aprender que o braço A converte melhor no mobile e o braço C converte melhor para quem já é cliente recorrente, e servir cada um deles para o público certo, ao mesmo tempo, no mesmo experimento. Não existe mais um único vencedor: existe um vencedor por fatia de contexto.
Vale a comparação com o que a maioria já conhece: teste A/B mede a média de duas versões; multi-armed bandit puro persegue essa média mais rápido, deslocando tráfego enquanto ainda coleta dados; bandit contextual troca a pergunta de “qual é a média melhor” por “qual é melhor para esta pessoa, agora”. É essencialmente personalização automática construída em cima do arcabouço de bandits.
Como o modelo aprende: de contexto a política, sem fórmula pesada
Não é preciso entender a matemática de otimização por trás disso para usar um bandit contextual com responsabilidade, mas vale entender a peça central: a política. Uma política é a regra aprendida que mapeia um contexto para uma ação. Ela não é escrita à mão como um “se dispositivo é mobile, então mostre X”; ela é estimada a partir dos dados de exploração, ajustando pesos que ligam cada característica do contexto à recompensa esperada de cada braço.
O ciclo funciona assim: o visitante chega e o sistema captura o contexto disponível (dispositivo, origem, comportamento prévio, e o que mais estiver instrumentado). A política atual usa esse contexto para estimar, para cada braço, a recompensa esperada, e escolhe uma ação, quase sempre com uma dose deliberada de exploração (testar braços que ainda não têm certeza absoluta, em vez de sempre escolher o aparente favorito). O sistema observa o resultado real (converteu ou não) e usa esse par contexto-ação-recompensa para atualizar a política, refinando a estimativa para a próxima visita parecida.
Duas ideias fazem esse ciclo funcionar sem virar um tiro no escuro. A primeira é o balanço entre exploração e explotação: o modelo precisa continuar testando braços incertos em certos contextos, mesmo que outro braço pareça vencedor ali, ou ele nunca vai descobrir se essa impressão inicial era só ruído. A segunda é que a qualidade da política depende diretamente da qualidade e do volume dos dados de contexto: um contexto pobre (só “mobile ou desktop”) aprende pouco; um contexto rico demais, com poucos dados para sustentar cada combinação, aprende devagar e com muito ruído. Achar esse meio-termo é boa parte do trabalho de quem opera um bandit contextual.
Exemplos reais de bandit contextual em produção
A ideia fica mais concreta com casos de uso que já rodam em produção hoje:
- Recomendação de conteúdo. Serviços de streaming e portais de notícia usam bandits contextuais para decidir qual manchete, capa ou próximo vídeo mostrar, com o contexto sendo o histórico de consumo da própria sessão e do perfil. É o caso clássico citado na literatura de sistemas de recomendação.
- Precificação dinâmica por segmento. Em vez de testar um único preço contra outro para todo mundo, um bandit contextual pode aprender que um desconto específico converte melhor para um segmento de tráfego (por exemplo, quem chega de um canal pago sensível a preço) e outro funciona melhor para tráfego orgânico recorrente, ajustando a oferta por contexto, não por regra fixa.
- Personalização de banner e CTA por tipo de visitante. Um site pode ter três variações de banner de topo e usar o contexto (novo visitante x recorrente, mobile x desktop, origem do tráfego) para decidir qual delas mostrar a cada tipo de pessoa, em vez de escolher uma vencedora única para a página inteira.
- Alocação de desconto e cupom. Uma variação do caso de preço: decidir quem recebe qual cupom, e de que valor, com base em sinais de propensão de compra, é hoje uma aplicação documentada de bandits contextuais em e-commerce.
O fio condutor de todos esses casos é o mesmo: existe mais de uma decisão certa possível, e o contexto disponível é rico o suficiente para diferenciá-las.
Bandit contextual x personalização baseada em regras
A comparação mais importante para quem já faz alguma personalização hoje não é com o teste A/B, é com a personalização manual baseada em regras (“se o visitante vem do Instagram e é mobile, mostra o banner X”).
| Critério | Regras manuais | Bandit contextual |
|---|---|---|
| Quem decide o mapeamento contexto → ação | Uma pessoa, a partir de intuição ou de análises pontuais | Um modelo, a partir do resultado real observado |
| Escala de combinações | Prática até poucas dezenas de regras; depois fica difícil de manter | Lida bem com muitas combinações de contexto, sem que alguém precise escrevê-las à mão |
| Velocidade de adaptação | Só muda quando alguém edita a regra | Se ajusta continuamente conforme chegam novos dados |
| Explicabilidade | Alta: dá para apontar exatamente a regra e o motivo | Menor: a decisão é uma combinação de pesos estatísticos, não uma frase única |
| Risco de regra desatualizada | Real: hábito de “configurar e esquecer” deixa regras ruins ativas por meses | Baixo, mas troca o risco por dependência de um modelo bem monitorado |
| Custo de entrada | Baixo, dá para começar hoje sem infraestrutura nova | Alto, exige volume de dados, instrumentação de contexto e monitoramento do modelo |
Regras manuais ganham em transparência e simplicidade. Bandit contextual ganha em escala e em capturar padrões que ninguém teria pensado em escrever como regra. Na prática, muitas operações maduras usam as duas coisas: regras para os poucos casos óbvios e de alto risco, bandit contextual para o espaço mais amplo de combinações onde a intuição humana não dá conta.
Quando o bandit contextual NÃO é a ferramenta certa
A parte que a maioria do marketing de fornecedor de ferramenta pula: existem dois motivos comuns, e legítimos, para não usar bandit contextual mesmo quando ele parece tecnicamente superior.
O primeiro motivo é volume. Um bandit contextual precisa aprender uma política por combinação relevante de contexto, não uma média só. Se o seu tráfego mal é suficiente para fechar um teste A/B simples (veja a calculadora de tamanho de amostra para ter uma ideia do quanto isso costuma exigir), ele quase certamente não é suficiente para treinar um modelo com várias variáveis de contexto ao mesmo tempo. Um modelo faminto de dado tende a “aprender” padrões que são só ruído, e entrega decisões piores, não melhores, do que uma regra simples ou um A/B tradicional.
O segundo motivo é explicabilidade. Times pequenos, e times que respondem a stakeholders não técnicos, costumam precisar justificar decisões em uma frase: “trocamos o CTA porque B converteu 30% mais, com significância”. Essa frase existe num teste A/B. Ela não existe do mesmo jeito num bandit contextual, cuja decisão para um visitante específico é o produto de uma combinação de pesos aprendidos, difícil de resumir sem simplificar demais. Se a governança da sua empresa exige esse tipo de justificativa simples para cada mudança, o custo de explicar um bandit contextual pode superar o ganho de performance que ele traz.
Existe ainda um terceiro sinal de alerta, mais operacional: bandit contextual exige monitoramento contínuo do modelo, não só do resultado. Um modelo que para de receber dado de qualidade (por exemplo, se uma fonte de contexto quebra silenciosamente) pode continuar tomando decisões com confiança, só que erradas, sem que ninguém perceba, porque não há mais um painel simples de “A converteu X%, B converteu Y%” para conferir a olho.
Ferramentas e plataformas que oferecem bandit contextual hoje
Vale separar quem oferece bandit contextual pronto, como parte de uma plataforma de experimentação ou personalização, de quem oferece só a peça de machine learning para você construir o seu:
| Ferramenta | O que ela oferece | Observação |
|---|---|---|
| Optimizely | Recurso de Contextual Bandits dentro da sua plataforma de experimentação/personalização, citado pela própria empresa como forma de entregar a experiência mais eficaz por visitante | Posicionado como parte da oferta de personalização, não como produto isolado |
| Dynamic Yield | Combina testes A/B/n, multi-armed bandit e recomendações orientadas por IA na mesma plataforma de personalização omnichannel | Foco forte em recomendação e personalização de conteúdo/produto |
| Datadog Experiments (ex-Eppo) | Contextual bandits integrados à análise de experimentos, com estratégia de holdout para medir o impacto real do bandit nas métricas de negócio | A Eppo foi incorporada ao Datadog; documentação técnica de bandits segue disponível nos docs do produto |
| Vowpal Wabbit | Biblioteca open source de machine learning que implementa contextual bandits e é usada como motor por trás de soluções próprias | Exige equipe de engenharia/ML para integrar; não é uma ferramenta de marketing pronta para uso |
| Azure Personalizer | Serviço da Microsoft baseado em contextual bandits (rodando sobre Vowpal Wabbit), hoje em processo de descontinuação, com retirada confirmada para 1º de outubro de 2026 | Bom exemplo de por que “construir em cima de um serviço de nuvem específico” carrega risco de descontinuação; a própria Microsoft recomenda migrar para o open source microsoft/learning-loop |
O caso do Azure Personalizer é um lembrete útil: bandit contextual não é só um algoritmo, é também um compromisso de manutenção de longo prazo, seja com um fornecedor, seja com uma stack open source que a sua equipe vai precisar operar sozinha.
Faça Isso Automático na Donnu
Bandit contextual pede duas coisas que a maioria das operações de CRO ainda não tem prontas: volume de dados suficiente para treinar uma política por contexto e infraestrutura de bandit rodando de forma confiável, com monitoramento do próprio modelo. Enquanto isso não é realidade, a Donnu resolve a parte que já traz a maior parte do ganho de um bandit puro: alocação de tráfego que se desloca sozinha para a variação que está performando, com estatística bayesiana honesta por trás, sem você precisar treinar nem manter um modelo de política.
Comece um teste grátis de 14 dias e veja a alocação dinâmica em ação no seu próprio tráfego. Para entender o quadro completo antes de decidir entre as três abordagens, veja o guia Multi-Armed Bandits x Teste A/B, e para a base estatística que sustenta qualquer uma delas, veja o nosso guia de significância estatística em testes A/B.
Referências
- Optimizely. Contextual bandits: the next step in personalization. optimizely.com/insights.
- Eppo (hoje Datadog Experiments). Introducing: Eppo Contextual Bandits e Example use cases for Contextual Bandits. docs.geteppo.com/contextual-bandits.
- Microsoft Learn. Reinforcement learning in Personalizer e nota de descontinuação do serviço. learn.microsoft.com/azure/ai-services/personalizer.
- Dynamic Yield. Beyond A/B testing: Multi-armed bandit experiments. dynamicyield.com.
- VWO. Understanding the Working of Multi-Armed Bandit in VWO. help.vwo.com.
Perguntas frequentes
- O que é um bandit contextual, em uma frase?
- É um algoritmo de decisão que usa características do visitante (dispositivo, localização, comportamento prévio) para escolher, para cada pessoa, a ação com maior chance de dar certo, em vez de buscar uma única resposta que sirva para todo mundo.
- Bandit contextual é a mesma coisa que multi-armed bandit?
- Não. O multi-armed bandit "puro" ignora quem está vendo a página e busca o braço com melhor taxa média geral. O bandit contextual usa o contexto de cada visita como entrada do modelo, então a "melhor" opção pode variar de pessoa para pessoa. É por isso que ele é, na prática, um motor de personalização automática.
- Preciso de quanto tráfego para um bandit contextual valer a pena?
- Bem mais do que para um teste A/B simples, porque o modelo precisa aprender uma política por combinação relevante de contexto, não uma média só. Times com poucas centenas de conversões por semana normalmente não têm dado suficiente para treinar isso com confiança; nesse caso, um teste A/B ou uma segmentação manual bem feita costuma superar um bandit mal alimentado.
- Dá para confiar numa decisão de bandit contextual sem entender o modelo por dentro?
- Só até certo ponto. Um bandit contextual troca uma explicação simples ("B converteu mais que A, com p menor que 0,05") por uma política estatística que pesa várias variáveis ao mesmo tempo. Se o seu stakeholder precisa de uma justificativa de uma frase para cada decisão, isso é fricção real, não só um detalhe técnico.