Cómo convertir visitantes en clientes con machine learning

El objetivo de cualquier web de venta online (o incluso comunidades o foros) es convertir a los visitantes en clientes, ya sea porque realizan compras o porque se suscriben al newsletter que pueda favorecer futuras compras. Para estudiar cuántos de estos visitantes pasan a ser clientes se utiliza la tasa de conversión. Mediante algunas técnicas de machine learning se puede predecir el momento idóneo en el que un visitante tiene mayor predispocisión para convertirse en cliente. En ese momento crucial se pueden realizar diferentes acciones que faciliten la conversión, por ejemplo, mostrarle una oferta personalizada u ofrecerle un chat con un especialista para poder darle recomendaciones sobre los productos que le interesen.

 

Vamos a ver un ejemplo sencillo que podría ampliarse después con mucha más información relativa al visitante y a las acciones que realiza en cada sesión. En este caso, analizamos el tiempo que permanece cada usuario en la web y el número de clicks que hace. A esta información se le añade una variable binaria que indica si el usuario se ha convertido en cliente o no. Así obtenemos un conjunto de datos con el siguiente aspecto:

 

2, 65, 0

9, 241, 1

11, 346, 1

6, 88, 0

4, 42, 0

 

Inicialmente, observando sólo el número de clicks, con una consulta sencilla de agregación que se puden realizar con cualquier software (BigQuery, MySQL, HIVE, Rproject,…) podríamos resumir los resultados consiguiendo para cada número de clicks el número de usuarios que se ha convertido/no convertido:

(Conversión, clicks. número de usuarios)

1,1,12

1,2,24

1,8,2845

1,9,3561

1,10,5210

0,1,9428

0,2,6479

0,3,6103

Con estos datos y la suma de usuarios convertidos y no convertidos se puede obtener la probabilidad a posteriori de que un usuario se convierta en tiempo real mediante el teorema de Bayes.

 

Además, podríamos utilizar otros modelos de clasificación más adecuados, como puede ser la regresión logística binaria o el análisis discriminante Bayesiano. Estos métodos están especialmente recomendados en los casos en los que la variable respuesta sea binaria. Utilizaríamos como variable respuesta la conversión (0/1) y podríamos incluir como variable explicativa el número de clicks. Se obtienen unos resultados que incluyen la probabilidad de conversión para cada número de clicks:

1   0.001

2   0.002

3   0.002

4   0.001

5   0.005

6   0.015

7   0.028

8   0.051

9   0.282

10 0.584

11 0.796

12 0.669

13 0.512

14 0.488

15 0.397

Con esta información podríamos establecer el número de clicks que deben realizar antes de obtener una oferta.

 

Pero además, como hemos incluido la variable de tiempo por sesión, deberíamos incluirla en el modelo. Los dos últimos métodos, entre otros muchos, admiten múltiples variables independientes por lo que serían idóneos. Estas dos técnicas de machine learning se pueden implementar en diferentes software, por ejemplo, directamente en Map Reduce o Python o de forma más directa en R/SAS. El resultado final que obtendríamos sería la probabilidad de conversión en tiempo real para cada visitante en función del tiempo que lleva en la web y el número de clicks. De este modo, si alcanza una probabilidad predeterminada podríamos realizar alguna acción promocional como las mencionadas anteriormente para convertirle. Además, a los que se encuentran en una situación próxima a la óptima para la conversión también se les puede realizar ofertas especiales para captarlos si deciden abandonar prematuramente la web.

 

Este ejemplo se puede completar con muchas más variables como localización, web visitada anteriormente, hora de la visita, acceso mediante un anuncio, etc. En tal caso, el modelo sería más preciso y permitiría realizar diferentes análisis en función de cada variable.