Comparison of normal distributions between control and treatment groups.

Cómo analizar correctamente un test AB

En la gran mayoría de empresas con negocios online, es muy importante analizar el comportamiento de los usuarios con el objetivo de mejorar el producto a lo largo del tiempo: e-commerce, vídeo juegos, blogs, canales de vídeo... nadie se libra de ellos. Una de las técnicas más conocidas en este mundo, es la conocida con el nombre de  test A/B. Como puede intuirse por el nombre que recibe, dos versiones (A y B respectivamente) son comparadas. Ambas son idénticas salvo por alguna pequeña variación que pueda afectar al comportamiento de los usuarios del sitio web. La versión A suele ser la que se encuentra actualmente en uso en el sitio web (llamada muestra de control), mientras que  la versión B es una versión modificada en algún aspecto (llamada muestra de test). En este artículo vamos a hablar acerca de los contrastes de hipótesis y cómo estos pueden darnos algunas conclusiones acerca de cómo los test A/B afectan al comportamiento del usuario o bien las pequeñas variaciones que observamos en las muestras tomadas son debidas al puro azar.

No hablaremos por contra de cómo hacer correctamente un test A/B ni de la estadística básica detrás de esta prueba. Por contra, nos sumergiremos plenamente en este análisis y su correcto análisis. La idea de hacerlo así es debido a que muchas compañías dicen hacer test A/B y mejorar el producto gracias a ellos, pero realmente la parte de análisis de esas pruebas deja mucho que desear o su análisis es más bien nulo... Nuestro ejemplo será el de un test A/B común del mundo del comercio electrónico y del marketing digital: analizar el ratio de conversión de visita a registro en una página de bienvenida para ver cuales de los diseños presentados funciona mejor.


Ratio de Conversión en las Páginas de Bienvenida

Como hemos dicho, nos centraremos en un simple test A/B del mundo del comercio electrónico y del marketing digital : analizar los ratios de conversión de diferentes páginas de bienvenida (llamadas en ingles Landing pages) para ver cual de las presentadas funciona mejor.

Supongamos que tenemos una página de bienvenida a un sitio web con un formulario de registro en ella. Deseamos probar entre varios formatos o diseños para conseguir el mayor porcentaje de registros de entre las visitas que recibe diariamente nuestra página. Este porcentaje se conoce en el mundo del marketing como conversion rate  o ratio de conversión, el cual no es más que el cociente entre el número de usuarios que se acaban registrando entre los que visitan el sitio web, la razón de usuarios convertidos de visitantes a clientes (o de visitantes a usuarios activos en un video juego, por ejemplo).

Supongamos que, aleatóriamente o bajo algún tipo de criterio) dividimos los visitantes de nuestra web en cuatro grupos. Para este experimento, los llamaremos simplemente grupo de control, A, B y C respectivamente, pero podemos llamarles realmente como queramos (imaginemos por ejemplo que cada uno de los diseños es de un color diferente, entonces cobraría sentido el llamar al grupo por el color del mismo, por su funcionalidad, etc...)

Datos recolectados

Nuestra web atrae visitantes continuamente. Hemos analizado nuestro modelo de negocio y hemos detectado que una de las piedras angulares del mismo es mejorar el ratio de conversión de visita a registro en nuestra página de bienvenida, el cual creemos que es majo y deseamos mejorar considerablemente. Nos ponemos una meta viendo cual puede ser un mínimo ratio de conversión aceptable. Supongamos que queremos un ratio de conversión igual o superior al 22% de las visitas de nuestra web, de este modo ya limitaremos los análisis en aquellos grupos que cumplan dicha premisa: se llegan a registrar al menos el 22% de las visitas diarias.

En esta línea, creamos entonces un test A/B con cuatro grupos diferentes: control, A, B y C. Supongamos que tras varios días (o semanas, según el tráfico que atraiga el sitio web) obtenemos los siguientes datos:

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%

De los datos de la tabla anterior, vemos que ambos segmentos A y C muestra un ratio de conversión superior al 22% en la página de bienvenida de nuestra web, que era uno de los primeros objetivos que nos marcábamos incluso antes de empezar a hacer el test A/B. El grupo C tiene sin duda el ratio de conversión más elevado de entre todos los segmentos analizados, podemos pensar entonces que, este segmento es suficientemente bueno, escogerlo entonces como el diseño principal de nuestra web y seguir adelante con la mejora de la web (de hecho, conozco varias empresas del mundo digital que lo hacen así...). ¡Pero bueno! ¡Tenemos alguna que otra idea sobre estadística! ¿Cómo podemos asegurar que la variación que experimenta este segmento no es debido al puro azar? ¿Qué pasaría si en lugar de unos 360 visitantes (el cual ya es un número bastante grande para empezar a analizar) hubiéramos tenido solamente unos 10 o 20 (que es lo que suele pasar normalmente en un sitio web cuando empieza...)?  ¿Estaríamos todavía tan convencidos de que estamos tomando la mejor decisión?

Normalmente, en estadística no hay nada 100% seguro (para ello tendríamos que estar tomando muestras durante un periodo de tiempo infinito, mucho más largo que toda nuestra vida o la vida de internet hasta nuestros días y sería por tanto un proceso inviable), por eso normalmente, cuando hablamos de intervalos de confianza, se suele usar intervalos de confianza al 95%, los cuales ya empiezan a ser más que fiables para los estudios.

Los contrastes de hipótesis  son una buena herramienta para validar la confianza de nuestras  suposiciones, así que empecemos por ahí.

¡Estadística, ven a nuestra ayuda!

Cuando hacemos un contraste de hipótesis, normalmente empezamos con enunciar lo que vamos a llamar hipótesis nula, una afirmación la cual deseamos validar o rechazar. En nuestro caso, la hipótesis nula va a ser que, el grupo de control tiene un ratio de conversión no inferior al de nuestro segmento experimental. Matemáticamente esto puede modelarse con el siguiente enunciado:

donde  es el ratio de conversión del grupo de control y  es el ratio de conversión de cada uno de nuestros segmentos a testear (donde x toma por tanto los valores A, B o C).

La hipótesis alternativa, será entonces que el segmento experimental tiene un ratio de conversión superior al del grupo de control:

Esto es lo que deseamos validar y cuantificar para tomar finalmente una decisión.

Trabajando con este tipo de experimentos, las muestras de ratios de conversión se hallan distribuidas en forma de variables aleatorias normales. Se trata del mismo ejemplo clásico de lanzar una moneda a cara o cruz, excepto de en lugar de observar eventos de sale cara o sale cruz como posibles resultados del experimento, nos encontramos con los eventos de registrarse  no registrarse. Nuestra tarea principal ahora es ver si el segmento experimental se desvía demasiado del grupo de control para saber si el resultado final es o no es válido.

Veamos a continuación un ejemplo de la distribución normal del ratio de conversión para el grupo de control y para el segmento de test:

Comparison of normal distributions between control and treatment groups.

Comparación de las distribuciones normales de sendos grupo de control y grupo de test.

El pico máximo de cada curva, coincide con el ratio de conversión que medimos para cada uno de los segmentos, mientras que la amplitud de la curva, nos da noción de como de dispersos están los datos (a mayor amplitud, mayor disparidad de datos, y cuando más cerrada se encuentra la campana, menor variabilidad se observan entre ellos). En este momento, buscamos medir la diferencia entre ambas curvas, de modo que se compararán ambos ratios de conversión y notar si la diferencia entre ambas es suficientemente grande como para garantizar que ha habido un cambio sustancial en el comportamiento de los usuarios en nuestro sitio web. De este modo, si conseguimos validarlo, concluiremos que la modificación aplicada al grupo de test realmente ha afectado (bien positiva, bien negativamente) a nuestros usuarios y podremos proceder a una mejora o revisión del experimento.

