O que há de errado com o teste A / B



Preparamos para os leitores de Habra a tradução de um artigo de Michael Kaminsky, ex-diretor de análises da Harry's. Ele fala sobre o que há de errado com os testes A / B. Comentários sobre o material por Gleb Sologub, diretor de análises da Skyeng.


O conceito de teste A / B é baseado na suposição fundamentalmente errada de que existe uma solução única que é, em média, melhor para todos os clientes. Os analistas devem abandonar a suposição de que seu público é homogêneo e começar a desenvolver sistemas que permitam o uso (e incentivam) os resultados de testes que não sejam binários.


Nas últimas semanas, dois artigos muito interessantes foram publicados sobre interpretações não padronizadas de testes A / B. Um dos artigos do blog de engenharia da Uber é sobre o cálculo do efeito do impacto por quantis e o outro ( do excelente e consistente blog do StitchFix Data Science ) é sobre o uso de algoritmos de bandidos contextuais para obter personalização.


Ambos os artigos são interessantes, mas parece-me que eles têm muita teoria sobre a interpretação e implementação de testes e carecem de fatos. Reformulo minha tese para maior clareza:


O teste A / B tradicional é baseado em uma suposição fundamentalmente errada. Na maioria dos casos, a opção A será melhor para alguns subgrupos e a opção B para outros. Escolher A ou B perde inicialmente uma combinação cuidadosamente selecionada de A e B.


Infelizmente, a aplicação dessa abordagem ao teste, otimização e desenvolvimento de software não é fácil. Isso requer novas ferramentas estatísticas, novas ferramentas para o desenvolvimento e suporte de soluções de software, bem como o treinamento de partes interessadas, se você desejar que elas estejam envolvidas no processo. Neste artigo, darei um exemplo motivador e depois falarei sobre alguns dos problemas que você encontrará ao criar sistemas que se adaptam à nova realidade. Não discutirei os dados estatísticos subjacentes e relacionados à construção desses tipos de sistemas (leia melhor o artigo de StitchFix e este artigo do Google ), mas falarei sobre as oportunidades que vejo nos níveis estratégico e arquitetural.


Exemplo motivador


Para convencê-lo de que isso é importante, vejamos um pequeno exemplo. Embora esses números sejam fictícios, eles representam perfeitamente o que já vi inúmeras vezes na avaliação em tempo real dos testes A / B.


Outra empresa de colchões (EOMK) vende colchões on-line (você pode ver o anúncio deles no metrô). Eles querem testar um formulário de pedido atualizado e otimizado para telefones. Os designers estão um pouco preocupados com o fato de que, embora a versão atualizada seja menos complicada, ela também transmite menos informações durante o processo de pedido e isso pode afetar negativamente as conversões dos usuários com computadores desktop.


A equipe inicia o teste e obtém os seguintes resultados:


imagem


Droga, não há diferença! Intuitivamente, você decide compartilhar o tráfego no seu celular e PC.


imagem


Uau! A nova versão ... mostrou exatamente o que os designers esperavam! A situação se tornou melhor para usuários de dispositivos móveis e pior para usuários de PC.


É ruim que nosso teste A / B não tenha mostrado efeito. Talvez devêssemos enviar nossos designers para pensar em uma nova versão do formulário de pedido.


Mas espera! E se oferecermos suporte a uma versão móvel otimizada para usuários que acessam o site por telefone? E a versão otimizada para desktop - para usuários em computadores desktop? E se criarmos uma página de destino que funcione melhor nos fins de semana, quando as pessoas tiverem mais tempo para ler? E se nós criamos um anúncio que funcionou melhor na Califórnia, em vez de Massachusetts?


E se a página não atender a todos de uma vez?


As tarefas


É difícil dizer se essa ideia é óbvia ou revolucionária. É tão óbvio que parece quase estúpido. Mas se você observar como a maioria das empresas desenvolve, testa e depura produtos de software, é uma mudança bastante fundamental na abordagem dos problemas de software.


Muitas empresas ainda possuem apenas uma versão funcional do site. Os testes podem ser realizados, mas assim que um dos testes vence, a versão perdida é descartada e a única versão correta aparece, o "rei da colina".


Para cobrir toda a diversidade de clientes e usuários, é necessário desenvolver soluções de software de uma maneira fundamentalmente diferente. Precisamos de ferramentas novas e mais avançadas e também precisamos treinar as partes interessadas em uma nova maneira de pensar.


Hoje, tentar gerenciar cenários de uso com tantas variáveis ​​é muito difícil (se possível). Como gerenciar tantas opções é caro, muitas empresas nem tentam personalizar a experiência do cliente. A seguir, falarei mais sobre os problemas e descreverei maneiras de resolvê-los.


Ferramentas de programação


Em nosso admirável mundo novo, onde fornecemos uma variedade de conteúdo para diferentes categorias de usuários (em proporções que podem mudar com o tempo), precisaremos de ferramentas para o desenvolvimento e a análise de nosso software.


