Você está na página 1de 53

5.

5
Testes A/B

THIAGO BELLUF INOUE


THIAGO BELLUF
https://br.linkedin.com/in/thiago-belluf-inoue-231b4a38/

Mini Currículo:
Engenheiro de Controle e Automação e Gerente de
Produtos

Ex Data Scientist, trabalhou com desenvolvimento de


personalização para e-commerce, migrando depois para
desenvolvimento de produto, gerenciando times voltados
a busca, personalização, experimentação e análise de
dados

Life Achievements:
Participei da criação de ferramentas de teste A/B do zero,
conhecendo em detalhes os desafios de implementação

Empresas por onde passei:


AGENDA DESTE TÓPICO

5. 6.
2. 3. 4.
1. Boas práticas Outras
Implementação Desenho de Análise de
Introdução e erros técnicas legais
e operação Experimentos Resultados
comuns :)
POR QUE TESTAR!?


70% dos testes feitos não atingem os resultados para
os quais foram planejados

Paper: Online Experimentation at Microsoft


http://ai.stanford.edu/~ronnyk/ExPThinkWeek2009Public.pdf
POR QUE TESTAR!?

Como separamos as iniciativas que


melhoram das que não trazem o
resultado esperado?

Var vs Con = 0%
Como podemos permitir?

ESCALA
VELOCIDADE
QUALIDADE
1.1 - CINTO DE UTILIDADES

Multi-armed
Gravação de Bandit
Interleaving

Online
interações
ta
er

So Heatmaps & Teste A/B


b

l
uç Scrollmaps
co

Séries
ã Surveys / Polls
es

o Temporais
D

o
A

çã

Testes de
va

Offline Cross-validation
u

Surveys Usabilidade
l

tr
ia

ns
çã

Co
o

Simulação
Avaliações
Heurísticas

Qualitativo Quantitativo
1.2 - O QUE É UM TESTE A/B

Split Homogêneo

representativo
1.3 - O QUE NÃO É UM TESTE A/B

Split Heterogêneo

Por exemplo:

Por estado
SP vs. RJ

Perfil Usuário
Novos vs. Recorrentes

Plataforma
Android vs. iOS
1.4 - QUANDO FAZER UM TESTE A/B?

O volume da sua segmentação é relevante?

O número de usuários da segmentação que atinge o objetivo é


relevante?

Existe evidência forte de que a alteração testada irá causar um


uplift relevante na(s) métrica(s) objetivo?
1.5 - QUANDO FAZER UM TESTE A/B?
Cheat Sheet

Usuários atingindo o Forte evidência de grande


Segmentação relevante? O que fazer?
objetivo relevante? incremento?

SIM SIM SIM Do it!

Aumente o tempo de teste ou aumente


SIM SIM NÃO
a sensibilidade da Métrica Objetivo

SIM NÃO SIM Do it!


AItere e pense em alguma iniciativa
mais ousada! Provavelmente o tempo
SIM NÃO NÃO
de implementação e teste não vale o
potencial resultado!
NÃO SIM SIM Do it!
Itere! Pense em algo mais ousado!
Provavelmente o tempo de
NÃO SIM NÃO
implementação e teste não justificam o
resultado estimado!
Pense bem se o ganho absoluto da
métrica de conversão paga o tempo de
NÃO NÃO SIM desenvolvimento e teste. Caso não,
procure maneiras alternativas de
validação
NÃO NÃO NÃO Drop it!
AGENDA DESTE TÓPICO

5. 6.
2. 3. 4.
1. Boas práticas Outras
Implementação Desenho de Análise de
Introdução e erros técnicas legais
e operação Experimentos Resultados
comuns :)
2.1 - PARTES DE UMA FERRAMENTA DE TESTE

CONFIGURAÇÃO

SEGMENTAÇÃO

STICKINESS

TRACKING

PROCESSAMENTO

VISUALIZAÇÃO
2.2 - CONFIGURAÇÕES DE TESTE

Ligar e desligar o teste: Manual ou automático, de acordo


com critério de parada

Remote config: Habilidade de alterar configurações


remotamente

Especialmente importante para Apps! No releases!

Config de variáveis: Solução se adapta de acordo com


variáveis passadas
2.3 - SPLIT

Processo de atribuir um
grupo a um usuário de teste

Identificadores de usuário:
Cookie ID
Device ID
Device Fingerprint

Unidade do split:
Usuário
Sessão
2.4 - STICKINESS

Processo manter o usuário dentro do


mesmo grupo durante o teste