Para hacerlo, definamos una nueva variable aleatoria, la cual denotaremos por :

para cada x de nuestros grupos de test (es decir, A, B y C) entonces la hipótesis nula que deseamos probar o rechazar es pues .

Ahora, utilizando las mismas técnicas que con nuestro ejemplo anterior de la moneda a cara o cruz, podemos utilizar nuestra nueva variable aleatoria  para inferir algunos resultados a partir de la tabla de datos anterior. Pero como ahora los eventos no son equiprobables con probabilidades de 50/50  de suceder como en el caso del experimento de la moneda, debemos indagar un poco más acerca de como poder conocer la distribución de probabilidades de nuestra variable aleatoria .

Hay un teorema bastante útil en estas situaciones el cual afirma que, la suma (o diferencia) de dos variables aleatorias que siguen una distribución normal, es a su vez una variable aleatoria normalmente distribuida. Se puede profundizar más acerca de este teorema en el siguiente artículo de la Wikipedia, donde además del enunciado y algunos ejemplos se puede encontrar así mismo la demostración del clásico teorema del mundo de las matemáticas.

Sabiendo esto, tenemos pues una manera de poder calcular nuestro deseado intervalo de confianza al 95% de fiabilidad.

Puntuaciones típica (o Z-scores) y tests unilaterales

Para nuestro caso de variable aleatoria normal dada como suma de dos normales, podemos definir su puntuación típica (también llamada z-score) como:

donde  es el tamaño de nuestro grupo de control, y  es el tamaño de cada uno de los segmentos de test. Esto es debido a que la media de  ( la cual se halla en el numerador de la fracción) es  y que la varianza de la distribución (cuya raíz cuadrada se halla en el denominador de la fracción anterior) es la suma de las varianzas de las distribuciones de  y de  respectivamente.

Cuando hablábamos del experimento del cara o cruz, un intervalo al 95% de confianza se correspondía a una puntuación típica de 1.96. En nuestro caso será ahora diferente. En el experimento de la moneda, rechazábamos la hipótesis nula si el porcentaje de caras o cruces era bien demasiado alto o bien demasiado bajo. En ese caso, la hipótesis nula era probability = 0.5, pero en nuestro caso recordemos que la hipótesis nula era X is less or equal to zero.

Esto significa que tenemos que, la única cola de la campana de la distribución normal que tenemos que tener en cuenta  es la negativa. Esa será entonces la única área que nos puede hacer rechazar la hipótesis nula (grupo de control) y hacernos aceptar el grupo de testing en cuestión. Veamos un par de gráficos para esclarecer bien la diferencia entre un intervalo de confianza bilateral (como el del experimento de la moneda) y un intervalo de confianza unilateral (como el que estamos viendo ahora en nuestro test A/B).

En el primero de los casos, el experimento de la moneda, tenemos un intervalo de confianza bilateral, por tanto tenemos que rechazar la hipótesis nula si el porcentaje de caras o cruces es bien demasiado alto, bien demasiado bajo, cayendo su valor tipificado dentro de alguna de las dos colas de la curva normal.

95% confidence interval over Normal curve with both tails colored

Ambas áreas coloreadas se llevan el 2.5% del área total bajo la curva normal (por tanto, la suma de ambas se lleva el 5% del área total de la misma).

En el segundo caso, nuestro ejemplo de test A/B, tenemos un intervalo de confianza unilateral , por tanto en este caso rechazamos la hipótesis nula si el ratio de conversión del grupo de test es significativamente mayor que el del grupo de control. En este caso,

95% confidence interval over Normal curve with one tail colored

El área coloreada a la derecha de la curva se lleva el 5% del área total bajo la curva.