Parece que a consequência mais óbvia do uso desse paradigma será um aumento significativo na quantidade de código no projeto. Em vez de excluir ramificações obsoletas de código após o teste, teremos que suportá-las (talvez para sempre). Isso é horrível!


De fato, precisamos tornar os aplicativos mais modulares para que possamos constantemente desenvolver, testar, implantar e manter novas ramificações de código (por exemplo, novas versões para teste).


Para poder direcionar os usuários para diferentes ramificações do código com base em suas características (potencialmente o número de ramificações do script do usuário pode ser enorme), é necessário desenvolver uma arquitetura que suporte essa ramificação. Precisamos de um mecanismo centralizado de tomada de decisão que possa escolher a rota para esse usuário. Também é necessário que os componentes do caminho sejam intercambiáveis ​​o suficiente para orientar livremente o usuário ao longo da rota, mesmo que tenham sido desenvolvidos independentemente um do outro e sem um único caso de uso.


Por fim, sem um único caso de uso holístico, precisamos de ferramentas para que gerentes e designers de produto possam imaginar o caminho de um cliente em um jardim de caminhos divergentes. Como introduzimos e avaliamos novos recursos? Como rastreamos as etapas que esse usuário passou ao usar nosso aplicativo? Como podemos impedir que um aplicativo se transforme em uma massa disforme de código espaguete?


Comunicação e treinamento


Será especialmente difícil para as pessoas que estão longe do processo de criação de um produto adotar essa nova visão do desenvolvimento de software. Os gerentes estão acostumados a cuidar da rota de um único usuário, o único som da marca e a mesma experiência universal de interagir com um cliente. Quando começamos a personalizar a experiência do usuário, a oportunidade de falar sobre uma solução de software de apenas um ponto de vista desaparece.


Precisamos educar as partes interessadas sobre o valor dessa nova abordagem e ajudá-las a pensar em scripts personalizados e no som da marca nesse contexto. É necessário desenvolver métodos para determinar as rotas mais comuns. E ofereça aos gerentes as ferramentas para estudar o produto em nome de um usuário de um determinado subgrupo, para que eles possam ganhar experiência interagindo com um produto personalizado para diferentes usuários, de diferentes pontos de vista.


Ferramentas estatísticas


Provavelmente, em um mundo sem testes A / B, teremos de nos livrar de muitas ferramentas que tradicionalmente usamos para otimizar aplicativos da web. Todos os nossos esforços para treinar gerentes e profissionais de marketing no lançamento e interpretação de testes A / B não importam.


Neste novo mundo, precisaremos desenvolver novos métodos de pesquisa e visualização de amostras de diferentes tamanhos. Vamos precisar de métodos de comparação novos e mais avançados para não cair na armadilha de múltiplas comparações .


Conclusões


Considerando a verdadeira diversidade em nossa base de usuários, podemos melhorar a interação com um grande número de usuários, o que é muito valioso. Infelizmente, como muitas vezes acontece ao alterar a abordagem do desenvolvimento e implementação de tecnologias, essas vantagens são caras. Temos um longo caminho a percorrer, desde o ponto em que estamos agora, até um futuro emocionante e mais personalizado, e tenho certeza de que essa jornada será emocionante.


Nota do autor:
Excluo todas as discussões sobre intervalos de confiança e significância estatística por simplicidade. Desculpe.


Comentário de Gleb Sologub, diretor de análise da Skyeng

Michael resume as tendências atuais da personalização e fantasia sobre quais devem ser os meios e métodos de desenvolvimento e análise, quando todos os produtos de TI serão totalmente individualizados para usuários específicos.

Até agora, aprendemos como personalizar de duas maneiras: primeiro, criando cenários separados para diferentes segmentos de usuários; em segundo lugar, desenvolvendo soluções algorítmicas para exibir conteúdo personalizado em etapas individuais do funil.

Portanto, a Skyeng certamente otimizou as versões móveis do site e da plataforma de treinamento, bem como várias versões desses produtos para usuários de diferentes idades. Além disso, realizamos testes AB e percebemos que usuários de diferentes regiões têm necessidades diferentes, após o que introduzimos uma diferenciação da descrição de marketing dependendo da região.

Aos exemplos de personalização algorítmica, além das citadas por Michael, pode-se adicionar as listas longas e amplamente usadas de produtos ou conteúdos recomendados, bem como os sucessos relativamente recentes na geração de pôsteres de filmes individuais.

No entanto, tudo isso pode ser feito enquanto continua a usar os métodos e análises de desenvolvimento antigos.

No mesmo futuro que Michael descreve, os testes AB, como são, podem não valer a pena, mas eles precisarão de incrível modularidade de software e alguns novos métodos de análise para criar uma variedade infinita de cenários de usuários completamente individuais .

Nós da Skyeng já temos e estamos expandindo uma equipe de pesquisadores e analistas que estão estudando essas tendências e tentando aplicá-las para melhorar nossos produtos.

Source: https://habr.com/ru/post/pt440692/


All Articles