Páginas

sábado, 23 de mayo de 2015

Machine Learning o cómo mejorar las ventas de tu negocio

En los últimos tiempos escuchamos cada vez más hablar de conceptos como el Big Data, el Business Intelligence y de tecnologías como Hadoop, HBase, etc, muy orientados a la recopilación y explotación de datos para alcanzar los objetivos de nuestros sistemas.

Hoy me gustaría hablar sobre el Machine Learning que también está de moda y que nos está rodeando sin darnos cuenta en muchos de los sistemas que utilizamos a diario.

Cuando tratamos de incrementar los datos de nuestro negocio, usualmente empleamos herramientas de analytics que nos permiten medir y tratar de descubrir problemas en nuestras páginas, así como tratar de ser más conscientes de qué es lo que quiere el usuario, y en qué estamos acertando o fallando, bien en términos de UX, de precios, de productos, etc...

El problema que tiene la analítica, es que por detrás generalmente tenemos la necesidad de tener a una persona analizando esos datos para tratar de extraer conclusiones y ver dónde estamos fallando, o proponer soluciones. Es decir, se tarda un tiempo precioso desde que el experto descubre que igual un producto no se vende bien a un tipo de usuario y que es mejor priorizar otros productos sobre éste.

Básandose en el concepto anterior, con el tiempo surge el concepto de segmentación. La segmentación se basa en tratar de catalogar a los usuarios en base a una serie de variables que los aproximen y explotar esa información a la hora de ofrecerles productos, o darles una solución.

Ejemplos:

  • Amazon: si yo he realizado búsquedas o compras en amazon, el tipo de productos que me saca Amazon en primer lugar, no son los mismos que le mostraría a mi padre, o que le mostraría a una persona de otra localización.
  • Google: si yo realizo una búsqueda en Google sobre un término, los resultados que me aparecerán a mí, probablemente tengan otro orden o incluso aparezcan otros diferentes debido a que Google conoce mi historial de búsquedas, lo que le permite saber que mi perfil es de IT y que sin embargo mi madre tiene un perfil más doméstico.

Aparte en ambos casos anteriores, tanto Amazon como Google tienen la capacidad de aprender, de manera que si para un usuario de un perfil, un producto, o una búsqueda ha funcionado mejor, automáticamente es probable que este producto se le muestre en primer lugar a un usuario de igual características.

Actualmente ya muchas empresas ofrecen servicios para realizar esta segmentación de usuarios, pero como todo, siempre es mejor entender un poco qué es lo que hay detrás y cómo se realizan estos procesos, que simplemente fiarse de servicios que no podemos ver por dentro.

Podríamos clasificar la segmentación en dos segmentos (válgame la redundancia):

  • Sin aprendizaje: en este caso el desarrollador del motor de segmentación es la persona que manualmente analiza las variables que va a emplear, y genera un algoritmo adecuado para que dependiendo esas variables, el usuario sea encajado en un segmento. Es decir, partimos ya con una serie de segmentos que ha definido un usuario o el desarrollador, y que el algoritmo simplemente se encarga de mover usuarios a esos segmentos.
    • Ventajas
      • Dado que los segmentos los creamos nosotros, tienen sentido para nosotros. Ejemplo: Personas que entran desde madrid, con edad de 40 años y que han comprado electrodomésticos, los encajo en el segmento familia.
      • Como conozco los segmentos de antemano, puedo de manera sencilla testear y definir los productos que voy a priorizar para ese segmento.
    • Desventajas:
      • El algoritmo no aprende y está atado a mis segmentos. Es decir que yo siempre manualmente y en base a mis opiniones tengo que crear estos segmentos.

  • Con aprendizaje: en este caso se delega la creación de los segmentos a un algoritmo de aprendizaje que va a analizar los diferentes usuarios que acceden a la web junto sus variables, y va a clasificarlos por segmentos en base al algoritmo. (Por ello se llama Machine Learning, porque al final es el sistema el que va aprendiendo).
    • Ventajas:
      • Como el algoritmo define los segmentos, se pueden estar creando segmentos nuevos que nosotros ni siquiera éramos conscientes. (Por ejemplo el algoritmo puede establecer que tres usuarios aunque sean de localizaciones geográficas diferentes tienen tantas cosas en común que pertenecen al mismo segmento, mientras que con el enfoque anterior, hubieran caído cada uno en un segmento si hubiera segmentos por localización).
      • Es totalmente autónomo, salvo pequeños ajustes que podemos realizar para que vuelva a aprender, no necesitamos de ningún mantenimiento para crear los segmentos.
    • Desventajas:
      • Puede no ser natural para nosotros, dado que si trabajamos con muchas variables, un segmento formado por varios usuarios puede tener sentido para el algoritmo y sin embargo nosotros no ser capaces de "entender" por qué esos tres usuarios están en el mismo segmento.
      • Difícil de probar, dado que dependiendo de nuestro número de usuarios puede haber muchísimos segmentos y además variar con el tiempo en número.

Los algoritmos de aprendizaje se basan en matemáticas que son capaces de agrupar diferentes puntos e interpolar nuevos comportamientos de nuevos usuarios. 

Por todo lo anterior, aunque muchas empresas nos pueden atraer y vender muy bien lo que hacen, o de repente se nos puede llenar la boca hablando de tecnología (y recordad, la tecnología no es el fin, sino el medio).
Si no tuvistéis la oportunidad de estudiar redes neuronales, teorías de regresión, etc, en la carrera, en Coursera tenéis un maravilloso curso sobre Machine Learning de la Universidad de Standford que podéis encontrar aquí.

¡¡Disfrutadlo y que las derivadas y las matrices no se os atraganten!! :)




No hay comentarios:

Publicar un comentario