PROGRAMMATIC SPAIN

View Original

La inteligencia nunca sobra, aunque sea artificial

Las máquinas surgieron

de las cenizas del fuego nuclear.

Su guerra para exterminar

a la humanidad había continuado con furia

durante décadas, pero no se libraría

la última batalla en el futuro.

Se libraría aquí,

en el presente.

Supongo que a muchos de vosotros os suenas las palabras de la introducción de este post. Así es, se trata de la película Terminator. Y es que cuando hablamos de Inteligencia Artificial (IA) a mí personalmente, me viene a la cabeza esa película.

En el siglo XIX, los padres del campo Minsky y McCarthy describieron la Inteligencia Artificial como cualquier tarea realizada por un programa o una máquina. Y si un humano realizara la misma actividad, diríamos que el humano tiene que aplicar la inteligencia para realizar esa tarea.

Quitándonos de la cabeza escenarios apocalípticos como Terminator (aunque el inicio de 2021 no ayuda a no tener esas reflexiones), la IA no es otra cosa que un sistema que normalmente realiza algunos de los siguientes comportamientos asociados con la inteligencia humana: planificación, aprendizaje, resolución de problemas, representación del conocimiento, percepción, razonamiento, etc.

A pesar de la pandemia, 2020 fue un buen año para la industria del ecommerce. Todo ello, gracias a la adaptación, a un ritmo vertiginoso, en respuesta a los cambios planteados por el COVID-2019, desde las cambiantes demandas de los consumidores hasta los nuevos comportamientos de compra y patrones de gasto.

Precisamente, en la búsqueda de los ecommerce de la experiencia perfecta para el cliente, es donde está aumentando a marchas forzadas la adopción de la IA en un amplio abanico de áreas de negocio. Muchos equipos de comercio electrónico y marketing, en poco tiempo, mejoraron su stack tecnológico con soluciones basadas en Inteligencia Artificial como respuesta a una mayor competencia.

Los números y los hechos

Las estadísticas y los hechos revelan cómo la IA está afectando a la industria del ecommerce. Solo echa un vistazo al siguiente gráfico que muestra los crecientes ingresos de la Inteligencia Artificial de 2016 a 2025.

Ingresos provenientes de la Inteligencia Artificial (2016 - 2025). FUENTE: Statista

De hecho, cada año que pasa, la IA se consolida como una de las tendencia más importante entre las empresas ecommerce. Gracias a ese hecho, los clientes se están aprovechando de una experiencia de compra más fluida y sencilla en Internet que nunca. 

¿Queréis más hechos y números de la importancia de la IA en la industria ecommerce?Pues como este blog, ha nacido para serviros, aquí los tenéis:

Aplicaciones de IA en Ecommerce

Llegado a este punto, centrémonos un poco en el concepto básico de cómo afecta exactamente la Inteligencia Artificial al ecommerce.

Con las crecientes capacidades y aplicaciones de la IA, hemos visto su influencia en muchas áreas, incluido el desarrollo web, el marketing de contenidos, el comercio minorista, los viajes, la atención médica y, por supuesto, el comercio electrónico. La forma en que la IA ha tocado todos los aspectos de la vida ha cambiado drásticamente. En todas partes se puede notar la presencia de la Inteligencia Artifical.

Veamos algunas de esas aplicaciones concretas a través de las cuales la IA pueden marcar -y de hecho, ya lo están haciendo- grandes diferencias en la industria del ecommerce.

Facilitar la búsqueda de productos

Las soluciones tecnológicas tradicionales presentes en el ámbito del ecommerce no son lo suficientemente inteligentes para mostrar los resultados de productos que más se ajustan a las necesidades de los clientes. Esto provoca que las tasas de abandono en los procesos de búsqueda de productos generen frustración por ofrecer resultados irrelevantes.

Este problema se puede resolver utilizando sistemas de recomendación basados en IA con el objetivo de filtrar, contextualizar y, en última instancia, mejorar los resultados de búsqueda de productos para los compradores. 

Segmentar a todos los visitantes

Abordemos esta aplicación con un ejemplo. Todas las plataformas de comercio electrónico reciben más visitantes que compradores. Y todos esos visitantes que abandonaron el ecommerce que no compraron, tienen el potencial de convertirse en clientes. Pues bien, gracias a la IA y el Machine Learning (ML) se pueden categorizar a los visitantes de forma ágil y escalable para centrar las estrategias de captación y conversión. 

Como otro ejemplo, la IA incluso puede ayudar a un minorista con una tienda física. Ese comercio podría implementar una cámara CCTV con un sistema basado de Inteligencia Artificial que incorpore reconocimiento facial para capturar el tiempo que los clientes pasan en sus tiendas. De este modo, si un cliente específico dedica más tiempo del promedio a solicitar un producto pero no lo compra, la solución de IA puede sugerir ofertas atractivas y descuentos para atraer a ese cliente.

Revolucionar el marketing relacional

El matrimonio entre IA y CRM (o un CDP) también es una unión muy fructífera. Así, los ecommerce se pueden beneficiar de tener la capacidad de interactuar con sus clientes en el momento y lugar adecuado. Sobre este punto podéis leer más en este post que escribí recientemente.  

De hecho, cuando la IA se fusiona con cualquier plataforma de MarTech, permite a las marcas responder con una mayor eficiencia a las necesidades de sus clientes, aportar valor y resolver problemas y, también, tener la capacidad de identificar nuevas oportunidades de venta (fidelización, up-sell, cross-sell...).

Personalización omnicanal

