El histórico de datos: aprender de nuestros errores

07/29/2010 at 5:14 pm

Con este post queremos dar un paso más hacia la web inteligente. Parece ser que esto va a necesitar, inexorablemente, la colaboración de diversos perfiles: matemático-estadísitico, marketing, sistemas, etc.

Desde Metriplica siempre hemos insistido en una sencilla frase: menos intuición y más ciencia. Estas cinco palabras envuelven una metodología de trabajo en la que se enmarca la medición y el testing. Pero ahora hay que añadir un inquilino más que ya habíamos presentado: el data mining. Hemos pasado de cinco a dos palabras, y la metodología envuelta por éstas es todavía más densa y, quizás, un tanto abstracta. Uno de los actores principales en la minería de datos es el que más cuesta obtener: el histórico de datos. Vamos a hurgar en su uso y en su creación.

Tabla

El data mining

El data mining es una tarea de aprendizaje contínuo. Se trata, a grosso modo, de una estrategia de prueba y error (pruebo cambios y luego evalúo resultados), con la única diferencia es que la siguiente prueba tiene una base matemático-estadística irrefutable. Pero para poder aplicar técnicas o algoritmos matemáticos, necesitamos un input: algo a lo que aplicar el algoritmo, un conjunto de datos de prueba sobre los cuales ya conocemos la respuesta.

El histórico de datos (o conjunto de control) es una colección de datos reales (en nuesto caso, la actividad web quizás cruzada con datos del off-line, o del CRM) sobre los que ya tenemos cierta información que más adelante necesitaremos inferir sobre datos frescos (conjunto de test o de prueba). Lo más habitual en entornos web, es disponer de datos y una confirmación de conversión o de no conversión relativa a ellos.

Un ejemplo, por favor

Hace algunos posts hablamos de los tests multivariantes inteligentes. Durante la fase de testeo se va acumulando información sobre las variaciones mostradas, datos técnicos y sociodemográficos sobre los visitantes, y si los usuarios convirtieron o no. Esto es un ejemplo de histórico de datos: allí hay “errores” (combinaciones que dan pocas conversiones) que los algoritmos deben detectar y descartar para futuras pruebas o reglas de negocio. Esto, ni más ni menos, es aprender de nuestros errores.

¿Cómo lo obtengo?

Ya hemos visto cómo usar el histórico. Ahora toca resolver otro detalle: cómo crearlo. En un principio no sabemos qué parámetros son los más influyentes, así que no nos queda otra que recoger todo lo que se nos ocurra. Evidentemente este proceso se irá refinando a medida que vayamos ganando experiencia. No hace falta que diga que cuántos más datos queramos recoger, más problemas tendremos para su recogida, almacenamiento, procesamiento, etc.  ¿Cómo recogo todo lo que se me ocurre? Lo primero es hablar con el departamento de sistemas, ya que lo primero que tenemos que averiguar es si se puede (los datos sociodemográficos no se pueden recoger de los software de analítica web, se tendrán que recoger de encuestas, fichas de registro, etc.), cómo se recogerán (PHP, .Net, Google Analytics, etc.), en qué formato los vamos a guardar (tabla MySQL, Excel, CSV, etc.) y dónde los vamos a alojar (en local, en remoto, cloud computing, etc.).

Esto no es malo. Ni mucho menos

Una situación habitual en el mundo del data mining es la siguiente. Después de recoger decenas de parámetros, después de diseñar metodologías de recogida y almacenamiento, resulta que el modelo matemático de reglas de negocio (por ejemplo, un árbol de decisión o una red neuronal) sólo tiene en cuenta dos o tres de dichos parámetros. ¿El modelo es incorrecto? No, el modelo es sencillo. ¿Hubiese podido recoger menos información? No, a priori no podemos saber qué parámetros son los más influyentes a la hora de construir un modelo. Por otra parte, es muy habitual tener un modelo que hoy utilice dos parámetros y que pasado un tiempo utilice muchos más. Con esto quiero decir que el histórico tiene que ser grande, tiene que tener mucha información. Por supuesto, después de construir un modelo, nunca hay que borrar datos históricos.

¿Y ahora qué?

Prometo, para próximos posts, comenzar a hablaros de técnicas más concretas de minería de datos. Palabra de doctor.

