Visión general

Experimentos multi-armed bandit

Publicado por Steven L. Scott, Doctor en Análisis económico

En este artículo se describe el motor estadístico que hace posible los Experimentos de contenido de Analytics. Analytics utiliza un enfoque multi-armed bandit para la administración de los experimentos online. Es un tipo de experimento en el que:

  • el objetivo es encontrar la mejor acción o bien la más rentable,
  • la distribución aleatoria puede actualizarse a medida que avanza el experimento.

El término "multi-armed bandit" describe un experimento hipotético que nos propone varias máquinas tragaperras ("one-armed bandits") con distintos premios posibles. Nuestro objetivo es encontrar la máquina que ofrezca el premio con el mejor porcentaje de pago, al tiempo que maximizamos nuestras ganancias. La gracia del juego es hallar el equilibrio entre utilizar variaciones que ya han ofrecido buenos resultados otras veces y arriesgarse a probar variaciones nuevas o aparentemente menos rentables para saber si pueden ofrecer resultados todavía mejores. Existen modelos matemáticos muy sofisticados para el tratamiento de este enigma, que se utilizan en los Experimentos de contenido de Analytics.

En este documento empezamos poniéndole en antecedentes del uso del enfoque multi-armed bandit en Analytics. A continuación, le presentamos dos ejemplos de simulaciones de experimentos que se han realizado con el algoritmo multi-armed bandit. Seguidamente, abordamos algunas preguntas frecuentes y terminamos con un apéndice en el que se ofrece una descripción técnica de los datos teóricos y computacionales.

Contexto

Funcionamiento de los experimentos multi-armed bandit

Dos veces al día, miramos con nuevos ojos su experimento para ver el rendimiento que ha tenido cada una de las variaciones, y ajustamos la proporción de tráfico que recibirá cada variación en adelante. Una variación que parece tener un buen rendimiento obtiene más tráfico, mientras que una que muestra claramente unos resultados negativos obtiene menos. Los ajustes que realizamos se basan en una fórmula estadística (consulte el apéndice para obtener más información al respecto) que tiene en cuenta el tamaño de la muestra y las métricas de rendimiento conjuntamente, lo que garantiza que el ajuste responda a diferencias de rendimiento reales y no simplemente a la casualidad. A medida que avanza el experimento, aprendemos más y más sobre los beneficios relativos y, por tanto, elegimos cada vez mejores variaciones.

Ventajas

Los experimentos basados en el algoritmo multi-armed bandit suelen ser mucho más eficaces que los experimentos A-B tradicionales, que utilizan las pruebas de hipótesis estadísticas. Desde un punto de vista estadístico son igual de válidos y, en muchos casos, ofrecen respuestas mucho más rápidas. Su mayor eficacia se explica porque dirigen el tráfico hacia las variaciones óptimas gradualmente, en lugar de obligarle a esperar una "respuesta final" al terminar un experimento. Son más rápidos porque las muestras que habrían ido a parar a variaciones obviamente inferiores pueden asignarse a las posibles variaciones óptimas. Los datos adicionales recopilados sobre las variaciones de alto rendimiento pueden ayudar a separar las "buenas" de las "mejores" con mayor rapidez.

Básicamente, esta técnica aumenta la eficacia de los experimentos, de modo que puede probar más. También puede asignar una mayor proporción de su tráfico a los experimentos, ya que este se dirigirá automáticamente hacia páginas de mejor rendimiento.

Ejemplos

Prueba A/B simple

Imaginemos que el porcentaje de conversiones de su sitio es del 4%. Realiza pruebas con una nueva versión del sitio que genera conversiones el 5% de las veces. Obviamente, no conoce los porcentajes de conversiones reales, ya que por eso realiza el experimento, pero supongamos que le gustaría que el experimento pudiera detectar un porcentaje de conversiones del 5% con la misma validez estadística y con un 95% de probabilidades. Un cálculo del poder estadístico1 estándar le indica que necesita 22.330 observaciones (11.165 en cada variación) para obtener un 95% de probabilidades de detectar un aumento del 0,04 al 0,05 del porcentaje de conversiones. Imaginemos que el sitio del experimento recibe 100 sesiones al día. En ese caso, el experimento tardará 223 días en realizarse. En un experimento estándar debe esperar 223 días y ejecutar la prueba de hipótesis para obtener el resultado.

Veamos ahora el tratamiento que se daría a las 100 sesiones diarias en el experimento multi-armed bandit. El primer día se asignan aproximadamente 50 sesiones a cada variación y se observan los resultados. Utilizamos el teorema de Bayes para calcular la probabilidad que existe de que la variación sea mejor que el original2. Uno menos esta cifra es la probabilidad de que el original sea mejor. Supongamos que el original tenga mucha suerte el primer día y muestre un 70% de probabilidades de ser superior. El segundo día, le asignamos el 70% del tráfico y el 30% a la variación. Al final del segundo día acumulamos todo el tráfico que hemos obtenido hasta el momento (durante los dos días) y volvemos a calcular la probabilidad de que cada variación sea la mejor. Esto nos proporciona la ponderación de la publicación para el tercer día. Repetimos este proceso hasta cumplir un conjunto de reglas de detención del experimento (más adelante veremos con mayor detalle las reglas de detención).

