Sistemas de Recomendación

En Mayo, Synergic Partners y Telefónica presentaron  Data Science Awards Spain 2016, los primeros premios big data en España.

Los que nos presentamos en la categoría de mejor Data Scientist teníamos que pasar dos fases, una primera eliminatoria con una batería de 20 preguntas para la que se presentaron 230, sólo los 50 mejores pasaban a la segunda fase, en la que se realizaba un proyecto de una de las tres disciplinas: Data Analysis, Data Visualization y Data Engineer.

Yo escogí la opción Data Analysis, en la que me esperaba un reto fabuloso: desarrollar un sistema de recomendación de películas partiendo de cero, sin datos, sin películas y sin usuarios. El plazo para desarrollar el proyecto era el mes de Julio. Tengo que reconocer que, a pesar del estres, me ha apasionado el reto y aunque ha requerido un gran esfuerzo, ha merecido la pena.

Actualmente, se están evaluando los trabajos presentados y los resultados se conocerán este mes de Septiembre. En cuanto se conozcan los resultados compartiré con vosotros el enlace de la solución que he desarrollado, para que podáis disfrutarla.

Pero, ¿qué son los sistemas de recomendación?, son esos algoritmos que nos ayudan a elegir. Es fácil elegir entre 10 películas, 10 bolsos, 10 restaurantes, 10 viviendas o 10 acciones de bolsa, pero cuando el número crece a 100, 1.000, 10.000 o más, comenzamos a tener problemas para recordar todos los datos y establecer un criterio de selección. Estos algoritmos nos ayudan en la selección utilizando inteligencia, mediante algoritmos estadísticos o de machine-learning. La elección del algoritmo dependerá de la finalidad de la recomendación y la información disponible.

Pero no nos asustemos con la sofisticación de los algoritmos, existen sistemas de recomendación adecuados a todos los niveles, desde modelos sencillos de fácil implementación como reglas de negocio del tipo: si el cliente compra una raqueta de tenis ofrécele unas pelotas de tenis, hasta modelos complejos que requieren unos conocimientos elevados y gran dedicación como la solución que ganó el premio de Netflix. Desde mi opinión, el sistema de recomendación debe plantearse inicialmente con un modelo sencillo e ir evolucionando con el aprendizaje continuo del equipo de desarrolladores.

Desde el punto de vista de negocio, los sistemas de recomendación engloban a una infinidad de soluciones que tienen como objetivo ayudar en la selección de productos con el fin de facilitar la decisión de compra y de reducir el tiempo empleado mejorando la experiencia del usuario. Podemos agrupador los sistemas de recomendación más habituales en tres familias:

Sistemas de recomendación ítem-item

Estos sistemas buscan relaciones entre los objetos para cuantificar su similitud, sin tener en cuenta al usuario que está interactuando con ellos. Su lógica es sencilla, dos productos serán más similares cuando tengan más características en común, por ejemplo una mesa marrón de madera se parecerá a una mesa negra de madera o unas sillas marrones de madera que a un oso de peluche azul.

Ejemplos de sistemas de recomendación ítem-item podemos encontrarlos en e-commerce cuando al pulsar sobre un objeto nos aparecen objetos similares con el fin de concretar la búsqueda (seleccionamos un vestido verde floreado largo y nos aparecen otras prendas que pueden ser vestidos verdes floreados largos o vestidos verdes floreados, vestidos verdes largos, etc.) u objetos complementarios con el fin de realizar venta cruzada (junto con el vestido podrían aparecer sandalias a juego, pamelas, bolsos, etc.).

La ventaja de estos sistemas es que para desarrollarlos sólo es necesario la información interna y no hace falta personalizarlos al usuario que interactúa, esto permite desarrollarlos una sola vez y ejecutarlos fácilmente.

La desventaja es que la propuesta de valor es idéntica para todos los clientes perdiendo las posibilidades de personalización que nos permiten las tecnologías si incluimos la información del cliente.

Estos sistemas se suelen implementar en las primeras etapas del negocio cuando no se captura información del cliente o la rotación de clientes es alta y no se suele disponer de históricos suficiente de los clientes

