how to properly analyze an ab test
TRANSCRIPT
HOW TO PROPERLY ANALYZE AN AB TEST
Juan Gabriel Gomila
¿TEST AB?¿CON VINO, POR FAVOR?
QUE ES UN TEST AB
¿Test AB? Contraste de Hipótesis
OBJETIVO
RIESGO
¿JB CATASTROFISTA?
1€
Idea: +20% de monedas por 1€ para incrementar drásticamente el Conversion Rate
Implementación directa: sin test AB
¿JB CATASTROFISTA?In
gres
os
0
50000
100000
150000
200000
Meses de 2013
Enero Marzo Mayo Julio Septiembre Noviembre
Real Previsión
¿JB CATASTROFISTA?
1€
Resultado
Inflación de monedas en el sistema
Fallo del 80% en las predicciones
Por 1€ se pasaron de 50 a 50MM monedas
CVR y ARPU bajan
Despido de 6 personas de PlaySpace
CATASTROFISTA VS
REALISTA
TESTEAR ANTES DE APLICAR
• Necesario para evitar males mayores
• Lleva tiempo, pero puede salvar millones
• Debe analizarse bien
• No es complicado
LA IDEA
NUEVA FUNCIONALIDAD
• Supongamos que tenemos una página de bienvenida a nuestro sitio web con un formulario de registro en ella
• Deseamos probar entre varios formatos de registro para conseguir el mayor porcentaje de registros en ella
• Optamos por realizar un test AB
NUEVA FUNCIONALIDADObjetivo:
CVR > 22%
NUEVA FUNCIONALIDAD
Control
Segmento A Segmento B Segmento C
GIMME GIMME
UN POCO DE JERGA• Acción: el suceso que queremos que realicen los usuarios
(en el ejemplo, registrarse)
• Visita: usuario que llega a ser susceptible de realizar la acción (alguien que ve el formulario de registro)
• Registro: usuario que llega a realizar la acción
• Conversion Rate: porcentaje de las visitas que se convierten a registros
¿COMO DIVIDIR EL TRÁFICO?
random
id de usuario par/impar
módulo n
registrados en segundos pares/ imparesid de login par/impar
compilación del navegador
id dispositivo par/impar
id de la mac
id de la ip
EXTRACCIÓN DE LOS DATOS
BBDD en MySQL
Google Analyticsadminflurry
Facebook InsightsDelta DNA
R Páginas de Facebook
¿COMO?
BBDD en MySQL
Google Analyticsadminflurry
Facebook InsightsDelta DNA
R Páginas de Facebook
AND THE WINNER IS…Test de la Página de Bienvenida de mi Web
Grupo Visitas Registros Ratio de Conversión
Control 362 72 19,89%
Segmento A 369 90 24,39%
Segmento B 368 55 14,95%
Segmento C 371 120 32,35%
AND THE WINNER IS…Test de la Página de Bienvenida de mi Web
Grupo Visitas Registros Ratio de Conversión
Control 362 72 19,89%
Segmento A 369 90 24,39%
Segmento B 368 55 14,95%
Segmento C 371 120 32,35% ¿?
IS C THE WINNER?
• Parece que el CVR de C es el mejor de todos, pero…
• ¿Cómo aseguramos que su victoria no es debida al puro azar?
• ¿Qué pasaría si en lugar de 360 visitantes tuviéramos 10.000?
• ¿Y si en lugar de 360 visitantes solo tuviéramos unos 10 (como pasa en los test AB de monetización), estaríamos tan seguros del resultado obtenido?
EL ANÁLISIS
ESTADÍSTICA, VEN A SOCORRERME
• Hipótesis nula: afirmación que deseamos validar o rechazar
El CVR de nuestra landing page no es inferior al 22%.
p: ratio de conversión del grupo de controlpx: ratio de conversión del grupo x
x es en nuestro caso A, B o C
ESTADÍSTICA, VEN A SOCORRERME
• Hipótesis alternativa: afirmación alternativa que aceptaremos si la nula resulta ser falsa
El CVR de nuestra landing page es inferior al 22%.
p: ratio de conversión del grupo de controlpx: ratio de conversión del grupo x
x es en nuestro caso A, B o C
DISTRIBUCIÓN NORMAL REQUIRED
Este tipo de experimentos, las variables que estudiamos se distribuyen en forma de variable aleatoria normal.
Cara o cruz Registro o no registro Pagar o no pagar
VARIABLES DICOTÓMICASEn este tipo de análisis, las variables pueden tomar dos valores, normalmente llamados éxito (H0) y fracaso (H1)
• Ocurre el evento con cierta frecuencia promedio (µ) pero los datos presentan cierta dispersión
¿Y ESTO CÓMO SE COME?• El pico de la curva coincide con el conversion rate medido
para cada uno de los segmentos estudiados
• La amplitud de la curva, nos indica la dispersión de los datos (cuanto más dispersos, menos podemos fiarnos de ellos)
• Si la diferencia entre las dos curvas es lo suficientemente significativa, sacaremos alguna conclusión del test AB.
• Si no… ¡volvemos a empezar!
NO TODO LO NORMAL ES IGUAL
Las distribuciones normales son como las tetas: no hay dos iguales
VARIABLE ALEATORIAPara el análisis se define una variable aleatoria que modela el comportamiento que estamos analizando para cada grupo de test seleccionado
La hipótesis nula es entonces
TEOREMA FUNDAMENTAL DE LAS DISTRIBUCIONES NORMALES
La suma de distribuciones aleatorias normales es una distribución aleatoria normal.
En estadística nada es cierto al 100%. Nos “conformaremos” con un 90%, 95% o un 99%.
Intentaremos que el error sea mínimo, pero aún así nos podríamos equivocar sin un volumen suficiente de datos
Z-SCOREPara cada grupo analizado, calculamos su z-score o puntuación tipificada
Las z-scores de diferentes poblaciones SÍ son comparables entre ellas.
Nx: población de muestra xN: población de grupo controlpx: CVR población muestra x
p: CVR población grupo control
UNAS VECES POR DELANTE, Y OTRAS POR DETRÁS
¿Es lo mismo alejarse mucho de la media por exceso que por defecto?
Sí No
El área coloreada es del 5 % (nuestro test AB era al 95% de confianza)Caemos en zona verde: ACEPTAMOS
Z-SCORE
z-score bilateral
z-score unilateral
90% 1.65 1.28
95% 1.96 1.645
99% 2.47 2.33
Y EN NUESTRO CASO
Unilateral Criterio de aceptación: 95%
z-score = 1.645Puntuaciones tipificadas > 1.645 Aceptamos el resultado del test ABPuntuaciones tipificadas < 1.645 No dan un buen resultado del test AB
AND THE WINNER IS…Test de la Página de Bienvenida de mi Web
Grupo Visitas Registros Ratio de Conversión
z-score
Control 362 72 19,89% -
Segmento A 369 90 24,39% 1,47
Segmento B 368 55 14,95% -1,76
Segmento C 371 120 32,35% 3,88
AND THE WINNER IS…Test de la Página de Bienvenida de mi Web
Grupo Visitas Registros Ratio de Conversión
z-score
Control 362 72 19,89% -
Segmento A 369 90 24,39% 1,47
Segmento B 368 55 14,95% -1,76
Segmento C 371 120 32,35% 3,88
• El segmento C se ha comportado sin duda muchísimo mejor que el grupo de control, con la puntuación típica más elevada de todas aquellas que superan el valor mínimo de 1.645.
• El segmento A tiene poca relevancia estadística, pero esta es totalmente irrelevante dado el resultado obtenido por el segmento C. Sería además insignificante para proceder a su implementación puesto que su valor es inferior del mínimo exigido de 1.645.
• El segmento B tiene incluso una puntuación típica negativa, así que puede descartarse como nueva opción a ocupar nuestro sitio web sin más problema.
AND THE WINNER IS…Test de la Página de Bienvenida de mi Web
Gropo Visitas Registros Ratio de Conversión
z-score
Control 362 72 19,89% -
Segmento A 369 90 24,39% 1,47
Segmento B 368 55 14,95% -1,76
Segmento C 371 120 32,35% 3,88
SHHHH…• En realidad, lo solemos hacer un poco más sofisticado
utilizando
• Intervalos de Confianza
• Análisis del error
• Observando diferentes tolerancias de error
Pero vamos, que la esencia del test AB es esta
BONUS
ALGUNOS EJEMPLOS
Invitar amigosUn simple hasta+500 monedas dobla la conversión
ALGUNOS EJEMPLOSConfiguración
Ruleta Daily Bonus
Balance uso vs inflación
ALGUNOS EJEMPLOS
PARA FANS DE EXCELLLLLTest AB de Landing Page
Gropo Visitas Registros Ratio de Conversión
px-p p*(1-p)/n z-score
Control 362 72 19,89% 0,00044015 -
Segmento A 369 90 24,39% 4,50% 0,00049977 1,47
Segmento B 368 55 14,95% -4,94% 0,00034543 -1,76
Segmento C 371 120 32,35% 12,46% 0,00058984 3,88
ratio de conversion = registros / visitaspx-p = p_segmento x - $p_control
p*(1-p)/n = p_segmento * (1-p_segmento)/visitas_segmento
z_score_segmento = (1)_segmento / sqrt((2)_segmento + $(2)_control)
(1)(2)
¿Y ESTO ME SIRVE A MI?• Creatividades de Ads• Imágenes de posts• Landing pages• Imágenes de ofertas y promos• Contenidos de las notificaciones (texto, regalos)• Contenidos de las push notifications• Formato y contenido de los emails y newsletters• Ofertas especiales (2x1 vs 3x1)• Publicidad a 1 minuto vs a 30 segundos• Cerrar salas vs tenerlas abiertas• Almacenaje de datos en sistema de colas vs procesado en tiempo real• Partidas especiales por créditos vs monedas• Contenido y relevancia de suscripciones• Lobby cartoon vs gambler• Precio entero .00 vs .99• Pop up en game_start vs game_end• …
RESUMEN
• El ratio de conversión de cada segmento de test se distribuye según una variable aleatoria normalmente distribuida.
• Nos interesa medir la diferencia de comportamientos entre un grupo de control y los segmentos de test que tengamos definidos.
• La propia diferencia de distribuciones es ella misma una variable aleatoria normalmente distribuida.
• Como solamente nos preocupan las diferencias positivas, solamente necesitamos preocuparnos por las puntuaciones típicas positivas y, de estas, tener en consideración todas aquellas que superen la puntuación de 1.65, correspondiente a la mitad positiva de la curva normal.
ENLACES DE INTERES
• Fuente: (excel de muestra para descargar)
• Teorema fundamental de las variables aleatorias normales:
Artículo How to properly analyze an AB Test
Demostración
GR4C142 x ∫u 473NC10N The name is B JB ;)