Es de sobra conocido que la personalización no es algo nuevo en el desarrollo de la industria del ecommerce, pero con las tecnologías de IA y ML, las empresas ahora pueden ofrecer a sus clientes un profundo nivel de personalización omnicanal. Gracias a ello, los clientes disfrutan de experiencias personalizadas que aportan valor a lo largo de todo el customer journey.

Asistentes virtuales

Los chatbots y los asistentes activados por voz que han surgido gracias a la Inteligencia Artificial ayudan a los clientes a obtener soluciones para sus consultas sin el apoyo de operadores humanos. De esa manera, un ecommerce puede reducir la inversión y los recursos destinados en tener grandes equipos de atención al cliente para atender todas las peticiones que le llegan.

Soy consciente de que existen muchas más aplicaciones y muchas más que estarán por llegar. Por lo que, como este medio tiene el afán de construir en comunidad, os animo a que dejéis en los comentarios otras aplicaciones de la Inteligencia Artificial en la industria del ecommerce.

EXTRA BONUS. Receta para “cocinar” un sistema de recomendación de productos

Manos en la masa. Os traigo un regalo especial. En este apartado veremos de forma práctica y paso a paso, como desarrollar un sencillo sistema de recomendación de productos utilizando un método de promedio ponderado. Así que como si fuéramos a cocinar una paella, aquí tenéis la receta.

Ingredientes

  • Python (os recomiendo que utilicéis la plataforma Anaconda).

  • Importar todas estas librerías y dependencias.

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
import ast 
from scipy import stats
from ast import literal_eval
from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer
from sklearn.metrics.pairwise import linear_kernel,cosine_similarity
%matplotlib inline
  • Un set de datos para el ejercicio que podéis descargar aquí. Usaremos un conjunto de datos de películas para crear este modelo de recomendación.

  • Actitud y no tener miedo a bajar un poquito al barro aunque no seáis técnicos.

Pasos

(1) Después de importar las dependencias y descargar el set de datos, debemos añadirlo en nuestro proyecto de Python.

movies_df = pd.read_csv('movies_metadata.csv') ratings = pd.read_csv('ratings_small.csv') movies_df.columns

(2) Como podréis ver, tenemos muchas columnas que no son necesarias para hacer predicciones.

Por lo tanto, será mejor que las eliminemos del movies_df dataframe de este modo:

movies_df = movies_df.drop(['belongs_to_collection', 'budget', 'homepage', 'original_language', 'release_date', 'revenue', 'runtime', 'spoken_languages', 'status', 'video', 'poster_path', 'production_companies', 'production_countries'], axis = 1) movies_df.head()


(3) Después podréis verificar que todas las columnas no requeridas se han eliminado y que el dataframe contiene solo las columnas necesarias.

(4) Como la columna genres contiene una array con la identificación de las claves y el nombre, necesitamos extraer el dato del ‘name’ ya que es el género de la película y, por ende, separar la columna solo con los valores de ese ‘name’. Esto lo podemos hacer tal que así:

movies_df['genres'] = movies_df['genres'].fillna('[]').apply(literal_eval).apply(lambda x: [i['name'] for i in x] if isinstance(x, list) else [])movies_df['genres'].head()  

Como veis en la imagen de arriba, ahora tenemos los datos modificados y podemos continuar.

(5) El siguiente paso, es ordenar las películas según el vote_count y el vote_average, para así mostrar una lista con las las mejores películas. De hecho, a continuación podéis ver la fórmula que seguiremos (no os asustéis) y el código que debéis implementar en Python.

#vote_countV = movies_df[movies_df['vote_count'].notnull()]['vote_count'].astype('float')

#vote_averageR = movies_df[movies_df['vote_average'].notnull()]['vote_average'].astype('float')

#vote_average_meanC = R.mean()

#minimum votes required to get in listM = V.quantile(0.95)

Con esto, definimos un valor apropiado para M: el porcentaje mínimo de votes_counts necesarios para escalar esa película en el ranking de weighted_average.

Usamos el percentil 95 como nuestro límite. En otras palabras, para que una película aparezca en el ranking escalada, debe tener más votos que al menos el 95% de las películas de la lista.

(6) Anteriormente, definimos el valor M, por lo que ahora solo tomamos aquellas películas cuyo vote_count sea mayor que el vote_average requerido para escalarlas.

df = pd.DataFrame()
df = movies_df[(md['vote_count'] >= m) & (movies_df['vote_average'].notnull())][['title','vote_count','vote_average','popularity','genres','overview']]  

(7) En este momento, tenemos todo listo para calcular el Weighted_average.

df['Weighted_average'] = ((R*V) + (C*M))/(V+M)
recm_movies = df.sort_values('Weighted_average', ascending=False).head(500)
recm_movies.head()

De ese modo, calculamos el Weighted_average para cada película y, después de ordenar el dataframe por los valores del Weighted_average en orden descendente, almacenamos las 500 películas más importantes cuyos valores weighted_average son los más altos en el dataframe recm_movies.

(8) Por último y como resultado, tenemos que The Shawshank Redemption tiene el weighted_average más alto y sucesivamente veremos los títulos de las películas que le seguirían -nuestros productos en este ejercicio-. Al usar una visualización obtendremos esa información de forma más gráfica.

Para los que se hayan quedado con ganas de más, en este enlace os dejo más detalle y otros dos tutoriales para construir sistemas de recomendación más complejos. Uno basado en la popularidad y el género de las películas y otro con un filtro de contenido (content-based).

Y recordar, I'll be back!