Hacia un cambio de paradigma

05/07/2010 at 5:49 pm

¡Sorpresa!

Tengo que admitir que estoy algo sorprendido. En un post reciente, Avinash Kaushik nos habla de “la poca capacidad estadísitca” como causante de la mayoría de los miedos, dudas y desconocimientos existentes alrededor de la Analítica Web. Concretamente, en el post se menciona la poca capacidad para “cambiar de paradigma“, y que tal cosa es triste y frustrante. Evidentemente que lo es; Avinash, estoy contigo.

El caso de Google Analytics

Para darse cuenta de esto, no hay más que ver la flamante funcionalidad (todavía beta) de Google Analytics “Intelligence“. Toda esta inteligencia se reduce al cálculo de algunos intervalos de confianza para obtener cambios estadísticamente significativos. Perdonad mi tono sarcástico, pero en ningún momento he pretendido serlo: esta funcionalidad es la primera que hace inferencia estadística, es decir, es la primera que toca temas de predicción. Efectivamente, el cambio de paradigma se aproxima. Lento, pero se aproxima; y eso nos emociona. Éste es un tema que desde Metriplica llevamos tiempo pensado y meditando.

Aplicando la regla 20/80

En el post anterior ya dimos algunas primeras indicaciones para producir dicho cambio de paradigma en los tests mutivariantes: los podemos hacer inteligentes. Tal cambio supone una inversión (sobretodo mental) en capacidades matemáticas y estadísticas. Éste es el momento de aplicar la famosa regla 20/80 del mismo Avinash: 20% de inversión en herramientas y 80% de inversión en personas. El cambio de paradigma tiene que incluir, a la fuerza, una apertura de la analítica web hacia el mundo estadístico-matemático.

¡Pero la cosa no termina aquí!

Pero mi sorpresa no acaba aquí. Kaushik piensa que, debido a la gran complejidad de datos y su diversidad, los esfuerzos de minería de datos suelen fracasar y no arrojan soluciones de gran valor añadido en comparación a los costes que tienen. Esto, bajo mi punto de vista, vuelve a ser un punto que genera miedos, dudas e inseguridades. Como él mismo dice en el post, debemos hacer uso de lo que tenemos. Podemos recoger datos mediante tags de javaScript, mediante snippets en PHP, etc. Podemos integrar datos usando herramientas gratuitas y muy potentes estilo Pentaho. El coste que tenemos es únicamente de personal, ya que herramientas hay muchas, muy buenas y algunas son gratis. Matemáticos y estadísticos los hay a montones. Seguimos estancados en un paradigma en el que la Analítica Web no acoge a la comunidad matemática. Es decir, seguimos estancados en una mentalidad reactiva y en ningún caso proactiva.

Y nosotros, ¿qué aportamos?

Por suerte, Metriplica ya ha cambiado su paradigma, y estamos convencidos que ésta es la manera de seguirle la pista a la rápida evolución de la web. Podemos hacer tests multivariantes más inteligentes, podemos testear precios con un control estadístico riguroso por detrás, podemos personalizar, etc. Realmente estamos otro pasito más cerca de la web inteligente utlizando complejas técnicas estadístico-matemáticas.

Más allá del test multivariante: porque no todos somos iguales

04/06/2010 at 11:24 am

Ya habíamos comentado desde Metriplica que las e-empresas en España se encuentran en el nivel de madurez necesario para dar el paso hacia el Webmining, y más concretamente hacia los contenidos personalizados. Para centrarnos un poco, quería hablaros de una nueva manera de hacer tests multivariantes.

¿Qué teníamos hasta ahora?

Imaginémonos la siguiente situación: tenemos una landing page que nuestras métricas indican que debemos mejorar. Pensamos una serie de alternativas para cada sección y acabamos con una serie de recetas que vamos a testear. En este punto, y como es habitual y obligatorio, nos disponemos a pensar a quién vamos a dirigir el test: 80% del tráfico, tráfico proveniente de orgánico, directo, etc.

¿Qué problema tiene?

