Skip to content

Repository files navigation

Predicción de gastos de los usuarios de un e-commerce

Note

Este es un proyecto que pretende analizar datos oficiales y poder predecir si un consumidor comprará y cuánto gastará.

Caution

Utilizar con fines educativos :octocat:

Problema del negocio

La necesidad de prever y optimizar el gasto de sus usuarios ha llevado a una empresa de comercio electrónico a buscar soluciones innovadoras. Como científicos de datos, hemos sido convocados para desarrollar un modelo de machine learning que pueda predecir con precisión cuánto gastará un usuario al visitar dicho sitio web.

Stack de tecnologías

Python Pandas NumPy Matplotlib

scikit-learn

Configuración del ambiente

Important

Se requiere importar las siguientes tecnologías librerías para poder trabajar con el proyecto

import pandas
import numpy
import matplotlib.pyplot
import seaborn
import sknlearn
import xgboost
import lightgbm

Pre-procesamiento de los datos

Éste es el proceso más laborioso cuando obtenemos raw data y es el mas importante ya que a partir de datos legibles podemos continuar con el proyecto:

Diccionarios/JSON -> Dataframes

Encontramos en los datos estructuras no muy amigables para el trabajo de un científico de datos pero a través de herramientas que nos provee Pandas supimos resolverlo

image

El resultado:

image

Preprocesamiento general

Después de convertir todo a un DataFrame tuvimos que hacer un pre-procesamiento general que consistió en:

  1. Eliminar columnas o variables que no aportaban información
  2. Eliminar duplicados
  3. Inputación de valores nulos
  4. Transformación de estructuras de datos. Por ejemplo, String -> DateTime

EDA: Análisis exploratorio de los datos

Estadística Descriptiva

A partir de nuestro análisis exploratorio inicial, hemos obtenido perspectivas preliminares de los datos.

1. Número de visitas promedio (visitNumber)

En promedio, los usuarios visitaron el sitio unas 3.67 veces. Sin embargo, existe una gran variabilidad, con una desviación estándar de 6.54 y un máximo de 58 visitas por usuario. Esto sugiere la presencia tanto de visitantes frecuentes como de aquellos que acuden ocasionalmente.

2. Uso de dispositivos móbiles (isMobile)

Apenas el 9.75% de las visitas se efectuaron desde dispositivos móviles. Esta tendencia concuerda con el periodo analizado (2016-2017), época previa al auge de los pagos mediante plataformas digitales móviles por posible impacto del COVID.

3. Interacciones por visitas

Los usuarios interactuaron con el sitio un promedio de 36.48 veces por visita, visualizando un total de 28.62 páginas. Esto refleja que los usuarios que realizaron compras interactuaron significativamente con el sitio.

4. Detección de nuevas visitas y potenciales nuevos consumidores

Alrededor del 36.58% de las visitas correspondieron a nuevos usuarios, lo que proporciona una idea de la tasa de adquisición de nuevos clientes.

5. Consumo promedio

El gasto medio fue de aproximadamente 108,440,200 unidades y una desviacion de 145,673,700 unidades , presentando una alta variabilidad en las transacciones.

6. Visitas de origen directo

El 64.02% de las visitas fueron clasificadas como directas, indicando que una mayoría de los consumidores acceden al sitio sin interaccion en otras paginas de consulta de compras, lo cual puede reflejar un hábito de compra establecido en el comercio electrónico.

7. Patrones temporales

Los usuarios tienden a visitar el sitio más frecuentemente por la tarde, con un promedio de las 14:17 horas, y durante la mitad del año (junio y julio aproximadamente), con un mes promedio de 6.65.

8. Recurrencia

La frecuencia promedio de visitas es de aproximadamente 3.49 veces, lo que sugiere un nivel de lealtad y recurrencia entre los consumidores.

Además...

Compoartamiento de los consumidores por día de la semana

image

image

Esto indica que el martes y el miércoles son los días de mayor actividad en términos de número total de transacciones, destacándose como los momentos de la semana con mayor volumen de operaciones comerciales.

