Escríbeme al WhatsApp








Revoluciona la Gestión del Presupuesto con la ayuda del machine learning .
Modelo Clasificatorio


URL del proyecto en R: Clasification-model.notbeook-in-R.html

Herramientas utilizadas: RStudio, Microsoft Excel, Power Query, Tableau


Sección 1: Introducción al proyecto



Descripción del problema

IFood, una empresa de delivery de comida a través de una aplicación. Ifood enfrenta un estancamiento en el crecimiento y busca optimizar el rendimiento de sus actividades de marketing en las cuales no se está haciendo un buen trabajo del manejo del presupuesto.

A pesar de tener sólidos ingresos en los últimos tres años, las perspectivas de crecimiento no son prometedoras. Por lo tanto, la compañía desea abordar este problema centrándose en mejorar la eficiencia de sus campañas de marketing, particularmente en la próxima campaña que tiene como objetivo vender un nuevo dispositivo a su base de clientes existente.

Objetivo empresarial

"Elaborar un modelo predictivo basado en datos históricos de los clientes que identifique aquellos con mayor probabilidad de responder positivamente a la próxima campaña de marketing."

Este modelo debe permitir al departamento de marketing tomar decisiones cuantitativas e informadas, lo que resultará en un mejor uso del presupuesto anual y, en última instancia, en un aumento en las ventas y el crecimiento de la empresa.


Sección 2: Descripción de los datos



Features que serán proporcionados para desarrollar el modelo

Para el proyecto se proporcionó un conjunto de datos que consta registros de 2206 clientes de la empresa XYZ con información sobre:

Columna Tipo de datos Sub tipo de datos Rangos o Categorias
1. ID Categorical Nominal 0-11,191
2. Age Numerical Discrete 18-21
3. Income Numerical Continuous 1,730-666,666
4. Kidhome Numerical Discrete 0-2
5. Teenhome Numerical Discrete 0-2
6. Dt_Customer Numerical Discrete 2012-07-30 to 2014-06-29
7. Recency Numerical Discrete 0-99
8. MntWines Numerical Continuous 0-1,493
9. MntFruits Numerical Continuous 0-199
10. MntMeatProducts Numerical Continuous 0 a 1725
11. MntFishProducts Numerical Continuous 0-259
12. MntSweetProducts Numerical Continuous 0-263
13. MntGoldProds Numerical Continuous 0-362
14. NumDealsPurchases Numerical Discrete 0 a 15
15. NumWebPurchases Numerical Discrete 0 a 27
16. NumCatalogPurchases Numerical Discrete 0 a 28
17. NumStorePurchases Numerical Discrete 0-13
18. NumWebVisitsMonth Numerical Discrete 0-20
19. AcceptedCpm1 Categorical Nominal 0-1
20. AcceptedCpm2 Categorical Nominal 0-1
21. AcceptedCpm3 Categorical Nominal 0-1
22. AcceptedCpm4 Categorical Nominal 0-1
23. AcceptedCpm5 Categorical Nominal 0-1
24. Complain Categorical Nominal 0-1
25. Response Categorical Nominal 0-1
26. Education Categorical Nominal Graduation, Master, PhD, 2nd Cycle, Basic
27. Marital Status Categorical Nominal Married, Single, Widow, Divorced, Together, Alone, YOLO, Absurd

Sección 3: Descubrimientos - Análisis Exploratorio de Datos


Educación vs Respuesta


Observaciones

Respuesta a campañas anteriores vs Respuesta a campaña actual


Observaciones

Meses de antiguedad vs Respuesta a campaña actual


Observaciones

Gasto mensual vs Respuesta a campaña actual


Observaciones

Otros atributos vs Respuesta a campaña actual


Observaciones

Sección 4: Construcción del modelo con Regresión Logística


Esta sección inicia luego de las pruebas estadísticas y análisis del efecto de los atributos, por lo cuál ya se han seleccionado cuáles atributos utilizará el modelo. Si quieres saber más a detalle todo el proceso visita el URL del proyecto que está al inicio de esta página web.

Regresión logística


División de datos en conjuntos de entrenamiento y validación

Se optó por una división 80%/20%.

Multicolinealidad

No se detectó multicolinealidad en ningun término (VIF menor a 5.0).

Resultados de validación cruzada 10 fold

Se observa un alto accuracy del modelo (arriba del 85%).

Evaluación de precision, recall y specificity del modelo

El modelo es bueno identificando positivos verdaderos (71% precision) pero le falta sensitividad (30% recall), aunque la sensitividad podría no ser tan importante para este proyecto.

Visualización del ROC y AUC

El AUC es de 0.815 lo que es considerado muy bueno.

Desempeño fuera de muestra

El modelo demuestra un desempeño aún más satisfactorio en datos no utilizados previamente, lo cual es una señal positiva de su capacidad predictiva.

Sección 5: Mejorando el modelo con Sobremuestreo


Estrategia para datos no balanceados: Sobremuestreo


Ahora utilizaremos la técnica de sobremuestreo para intentar mejorar el modelo.

Desempeño fuera de muestra

La mejora proporcionada por el sobremuestreo no fue lo suficientemente significativa como para justificar su inclusión; por lo tanto, hemos optado por mantener el modelo original sin aplicar la técnica de sobremuestreo.

Sección 6: Mejorando el modelo con KNN


K Vecinos más Cercanos.


Primero, intentemos construir un modelo para captar algunas relaciones no lineales que no pudieron ser captadas por el modelo de regresión logística.

Evaluar el modelo de K vecinos más cercanos fuera de muestra

Los resultados no son tan buenos, pero como sabemos, por lo general, KNN por sí solo no es competitivo con técnicas de clasificación más sofisticadas.

Sin embargo, en la práctica del ajuste del modelo, KNN se puede utilizar para agregar "conocimiento local" en un proceso por etapas con otras técnicas de clasificación. Por lo tanto, agregaremos el resultado de KNN como un nuevo predictor que podría mejorar la capacidad de clasificación en nuestro modelo.


Estableciendo KNN como característica del modelo


Ahora intentemos establecer KNN como una característica y usarlo en el modelo de regresión lineal múltiple para ver si eso podría mejorar el modelo.

Modelo de validación cruzada de 10 pliegues

Evaluando la precisión, exhaustividad y especificidad del modelo

Aunque la precisión del modelo experimentó un ligero descenso del 71% al 69%, la exhaustividad aumentó sustancialmente del 30% al 41%. Además, la precisión del modelo mejoró modestamente, aumentando del 87% al 88.5%.

Visualizando la curva ROC y el AUC del modelo

Estos resultados indican que el modelo ha mostrado cierta mejora. Sin embargo, es fundamental evaluar el rendimiento del modelo utilizando datos fuera de la muestra para confirmar su efectividad.

Evaluando el modelo en nuevos datos (fuera de muestra)

Lamentablemente, a pesar de la prometedora apariencia del modelo modificado, no produjo ninguna mejora en la muestra de retención. En consecuencia, hemos decidido mantener el modelo original de regresión logística para nuestro análisis.

Visualizando los valores observados frente a los valores predichos en la muestra de retención


Sección 7: Conclusión

El modelo resultante tiene una precisión del 75%, sensibilidad del 42%, especificidad del 97%, exactitud del 89% y un AUC de 0.831. Este modelo permitirá a la empresa centrar sus campañas de marketing en aquellos clientes que tienen más probabilidades de responder positivamente a la nueva campaña. Al hacerlo, la gestión del presupuesto del departamento se optimizará y las ganancias aumentarán.

La efectividad del modelo podría mejorarse, particularmente en términos de sensibilidad. Sería recomendable explorar otras técnicas de modelado, ajustar parámetros o probar diferentes técnicas de preprocesamiento de datos para mejorar el rendimiento del modelo en esta área.

©2023 Abraham Cedeño Levy