Con esta mentalidad, estamos tratando a todos estos usuarios por igual (en terminología del post anterior, nuestros clusters son, en este caso, las fuentes de tráfico) y obviamos el hecho de que hay usuarios que sí compran con el diseño actual. Diversas técnicas de Data Mining nos ayudan a identificar este segmento (clasificadores Bayesianos, Árboles de decisión, etc.). La pregunta está clara: ¿por qué no mantenemos a este segmento la versión original? La respuesta quizás pase por temas de programación. Nos dirán que hay que tocar la programación de la página, más allá de insertar simples tags del Google Website Optimizer. Estamos convencidos, y la experiencia así nos lo demuestra, que la ganancia final supera con creces al esfuerzo que hay que hacer de programación, que no va más allá de insertar una serie de condicionales antes de los tags.

No hay vencedores ni vencidos

Una vez acabado nuestro test, nuestro software nos da un “ganador”. ¿Ganador? En media sí lo es, pero en ningún caso se trata de un ganador absoluto. “El 50% de los usuarios que convirtieron lo hicieron con la receta “ganadora”. Eso significa que el otro 50% convirtió con otras recetas. Nuevamente, aplicamos los algoritmos de Data Mining que nos identificarán los segmentos para los que una determinada receta les gusta más. Entonces, en vez de hablar de un “ganador”, hablaremos de diversos ganadores. Es decir, el concepto de ganador cambia a encontrar receta(s) que satisfagan a un cierto número de usuarios dentro de los segmentos.

Esta técnica, además, minimiza el impacto que tiene, para los segmentos identificados, el hecho de cambiar de diseño cuando vuelven a entrar: si la muestra ha sido significativa y hemos programado nuestra página para detectar esos segmentos y mostrar la receta correspondiente, se les mostrará la receta que les gustó, con la que o bien convirtieron o están dispuestos a convertir.

¿Qué tengo qué hacer si no quiero programar?

Antes comentamos que el esfuerzo de programación que debemos hacer para reflejar los cambios que los algoritmos nos proponen pasa por implementar una serie de sentencias condicionales, para hacer coincidir el segmento del visitante con el del algoritmo. Pues a este respecto tenemos muy buenas noticias. Navegando por la web hemos encontrado una herramienta, BTBuckets, que permite crear segmentos de usuarios y tomar acciones sobre ellos en tiempo real. El esfuerzo de programación que debemos hacer para habilitar esta herramienta se reduce a insertar un tag en nuestras páginas.

¿Es lo mejor que puedo encontrar?

A pesar de que los segmentos que permite crear son un tanto limitados, nos da un punto de partida, fácil y gratuito a la personalización de contenidos por segmentos, y hace que nos pique la curiosidad para que comencemos a utilizar algoritmos de Data Mining que nos dé los segmentos basados en conocimiento, y no en intuición. Del resto, al menos en una fase inicial, se puede encargar BTBuckets.

¿Hacemos un ejemplo?

Y para muestra un botón. Hemos hecho de conejillos de indias y hemos probado esta herramienta con nuestro site. Hagamos el siguiente experimento: vayamos a la página de consultores autorizados de Yahoo!

dibujo11

Clica sobre el link hacia la página de Metriplica (el número 103). Observa que el link es hacia la home. Pero ¡sorpresa! Hemos ido a parar a la página que ofrece nuestros servicios de consultoría de Yahoo! Analytics.

dibujo2

¿Cómo? Pues hemos creado un Bucket que indica que si un usuario viene de la página de Yahoo! Analytics salte directamente hacia la página de servicios con Yahoo!
Igualmente, si esto sigue sonando a ciencia-ficción, no tienes más que contactarnos.

Web Mining: ¿Por qué ahora?

02/01/2010 at 5:32 pm

cerebro

Ahora las empresas están preparadas

Cuando desde Metriplica comenzamos a charlar sobre e-metrics, allá por el 2003, Google Analytics no existía (vino al mundo en el 2005) y eran muy pocas las empresas que se planteaban la medición online en serio. Ni que decir tiene que, hacer Web Mining sonaba a poco menos que a ciencia ficción, aunque nosotros ya eramos unos fanáticos. Hoy en día, prácticamente todas las e-empresas tienen, como mínimo, Google Analytics instalado, por lo que ya miden aquellas interacciones que sus visitantes hacen con el site, pero no utilizan esa información para predecir comportamientos futuros. Parece tener suficiente con usar esos datos para resolver problemas del presente. Dado el nivel de madurez actual, desde Metriplica estamos convencidos que ese ha de ser el siguiente paso. De hecho, para nosotros, ya lo es: creemos plenamente en el triunvirato formado por la analítica web, la inteligencia de negocios y la inferencia estadística.