En otras palabras, rechazamos la hipótesis nula si con un 95% de fiabilidad si la puntuación típica es superior a 1.65. A continuación encontramos una tabla con las puntuaciones típicas calculadas usando la fórmula anterior para hacernos una mejor idea de cómo ha funcionado cada uno de los segmentos presentados:

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

Conclusiones

De la tabla anterior podemos deducir finalmente las conclusiones del experimento presentado y ver que:

  • 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.65.
  • 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.65.
  • 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.

Así pues, finalmente tomaríamos como opción para el cambio la presentada al segmento C y seguiríamos adelante con más tests A/B o actualizaciones para seguir mejorando nuestra web más y más.

En resumen

Para recapitular los contenidos presentados en este artículo:

  • 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.

La significatividad estadística es muy importante en los tests A/B, dado que nos da a conocer, por ejemplo, si hemos llevado a cabo el experimento un tiempo suficientemente largo o no. Actualmente, muchas empresas o emprendedores siempre desean obtener resultados de sus pruebas el mismo día que se aplican los cambios sin perder ni un segundo.  Pero en estos casos, suele pasar que no se disponen de datos suficientes para evaluar, y en muchos casos, además de inútil suele ser peligroso para tomar finalmente na buena decisión en base al test A/B realizado... De hecho, podemos hacernos la pregunta inversa: "¿Cuánto tiempo tenemos que tener un test A/B en marcha hasta poder estar seguros de que uno de los segmentos aplicados llega a conseguir una mejora superior al 20% mejor que nuestro grupo de control? ¿Una hora? ¿Un día? ¿Una semana?"

Eso cobra más importancia en situaciones o compañías donde el dinero está en juego, pues permite cuantificar el riesgo, minimizando el impacto de segmentos potencialmente arriesgados.

Podéis comentar libremente este artículo e incluso utilizarlo como foro de discusión para preguntas que os surjan acerca de los tests A/B o incluso otro tipos de experimentos y validaciones en el mundo del marketing digital. Nunca es fácil tener conclusiones claras y contundentes en un test A/B como las que se han presentado en este artículo, así que no os frustréis si ninguno de los segmentos de test ha sobrepasado significativamente el grupo de control: puede ser que vuestro test no ha tenido tiempo suficiente como para obtener resultados relevantes, los cambios son tan sutiles que realmente no cambian el comportamiento del usuario en la web, o bien que hay un problema en la implementación del test A/B por parte del equipo de desarrollo y los usuarios no han sido capaces de ver cambio alguno (¡los errores humanos existen!).

Así pues, no os preocupéis, cometed errores, equivocaros, aprended de ellos y tened fe en la estadística, pues esa es la única manera de dar un poco de luz a todo lo que pasa en el mundo virtual de Internet.

¡Espero veros en el próximo artículo, y que la explicación no se os haya hecho demasiado pesada!

PD: Os dejo aquí un regalo; una hoja de cálculo con el ejemplo que hemos visto en este artículo para que podáis jugar con los números de visitas y registros en vuestra página web, así os podréis centrar en analizar los resultados y no perderos en los cálculos intermedios 😉

Ejemplo de test AB

Comments 15

    1. Imagen de perfil de Juan Gabriel Post
      Author
  1. Harry

    Howdy I am so happy I found your site, I really
    found you by error, while I was researching on Aol for something else, Anyhow I am here now and would just like
    to say thanks for a marvelous post and a all round enjoyable blog (I also love the theme/design), I
    don’t have time to read it all at the minute but I have
    book-marked it and also added your RSS feeds, so when I have
    time I will be back to read more, Please do keep up the fantastic
    work.

  2. Danna

    Wonderful site you have here but I was curious about if you knew of any user
    discussion forums that cover the same topics talked about here?

    I'd really love to be a part of group where I can get suggestions from other experienced people that share
    the same interest. If you have any suggestions, please let me know.

    Thanks a lot!

Responder a Katherin Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *