Contexto
Considere o cenário a seguir para uma empresa que vende mercadorias on-line. Um usuário pode comprar vários itens (por exemplo, cesta de itens), alguns dos quais são de particular importância e são rastreados especificamente (vamos chamá-los de itens em estrela).
Desejamos testar uma alteração em um algoritmo (por exemplo, recomendação, avaliação de risco, adicionar segmentação, qualquer que seja ...) que possa influenciar o número de itens em estrela vendidos e o total de vendas .
- Esta é uma configuração de teste A / B padrão - a unidade de randomização está no nível do usuário .
- O objetivo do teste A / B é comparar o impacto da alteração do algoritmo: o grupo de controle possui o algoritmo original e a variante possui o novo algoritmo
- Uma métrica chave de interesse é definida como a proporção de vendas de itens em estrela sobre o total de vendas . É uma soma de todas as transações de todos os usuários no escopo de cada grupo A ou B.
- Isso significa que a unidade de análise está no nível da transação, que é diferente da unidade de randomização
- As métricas são calculadas durante toda a duração do teste (por exemplo, 2 semanas)
Detalhe da métrica usada
Dado o grupo A e um conjunto de usuários , cada usuário está envolvido em um númerode transações. O conjunto de todas as transações de todos os usuários do grupo A durante o teste é .
A métrica de interesse para o grupo A é definida em todas as transações no escopo do grupo A. As somas estão no nível da transação, não no nível do usuário.
Obviamente, poderíamos modificar a definição para calcular a média do nível do usuário e isso simplificaria tudo, mas essa não é a métrica que está sendo usada.
Questões
Que teste estatístico poderia ser usado para essa métrica? Uma consideração adicional é que, embora possamos assumir com segurança que os usuários são iid, é mais provável que seja errado supor que cestas de compra individuais sejam iid para o mesmo usuário.
Aqui estão algumas idéias que me deparei. Algum profissional de testes A / B encontrou métricas semelhantes no passado?
- teste z de proporções
- Bootstrapping e Jacknife
- Método Delta
- Alterar a métrica (último recurso)
https://en.wikipedia.org/wiki/Ratio_estimator
Editar - Alguns esclarecimentos
A razão por trás dessa pergunta é que muitas vezes vi o teste z de proporção sendo usado nessa situação. As ferramentas populares usadas para o teste A / B geralmente são padronizadas no teste de proporção e os usuários corporativos raramente verificam as premissas subjacentes necessárias para que o teste seja válido. A resposta do @ dnqxt abaixo é um bom exemplo: "Basta usar o teste z de proporção!" - mas eu gostaria de ver uma justificativa estatística rigorosa sobre por que (ou por que não) esse teste pode ser usado nesse caso.
Pessoalmente, não acho que o uso de um teste z de proporções funcionaria aqui, pois as vendas de um evento de compra não são testes de Bernoulli. Argumento que não podemos dizer que cada dólar vendido no denominador pode ser visto como um teste de Bernoulli, resultando em 0 ou 1 dólar de item estrela vendido no numerador. Além disso, como a unidade de randomização está no nível do usuário, os eventos de compra do mesmo usuário não são independentes (mas eu diria que esse é um problema secundário). Eu posso estar errado aqui, então fique à vontade para provar isso de outra forma!
Também podemos alterar a métrica para torná-la um Bernoulli / Binomial que converge para Normal usando contagens, mas essa seria uma solução de último recurso
fonte
Respostas:
teste z de proporções
Isso se aplica a um caso diferente quando você tem resultados binários. O teste z de proporções compara as proporções desses resultados binários.
(Abaixo é apresentado algum argumento de que você poderá fazer um teste t, que para números grandes é aproximadamente o mesmo que o teste z. Com proporções, você pode fazer um teste z porque a distribuição binomial tem um parâmetro que determina a variância e média, diferentemente de uma distribuição normal)
Bootstrapping
Isso será possível, mas não realmente necessário, devido ao método Delta, que fornece o erro da sua estatística observada mais diretamente.
Método Delta
Você está interessado na proporção de duas variáveis possivelmente correlatas: 1. o total de vendas e 2. as vendas em itens em estrela.
É provável que essas variáveis sejam distribuídas assintoticamente normais, pois são somas das vendas de muitos indivíduos (o procedimento de teste pode ser considerado um processo como escolher uma amostra de vendas de usuários individuais de uma distribuição de vendas de usuários individuais). Assim, você pode usar o método Delta.
O uso do método Delta para a estimativa de razões é descrito aqui . O resultado dessa aplicação do método Delta na verdade coincide com uma aproximação do resultado de Hinkley , uma expressão exata para a razão de duas variáveis distribuídas normais correlacionadas (Hinkley DV, 1969, Sobre a razão entre duas variáveis aleatórias normais correlacionadas, Biometrica vol. 56 n ° 3).
ParaZ=XY com [XY]∼N([μxμy],[σ2xρσxσyρσxσyσ2y]) O resultado exato é: f( z) =b ( z) d( z)a ( z)31 12 π--√σXσY[ Φ (b ( z)1 -ρ2-----√a ( z)) -Φ ( -b ( z)1 -ρ2-----√a ( z)) ]+1 -ρ2-----√πσXσYa ( z)2exp( -c2 ( 1 -ρ2)) com a ( z)b ( z)cd( z)====(z2σ2X-2 ρ zσXσY+1 1σ2Y)1 12μXzσ2X-ρ (μX+μYz)σXσY+μYσ2Yμ2Xσ2Y-2 ρμXμY+σXσY+μ2Yσ2Yexp (b ( z)2- c a ( z)22 ( 1 -ρ2) a ( z)2)
E uma aproximação baseada em um comportamento assintótico é: (por θY/σY→ ∞ ): F( z) → Φ (z-μX/μYσXσYa ( z) /μY)
Você acaba com o resultado do método Delta ao inserir a aproximação a ( z) = a (μX/μY) a ( z)σXσY/μY≈ a (μX/μY)σXσY/μY=(μ2Xσ2Yμ4Y-2μXσXσYμ3Y+σ2Xμ2Y)1 12
Os valores paraμX,μY,σX,σY, ρ pode ser estimado a partir de suas observações, que permitem estimar a variação e a média da distribuição para usuários únicos e, relacionado a isso, a variação e a média para a distribuição amostral da soma de vários usuários.
Alterar a métrica
Eu acredito que é interessante fazer pelo menos um gráfico inicial da distribuição das vendas (e não dos índices) dos usuários únicos. Eventualmente, você pode acabar com uma situação que não é uma diferença entre os usuários do grupo A e B, mas só acontece de ser não significativa quando se considera a única variável da razão (isto é um pouco semelhante ao MANOVA ser mais poderoso testes ANOVA únicos).
Enquanto o conhecimento de uma diferença entre os grupos, sem diferença significativa na métrica que você está interrested em, pode não ajudar muito na tomada de decisões, que faz ajuda-lo a compreender a teoria subjacente e, possivelmente, projetar melhores Alterações / experimentos próxima vez.
Ilustração
Abaixo está uma ilustração simples:
Que a distribuição hipotética de vendas dos usuários seja distribuída como fraçõesa , b , c , d que indicam quantos usuários são de um caso específico (na realidade, essa distribuição será mais complexa):
Em seguida, a distribuição de amostra para totais de grupos com 10000 usuários, com um algoritmoa = 0,190 , b = 0,001 , c = 0,800 , d= 0,009 e o outro algoritmo a = 0,170 , b = 0,001 , c = 0,820 , d= 0,009 vai parecer:
O que mostra 10000 execuções atraindo novos usuários e calculando as vendas e os índices. O histograma é para a distribuição das proporções. As linhas são cálculos usando a função de Hinkley.
Código R para calcular o gráfico:
fonte
O que é descrito é um caso clássico de um experimento A / B em que temos dependência entre usuários e itens (compras aqui); precisamos levar isso em consideração, pois, caso contrário, teremos uma estimativa tendenciosa da variação associada. Para combater isso, nós inicializamos levando em conta os clusters de usuário / item ou tornamo-nos totalmente paramétricos usando um modelo misto. O artigo de Bakshy & Eckles (2013) Incerteza em Experimentos Online com Dados Dependentes: Uma Avaliação de Métodos de Bootstrap é uma referência inestimável sobre o assunto que se concentra nos testes A / B online.
Analisando as coisas com mais detalhes, de certa forma, o artigo em preto e branco é um caso de uso estendido do artigo de Owen (2007) The bootstrap . Da mesma forma, a abordagem de efeito misto é baseada no artigo super-clássico de Bayeen et al. (2009) Modelagem de efeitos mistos com efeitos aleatórios cruzados para sujeitos e itens .
Para comentar brevemente os métodos mencionados: ao identificar corretamente oz - o teste de proporção é simplista demais; assumirá a DID e, como o documento da B&E apresenta, essa suposição pode ser seriamente enganosa. A mesma limitação se estende ao bootstrap, se ignorarmos a estrutura dos dados. Em relação ao método Delta: desvios da normalidade e / ou dados ruidosos geralmente tornam o método Delta abaixo do ideal em comparação às abordagens de autoinicialização (por exemplo, Hole 2007 Uma comparação de abordagens para estimar intervalos de confiança para disposição de pagar medidas ), mas vi alguns trabalhos recentes ( Por exemplo, Deng et al. 2017 Análise confiável de testes A / B on-line: armadilhas, desafios e soluções e Deng et al. 2018 Aplicação do método Delta no Metric Analytics: um guia prático com idéias inovadoras) que parecem promissores; observe que existe a suposição implícita de que o efeito médio do tratamento será normal. Por fim, a mudança de métrica também é uma excelente idéia quando razoável. Não devemos ter medo de pressionar por mudanças matematicamente mais coerentes apenas porque uma métrica já está em vigor.
Conclusão: se existe um esquema abrangente em todos os artigos que citei acima, precisamos garantir que nossa unidade de análise e nossa unidade de randomização estejam alinhadas com nossas perguntas de pesquisa.
fonte
Uma abordagem muito simples seria usar um teste de permutação. Este é um teste sem distribuição, para que você não precise se preocupar com distribuições.
A ideia é simples. Você aleatoriamente embaralha os rótulos e conta quantas vezes a diferença medida de sua métrica de interesse é maior que a diferença obtida dos dados reais. A proporção que você obtém é o seu valor-p.
Por que isso funciona? Bem, se a hipótese nula for Verdadeira, a reprodução aleatória dos rótulos (ou seja, pertencer ao grupo A ou B) frequentemente produziria valores melhores que o que você mediu. No entanto, se o seu algoritmo de recomendação funcionar, o embaralhamento aleatório raramente produziria um resultado melhor do que o obtido.
Você também pode usar a inicialização para obter intervalos de confiança em sua métrica do seu grupo A e B. Isso, dois, é permitido sem suposições sobre sua distribuição. Isso não é equivalente a um teste estatístico (mesmo que os intervalos de IC não se cruzem), mas o aspecto visual das barras "barras + erro" pode ser interessante para sua equipe.
Eu respondi a uma pergunta muito semelhante (onde você realmente me encontrou). Como testar a diferença em duas proporções quando os resultados não são binários? . Eu acho que o código que sugeri lá se aplica aqui também.
fonte
Intervalos de confiança de bootstrap seria minha escolha de técnica para esse cenário. Gostaria de descrever uma abordagem com alguns exemplos de números de opções que você pode usar e o raciocínio por trás da abordagem:
Opinião pessoal fora do tópico: sempre escolha visualizar coisas como distribuições sempre que possível, temos o poder de fazer isso hoje em dia. Os testes acima são totalmente bons, mas há casos em que eles podem dar errado. Por exemplo, se você escolherB por ser extremamente alto, digamos 1000000, mesmo a menor diferença entre as médias provavelmente será sinalizada como significativa.
O exposto acima é robusto, porque, independentemente da distribuição subjacente, o teorema do limite central garante que, seB for suficientemente grande, ambos os meios deMe t r icv a r e Me t r icc t r as amostras serão normalmente distribuídas e os testes serão válidos. Você também testemunhará isso pelo visual. Quaisquer preocupações sobre distribuições subjacentes de diferentes gastos de usuários etc. serão tratadas pela CLT.
Há muitas referências e boas leituras pelos usuários antes de mim. Além disso, há muita pesquisa realizada sobre os números ótimos de exemplo que mencionei acima, para os quais você pode pesquisar. Eu só queria fornecer a você um esboço de abordagem mais empírico e fácil de entender que seja robusto. Você pode começar com isso e ver se as coisas mudam alterando os números de exemplo acima.
fonte