Principios de diseño de tests A/B

¿Quieres aumentar tus ventas? ¿Más visitas en tu blog? Aprende a diseñar tests A/B que te ayuden a determinar lo que funciona y lo que no en Internet.

Este es un artículo de la iniciativa #weareatwar. Si quieres unirte a La Resistencia, no dejes de leer nuestra Declaración de Guerra.

Artículo anti-móvil: Por la extensión y características de este artículo, su contenido no está optimizado para móviles, por lo que os recomiendo visitar la versión normal del blog. Disculpad las molestias.

Al poco tiempo de empezar a recopilar los conocimientos básicos para intentar emprender en Internet con éxito, me di cuenta de que no tenía NI IDEA. Eso no era excesivamente preocupante, lo verdaderamente alarmante fue descubrir que, en realidad, nadie tiene mucha idea.

Alguien que llegó a la misma conclusión mucho antes que yo, inventó los tests A/B. El concepto es muy básico: “como no sabemos qué puede funcionar mejor online, probamos nuestra propuesta actual y una alternativa, medimos los resultados y comprobamos cuál de las dos da mejores resultados“. Como casi siempre, implementar BIEN ese concepto es mucho más difícil.

A continuación, os explico qué he aprendido sobre diseño de tests A/B después de un año trabajando para Atlassian. No será un artículo corto, ni tendrá muchas fotitos. No será fácil de leer y, probablemente, tendrá muy pocas visitas. Pero, cuando empecé a trabajar para la compañía australiana, el objetivo principal era conocer cómo se hacía marketing ahí fuera. Así que, para mí, tiene todo el sentido del mundo compartirlo con la Comunidad.

5 cosas que debes hacer

    • Elementos. El elemento es la característica de la página que estamos cambiando (el titular, el diseño, el texto, un botón…). Podemos caer en la tentación de cambiar varios elementos al mismo tiempo, pero entonces, ¿cómo podríamos saber qué cambio ha producido la mejora? Si se quiere probar más de un elemento, se debe hacer con un test que controle todas las posibles variaciones.[/toggle]
    • Contexto. El contexto es el lugar donde probaremos la variación. Si es en nuestra web, el contexto será la página específica donde se realice el cambio. El contexto debería ser siempre una única página. Si queremos cambiar un elemento en varias páginas, deberíamos considerar nuestra prueba como tests múltiples, no un único test. Por supuesto, el contexto no tiene por qué ser sólo una página web. Por ejemplo, también podemos hacer tests A/B en listas de correo.[/toggle]
    • Objetivos. El objetivo es el indicador de rendimiento o Key Performance Indicator (KPI) que queremos mejorar. Puede ir desde el porcentaje de usuarios que completa un formulario, hasta el porcentaje de visitantes que compran algo en nuestra tienda. Sí, [highlight]siempre se debe expresar como un porcentaje[/highlight], porque en los tests A/B comparamos dos grupos de usuarios que no tienen por qué tener el mismo tamaño. Es una buena práctica definir un objetivo que esté cerca del fin que perseguimos. Si tenemos un sitio de comercio electrónico, medir el ratio de clicks en un banner de la página de inicio nos puede ayudar a conseguir más páginas vistas, pero ¿de verdad eso nos va a ayudar a aumentar nuestras ventas?
    • Define una hipótesis. Una hipótesis es una frase que describe el impacto positivo que esperamos obtener al cambiar un elemento de nuestra página web. [highlight]Una hipótesis siempre contiene un elemento, un contexto y uno o más objetivos medibles[/highlight] y debe tener una estructura similar a esta: “Si cambiamos el elemento en el contexto, el objetivo medible mejorará”. Ej. “Si cambiamos el color del botón de compra en la página de producto de nuestra web, las ventas aumentarán“.
  1. Asegúrate de que los resultados sean medibles. Una vez que has definido la hipótesis, comprueba que cada elemento y métrica relevantes hayan sido identificados para poder ser controlados durante el test. Antes de empezar a probar, vuelve a leer la hipótesis y pregúntate si la implementación de la prueba te dará los datos necesarios para poder demostrarla o refutarla.
  2. Decide el número de variaciones. Normalmente, se utilizan dos variantes llamadas “A” y “B”, donde A siempre es el diseño actual y B es la variación basada en A, en donde hemos modificado un elemento. Si queremos probar más variaciones, podemos hacer tests A/B/C (3 variaciones) o A/B/C/D (4 variaciones). Si se quiere probar más de un elemento al mismo tiempo, debemos hacer un test que contemple todas las múltiples variaciones. Generalmente, el tráfico de nuestra web se divide entre todas las variaciones (si hacemos un test A/B, el 50% de nuestros usuarios utilizarán la versión A y, el resto, la B. Si lo que manejamos es un test A/B/C, el 33% de los usuarios verán la versión A, etc). En tests con más variaciones se tarda más tiempo en conseguir resultados aprovechables. Si tienes prisa o no esperas recibir mucho tráfico, un simple test A/B es mucho más recomendable.
  3. Asegúrate de que todo el mundo cree en el nuevo diseño. Hacemos pruebas porque creemos que podemos mejorar el diseño actual. Si el test A/B nos demuestra que el nuevo diseño funciona mejor que el actual, deberíamos estar preparados para adoptarlo a corto o medio plazo no empezar a debatir la conveniencia o no del mismo.
  4. Discute y documenta el plan de pruebas. Antes de empezar los tests, llega a un punto de consenso sobre la hipótesis a probar con todas las partes interesadas. El plan de pruebas (hipótesis, implementación y alcance) debe estar documentado y ser completado con los resultados de los tests.

5 cosas que NO debes hacer

    • Durante la prueba, [highlight]todo el mundo debería ver la misma URL[/highlight] de la página que forma tu contexto. Si esto no es técnicamente posible, al menos deberíamos esforzarnos para conseguir que los nombres de URL sean lo suficientemente inocuos como para que no sugieran ser parte de una prueba y, por supuesto, tomar las medidas necesarias para evitar que sean indexados por motores de búsqueda como Google.
    • Una vez que un usuario ha visto una variante, se le debe [highlight]mostrar la misma versión de nuestra web hasta la conclusión de la prueba[/highlight]. Esto se puede conseguir enviando una cookie al usuario la primera vez que visita la página de prueba y asignándole una variación, y consultándola cada vez que vuelva. Evidentemente, esto no impide que el mismo usuario utilice distintos dispositivos y pueda llegar a ver dos versiones distintas.No permitas que tus usuarios sepan que son el sujeto de estudio de una prueba. Para poder obtener datos de la mayor calidad, es importante que los usuarios no sepan que les estamos estudiando. Para conseguirlo, debemos asegurarnos de un par de cosas:
  1. No incluyas tu propio tráfico en el resultado de las pruebas. Seguramente, visitaremos la página web durante la prueba, aunque no podamos ser considerados usuarios “normales”. Así que, parece lógico que filtremos nuestro tráfico. Esto se puede hacer, con relativa facilidad, teniendo en cuenta el rango de IPs de la oficina. Si la mitad de tu equipo teletrabaja, será un poco más complicado.
  2. No crees pruebas que se solapen con otras. Para un contexto determinado, sólo deberíamos ejecutar un test A/B al mismo tiempo. Podemos ejecutar tests A/B simultáneos en distintas páginas siempre que esos tests no tengan como objetivo la misma página de destino, puesto que eso puede provocar contaminación en nuestros datos.
  3. No modifiques las páginas que estás probando mientras los tests se están ejecutando. Modificamos y mejoramos continuamente nuestra web. Sin embargo, para obtener datos de calidad, las páginas involucradas en un test A/B no deberían modificarse durante la ejecución de una prueba. Esto puede ser más complicado de lo que parece, puesto que dichas páginas pueden requerir recursos externos, como hojas de estilo o imágenes, que sean usados en toda nuestra web. Para intentar evitarlo, la mejor práctica es que, durante la ejecución del test, cualquier cambio sea supervisado por el responsable de las pruebas.
  4. No finalices los tests hasta que el tamaño de la muestra sea el adecuado. Hay muchas teorías sobre cuál es la muestra mínima para obtener resultados fiables y relevantes. Los chicos de 37signals escribieron un gran artículo sobre cómo calcular el tamaño de las muestras en un test A/B. En Atlassian, sin embargo, se utiliza la fórmula de Evan Miller.

Conclusiones

Vale. Y después de todo este rollo, ¿qué obtengo? ¿De verdad sirve para algo? La respuesta es SÍ. Si has implementado tu test A/B correctamente, puedes obtener datos muy interesantes y de aplicación inmediata. Para ir más allá de la teoría, publico el resultado de un test A/B real que descubrió que [highlight]la variación propuesta aumentaba nada más y nada menos que un 14,7% el ratio de conversión[/highlight] para el producto OnDemand. ¿De verdad no ves las ventajas de los tests A/B? Tú decides si prefieres adivinar o averiguar.

Resultado de test A/B

Bola Extra

  • ¿Te has quedado con ganas de más? Pues mira que ARTICULÓN puedes encontrar en Smashing Magazine
  • masqueceros

    Pues si, te ha quedado un artículo muy interesante, en el que nadie comenta, ya que parece que no hay un experiencia real para dar su opinión, más allá de opiniones teóricas.

    Yo no he hecho nada parecido, pero nunca es tarde para empezar a plantearlo.

    Suerte con el debate …

    • En realidad es más fácil de lo que parece en un primer vistazo. Hay herramientas que te ayudan a definir la hipótesis, gestionar la redirección de tráfico, generar estadísticas, etc.

      Iba a incluir un listado, pero creo que eso da para un segundo artículo ^_^

      Estoy seguro de que hay MUCHAS webs en España haciendo tests A/B. Otra cosa es que hablen de ello, o que compartan un mínimo de su know how, por miedo a que les roben visitas o su mojo vital 😛

  • sergi

    Muy interesante David! La base del marketing online

  • Buen artículo David, lo comparto

  • Joder David,

    genial!!!. Me ha gustado el artículo, sobretodo la parte en la que añades enlaces a las metodologías para calcular el número de muestras necesarias, es algo que normalmente no te suelen contar.

    Por otra parte como no tengo experiencia sí me gustaría hacerte una pregunta. Un día Tana me enseñó una librería que le ayudaba a hacer las pruebas A/B en FeudalSquare, ¿tenéis en Atlassian algo similar o utilizáis “productos” a medida hechos por vosotros? Para obtener las gráficas como la que muestras en el artículo me refiero.

    Un abrazo.

    • Esa gráfica es de Optimizely (https://www.optimizely.com), que es la herramienta que utiliza Atlassian para simplificar los tests A/B.

      Como le decía a masqueceros, iba a escribir una lista de herramientas para hacer tests A/B, pero me di cuenta de que eso daba para otro post entero. Si os interesa el tema, lo escribo 🙂

  • My buen articulo. Muchas gracias!

  • Buen artículo David, aunque se me escapan algunas cosas.

    Dada mi membrillez al respecto, nunca he trasladado el testeo A/B a un ámbito práctico, se me ocurre una pregunta sin más ánimo que la mejor comprensión del ejemplo que expones.

    Un 15%, redondeamos que estamos entre amigos ;), parece un exitazo para la página B pero si rascas los números solo se ve que se han convertido 3 ventas más respecto a la página original. En mi humilde opinión esas 3 conversiones pueden haberse dado por otros motivos distintos al testeo A/B, desde la suerte a un mayor impacto de marketing sobre la gente que aleatoriamente entro en la página B.

    Me pierdo en algo o se han hecho análisis posteriores para desechar posibles problemas de sesgo?

    Saludos y muchas gracias por tus esfuerzos!

    • Efectivamente Miguel, esas compras pueden deberse a múltiples factores, pero lo que le da validez a la muestra es el tamaño de la misma: esas 3 compras de más se han producido después de 2658 visitas (de un total de 5278).

      Es decir, aunque esas anomalías podrían haberse producido en la opción B, estadísticamente, también podrían haberse producido en la opción A (2620 visitas) por lo que, a igualdad de posibilidades, se tiende a validar el resultado.

      Por supuesto, cuanto más tiempo ejecutes tu test A/B, más posibilidades tienes de llegar a un resultado valido. Tu marcas el límite entre fiabilidad y rapidez de ejecución.

  • Un articulo interesante relacionado con A/B testing que lei hace poco
    20 lines of code that will beat A/B testing every time
    http://stevehanov.ca/blog/index.php?id=132

  • PirateaAllTime

    Entiendo, el test A/B me parece una gran aportación, incluso lo veo aplicable al campo de “la noche”. Si el viernes te lias con una chica (sujeto A) y el sabado con otra chica (sujeto B) y luego aplicas el test A/B puedes ver los mismos resultados:
    La variación de la propuesta (“inocente” muchacha de discoteca) aumenta nada más y nada menos que un 14,7% el ratio de conversión para el producto OnDemand (fornicar/echar una canita al aire/trincartela/Enterrar la batata/Empomar/Alegría al nene/hablar con el diputado/Brochetear/Bañar la nutria/Ahorcar la gallina/culear….pasartela por la piedra vamos).

  • Pau

    Gracias por el artículo y los detalles Bonilla, pero no estoy de acuerdo contigo cuando dices eso de que “casi nadie tiene mucha idea”.

    Lo que aquí nos cuentas, rebautizado como se quiera, no es más que el uso del método científico, conocido y usado sistemáticamente desde hace unos 5 siglos. Sus generalidades se estudian en bachillerato, y los detalles de cómo realizar experimentos, contrastar hipótesis, cálcular el tamaño muestral, etcétera, forman parte de la estadística básica, que está incluída en el currículum de todas las carreras científicas, incluída la informática. Lo que aquí se describe lo utilizan todas las disciplinas que generan conocimiento no basado en la especulación.

    Hay miles de libros y publicaciones sobre ello: cualquier libro sobre ciencia, básicamente. El que no está enterado él sabrá por qué es…

    Saludos.

    • Daniel López

      Sí y no, es decir, estoy totalmente de acuerdo que, al fin y al cabo, no es más que aplicar el “sentido común científico” que se presupone en este campo, pero es que lo que a mi no deja de sorprenderme en nuestro ámbito es la cantidad de gente que debe creer que el método científico es algo que viene en un API o así, por que lo que es aplicarlo mínimamente en su trabajo…

      Así que creo que los dos lleváis razón, desafortunadamente ;).

      • Pau

        No. No es “sentido común científico”. Es un experimento según el método científico “de manual”, tal y como se entiende y está descrito desde hace cinco siglos e, insisto, como se aplica y se ve publicado todos los días en cualquier disciplina científica. Si algunos compañeros científicos leyeran que esto en informática se presenta como una novedad y algo “excitante”, les daría entre risa y pena…

        • Daniel López

          No nos pongamos tampoco semánticos, no es “de manual” por que no hay ningún manual que diga “aplicación del método científico para la evaluación de alternativas en el diseño de páginas web”. Es aplicar el método a una situación en concreto y ahí entra lo que he llamado el “sentido común científico” por que una cosa es el método, que es genérico, y otra aplicarlo.
          Y no, tampoco me creo que en cualquier otra disciplina científica vivan en el país feliz, casa de la gominola, calle de la piruleta. Por mi trabajo estoy en contacto con “científicos” de muchas disciplinas y en sus relaciones con los ordenadores muchos tampoco es que sean muy científicos, que digamos. Que el césped siempre es mas verde al otro lado de la cerca ya lo sabemos.
          Como dice David, no es por presentar la última técnica novedosa acreedora del Nobel. Si algo se hace mal, lo que hay que hacer es empezar a concienciar a la gente y mostrarle como se hace, aunque sea relativamente obvio, que es mejor que mofarse. Y obviamente con “casi nadie tiene mucha idea” se refiere a la cantidad de técnicos que trabajan en ese área en concreto, no que nadie sepa lo que es el método científico ni como se aplica.

    • Me sigo reafirmando en lo que digo: la mayoría de la gente no tiene ni idea de los conocimientos básicos para intentar emprender en Internet con éxito, basicamente, porque no se conocen. Yo no he hablado de Estadística, ni del método científico.

      Una cosa es la Estadística (si, en la carrera de Informática tenemos una asignatura), otra el Marketing (si, en la carrera de Informática tenemos una asignatura de algo parecido) y otra cosa es mezclar ambas disciplinas y aplicarlas a algo como una aplicación web.

      Nadie ha presentado aquí NADA como algo nuevo y “excitante”, pero supongo que esos mismos científicos a los que les daría risa y pena hablar de esas cosas, también despreciarían a un tipo al que se le ocurriera poner un palo en una bayeta para inventar la fregona ¡Al fin y al cabo ambas cosas estaban descubiertas desde hace siglos!

      Me gustaría saber como esos mismos científicos que “se reirían“, solucionarían problemas como la repetición de elementos de una muestra (usuarios recurrentes o que usan mas de un dispositivo) o la discriminación del tráficos por criterios geográficos, idiomáticos u horarios… teniendo en cuenta las distintas zonas horarias.

      Probablemente has descrito, sin darte cuenta, uno de los grandes problemas de España: mucha gente riéndose y ridiculizando lo que hacen los demás, y unos pocos intentando HACER COSAS, por pequeñas y humildes que sean.

      No confundamos la teoría con la práctica, ni churras con merinas. Por favor.

      • Pau

        Entiendo de lo que hablas, sé lo que cuesta hacer cosas, sé lo que gusta criticar, y sé cuál es el problema que tenemos por aquí.

        Creo que no has entendido mi mensaje y quizá partes del típico prejuicio “hacedor vs. gente en su torre de marfil”. Creo que cualquier científico estaría contentísimo del invento de la fregona, especialmente si le evita tener que agacharse a fregar. Y creo que todo el mundo sabe que la innovación consiste en reutilizar y mezclar cosas ya hechas. Ningún científico que no sea un imbécil engreído (aunque de esos hay muchos) se reiría de eso.
        Lo que estoy diciendo es que no me parece de recibo que una apliación concreta, normal y corriente, del método científico, o sea: plantear una hipótesis, saber cuántas veces hay que medir, y sacar una conclusión medianamente decente de cuál entre dos alternativas es mejor, se presente como algo nuevo y excitante. Porque sí, se ha presentado como algo nuevo y excitante (quizá no tú, pero sí en algunos de los artículos que hablan de esos tests), casi ingenuo.
        Mi única aportación es que creo que contar las cosas conectando con lo general es mejor que contarlas de manera “aislada” o “desconectada”. Presentado tal y como está seguramente mucha gente creerá que el método que presentas sólo es aplicable para el ejemplo que expones, cuando, repito, es un principio básico del método científico que, previamente introducido al caso concreto, puede hacer que la gente lo aplique a otras muchísimas cosas. ¿No es eso maravilloso?¿Queremos dar un ejemplo práctico y útil para enseñar a la gente a pescar cualquier pez, o queremos presentar “cinco técnicas para pescar barbos en el Ebro” y que todo el mundo vaya al Ebro a pescar barbos?

        Simplemente creo que con las visitas que tiene tu blog y su carácter de divulgación, no hubiera estado de más una introducción de un párrafo diciendo que la única forma de saber con algo de rigurosidad cuál de dos alternativas es mejor, es usar el método científico, y presentar el caso.
        Por supuesto, entiendo que haces esto por afición y en tu tiempo libre y todos te lo agradecemos enormemente, y puedes escribir lo que te de la gana. Sólo era una sugerencia.
        Saludos.

  • Precisamente hace un par de días he empezado a usar Optimizely y poco puedo aportar todavía. Tampoco nuestra web tiene mucho tráfico y no se si los datos que pueda obtener serán significativos.
    Optimizely, me ha sorprendido por la sencillez de funcionamiento, un javascript que modifica el DOM de tu página si debe mostrar el test B con los cambios que hayas descrito en el experimento, tienes el test inmediatamente, nada de programar para hacer los tests. Muy práctico, evidentemente solo podemos modificar apariencia y textos estáticos.
    Estoy de acuerdo con @twitter-2152861:disqus en lo limitado que resulta el test A/B frente a usar otras técnicas estadísticas, aunque para pequeños cambios si tienes una población grande puedes tener resultados en poco tiempo y sin tener que programar nada, muy práctico para departamentos de marketing.

    • Si… yo creo que la gente, como el usuario @d350cd2169d35fdcfddc8cedd8c76626:disqus que comenta más arriba, idealiza el trabajo e integración del departamento de marketing de una empresa, pequeña o grande. En la mayoría de las ocasiones, si quieres probar algo, tienes que hacerlo con tus propios medios intentando no romper la aplicación en el proceso ^_^.

      No se suele tener a tu disposición el equipo de desarrollo para que implementen una cosa u otra por “requerimientos del Departamento de Marketing”. Primero, porque la gente de desarrollo suele despreciar el marketing y, segundo, porque siempre hay más prioridad para sacar nuevas features de tu aplicación.

      Hay es donde encuentran el nicho aplicaciones como Optimizely o CrazyEgg. Cosas que, en la teoría, cualquier equipo de desarrollo podría implementar con tiempo y herramientas open source, pero que en la práctica nadie implementa… por falta de tiempo.

      ¡Espero que obtengas datos interesantes y los compartas! Un abrazo.

  • Pingback: Principios de diseño de tests A/B | Bonillaware » Web Design()

  • Me ha llegado al alma.

    Mi experiencia como mini emprendedor (todavía estoy en la fase de arranque y buscando el hueco de la necesidad del cliente), es la siguiente:
    Me llega un cliente que tiene la necesidad de que sus clientes extranjeros paguen con tarjeta, necesita un TPV. Mirando distintas opciones, buscamos una solución estandard (una hecha a medida saldría mucho más cara) y le implementamos un Joomla + Virtuemart + TPV. ¿Seo? ¿Blog? ¿Redes sociales? ¿Para qué? El cliente no necesita más y encima no entiende como funciona todo este entorno.

    Otro cliente con una herramienta hecha a medida, 2 wordpress, le implemento un joomla y luego le pongo una plantilla en uno de sus wordpress que utilizaba como blog. ¿Estrategia de Negocio? Pues básicamente no, quiere herramientas que satisfagan sus necesidades. Como no está formado en las herramientas no está aplicando correctamente su modelo de negocio del 1.0 a internet.

    Yo tengo un perfil técnico porque he estudiado de esto, y he tenido que reaprender. Aprender WordPress, algo de Joomla y muchas cosas más, vamos he tenido que ser el hombre orquesta para tener visivilidad en la red y con todo esto espero que algún día pueda vivir de ello. ¿No es esta la idea de un emprendedor?

    Pues con todo esto, ESTOY CON EL DAVID:
    la mayoría de la gente no tiene
    ni idea de los conocimientos básicos para intentar emprender en Internet
    con éxito, basicamente, porque no se conocen.

    Este tipo de artículos ayudan mucho y ponen de manifiesto que nos queda mucho por aprender, y sobre todo nos queda mucho por aprender entre emprendedores, incluso aprender a colaborar.

    Espero que os sirva de ayuda mi experiencia.

    Muchas gracias por todo.

  • Me ha llegado al alma.

    Mi experiencia como mini emprendedor (todavía estoy en la fase de arranque y buscando el hueco de la necesidad del cliente), es la siguiente:
    Me llega un cliente que tiene la necesidad de que sus clientes extranjeros paguen con tarjeta, necesita un TPV. Mirando distintas opciones, buscamos una solución estandard (una hecha a medida saldría mucho más cara) y le implementamos un Joomla + Virtuemart + TPV. ¿Seo? ¿Blog? ¿Redes sociales? ¿Para qué? El cliente no necesita más y encima no entiende como funciona todo este entorno.

    Otro cliente con una herramienta hecha a medida, 2 wordpress, le implemento un joomla y luego le pongo una plantilla en uno de sus wordpress que utilizaba como blog. ¿Estrategia de Negocio? Pues básicamente no, quiere herramientas que satisfagan sus necesidades. Como no está formado en las herramientas no está aplicando correctamente su modelo de negocio del 1.0 a internet.

    Yo tengo un perfil técnico porque he estudiado de esto, y he tenido que reaprender. Aprender WordPress, algo de Joomla y muchas cosas más, vamos he tenido que ser el hombre orquesta para tener visivilidad en la red y con todo esto espero que algún día pueda vivir de ello. ¿No es esta la idea de un emprendedor?

    Pues con todo esto, ESTOY CON EL DAVID:
    la mayoría de la gente no tiene ni idea de los conocimientos básicos para intentar emprender en Internet con éxito, basicamente, porque no se conocen.

    Este tipo de artículos ayudan mucho y ponen de manifiesto que nos queda mucho por aprender, y sobre todo nos queda mucho por aprender entre emprendedores, incluso aprender a colaborar.

    Espero que os sirva de ayuda mi experiencia.

    Muchas gracias por todo.

  • Pingback: Un nuevo paradigma en el diseño Web: más números y menos creatividad()