Sample Ratio Mismatch (SRM): um guia completo com soluções para casos de clientes
Publicados: 2022-04-07O que é pior do que um teste fracassado?
Problemas de qualidade de dados de teste que tornam os resultados de teste não confiáveis.
Mas como você pode ficar longe de dados ruins?
A verificação de incompatibilidade de proporção de amostra (SRM) é uma maneira simples de detectar problemas em potencial antecipadamente. Se algo é suspeito, então quanto mais cedo você descobrir, melhor.
Continue lendo para saber mais sobre a incompatibilidade de proporção de amostra, como identificá-la, como ela afeta seus testes e quais plataformas de teste A/B vêm com verificações de SRM integradas (para que você não precise manter uma planilha ao lado) .
- O que é incompatibilidade de proporção de amostra (SRM)?
- Seu teste A/B tem um SRM? Como calcular a incompatibilidade da proporção da amostra?
- Usando planilhas
- Usando calculadoras de incompatibilidade de proporção de amostra online
- Como o SRM afeta os testes A/B?
- O SRM Afeta os Modelos de Estatísticas Frequentistas e Bayesianos?
- Quando você deve levar o SRM em consideração?
- Onde você deve verificar se o SRM existe?
- Atribuição do experimento
- Execução do experimento
- Processamento de registro do experimento
- Análise do experimento
- Interferência do experimento
- Motivos não experimentais
- Plataformas de teste A/B que suportam alertas SRM
- Converter experiências
- Otimizar
- Adobe Target via MiaProva
- Livro de Crescimento
- Split.io
- Incompatibilidade de proporção de tamanho de amostra desmistificada
O que é incompatibilidade de proporção de amostra (SRM)?
Sample Ratio Mismatch, ou SRM, acontece no teste A/B quando o número real de amostras (ou visitantes em um grupo de tratamento) não corresponde ao esperado.
Vamos ilustrar isso com um exemplo.
Digamos que um site receba cerca de 15 mil visitantes por semana. Temos 3 variações, a original (que é a página inalterada) e 2 variações. Quanto tráfego você espera que cada um receba se o tráfego for igualmente alocado? Em um mundo ideal, a resposta seria que cada variação deveria receber 15.000 / 3 = 5.000 visitantes.
Agora, é muito improvável que cada variação realmente receba 5.000 visitantes, mas um número muito próximo disso, como 4.982 ou 5.021. Essa pequena variação é normal e se deve à simples aleatoriedade! Mas se uma das variações receber 3.500 visitantes e as outras cerca de 5.000, então algo pode estar errado com essa!
Em vez de confiar em nossa própria intuição para identificar esses problemas, podemos fazer o teste SRM. Ele usa o teste de adequação do Qui-quadrado para nos dizer, por exemplo, se 4.850 ou 4.750 visitantes, em comparação com o outro número de visitantes recebidos, são “normais” ou não!
Em termos estatísticos, o teste de ajuste Qui-quadrado compara o número observado de amostras com o esperado. E se houver diferença real, o valor de p será inferior ao nível de significância estabelecido de 0,01, que corresponde a uma confiança de 99%.
Assista a este vídeo com Lukas Vermeer enquanto ele se aprofunda nas especificidades do SRM e mais perguntas frequentes sobre o assunto.
Seu teste A/B tem um SRM? Como calcular a incompatibilidade da proporção da amostra?
Em testes A/B, o SRM pode ser um verdadeiro bicho-papão, causando resultados imprecisos e conclusões equivocadas. A boa notícia é que existem ferramentas que podem ajudá-lo a evitar dores de cabeça.
Usando planilhas
As planilhas são o método mais simples de calcular o SRM devido à ampla disponibilidade de produtos Microsoft Excel e/ou Google.
Vamos mostrar outro exemplo.
Calcularemos o SRM para um teste A/B com uma divisão de tráfego de 50/50 e números observados de visitantes de 214.598 e 241.156 para Original e Variação, respectivamente.
Usaremos o teste Qui-quadrado para ver se a divisão de tráfego observada corresponde à divisão de tráfego esperada. Caso isso não aconteça, você vai querer saber se os valores observados diferem suficientemente dos valores esperados para causar preocupação e justificar o descarte dos resultados.
Você precisará usar a função CHISQ.TEST em sua planilha para calcular o valor-p, conforme ilustrado na planilha abaixo.
Em nosso exemplo, o valor-p é 0. Com um valor-p abaixo de 0,05, você tem um SRM em mãos e evidências suficientes para descartar os resultados do teste na maioria dos casos.
Usando calculadoras de incompatibilidade de proporção de amostra online
- A calculadora do Convert pode ajudar a diagnosticar a incompatibilidade da taxa de amostragem e também informa quanto tempo você precisa esperar para que seu experimento seja concluído!
- Outra calculadora online específica do SRM é a projetada por Lukas Vermeer. Este método calcula o SRM da mesma maneira que a técnica anterior, portanto, se você acompanhou e entendeu o processo, poderá usar esta calculadora SRM on-line. Basta preencher os números para suas amostras e o resultado será exibido assim
Como o SRM afeta os testes A/B?
É provável que você tenha analisado a divisão de tráfego entre variantes durante uma experiência e questionado a precisão dela.
Talvez um parecido com o relatório abaixo. Você pode olhar para ele e se perguntar se é normal que o Original tenha 1330 visitantes, mas a Variação 1713.
Um pequeno cálculo estatístico do índice SRM (usando qualquer um dos dois métodos acima) lhe dirá se o índice de variação é aceitável ou não.
A divisão real entre as duas variações (Original e Variação 1) corresponde aos valores esperados? Se esse não for o caso, você deve rejeitar os dados e reiniciar o teste quando tiver resolvido o problema.
O SRM Afeta os Modelos de Estatísticas Frequentistas e Bayesianos?
Sim.
As causas do SRM têm um impacto idêntico na validade dos resultados de um experimento, independentemente de os dados serem analisados com abordagens Bayesianas (Google Optimize, Optimizely, VWO, A/B Tasty) ou Frequentista (Convert Experiences, Dynamic Yield).
Portanto, as calculadoras de SRM acima também podem ser usadas para verificar o SRM em plataformas que usam estatísticas Bayesianas.
Quando você deve levar o SRM em consideração?
Encontrar uma incompatibilidade de proporção de amostra em seus testes não significa necessariamente que você precise descartar os resultados.
Então, quando é realmente necessário levar a sério o cálculo do SRM?
Vamos descobrir com alguns exemplos.
Você executa um experimento em que o Original e a Variação são atribuídos a 50% dos usuários. Você, portanto, espera ver aproximadamente um número igual de usuários em cada um.
Os resultados voltam como
- Controle: 21.588 usuários
- Tratamento: 15.482 usuários
Vamos colocá-los no SRM Checker:
Isso é motivo de preocupação?
O valor p para a razão amostral acima é <0,0001, então a probabilidade de ver esta razão ou uma mais extrema, sob um projeto que exigia proporções iguais, é <0,0001!
Você deve estar absolutamente preocupado que algo esteja errado , pois você acabou de observar um evento extremamente improvável. É, portanto, mais provável que haja algum bug na implementação do experimento e você não deve confiar em nenhum dos resultados.
Você executa outro experimento, em que o Original e a Variação recebem uma porcentagem igual de usuários. Você calcula o valor-p e é <0,002, portanto, um evento muito improvável.
Quão fora as métricas poderiam ser? Você realmente tem que descartar os resultados?
Usando uma plataforma de experimentação como o Convert Experiences, você pode aplicar alguma segmentação pós-teste aos resultados e descobrir que, se você excluir usuários do Internet Explorer, o SRM desaparecerá.
Nesse caso, os usuários excluídos provavelmente usam um navegador IE antigo, que foi a causa do SRM; um bot não foi classificado corretamente devido a algumas mudanças na Variação, causando a incompatibilidade de proporção.
Sem o segmento, a porcentagem restante de usuários é devidamente equilibrada e as métricas parecem normais.
Se o SRM não tivesse sido descoberto, todo o experimento teria sido considerado um grande fracasso.
Mas uma vez que o SRM foi detectado, um pequeno segmento pode ser removido e o experimento usado para análise adequada.
Em um cenário semelhante, você pode ignorar com segurança os usuários excluídos e o experimento pode ser usado .
Você executa um experimento e descobre que há SRM marcado em seu teste.
No entanto, se você prestar atenção em seus gráficos, notará que as curvas da taxa de conversão permanecem paralelas e a confiança calculada é de 99,99%. Esse padrão deve fornecer a você certeza suficiente de que os testes são válidos.
Nesse caso, você pode ignorar o SRM com segurança e continuar confiando em seus dados .
Onde você deve verificar se o SRM existe?
Existem algumas áreas onde o SRM pode ocorrer. Vamos dar uma olhada na taxonomia de causas de Lukas Vermeer:
- Atribuição de experimentos – Pode haver um caso de agrupamento incorreto (usuários sendo colocados em clusters incorretos), uma função de randomização defeituosa ou IDs de usuário corrompidos.
- Execução do Experimento – As variações podem ter começado em momentos diferentes (causando discrepâncias), ou pode haver atrasos na execução do filtro (determinando quais grupos serão submetidos ao experimento).
- Processamento de log de experimentos – Bots automáticos removendo usuários reais, atraso na chegada de informações aos logs.
- Análise do experimento – Acionamento incorreto da variação ou iniciá-la incorretamente.
- Interferência do experimento – O experimento pode estar sujeito a ataques e hacks, ou os impactos de outro experimento em andamento podem estar interferindo no experimento atual.
Se você tiver um SRM e não tiver certeza de onde procurar uma resposta, a taxonomia acima é um ponto de partida valioso.
E para deixar as coisas mais claras, agora vamos dar um exemplo da vida real para cada um desses casos.
Atribuição do experimento
Aqui é onde uma das coisas mais interessantes para ficar de olho é a função de randomização que sua plataforma de teste A/B está usando.
No exemplo abaixo, os cientistas de dados da Wish descobriram problemas de SRM em um teste A/A e, após uma longa investigação, concluíram que o SRM surgiu porque sua randomização não foi completamente aleatória.
Para alcançar resultados experimentais válidos, o procedimento de randomização é crucial.
Uma suposição crucial dos testes estatísticos usados nos testes A/B é o uso de amostras aleatórias. Entre os intervalos de experimentos, a randomização equilibra os atributos do usuário observados e não observados, estabelecendo uma relação causal entre o recurso do produto em teste e quaisquer diferenças de resultado nas descobertas do teste.
DICA PRO : O Convert tem seu próprio algoritmo de randomização que garante uma distribuição uniforme entre as variações, portanto, o SRM não pode ser causado por isso. No entanto, se você implementou a randomização com outra ferramenta, pode seguir estas etapas para agrupar os visitantes em variações.
Execução do experimento
Quando se trata de execução de experimentos, existem dois motivos principais que podem causar SRM em suas experiências.
1. O script não está instalado corretamente em uma das Variações
Sempre verifique se o script da sua plataforma de teste A/B está instalado corretamente no Original e nas Variações.
Nossa equipe de suporte ao cliente resolveu recentemente um caso em que o script Convert não foi adicionado em uma das variações, causando um SRM no teste.
Certifique-se de adicionar o script em todas as páginas em que deseja que a experiência seja executada, conforme mostrado abaixo:
2. A segmentação por página está configurada incorretamente
Nesse caso, a incompatibilidade do SRM ocorre porque o direcionamento do teste foi configurado incorretamente.
Com a configuração errada, alguns visitantes são selecionados para serem encaminhados para a variação, mas o redirecionamento falha, provavelmente porque a expressão de URL original não corresponde a todos os URLs de todos os visitantes agrupados no teste e redirecionados.
Para evitar isso, reconfigure as expressões de URLs de variação do experimento e execute o teste novamente.
Aqui estão mais dois cenários que mostram como configurar sua segmentação de página com o Convert Experiences para evitar SRM em testes de URL dividida.
Cenário 1: segmente apenas a página inicial (https://www.convert.com) com o URL dividido e passe todos os parâmetros de consulta que os visitantes possam ter
Aqui, na Área do Site, o URL da Página precisa corresponder exatamente a https://www.convert.com. Na seção de exclusão, a Query String deve conter v1=true para evitar redirecionamentos (porque as condições da experiência ainda serão correspondentes se você terminar em https://www.convert.com ?v1=true e o tráfego distribuição pode acabar desigual).
Então, quando você definir suas variações, mantenha assim:
Cenário 2: segmente todas as páginas, não apenas a página inicial (https://www.convert.com), com o URL dividido e passe os parâmetros de consulta
Aqui, você precisa definir sua Área do Site com um “URL da Página” que contém https://www.convert.com . Na seção de exclusão, a consulta deve conter v1=true.
Ao definir as variações, use a receita regex abaixo para capturar todas as pag:
Processamento de registro do experimento
Aqui, como principal motivo dos SRMs, identificamos os bots que podem direcionar sua experiência. Você pode entrar em contato conosco para verificar os logs adicionais que mantemos se encontrarmos padrões incomuns nos agentes do usuário.
Por exemplo, nossa equipe de suporte auxiliou um cliente cujo teste tinha SRM.
No caso deles, quando filtramos o relatório por Browser=Other , vimos uma divisão desigual e SRM. Mas quando filtramos o mesmo relatório por Browser=Chrome+Safari , nenhum SRM foi detectado e nenhuma distribuição desigual.
Então, verificamos alguns eventos que tinham o Browser definido como Other, e todos eles mostravam um User Agent de “site24x7”. Sabíamos imediatamente que se tratava de algum tipo de software de monitoramento, o que é uma sorte, pois é publicidade e usa um agente de usuário distinto. Se isso estivesse escondido atrás de um User Agent normal, seria impossível encontrá-lo.
Para resolver o problema, fomos em frente e adicionamos esse User-Agent à lista de bots que excluímos do tráfego. Infelizmente, essa alteração pode ter impacto nos dados futuros, após o momento em que adicionamos o bot à lista, mas pelo menos foi encontrado e corrigido.
Análise do experimento
Esta categoria afeta principalmente experiências definidas com acionamento manual.
Isso acontece, por exemplo, em aplicativos de página única, onde você precisa cuidar do acionamento por conta própria.
Portanto, sempre que você precisar fazer isso manualmente usando um código semelhante ao abaixo, preste muita atenção aos possíveis SRMs em seu teste.
window._conv_q = _conv_q || []; window._conv_q.push(["executar","true"]);
Interferência do experimento
Isso se refere a uma intervenção do usuário em que uma das variações é pausada durante a experiência. Imagine que você tem um teste de Split URL que está em execução há algumas semanas e, por engano ou de propósito, você pausa a Variação e deixa apenas a Original em execução.
Imediatamente depois, e dependendo do tráfego do seu site, você notará o SRM calculado para o seu teste.
Nesse caso, você pode excluir o período em que a variação foi pausada ou redefinir os dados da experiência.
Motivos não experimentais
Se nenhuma das categorias acima revelar a causa raiz do seu SRM, sugerimos que você adicione um software de rastreamento de erros em seu site (como o Sentry) para identificar problemas mais profundos com seu site.
Plataformas de teste A/B que suportam alertas SRM
Você pode estar se perguntando quais plataformas de teste A/B suportam essa funcionalidade SRM e fornecem alertas sem que você precise calculá-lo por conta própria.
Fizemos a pesquisa e compilamos uma lista de ferramentas.
Converter experiências
Em dezembro de 2021, introduzimos nosso próprio método SRM.
Se você for um usuário, poderá habilitar verificações de SRM em Configuração do projeto > Mais configurações.
Em seguida, você poderá ver as tags SRM nos relatórios:
Otimizar
Uma solução de teste sequencial otimizada de código aberto em setembro de 2021 que qualquer pessoa pode implementar para detectar SRM.
O Optimizely transformou o ssrm-test em um microsserviço de back-end pronto para produção que pode ser executado em todos os experimentos em execução ao mesmo tempo.
Na página de resultados do Optimizely, você pode configurar alertas e obter resultados em tempo real do ssrm-test:
Michael Lindon, estatístico da equipe da Optimizely, diz que o SRM é um problema típico que ocorre quando os testes são mal realizados.
Para executar um experimento de produto, é necessária uma quantidade substancial de infraestrutura, portanto, pode haver erros. Por exemplo, se os visitantes do site não forem agrupados de forma consistente em uma variação do experimento e converterem nas condições original e de variação, os dados obtidos para esse usuário não serão válidos para avaliar o impacto do experimento.
A principal preocupação é quando o SRM produz dados imprecisos que podem afetar suas métricas e passar despercebidos.
Adobe Target via MiaProva
Em abril de 2021, o Adobe Target fez parceria com a MiaProva para fornecer alertas SRM sobre atividades A/B.
Esses alertas notificam os clientes MiaProva que usam o Adobe Target quando uma incompatibilidade é detectada. Essa abordagem aplica automaticamente um teste Qui-Quadrado a cada teste A/B ao vivo.
Livro de Crescimento
GrowthBook é uma plataforma de teste A/B de código aberto com um mecanismo de estatísticas Bayesianas e verificações automáticas de SRM para cada experimento.
Cada experimento procura um SRM e avisa os usuários se um for identificado.
Quando você prevê uma certa divisão de tráfego (por exemplo, 50/50), mas vê algo drasticamente diferente (por exemplo, 40/60), você recebe um aviso. Isso só é exibido se o valor p for menor que 0,001, indicando que é extremamente improvável que ocorra por coincidência.
Os resultados de tal teste não devem ser confiáveis, pois são potencialmente enganosos, daí o aviso. Em vez disso, os usuários devem localizar e corrigir a origem do bug antes de reiniciar o experimento.
Split.io
Split é uma plataforma de entrega de recursos que potencializa o gerenciamento de sinalizadores de recursos, experimentação de software e entrega contínua.
A cada atualização de computação, a plataforma Split verifica a taxa de amostragem para ver se há uma diferença substancial entre as taxas de amostragem alvo e atual. Essa verificação de proporção de amostra pode ser encontrada abaixo do resumo das métricas principais e da organização, juntamente com outros detalhes importantes, como duração e última atualização.
Incompatibilidade de proporção de tamanho de amostra desmistificada
Você pode perguntar, com que frequência é “normal” ver um SRM?
Lukas Vermeer disse isso melhor. Mesmo as grandes empresas de tecnologia observam uma frequência natural de SRMs de 6% a 10% em seus experimentos controlados online.
Agora, se o SRM se repetir com mais frequência, isso garante uma investigação mais profunda do design do experimento ou do site.
Nossa equipe está sempre disponível para ajudá-lo se você estiver enfrentando problemas como os acima! Clique aqui para entrar em contato com nossa equipe.