How to properly analyze an ab test

Post on 17-Aug-2015

98 views 0 download

Tags:

Transcript of How to properly analyze an ab test

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 ;)