Estruturas de persistencia:
Cookie: efêmero (especialmente em plataformas mobile)
Memória do aplicativo
Offline Memory no PWA

Cache
Pode misturar apresentações de variantes
dependendo da verificação de split
2.5 - TRACKING

Coleta e armazenamento das ações do


usuário

Informação completa
Garantia de que o necessário está sendo
coletado

Dimensões
Garantia de que informações adicionais
para gerar segmentações estão sendo
coletadas

Sistema de tracking robusto:


Preocupação com perda ou inconsistência
2.6 - PROCESSAMENTO DOS DADOS

Análise dos dados e aplicações das


técnicas estatísticas para geração dos
resultados

Tão complexo quanto:


O volume de dados a serem
processados

A complexidade da estatística a ser


aplicada
2.7 - VISUALIZAÇÃO

Camada de acompanhamento e
interpretação dos resultados do
teste

Apresentação da estatística
Desafio de comunicar para
usuários com baixo conhecimento
específico

Evitar o picking
Como mostrar a evolução do teste
mas evitar conclusões
antecipadas?
AGENDA DESTE TÓPICO

5. 6.
2. 3. 4.
1. Boas práticas Outras
Implementação Desenho de Análise de
Introdução e erros técnicas legais
e operação Experimentos Resultados
comuns :)
RECAP: TIPOS DE ERROS ESTATÍSTICOS
Erro tipo I: Falso positivo. NÃO existe diferença e o resultado diz que existe!

O réu é inocente, porém o veredito aponta culpa!

Erro tipo II: Falso negativo. Existe diferença e o resultado diz que NÃO existe!

O réu é culpado, porém o veredito aponta inocência!

Realidade

SIM NÃO

SIM True Positive False Positive


Resultado
NÃO False Negative True Negative
3.1 - CHECKLIST - Desenhando um teste
Descreva suas hipóteses - Problema e Solução

Defina sua segmentação objetivo

Defina as métricas de avaliação do teste

Defina a rigorosidade da análise

Calcule os tamanhos de amostra e tempo de teste

Itere se necessário!
3.1 - DESCREVA AS HIPÓTESES

Específica: Rica em
detalhes

Simples: Poucas
mudanças de cada vez
3.2 - DEFINA A SEGMENTAÇÃO DE TESTE

Exemplo
Teste de um novo algoritmo de ordenação de busca

Todos os usuários do produto

Usuários que fazem uma busca

Usuários que fazem uma


busca com palavra-chave
3.3 - VERIFIQUE SE É POSSÍVEL IDENTIFICAR A
SEGMENTAÇÃO DE TESTE

Segmentação de teste:
Novos usuários!

Opção I: Segmentar
apenas os usuários
novos

Opção II: Segmentar


todos os usuários e
filtrar no
processamento
Onboarding
3.4 - DEFINA AS MÉTRICAS DO TESTE
Preste atenção nas características antes de escolher

Sensibilidade

No mundo ideal você Atraso


gostaria de usar
impacto na receita Se você tem algum
Robustez
em todos os testes atraso para medir sua
que você faz. Mas Métricas que têm
métrica principal, a
nem sempre é variabilidade muito alta
regra de bolso é usar
possível! (geralmente
no mínimo 3 vezes o
sazonalidade)
tempo total no seu
costumam exigir um
teste.
tempo de teste maior.
3.4 - DEFINA AS MÉTRICAS DO TESTE
Métricas específicas do teste

Métricas Métricas Métricas


Objetivos Explicativas Restritivas

Métricas que ajudam Métricas e


Métricas que
a explicar o tolerâncias a serem
definem sucesso do
resultado. respeitados como
teste, que definem
Importantes para resultado do teste.
se o problema
gerar os Podem inclusive
proposto foi
aprendizados de determinar o sucesso
resolvido.
teste. ou falha.
3.4 - DEFINA AS MÉTRICAS DO TESTE
Scorecard

KPIs do Métricas do
Guardrail
Negócio teste

Principais KPIs da
empresa. Métricas restritivas
Métricas desenhadas
Normalmente o final globais.
para o teste
dos principais funis Normalmente bem
específico (sessão
ou outros KPIs que alto nível.
anterior).
mostram a saúde
global do produto. Ex.: Tempo de
Ex.: CTR da busca
resposta
Ex. Receita
3.4 - DEFINA AS MÉTRICAS DO TESTE
Tipo de métrica

Calculadora da Optimizely: Implicito!

Exemplo
Teste: otimização de formulário

Binary metric: % de usuários que abrem