Los sistemas orientados a concretar la búsqueda se pueden utilizar para seleccionar destinos turísticos, ropa, hoteles, restaurantes, películas, noticias, contenidos web, libros, etc, es decir, siempre que para la compra se tenga que elegir entre varios comparables. Los sistemas orientados a venta cruzada se pueden utilizar para ofrecer complementos a la ropa, excursiones a los destinos, seguros a los viajes, pan de molde a los que compren nocilla, etc., es decir, siempre que se puedan ofrecer productos que aumenten la cesta de la compra.

Hay mercados en los que su uso ayudaría al consumidor a elegir, como en el caso de los vinos, donde un sistema que nos permitiese encontrar vinos parecidos a los que me gustan nos ayudaría a seleccionar.

Sistemas de recomendación user-user

Estos sistemas basan sus recomendaciones en los gustos y preferencias del usuario que interactúa y los gustos y preferencias del resto de usuario sin tener en cuenta las características de los productos. La lógica es sencilla, me gustan las cosas que les gustan a las personas que tienen gustos similares a los míos.

La ventaja de estos sistemas es que se basan en la experiencia del cliente que es el que finalmente compra y permite realizar recomendaciones personales a cada cliente.

La principal desventaja es que es necesario capturar información de los clientes antes de poner en marcha este tipo de sistemas y debemos contar con un entorno que permita la personalización en tiempo real, aunque si esto no es posible, pueden realizarse la recomendación de forma atemporal a través de newsletters personalizadas, banners o correos electrónicos.

Estos sistemas suelen implementarse en etapas maduras del negocio y solamente en negocios recurrentes donde el cliente pueda opinar sobre los productos, en caso contrario nunca se tendrá la base de clientes suficiente.

Se pueden usar para productos que contrataríamos por recomendaciones de amigos como películas, restaurantes o libros, incluso noticias de prensa, utilizando para ello no sólo la opinión de un amigo sino la de muchos usuarios.

Sistemas de recomendación item-user

Estos sistemas suelen ser los más complejos puesto que tienen en cuenta la información de los productos y con la del usuarios o usuarios. La lógica es sencilla, si me gusta un objeto y este es parecido a otro, este último también me gustará.

Estos modelos suelen implementarse en etapas intermedias del negocio cuando se dispone de información de los productos y de información de los usuarios. Hay algoritmos orientados a negocios con productos de consumo esporádico, por ejemplo coches o viviendas, y otros orientados a productos con consumo más habitual como libros, películas o restaurantes.

Los sistemas de recomendación son útiles y se pueden aplicar en casi todos los negocios mejorando la experiencia del consumidor, pero no todas las familias de sistemas de recomendación son adecuadas para cualquier negocio. Por lo que antes de desarrollar un sistema de recomendación es necesario analizar el negocio, las características de los productos y clientes y evaluar el objetivo del sistema de recomendación. Todo esto nos permitirá elegir el enfoque más adecuado. Un consejo para alcanar el éxito es comenzar con algoritmos sencillos, fáciles de desarrollar e implementar que permitan desde el primer momento medir y aprender, esto nos permitirá evolucionarlos. Es importante recordar que los modelos están en continua evolución y nunca los podemos considerar productos terminados.

Otro matiz importante es que los sistemas de recomendación no tienen que utilizarse exclusivamente con productos para la venta, pueden utilizarse para seleccionar contenidos en la web o publicidad que mostrar a los clientes. Este enfoque no es muy habitual pero seguro que conseguiríamos mejoras sustanciales si los contenidos y/o la publicidad estuvieran adecuado a los usuarios.

Para terminar, algo que nunca podemos olvidar es que los sistemas de recomendación son modelos y como tales no son correctos, parafraseando al estadístico Box: All models are wrong but some are useful. No esperemos que estos modelos sean perfectos pero seguro que nos ayudan a mejorar la experiencia de los usuarios, que en el fondo es lo que importa, simplificarles la vida y ahorrarles tiempo en su toma de decisiones para que puedan emplear el tiempo restante en disfrutar.

images


9 respuestas a “Sistemas de Recomendación

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s