Estatística

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.

Ilustração de um fluxo de dados de contexto do usuário sendo processado por um modelo de política que escolhe uma ação personalizada, em verde escuro e teal

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.

Bandit puro comparado a bandit contextualNo bandit puro, todos os visitantes recebem a mesma decisão: o braço B, que tem a maior taxa média. No bandit contextual, o mesmo conjunto de braços é servido de forma diferente conforme o contexto: mobile recebe o braço A, um visitante recorrente recebe o braço C, e um visitante novo no desktop recebe o braço B.Bandit puromesma decisão para todo mundoBraço ABraço B · vencedor médioBraço Ctodo visitante vê o braço BBandit contextuala decisão muda com quem chegaMobileBraço ARecorrenteBraço CNovo · desktopBraço Btrês contextos, três decisões diferentes
O bandit puro converge para um vencedor único. O bandit contextual usa o mesmo conjunto de variações, mas aprende qual delas serve melhor cada tipo de visitante.

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.

Ciclo de contexto, política, ação e atualizaçãoO contexto do visitante alimenta a política, que escolhe uma ação; a ação gera uma recompensa observada, que atualiza a política para a próxima decisão, fechando um ciclo contínuo de aprendizado.Contextodispositivo, origem, históricoPolíticamodelo que aprende o mapaAçãoo braço escolhidoRecompensaconverteu ou nãoatualiza a política para a próxima visita parecida
Não existe uma fórmula única aqui: existe um ciclo contínuo de decisão, observação e ajuste, repetido a cada visita, que vai apurando o mapa de contexto para ação.

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:

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.

Quando o bandit contextual faz sentidoCruzando volume de dados disponível com a necessidade de explicabilidade simples para stakeholders: baixo volume e alta necessidade de explicação apontam para regras manuais ou teste A/B; alto volume e baixa necessidade de explicação apontam para bandit contextual; as combinações intermediárias exigem julgamento caso a caso.Volume de dados disponívelbaixoaltoexplicabilidade necessária: altaexplicabilidade necessária: baixaUse regras ou teste A/Bpouco dado e stakeholder exigeexplicação simplesJulgamento caso a casodado sobra, mas a explicaçãoainda importa muitoAinda nãocolete mais dado antes detreinar uma políticaZona idealbandit contextual tende avaler o investimento
Bandit contextual compensa quando há dado de sobra e a decisão pode viver dentro de um modelo, sem precisar de uma frase de justificativa para cada escolha.

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

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.