o formulário e clicam
Calculadora da Booking: Explicito!
Continuous Metric: número de cliques
por usuário que abre o formulário
Calculadora de Amostra da Booking
3.5 - DEFINA A RIGOROSIDADE DA ANÁLISE

Alfa - Probabilidade de erro tipo I Escolha de


NÃO existe diferença e o teste diz que existe!
Regra de bolso: 5% acordo com o
risco do seu
Beta - Probabilidade de erro tipo II
Existe diferença e o teste diz que NÃO existe!
teste!
Regra de bolso: 20%

Poder do teste
1- Regra de bolso: 80%
3.6 - CALCULE O TAMANHO MÍNIMO DA AMOSTRA
Para cada métrica crítica do teste*:
1. Defina o baseline: valor da métrica antes na versão de controle
2. Para métricas contínuas, determine também a variabilidade
3. Defina a mínima diferença detectável (sensibilidade): menor
incremento/decremento possível de ser identificado
4. Aplique as definições na calculadora de amostra (Booking power calculator)
Hipótese - Problema Segmentação Objetivo (Amostragem) Booking - Power Calculator Test Card

Rigorosidade da Análise
Métricas Objetivo (Critério de sucesso)
Nível Significância (alfa)
-

Poder Teste (1 - beta)

Mínimo Detectável

Métricas Descritivas (Explicam o resultado) Referência

Usuários Diários Segmentação


Hipótese - Solução (5W2H)
Baseline Métrica objetivo

Usuários segmentação objetivo

Métricas Restritivas () Operação do Teste


Split de Teste (%)

Tamanho da Amostra

Dias de teste
3.8 - CASE OLX
Controle Variante
Hipótese - Problema Test Card
Rigorosidade da Análise
Durante o processo de tomada de Segmentação Objetivo Busca
decisão sobre qual item é relevante Nível Significância (alfa) 5%
para a compra, as fotos desempenham Métricas Objetivo
um papel de grande importância. No
Poder Teste (1 - beta) 80%
nosso resultado de busca atual, o O1. % de usuários que fazem um
tamanho da foto não deixa o usuário contato
observar detalhes e Mínimo Detectável 1.5%
consequentemente leva o indivíduo a
ter que tomar uma ação de visitar a
página de detalhe do anúncio para Referência
conseguir avaliar a foto em questão.
Métricas Descritivas Usuários Semanais 3M
Segmentação
D1. Cliques na busca por usuário
Hipótese - Solução (5W2H) Baseline Métrica objetivo 4.15%
D2. Tempo médio de sessão por (O2)
Mudando o formato de apresentação usuário
dos resultados, aumentando o Usuários -> objetivo 125k
tamanho da primeira foto, o usuário vai D3. Buscas por usuário
conseguir ver detalhes e antecipar sua
Operação do Teste
tomada de decisão, evitando ações
extras de inspeção de detalhes de
Split de Teste (%) 50%
anúncios e navegando mais. Métricas Restritivas
Consequentemente espera-se que ele
encontre, no mesmo tempo, mais R1. [Pub] Scroll-views de Listing por Tamanho da Amostra 3.25M
anúncios relevantes e faça mais usuário
contatos.
Dias de teste 15

Booking - Power Calculator


*GA = Google Analytics
3.9 - CASE OLX
Controle Variante
Hipótese - Problema Test Card
Rigorosidade da Análise
- Baixa legibilidade do conteúdo Segmentação Objetivo Ad Detail
- Botões de ação para contato Nível Significância (alfa) 5%
escondidos
- Página extensa, com descrições Métricas Objetivo
Poder Teste (1 - beta) 80%
muito grandes poluindo a
O1. Pageviews de Ad detail por usuário
página
Mínimo Detectável 2%

Referência

Métricas Descritivas Usuários Semanais 770k


Segmentação
D1. Tempo médio de sessão por usuário
Hipótese - Solução (5W2H) Baseline da métrica obj. 1.7
D2. Pageviews de Ad detail por usuário
- Aumentar o tamanho da fonte
- Aumentar o espaçamento entre Variabilidade da métrica obj. 0.5
as linhas
- Aumentar o destaque de preço
Operação do Teste
- Fixar os botões de contato na
parte inferior da página e
Split de Teste (%) 50%
acompanhar a navegação Métricas Restritivas
- Colapsar o campo de descrição
e mostrar apenas se o usuário R1. [Pub] Pageview de Ad Detail por Tamanho da Amostra 7k
requisitar usuário
Dias de teste 1

Booking - Power Calculator


*GA = Google Analytics
AGENDA DESTE TÓPICO

