Multi-Armed Bandits para Assunto de E-mail
Multi-armed bandits no assunto de e-mail: a otimização automática da sua ferramenta é um bandit simples, não um teste A/B. Veja a conta de amostra.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
A maior parte de quem faz e-mail marketing já rodou um multi-armed bandit sem saber. Mailchimp, HubSpot, Klaviyo e ActiveCampaign entregam um recurso de “otimização automática” ou “seleção de vencedor” de assunto: manda dois ou três assuntos para uma fatia da lista, espera algumas horas e dispara para todo o resto aquele que pareceu melhor. Isso é um padrão de bandit de verdade, o mais simples da família, chamado explore-then-commit. Não tem o mesmo rigor de um teste A/B completo, e a diferença pesa exatamente quando a decisão é cara: uma amostra inicial pequena, uma janela curta de avaliação e uma única métrica ruidosa (taxa de abertura) separam o “a ferramenta declarou um vencedor” do “o vencedor é real”.
Este guia explica, com fonte para cada afirmação específica de fornecedor, o que esses recursos fazem por baixo do capô, por que o tamanho de amostra que usam costuma dar só para pegar uma diferença enorme e não uma realista, quando essa troca é a escolha certa no caso específico do e-mail, e quando você deveria exigir um teste mais longo medido por clique ou conversão.
O que a sua ferramenta de e-mail faz quando “otimiza” um assunto
Tirada a camada de marketing, o mecanismo é o mesmo entre fornecedores: divide uma parte da lista entre dois ou três assuntos, mede uma única métrica por uma janela fixa e manda o “vencedor” para o resto da lista. As diferenças estão nos detalhes, e são os detalhes que decidem se o vencedor escolhido é confiável.
- Mailchimp permite testar até três variações de uma única variável (assunto, nome do remetente, conteúdo ou horário de envio), segundo a documentação sobre testes A/B. O guia de criação de teste A/B afirma que a plataforma exige envio para pelo menos 10% dos destinatários em qualquer tipo de teste A/B, e por isso o controle deslizante não desce abaixo disso, recomenda ao menos 5.000 destinatários por combinação para obter dados úteis e sugere esperar no mínimo quatro horas depois do envio antes de a combinação vencedora sair. O vencedor pode ser escolhido automaticamente por taxa de abertura, taxa de clique ou receita total, ou manualmente.
- HubSpot deixa você definir a própria porcentagem de teste e a própria janela de espera em horas antes de o resto da lista receber a versão vencedora, segundo a documentação de teste A/B em e-mail de marketing. A HubSpot recomenda enviar um e-mail com teste A/B para pelo menos 1.000 contatos; a divisão 50/50 é permitida em qualquer tamanho de lista, mas outras proporções exigem esse mínimo de 1.000 contatos, e se a lista final de envio for pequena demais a plataforma pula o teste e manda para todos apenas a versão que você selecionou manualmente. A seleção do vencedor pode usar taxa de abertura, taxa de clique ou taxa de cliques por abertura.
- Klaviyo usa um controle deslizante ajustável (o próprio guia de teste A/B de campanha mostra um exemplo de 20 por cento para a variação A e 20 por cento para a B, com os 60 por cento restantes reservados para o vencedor) e, o que é notável, oferece uma opção automática condicionada a uma probabilidade de vitória declarada de 90 por cento ou mais, não apenas ao número bruto maior, segundo a documentação sobre significância estatística em campanhas. A Klaviyo recomenda taxa de abertura especificamente para testes de assunto, pré-cabeçalho ou nome do remetente, e taxa de clique para mudanças de conteúdo.
- ActiveCampaign funciona do mesmo jeito: você atribui uma porcentagem a cada variante de assunto, escolhe abertura ou clique como métrica decisória e define quantas horas até a porcentagem restante receber o vencedor, conforme o guia de campanha de split test.
| Plataforma | Amostra usada no teste | Métrica que decide o vencedor | Espera antes de o resto da lista receber |
|---|---|---|---|
| Mailchimp | Deslizante a partir de 10 por cento, com até 3 variações; recomenda 5.000+ destinatários por combinação | Abertura, clique ou receita total (com loja conectada) | Definida pelo usuário; fornecedor recomenda ao menos 4 horas |
| HubSpot | Porcentagem definida pelo usuário; 50/50 vale em qualquer tamanho, outras divisões exigem 1.000+ contatos, abaixo disso o teste é pulado | Abertura, clique ou cliques por abertura | Número de horas definido pelo usuário |
| Klaviyo | Deslizante ajustável (exemplo dado: 20% e 20%, 60% reservados) | Abertura (recomendada para assunto), clique ou taxa de pedido; modo automático exige 90%+ de probabilidade de vitória | Automática ao atingir o limiar, ou manual |
| ActiveCampaign | Porcentagem por variante definida pelo usuário | Abertura ou clique | Número de horas definido pelo usuário |
Todos esses são, estatisticamente, alguma variação de explore-then-commit: gastar uma fase curta de exploração coletando dados em todos os braços e depois comprometer irrevogavelmente todo o tráfego restante com o braço que pareceu melhor. É o membro mais simples da família dos multi-armed bandits, mais simples até que o epsilon-greedy e muito mais simples que o Thompson Sampling, que continua sorteando da distribuição de crença de cada braço e desloca a alocação gradualmente em vez de virar uma chave única quando o relógio fixo acaba. O portão de probabilidade de vitória da Klaviyo é o único detalhe de fornecedor aqui que pega emprestado diretamente da lógica bayesiana de bandit; os demais escolhem o número bruto maior quando o cronômetro expira, sem checagem de significância nenhuma.
A linha do tempo que ninguém mostra no print do produto
A linha do tempo comprimida não é acidente nem canto que alguém esqueceu de arrumar, é o ponto inteiro do recurso. E-mail decai rápido: a maioria das aberturas acontece nas primeiras horas e, no dia seguinte, o público em geral já decidiu se vai engajar. Esperar duas semanas por um veredito formalmente significativo, como o guia de bandits x teste A/B deste blog recomenda para teste de página, significaria a newsletter chegar velha na maior parte da lista. Velocidade é uma restrição legítima aqui de um jeito que quase nunca é numa landing page. A pergunta não é se o atalho se justifica, claramente se justifica em muitos disparos rotineiros, é se quem aperta o botão entende o que está entregando em troca.
Por que a taxa de abertura é um sinal mais fraco do que já foi
Teste de assunto é julgado por taxa de abertura em quase todo lugar, e por um motivo sólido: o assunto muda uma coisa só, se a pessoa abre o e-mail, então a abertura é a métrica mais próxima da manipulação real. O problema é que a própria abertura ficou mais ruidosa desde que a Apple lançou o Mail Privacy Protection em 2021. Os servidores proxy da Apple pré-carregam o pixel de rastreamento na infraestrutura da própria empresa no momento em que o e-mail chega, antes de qualquer humano olhar, o que registra uma “abertura” independentemente de a pessoa ler qualquer coisa. O Mailchimp trata disso diretamente no seu FAQ sobre o recurso da Apple, e a Litmus, que acompanha participação de mercado de clientes de e-mail a partir de mais de um bilhão de aberturas medidas, reporta que a fatia do Apple Mail hoje cobre mais da metade de todas as aberturas do mercado, ou seja, uma parcela grande e crescente da métrica “vencedora” de todo teste de assunto não é sinal humano genuíno.
Nada disso torna a taxa de abertura inútil. Para um assunto especificamente, ela continua sendo a métrica que isola a variável que você mudou. Mas significa que um “vencedor” de assunto declarado por abertura carrega uma camada extra de ruído em cima do ruído amostral comum de um grupo de teste pequeno, e é mais um motivo para uma diferença percentual bruta num relógio curto merecer mais desconfiança do que o sinal verde do painel sugere.
Exemplo trabalhado: quando a amostra é pequena demais para saber qualquer coisa
Aqui a teoria vira aritmética, usando o mesmo motor de estatística (sampleSizePerVariant e o teste z de duas proporções por trás dele, em stats.ts) que roda todas as calculadoras deste blog.
O cenário: uma lista de 20.000 assinantes, um assunto com taxa de abertura base de 20 por cento e uma variação B que, na realidade, embora quem dispara não tenha como saber isso de antemão, abre a 23 por cento, um ganho relativo genuíno de 15 por cento. Seguindo o padrão típico das plataformas, o teste automático manda para 10 por cento da lista, 2.000 assinantes, divididos igualmente: 1.000 veem o assunto A, 1.000 veem o assunto B. Os 18.000 restantes vão receber o que parecer melhor.
Aberturas esperadas no grupo de teste: A fica com aproximadamente 1.000 vezes 20 por cento, cerca de 200 aberturas. B fica com aproximadamente 1.000 vezes 23 por cento, cerca de 230 aberturas. Rodando o teste z de duas proporções nesses números:
- Taxa combinada: (200 + 230) dividido por 2.000, igual a 21,5 por cento.
- Erro padrão: raiz quadrada de 0,215 vezes 0,785 vezes (1/1.000 + 1/1.000), cerca de 0,0184.
- Escore z: (0,23 menos 0,20) dividido por 0,0184, cerca de 1,63.
- Valor-p bilateral: cerca de 0,10.
Um valor-p de 0,10 está bem acima do limiar convencional de 0,05. O teste não é estatisticamente significativo, mesmo que o ganho por trás seja inteiramente real. A maioria das plataformas não checa isso: compara as duas taxas brutas de abertura quando o relógio acaba e manda a que tiver o número maior, neste caso B, sem nunca calcular se 230 em 1.000 é diferente de forma relevante de 200 em 1.000. O modo automático da Klaviyo é a exceção, já que o portão de 90 por cento de probabilidade de vitória muito provavelmente seguraria esse resultado exato antes de um envio automático.
Então que amostra teria bastado? Coloque os mesmos números na calculadora abaixo (base de 20 por cento, efeito mínimo detectável de 15 por cento relativo, 95 por cento de confiança, 80 por cento de poder, o rigor padrão de mercado que este blog usa em todo lugar) e confira o tamanho de amostra que ela devolve:
Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.
A fórmula devolve 2.943 assinantes por variação, 5.886 no total, quase três vezes os 2.000 que o teste automático de fato usou. Ignore a estimativa de dias que a calculadora também mostra: ela pressupõe tráfego contínuo semana a semana, como num site, e um disparo de e-mail é um evento único em vez de tráfego acumulado ao longo dos dias; o número de assinantes é o que importa aqui.
Fica mais revelador vindo do outro lado. Com apenas 1.000 assinantes por variação, o ganho mínimo que esse teste conseguiria detectar de forma confiável a 95 por cento de confiança e 80 por cento de poder fica em torno de 25 por cento relativo, cerca de 5 pontos percentuais sobre uma base de 20 por cento, usando a mesma fórmula ao contrário (mdeForSample no stats.ts). Em bom português: o teste rápido da plataforma nunca foi construído para pegar uma melhoria realista de 15 por cento. Ele só tinha poder para pegar algo perto de 25 por cento ou maior.
Nada disso significa que o número da plataforma esteja errado ou seja desonesto: B converteu mesmo melhor nesse cenário, e mandar B para o resto da lista era, pelos números brutos, a aposta melhor. O que significa é que a ferramenta não consegue te dizer, e em geral nem tenta dizer, se aquele ganho de 15 por cento é algo com que contar da próxima vez ou uma moeda jogada que por acaso caiu do lado que também é o verdadeiro. Essa distinção é invisível de dentro do painel.
Quando o atalho é troca razoável e quando exigir teste de verdade
Nenhuma das duas abordagens é certa universalmente. A pergunta é o que aquele disparo específico exige.
| Situação | Otimização automática é troca razoável | Exija teste A/B completo por clique ou conversão |
|---|---|---|
| Tamanho da lista | Lista grande (dezenas de milhares ou mais), em que mesmo uma fatia pequena ainda é amostra real | Lista pequena, em que mesmo uma divisão de 100 por cento entrega poucas centenas por lado |
| O que está em jogo | Newsletter rotineira, baixo risco se o assunto “errado” chegar à maior parte da lista | Campanha de alto risco: lançamento, renovação, mudança de preço, reconquista |
| Métrica que importa | Abertura é genuinamente o objetivo, lembrança de marca ou reengajamento | Clique, cadastro ou compra é o objetivo real, e a abertura é só um proxy grosseiro |
| Pressa do disparo | Conteúdo sensível ao tempo (notícia quente, promoção relâmpago), em que velocidade vence certeza | Dá para rodar o envio ao longo de dias e você precisa de resposta que aguente escrutínio |
| Necessidade de defender depois | Ninguém vai pedir o valor-p | O resultado será reportado, repetido em outras campanhas ou citado para justificar investimento maior |
E-mail é um dos poucos canais em que “bom o bastante, rápido” costuma ser o trade-off correto de engenharia, porque aberturas e cliques decaem em horas e um assunto raramente carrega o tipo de risco a jusante que um redesenho de checkout carrega. Mas no momento em que um disparo fica caro de errar, seja porque a lista é pequena, porque a métrica é receita em vez de abertura, ou porque o resultado vai ser citado numa apresentação para a diretoria, o movimento honesto é rodar o envio como teste A/B de verdade, mais longo, por clique ou conversão, dimensionado do jeito que a calculadora acima dimensiona, e não confiar numa amostra do tamanho de um cara ou coroa só porque o painel reportou um vencedor em seis horas.
Vale registrar também onde a lógica adaptativa de verdade encaixa em e-mail: em fluxos recorrentes, como automação de boas-vindas, carrinho abandonado ou notificação transacional, cada assinante que entra no fluxo funciona como o visitante que chega num site, e aí um bandit adaptativo tem tempo real de aprendizado entre um envio e o próximo, coisa que um disparo único de campanha não oferece.
Faça isso automático na Donnu
Ferramentas de otimização automática de assunto resolvem velocidade, não certeza, e essa troca fica invisível a menos que alguém faça a aritmética, como o exemplo trabalhado acima acabou de fazer. A Donnu roda sobre um motor bayesiano nativo construído para a prioridade oposta: leitura honesta de se um ganho é real, não só de qual número bruto ficou maior depois que um relógio curto acabou. Quando um assunto, um e-mail ou qualquer variação de página merece ser defendido com resposta de verdade em vez de palpite rápido, dimensione o teste primeiro com a calculadora desta página, depois rode ele por tempo suficiente, na métrica que de fato importa, para saber a diferença entre uma amostra de sorte e uma melhoria genuína.
Leia também: o quadro completo em multi-armed bandits x teste A/B, a mecânica da alocação adaptativa em Thompson Sampling explicado, o guia de teste A/B de assunto de e-mail para o lado clássico da decisão e, em inglês, a versão original desta peça em multi-armed bandits for email subject lines. Comece um teste grátis de 14 dias e dimensione seu próximo teste com estatística que se sustenta, não com um número bruto depois de algumas horas.
Referências
- Mailchimp. About A/B Tests. mailchimp.com/help/about-ab-tests; Create an A/B Test. mailchimp.com/help/create-ab-tests.
- HubSpot. Run A/B tests for marketing emails. knowledge.hubspot.com.
- Klaviyo. How to A/B test an email campaign. help.klaviyo.com; Understanding statistical significance in Klaviyo campaigns. help.klaviyo.com.
- ActiveCampaign. How to create a Split Test email campaign. help.activecampaign.com.
- Mailchimp. Apple Mail Privacy Protection (MPP) FAQs. mailchimp.com/help/apple-privacy-faq.
- Litmus. Email Client Market Share: Trends and Statistics. litmus.com/email-client-market-share.
Perguntas frequentes
- O recurso de otimização automática de assunto da minha ferramenta de e-mail é mesmo um multi-armed bandit?
- Funcionalmente sim, embora seja um bandit simples. A maioria das plataformas de e-mail manda dois ou três assuntos para uma fatia pequena da lista, espera algumas horas e dispara para todo o resto aquele que parecer melhor por taxa de abertura. Esse padrão de duas fases se chama explore-then-commit, o membro mais simples da família dos bandits. Não é a mesma coisa que um bandit adaptativo como o Thompson Sampling, que continua deslocando tráfego gradualmente conforme a evidência chega, em vez de dar uma única virada irreversível.
- Uma fatia de teste de 10 por cento é suficiente para confiar no "vencedor" do assunto?
- Em geral não, para um ganho realista e moderado. Como mostra o exemplo trabalhado desta página, um teste com 1.000 destinatários por variação só detecta com confiabilidade uma diferença grande de taxa de abertura, da ordem de 25 por cento relativo ou mais, nos padrões de 95 por cento de confiança e 80 por cento de poder. Uma melhoria genuína, porém mais modesta, como 15 por cento, muitas vezes não alcança significância estatística nessa amostra, mesmo sendo real.
- Por que as ferramentas de e-mail usam taxa de abertura em vez de clique para julgar um teste de assunto?
- Porque o assunto influencia uma decisão só: se a pessoa abre o e-mail ou não, então a taxa de abertura é a métrica mais próxima do que mudou. O preço disso é que a abertura virou um proxy ruidoso desde que a Apple lançou o Mail Privacy Protection, que pré-carrega o pixel de rastreamento nos servidores da própria empresa e infla aberturas mesmo sem ninguém ler o e-mail. A Litmus reporta que mais da metade das aberturas hoje acontece em dispositivo coberto pelo recurso da Apple.
- Quando devo ignorar a otimização automática e rodar um teste A/B completo por clique ou conversão?
- Insista num teste de verdade quando o disparo for de alto risco (lançamento, campanha de renovação, mudança de preço), quando a lista for pequena a ponto de mesmo uma divisão de 100 por cento entregar poucas centenas de destinatários por lado, ou quando a métrica que realmente importa for clique, cadastro ou compra em vez de abertura. A otimização automática é uma troca razoável para disparos rotineiros de lista grande, em que velocidade importa mais que veredito defensável.
- Dá para usar bandit adaptativo de verdade em e-mail, e não só explore-then-commit?
- Dá, mas o encaixe é diferente do que se vê na web. Um bandit adaptativo brilha quando o tráfego chega continuamente e a alocação pode ser ajustada visitante a visitante; um disparo de campanha é um evento único, sem fluxo contínuo depois do envio. Onde a lógica adaptativa encaixa bem em e-mail é em fluxos recorrentes, automações de boas-vindas, carrinho abandonado ou notificações que rodam todo dia, porque aí cada novo assinante que entra no fluxo é o equivalente ao visitante que chega, e o algoritmo tem tempo real de aprendizado entre os envios.
- Se a plataforma já escolheu o assunto vencedor, vale refazer o teste depois?
- Vale, sempre que a decisão for repetida em campanhas futuras. O resultado de um teste subdimensionado não é mentira, é apenas incerto: ele diz qual número foi maior naquele disparo, não qual assunto tende a ganhar de novo. Se aquele aprendizado vai virar regra de estilo para as próximas campanhas, ele merece ser confirmado num teste dimensionado pela calculadora desta página, medido por clique ou conversão, e não pelo número bruto de uma janela de seis horas.