En la Figura 1 se muestra una simulación de lo que puede ocurrir con esta configuración. En ella puede ver las ponderaciones de publicación de la versión original (línea negra) y de la variación (línea roja de puntos). Básicamente, van variando hasta que la variación finalmente cruza la línea del 95% de confianza. (Ambos porcentajes deben sumar 100%, de modo que cuando uno sube, el otro baja). El experimento finaliza al cabo de 66 días, con lo que se ahorra 157 días de pruebas.

Figura 1. Simulación de las probabilidades de que una variación sea mejor que el original en un experimento simple con dos variaciones. Estas ponderaciones muestran la proporción del tráfico asignado cada día a cada variación.

Obviamente, se trata solo de un ejemplo. Volvimos a realizar la simulación 500 veces para ver el rendimiento del experimento multi-armed bandit en un muestreo repetido. La distribución de los resultados se muestra en la Figura 2. De media, la prueba finalizó 175 días antes que la prueba tradicional basada en el cálculo del poder estadístico. Se ahorró una media de 97,5 conversiones.

Figura 2. Distribuciones de la cantidad de tiempo y el número de conversiones que se ha ahorrado en comparación con un experimento tradicional planificado a partir de un cálculo del poder estadístico. Se asume que el original presenta un porcentaje de conversiones del 4% y la variación uno del 5%.

Pero, ¿qué hay de la validez estadística? Si utilizamos menos datos, ¿no aumentamos el porcentaje de error? La verdad es que no. De los 500 experimentos mostrados más arriba, el experimento multi-armed bandit encontró la variación correcta en 482. Esto significa un 96,4%, que es aproximadamente el mismo porcentaje de error que ofrece la prueba tradicional. En algunos experimentos la prueba multi-armed bandit tardó más en realizarse de lo que sugería el análisis del poder estadístico, aunque solo en aproximadamente el 1% de los casos (5 de 500 experimentos).

Asimismo, realizamos el experimento contrario, donde el original obtuvo un porcentaje de éxito del 5% y la variación un 4%. Los resultados fueron prácticamente simétricos. Una vez más, el experimento multi-armed bandit encontró la variación correcta 482 veces de 500. El tiempo medio ahorrado en comparación con el experimento tradicional fue de 171,8 días y el promedio de conversiones ahorradas, de 98,7.

Cómo detener el experimento

De forma predeterminada, forzamos la ejecución del experimento multi-armed bandit durante al menos dos semana. Transcurrido este tiempo, realizamos el seguimiento de dos métricas.

La primera es la probabilidad de que cada variación obtenga mejores resultados que el original. Si estamos seguros en un 95% de que una variación superará al original, Analytics indica que ha encontrado la variación óptima. El usuario puede ajustar la duración del tiempo mínimo de dos semanas y el nivel de confianza del 95%.

La segunda métrica que supervisamos es el "posible valor restante en el experimento", que resulta especialmente útil cuando se dispone de más de una variación. En cualquier momento del experimento hay una variación "ganadora", que se considera la mejor. Si el experimento acabara "ahora", el ganador sería la variación que usted elegiría. El valor restante de un experimento es la cantidad en que aumentaría el porcentaje de conversiones si no utilizara la variación ganadora. El objetivo de realizar un experimento es buscar este valor. Si está completamente seguro de que el ganador es la mejor variación, no habrá valor restante en el experimento y, por consiguiente, no tendrá sentido realizar la prueba. No obstante, si solo está un 70% seguro de que una variación sea óptima, hay un 30% de probabilidades de que otra sea mejor, por lo que podemos utilizar la regla de Bayes para establecer la distribución del grado de mejora que ofrece esta segunda variación. Consulte el apéndice para obtener más información sobre estos cálculos.

Analytics finaliza el experimento cuando existe, como mínimo, un 95% de probabilidades de que el valor restante represente menos del 1% del porcentaje de conversiones de la variación ganadora. Se trata de una mejora del 1% y no de una mejora de un punto porcentual. Así pues, si la mejor variación presenta un porcentaje de conversiones del 4%, finalizamos el experimento si el valor restante representa menos de 0,04 puntos porcentuales del porcentaje de conversiones.

Finalizar un experimento en función del posible valor restante es útil porque gestiona bien los empates. Por ejemplo, en un experimento con muchas variaciones, puede ocurrir que dos o más de ellas ofrezcan resultados muy parecidos, de modo que no sea muy relevante elegir una u otra. Realizar el experimento hasta encontrar la variación óptima no tendría mucho sentido porque hay dos variaciones óptimas. Sería más sensato llevarlo a cabo hasta asegurarse de que cambiar de variación no resultaría demasiado útil.

Experimentos más complejos