5. 6.
2. 3. 4.
1. Boas práticas Outras
Implementação Desenho de Análise de
Introdução e erros técnicas legais
e operação Experimentos Resultados
comuns :)
RECAP: Intervalo de confiança
RECAP: Intervalo de confiança

Mean Mean

Probability Probability

Mais dados

Value Value
RECAP: Diferença significativa

Mean Mean Mean Mean


Probability Probability

Value Value

Diferença significativa Diferença NÃO significativa


4.1 - CHECKLIST - Fechando um resultado

Verificar o tamanho da amostra coletada e critério de parada

Observe se existe diferença significativa nas métricas objetivo e


restritivas

Verifique a diferença calculada quando existir


Verifique as métricas explicativas e interprete seu teste

Itere!
4.4 - Exemplo de um resultado
AVG

Probabilidade

Operação do Teste

Status Ended

Amostra coletada 5M
Value

Dias de execução 15

Controle Variante B Efeito


Tipo Métrica LB AVG UB LB AVG UB LB AVG UP
Objetivo % de usuários que fazem contato 4.05% 4.15% 4.25% 4.15% 4.22% 4.29% -0.4% 1.6% 3.8%
Descritiva Cliques na busca / usuário 50.5 51.96 52.3 52.1 55.0 55.7 5.8% 5.92% 6.1%
Descritiva Tempo médio de sessão por usuário (m) 15.5 16.93 18.3 15.2 16.86 17.4 - - -
Descritiva Buscas por usuário 49.5 50.2 53.5 49.7 50.3 53.7 - - -
Restritiva Scroll-view por usuário 79,4 80.3 81,2 77,2 78,93 79,3 -2.3% -.1.7% -1.1%

UB = UpperBound
LB = Lowerbound
AGENDA DESTE TÓPICO

5. 6.
2. 3. 4.
1. Boas práticas Outras
Implementação Desenho de Análise de
Introdução e erros técnicas legais
e operação Experimentos Resultados
comuns :)
5.1 - Faça testes A/A e A/B simultâneos
Te ajuda a ver os resultados estatísticos ao mesmo tempo que serve como sanity check

0.340 0.445 0.550


A1

Diferença

0.348 0.458 0.568


A2 A1 vs. A2 2.9%

A1 vs. B -3.1%
0.328 0.431 0.534
B
5.2 - Normalize suas variáveis pelo critério de split
Do contrário você pode incorrer em viés no momento da conclusão

Conversões / Sessão:

A = 900 / 3000 = 0.300


Sorteio: Por usuário B = 872 / 2850 = 0.306

B vs. A = +2.00%
A (50%) B (50%)
1000 Usuários = 1000 Usuários
3000 Sessões
> 2850 Sessões
Conversões / Usuários
900 Conversões > 872 Conversões
A = 900 / 1000 = 0.90
B = 872 / 1000 = 0.87

B vs. A = -3.10%
5.3 - Caracterize suas variáveis mais usadas
E use técnicas adequadas para evitar enviesamento de resultados

Tópico avançado!

Peça ajuda do seu amigo


estatístico de plantão!
LIVE DEMO - GOOGLE OPTIMIZE
AGENDA DESTE TÓPICO

5. 6.
2. 3. 4.
1. Boas práticas Outras
Implementação Desenho de Análise de
Introdução e erros técnicas legais
e operação Experimentos Resultados
comuns :)
6.1 - INTERLEAVING
Técnica para explorar mais rápido um universo muito grande de possibilidades!

Diferença entre o interleaving e o


teste AB
Referência: https://medium.com/netflix-techblog/interleaving-in-online-experiments-at-netflix-a04ee392ec55
6.1 - MULTI-ARMED BANDIT

Método de otimização que se adapta


automaticamente a melhor solução

Baseado na dualidade de otimização:

Exploração: adquirir
conhecimento

Exploitação: usar o
conhecimento adquirido

Desafios:
Estatística mais avançada
Tunagem para convergência
Restrições fortes de tempo-real
RESUMO
Preste atenção nas
Teste A/B não é algo trivial
suas hipóteses

Mas não deixe de fazer! Simples e específicas, assuma


Probabilisticamente, você vai controle do seu teste e seja
errar antes de acertar! consciente sobre as mudanças

Cuide da operação da sua


Siga os protocolos!!!
ferramenta com carinho

Faça sanity checks sempre que Não pule a etapa de desenho,


possível e considere todos os siga o critério de parada e evite
detalhes na hora da o picking ;)
implementação
REFERÊNCIAS

BLOGS E ARTIGOS CASE

Link Link 2

Link
@thiagobelluf

MUITO
OBRIGADO!

Você também pode gostar