La web inteligente: ¿cómo?

¿No nos gustaría que, nada más entrar en un site, se nos presente aquel contenido que nos disponíamos a buscar? Se trata, ni más ni menos, de contenidos personalizados. Pero, ¿cómo sabe el site quién soy y qué quiero, si ésta es mi primera entrada? Evidentemente, el site no lo sabía: ¡lo ha aprendido! La respuesta nos la ofrece la Minería de Datos (Data Mining), y de forma más concreta, el Web Mining. Detrás de estas dos palabras se esconde toda una rama de las matemáticas y de la algorítmica con una red de complicados conceptos y todavía más complicados algoritmos.

El Data Mining nos permite, a partir de una muestra (la interacción de los visitantes previos), extraer e inferir información sobre el resto de la población (tanto usuarios nuevos como recurrentes). Por ejemplo, y para citar dos análisis clásicos de la minería de datos, el análisis del carrito de supermercado (Market Basket Analysis) nos permite optimizar nuestras cross-sales, nuestras up-sells, el clickthorugh, etc. Otro ejemplo es el clustering de usuarios a partir de sus características (que previamente habremos de definir, y que no siempre es un puno fácil). Todas estas técnicas nos permiten enviar publicidad a medida (aquella que tiene la mayor probabilidad de conversión) y mostrar contenido a un usuario que pertenezca a un cierto cluster, a pesar de que ésta sea su primera visita.

Los actores

Es importante tener claro que los estadísticos descriptivos, aquellos proporcionados por la mayoría de softwares de Analítica Web, no dan información sobre los visitantes futuros, salvo algunas excepciones como la opción Intelligence de Google Analytics. Es necesario, pues, recoger y procesar estadísticos más allá de las métricas y KPIs habituales. Y aquí nos encontramos con las grandes custiones:

¿Qué datos recogo?

La primera pregunta tiene una respuesta clásica: depende. Depende de aquella inquietud que deseemos resolver: para la publicidad a medida tendremos que recoger datos referentes a las campañas previas así como sus respuestas, para el Análisis del carrito del supermercado tendremos que recoger datos transaccionales, etc.

¿Cómo los registro?

La segunda es un tanto más delicada, y merece unas cuantas horas de discusión que incluyen métricas, tecnología y hosting. Es una pregunta que tendremos que resolver con nuestros compañeros de sistemas.

¿Cómo los presento e integro?

La tercera pregunta es la más apasionante de todas, ya que su respuesta nos lleva a un mundo nuevo. Pero sólo es nuevo desde la perspectiva de la analítica web, porque desde la perspectiva del márketing tradicional se trata de un viejo conocido: Business Intelligence. Existen multitud de herramientas que nos permiten una flexibilización ilimitada sobre los reportes. Algunas son de pago y otras son gratuitas. La respuesta puede pasar por Oracle, SQL Server, SAP, Pentaho y tantos otros. La principal característica a la que tendremos que prestar especial atención es a la facilidad que ofrezca el integrador de datos. Si necesitamos datos transaccionales tendremos que cruzar éstos con los que nos de Google Analytics y con otras fuentes. Cuantos más cruces, más ajustadas serán las características y más realistas serán los clusters, pero a la vez tendremos más dificultad de cálculo y más dificultad de conseguir la significancia estadística deseada. Tenemos pues, una negociación entre cantidad de tráfico y realismo de resultados.

¿Cómo los proceso?

La cuarta pregunta es, quizás, la más fácil de contestar; tenemos actualmente una gran cantidad de software estadístico especializado: SPSS, Clementine, R, Rapid Miner, etc. Algunos son gratuitos, otros un poco más caros y otros mucho más caros. Un estadístico o un matemático te dará la respuesta que más se adapte a tus necesidades.

Si piensas que todo esto te queda un poco lejos, ¡no tienes más que contactarnos!