A pesar de que el martes tiene un alto volumen de transacciones, el análisis revela que el miércoles, seguido por el lunes, son los días donde se presentan más consumos. Esto sugiere que, aunque el martes sea significativo en cuanto a la cantidad de transacciones, el miércoles y el lunes son más relevantes en términos de la cantidad de consumos, reflejando posiblemente una mayor diversidad de compras realizadas o una mayor participación de consumidores activos en estos días.

Este análisis proporciona insights valiosos para la toma de decisiones en varios ámbitos del negocio:

Diseñar campañas de marketing dirigidas específicamente para los lunes y miércoles, con el objetivo de captar la atención de los consumidores en los días de mayor actividad de compra. Esto puede incluir ofertas especiales, descuentos, o promociones temáticas que incentiven aún más el consumo.

Asegurar que el inventario esté óptimamente preparado para satisfacer la demanda de los consumidores los lunes y miércoles, ajustando los niveles de stock basándose en los patrones de consumo observados.

Alinear los recursos de operaciones, logística, y soporte al cliente para asegurar una experiencia de compra fluida durante los picos de actividad, especialmente en los días identificados como de mayor consumo.

Tendencia diaria

image

La observación de picos altos de consumo en fechas específicas sugiere una relación significativa entre ciertos eventos o temporadas y el incremento en la actividad de compra. Estos periodos, como la Navidad, viernes Negro, son conocidos por impulsar el consumo debido a las promociones, descuentos y la naturaleza misma de las festividades, que fomentan el gasto.

Para capturar y analizar el impacto de estos eventos en el comportamiento de compra, se podría considerar la creación de variables indicadoras (variables dummy) en los análisis de datos.

Incorporar estas variables en modelos de análisis puede mejorar significativamente la capacidad para entender y predecir patrones de consumo, permitiendo a las empresas ajustar sus estrategias de marketing, inventario, y promociones de manera más efectiva. Además, el análisis de estas tendencias temporales puede ofrecer insights valiosos sobre el comportamiento del consumidor, ayudando a identificar oportunidades para introducir nuevos productos o servicios en momentos clave para maximizar el engagement y las ventas.

image

Comportamiento de los consumidores por hora del día

image

image

image

La agrupación de las transacciones y consumos en cuatro horarios distintos es una estrategia eficaz para simplificar el análisis de datos y obtener insights más claros sobre los patrones de compra. Si las compras se presentan más en los horarios de la tarde, desde las 12:00 pm hasta las 24:00 pm, esto sugiere una tendencia clara en el comportamiento de los consumidores, preferentemente orientada hacia las actividades de compra en la segunda mitad del día.

Para este tipo de análisis, se divide el día en los siguientes cuatro intervalos:

Mañana (6:00 am - 12:00 pm): Este horario captura las actividades de compra temprano en el día, que pueden incluir compras impulsadas por necesidades de último minuto o la realización de pedidos planificados previamente.

Tarde (12:00 pm - 18:00 pm): Este intervalo cubre las horas después del mediodía hasta el comienzo de la noche. Este periodo parece ser crítico para las transacciones y consumos, posiblemente debido a las pausas para el almuerzo o el tiempo libre que las personas pueden tener para realizar compras en línea o físicas.

Noche (18:00 pm - 24:00 pm): Este periodo abarca las horas de la tarde hasta la medianoche. Las compras en este horario podrían estar influenciadas por la conclusión de la jornada laboral, compras de última hora, o actividades de ocio que incluyen compras en línea.

Madrugada (0:00 am - 6:00 am): Aunque este intervalo suele tener menos actividad de compra en comparación con otros momentos del día, es importante monitorearlo para identificar comportamientos de nicho o tendencias emergentes, como compras impulsivas nocturnas o compras internacionales en zonas horarias diferentes.

Por otro lado...

También analizamos otros patrones que aportarían información valiosa a la hora de tomar decisiones:

image

image

image

image

image

image

Nuestra variable TARGET: transactionRevenue

transactionRevenue: Nos indica cuánto gastó el usuario del ecommerce

image

Feature Engineering

Construcción de los modelos para la predicción

Para la construcción de los modelos nos apoyamos en múltiples opciones para poder obtener lo mejor de cada algoritmo de Machine Learning

  1. LinearRegression
  2. Random Forest Regression
  3. XGBoost
  4. LightGBM
  5. CatBoost
  6. Votación

Evaluación de los modelos

image

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages