how to properly analyze an ab test

48
HOW TO PROPERLY ANALYZE AN AB TEST Juan Gabriel Gomila

Upload: juan-gabriel-gomila-salas

Post on 17-Aug-2015

100 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: How to properly analyze an ab test

HOW TO PROPERLY ANALYZE AN AB TEST

Juan Gabriel Gomila

Page 2: How to properly analyze an ab test

¿TEST AB?¿CON VINO, POR FAVOR?

Page 3: How to properly analyze an ab test

QUE ES UN TEST AB

¿Test AB? Contraste de Hipótesis

Page 4: How to properly analyze an ab test

OBJETIVO

Page 5: How to properly analyze an ab test

RIESGO

Page 6: How to properly analyze an ab test

¿JB CATASTROFISTA?

1€

Idea: +20% de monedas por 1€ para incrementar drásticamente el Conversion Rate

Implementación directa: sin test AB

Page 7: How to properly analyze an ab test

¿JB CATASTROFISTA?In

gres

os

0

50000

100000

150000

200000

Meses de 2013

Enero Marzo Mayo Julio Septiembre Noviembre

Real Previsión

Page 8: How to properly analyze an ab test

¿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

Page 9: How to properly analyze an ab test

CATASTROFISTA VS

REALISTA

Page 10: How to properly analyze an ab test

TESTEAR ANTES DE APLICAR

• Necesario para evitar males mayores

• Lleva tiempo, pero puede salvar millones

• Debe analizarse bien

• No es complicado

Page 11: How to properly analyze an ab test

LA IDEA

Page 12: How to properly analyze an ab test

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

Page 13: How to properly analyze an ab test

NUEVA FUNCIONALIDADObjetivo:

CVR > 22%

Page 14: How to properly analyze an ab test

NUEVA FUNCIONALIDAD

Control

Segmento A Segmento B Segmento C

Page 15: How to properly analyze an ab test

GIMME GIMME

Page 16: How to properly analyze an ab test

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

Page 17: How to properly analyze an ab test

¿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

Page 18: How to properly analyze an ab test

EXTRACCIÓN DE LOS DATOS

BBDD en MySQL

Google Analyticsadminflurry

Facebook InsightsDelta DNA

R Páginas de Facebook

Page 19: How to properly analyze an ab test

¿COMO?

BBDD en MySQL

Google Analyticsadminflurry

Facebook InsightsDelta DNA

R Páginas de Facebook

Page 20: How to properly analyze an ab test

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%

Page 21: How to properly analyze an ab test

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% ¿?

Page 22: How to properly analyze an ab test

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?

Page 23: How to properly analyze an ab test

EL ANÁLISIS

Page 24: How to properly analyze an ab test

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

Page 25: How to properly analyze an ab test

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

Page 26: How to properly analyze an ab test

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

Page 27: How to properly analyze an ab test

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

Page 28: How to properly analyze an ab test

¿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!

Page 29: How to properly analyze an ab test

NO TODO LO NORMAL ES IGUAL

Las distribuciones normales son como las tetas: no hay dos iguales

Page 30: How to properly analyze an ab test

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

Page 31: How to properly analyze an ab test

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

Page 32: How to properly analyze an ab test

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

Page 33: How to properly analyze an ab test

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

Page 34: How to properly analyze an ab test

Z-SCORE

z-score bilateral

z-score unilateral

90% 1.65 1.28

95% 1.96 1.645

99% 2.47 2.33

Page 35: How to properly analyze an ab test

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

Page 36: How to properly analyze an ab test

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

Page 37: How to properly analyze an ab test

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.

Page 38: How to properly analyze an ab test

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

Page 39: How to properly analyze an ab test

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

Page 40: How to properly analyze an ab test

BONUS

Page 41: How to properly analyze an ab test

ALGUNOS EJEMPLOS

Invitar amigosUn simple hasta+500 monedas dobla la conversión

Page 42: How to properly analyze an ab test

ALGUNOS EJEMPLOSConfiguración

Ruleta Daily Bonus

Balance uso vs inflación

Page 43: How to properly analyze an ab test

ALGUNOS EJEMPLOS

Page 44: How to properly analyze an ab test

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)

Page 45: How to properly analyze an ab test

¿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• …

Page 46: How to properly analyze an ab test

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.

Page 47: How to properly analyze an ab test

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

Page 48: How to properly analyze an ab test

GR4C142 x ∫u 473NC10N The name is B JB ;)