Estatística

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.

Ilustração abstrata em verde escuro e teal com três envelopes e um fluxo de pontos convergindo para o do meio, representando um bandit escolhendo o assunto de e-mail

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.

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

Otimização automática explore-then-commit contra um teste A/B completoNo fluxo típico de otimização automática das plataformas de e-mail, uma fase curta de exploração manda os dois assuntos para uma fatia da lista por algumas horas, e então o vencedor aparente por taxa de abertura é disparado para todo o resto. Um teste A/B completo, em vez disso, mantém os dois assuntos rodando na divisão inteira pela duração planejada, decidido por clique ou conversão.Otimização automática (explorar e comprometer)Explorar10 a 20% da listadois assuntos enviadosComprometervencedor aparente por taxa de aberturadisparado para os 80 a 90% restanteshora 0hora 4 a 6resto da lista enviadoTeste A/B estatístico completoOs dois assuntos seguem rodando na divisão inteiramedidos por clique ou conversão, não por aberturapela duração planejada inteiradia 0dia 7 a 14, vencedor declarado com valor-p
O atalho explore-then-commit que várias plataformas entregam decide em horas, sobre uma métrica proxy ruidosa, a partir de uma fatia pequena da lista. Um teste A/B completo mantém a divisão inteira rodando pela duração planejada, sobre uma métrica mais perto da receita.

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:

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:

Calculadora de tamanho de amostra
-Visitantes por variação
-Total (2 variações)
-Duração estimada

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.

Amostra que a plataforma usou contra a amostra que um teste rigoroso exigeNuma lista de 20.000 assinantes com ganho relativo real de 15 por cento na taxa de abertura, o teste automático da plataforma usou 2.000 assinantes no total, 1.000 por assunto, e devolveu valor-p perto de 0,10, não significativo. Chegar a 95 por cento de confiança e 80 por cento de poder para esse mesmo ganho de 15 por cento exige 5.886 assinantes no total, 2.943 por assunto, quase três vezes mais.assinantes usados, mesma lista de 20.0002.000otimização automática1.000 + 1.000, p perto de 0,105.886teste A/B rigoroso2.943 + 2.943, 95% e poder 80%
Mesma lista, mesmo ganho real de 15 por cento. O teste rápido da plataforma só pegaria com confiabilidade uma diferença perto de 25 por cento ou maior; um teste bem dimensionado precisa de quase três vezes mais assinantes para confirmar honestamente um ganho de 15 por cento.

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

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.