Las ventajas de los experimentos multi-armed bandit respecto a las pruebas tradicionales aumentan a medida que los experimentos se complican. Seguramente tiene más de una idea para mejorar su página web, por lo que es probable que quiera probar más de una variación. Supongamos que tiene cinco variaciones además del original. Realizará un cálculo mediante el cual comparará el original con la variación más grande. Ello requiere aplicar algún tipo de ajuste para realizar comparaciones múltiples. La corrección de Bonferroni es un ajuste sencillo (aunque algo conservador) que puede implementarse dividiendo el nivel de importancia de la prueba de hipótesis entre el número de variaciones. Así pues, realizamos el cálculo del poder estadístico estándar con un nivel de importancia del 0,05/(6-1) y el resultado nos indica que necesitamos 15.307 observaciones en cada variación del experimento. Con seis variaciones, el total es de 91.842 observaciones. Con 100 sesiones al día, el experimento debería realizarse durante 919 días, es decir, más de dos años y medio. En la vida real, realizar un experimento durante tanto tiempo no tiene mucho sentido, pero podemos llevarlo a cabo a modo de simulación.

Hagamos ahora el experimento con las seis variaciones mediante el simulador del algoritmo multi-armed bandit. Una vez más, supondremos que el porcentaje de conversiones del original es del 4% y el de una variación óptima del 5%. Las cuatro variaciones restantes incluyen una variación subóptima que supera al original con un porcentaje de conversiones del 4,5% y tres variaciones inferiores cuyos porcentajes de conversiones son del 3%, 2% y 3,5% respectivamente. En la Figura 3 se muestra la distribución de los resultados. La duración media del experimento es de 88 días (comparado con los 919 días del experimento tradicional) y el número medio de conversiones ahorradas es de 1.173. La distribución de las duraciones del experimento implica una larga cola (no siempre acaban de forma rápida) pero, incluso en los peores casos, la realización del experimento con la técnica multi-armed bandit permite ahorrar más de 800 conversiones respecto a la prueba tradicional.

Figura 3. Ahorro obtenido en un experimento con seis variaciones comparado con una prueba tradicional en la que se ha realizado el cálculo del poder estadístico mediante el ajuste de Bonferroni. En el panel de la izquierda se muestra el número de días necesarios para la realización del experimento. La línea vertical indica el tiempo que se requiere en el cálculo del poder estadístico. En el panel de la derecha se muestra el número de conversiones que el experimento multi-armed bandit ha permitido ahorrar.

El ahorro de costes puede atribuirse por una parte al hecho de que el experimento finaliza antes y por otra al hecho de que desperdicia menos recursos. En la Figura 4 se muestra el historial de ponderaciones de publicación de todas las variaciones en las primeras simulaciones realizadas de un total de 500. Al principio se produce cierta confusión mientras el experimento multi-armed bandit separa las variaciones que funcionan bien de las que no, pero las que ofrecen resultados realmente negativos se descartan enseguida. En este caso, el original empieza con buen pie el experimento y dura más tiempo que otras variaciones. Pero al cabo de unos 50 días, parece que la prueba es cosa de dos: el original y la variación finalista. Tras eliminarse el resto de las variaciones, el original y la variación finalista se reparten las 100 observaciones diarias. Observe cómo el experimento multi-armed bandit asigna las observaciones con gran eficacia desde un punto de vista económico (van a parar a las variaciones más susceptibles de ofrecer un buen rendimiento), así como desde un punto de vista estadístico (van a parar a las variaciones de las cuales estamos más interesados en obtener información).

Figura 4. Historial de ponderaciones de publicación de uno de los experimentos con seis variaciones

En la Figura 5 se muestra el coste diario de realizar el experimento multi-armed bandit comparado con una estrategia de "oracle" en la que siempre se utiliza la variación 2, es decir, la variación óptima. (Obviamente, no es un procedimiento justo porque en la vida real no sabemos qué variación es la mejor, pero puede ser un punto de partida útil). De media, cada observación asignada al original nos cuesta el 0,01 de una conversión porque el porcentaje de conversiones del original es 0,01 inferior a la variación 2. Igualmente, cada observación asignada a la variación 5, por ejemplo, nos cuesta 0,03 conversiones porque su porcentaje de conversiones es 0,03 inferior a la variación 2. Si multiplicamos el número de observaciones asignadas a cada variación por el coste de la variación y después sumamos los resultados de cada variación, obtendremos el coste de realizar el experimento ese día. En un experimento tradicional, a cada variación se le asignan 100/6 sesiones al día (de media, en función de cómo se asignan las observaciones parciales). El experimento tradicional tiene un coste de 1,333 conversiones cada día que se realiza. La línea roja de la Figura 5 indica el coste de realizar el experimento multi-armed bandit cada día. A medida que el tiempo avanza, el experimento desperdicia cada vez menos recursos, puesto que se asigna una menor ponderación a las variaciones inferiores.

Figura 5. Coste diario de realizar el experimento multi-armed bandit. La línea de puntos horizontal indica el coste diario constante de realizar el experimento tradicional.

1La prueba power.prop.test de la función R ha realizado todos los cálculos incluidos en este artículo.

2Consulte el apéndice si realmente quiere comprobar los detalles del cálculo. De lo contrario, puede omitir este apartado.

¿Te ha sido útil este artículo?
¿Cómo podemos mejorar esta página?