Queremos empezar a encontrar relaciones interesantes en los datos. Empezamos por descargar los datos y declarar librerías
## <environment: R_GlobalEnv>
Vamos a identificar las variables que tengan fecha, las convertiremos de caracteres a formato fecha y de ahi crearemos las columnas dia de la semana y mes. De aquí podriamos calcular, la edad de las personas, configurar rangos de edades, el mes de la factura,la hora de la factura,
Queremos analizar los clientes que usan hicieron más de una compra en el centro comercial de los que no. La idea que tengo es que identificar cuantos facturas existen por cada cliente. Los clientes que tengan más de una factura que clasificarían como si recompraron, mientras que los que tengan una sola factura los clasificaremos como No en la variable categórica recompra
Hay 423 contratos de clientes que al menos una vez hicieron una compra, pero de ellos 371 volvieron a efectuar más de una compra. Entonces es obvio que si hay clientes que hacen compras frecuentemente. El porcentaje de Churn es del 12.29 %.
En caso de que se incluya el valor facturado al modelo se recomienda hacer transformación a los datos.
Finalmente empezaremos por unir los datos de tiendas y usuarios con las tablas de: usuarios-tiendas-seleccionadas y usuarios-tiendas-categorias para analizar a los usuarios por tiendas visitadas y categorías.
##
## To cite qcc in publications use:
##
## Scrucca, L. (2004). qcc: an R package for quality control
## charting and statistical process control. R News 4/1, 11-17.
##
## A BibTeX entry for LaTeX users is
##
## @Article{,
## title = {qcc: an R package for quality control charting and statistical process control},
## author = {Luca Scrucca},
## journal = {R News},
## year = {2004},
## pages = {11--17},
## volume = {4/1},
## url = {http://CRAN.R-project.org/doc/Rnews/},
## }
##
## Pareto chart analysis for y[1:10]
## Frequency Cum.Freq. Percentage Cum.Percent.
## Exito 20125230 20125230 74.7020009 74.70200
## Naf Naf 2297400 22422630 8.5276231 83.22962
## MNG 2040100 24462730 7.5725620 90.80219
## La Bolera 696841 25159571 2.5865750 93.38876
## Fedco 686422 25845993 2.5479012 95.93666
## Bosi 405800 26251793 1.5062721 97.44293
## Naydu 386000 26637793 1.4327773 98.87571
## Nueva Moda 189800 26827593 0.7045107 99.58022
## Ambos 62041 26889634 0.2302874 99.81051
## El Corral 51050 26940684 0.1894904 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## Posgrado 1122874.1 1122874 64.34354 64.34354
## Profesional 386581.2 1509455 22.15209 86.49562
## No determinado 235668.0 1745123 13.50438 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## No determinado 76120773 76120773 49.49257 49.49257
## Posgrado 59512326 135633099 38.69401 88.18658
## Profesional 18169318 153802417 11.81342 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## 9 87198698 87198698 5.669527e+01 56.69527
## 10 35219114 122417812 2.289893e+01 79.59421
## 6 13598700 136016512 8.841669e+00 88.43587
## 8 13384609 149401121 8.702470e+00 97.13834
## 1 3542498 152943619 2.303278e+00 99.44162
## 7 437300 153380919 2.843258e-01 99.72595
## 4 379700 153760619 2.468752e-01 99.97282
## 2 40798 153801417 2.652624e-02 99.99935
## 3 1000 153802417 6.501848e-04 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## martes 48277271 48277271 31.389150 31.38915
## sábado 32362392 80639663 21.041537 52.43069
## lunes 19577083 100216746 12.728723 65.15941
## jueves 16885260 117102006 10.978540 76.13795
## viernes 13216419 130318425 8.593115 84.73106
## domingo 12088187 142406612 7.859556 92.59062
## miércoles 11395805 153802417 7.409380 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## No determinado 76120773 76120773 49.49257 49.49257
## Casado 39827262 115948035 25.89508 75.38765
## Soltero 37854382 153802417 24.61235 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## Casado 1531817.8 1531818 67.21354 67.21354
## Soltero 511545.7 2043363 22.44575 89.65929
## No determinado 235668.0 2279031 10.34071 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## 11 2048267.5 2048267 33.1768049 33.17680
## 14 999250.0 3047517 16.1853482 49.36215
## 9 571381.5 3618899 9.2549498 58.61710
## 7 534838.0 4153737 8.6630372 67.28014
## 10 307931.4 4461668 4.9877171 72.26786
## 4 287757.1 4749425 4.6609446 76.92880
## 12 276007.6 5025433 4.4706316 81.39943
## 13 264905.3 5290338 4.2908026 85.69024
## 8 218541.4 5508880 3.5398228 89.23006
## 6 215328.1 5724208 3.4877766 92.71784
## 3 195163.8 5919372 3.1611644 95.87900
## 5 105479.0 6024851 1.7084964 97.58750
## 15 64815.0 6089666 1.0498407 98.63734
## 1 44030.0 6133696 0.7131758 99.35051
## 2 40098.0 6173794 0.6494872 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## No determinado 79748667 79748667 51.851374 51.85137
## Usaquén 47097382 126846049 30.622004 82.47338
## Chicó 22826926 149672975 14.841721 97.31510
## Suba 3080042 152753017 2.002597 99.31770
## Ciudad Kennedy 1049400 153802417 0.682304 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## (25,35] 48460996 48460996 31.5086050 31.50860
## (45,65] 48309467 96770463 31.4100831 62.91869
## (-1,18] 25711766 122482229 16.7174005 79.63609
## (35,45] 19373028 141855257 12.5960491 92.23214
## (65,Inf] 11541869 153397126 7.5043483 99.73649
## (18,25] 405291 153802417 0.2635141 100.00000
##
## Pareto chart analysis for y
## Frequency Cum.Freq. Percentage Cum.Percent.
## (-1,18] 857058.9 857058.9 34.206031 34.20603
## (25,35] 781629.0 1638687.8 31.195552 65.40158
## (65,Inf] 303733.4 1942421.2 12.122287 77.52387
## (45,65] 239155.8 2181577.0 9.544934 87.06880
## (35,45] 222678.5 2404255.5 8.887309 95.95611
## (18,25] 101322.8 2505578.2 4.043887 100.00000
Es muy posible que los resultados del análisis de árboles se vea distorcionado por la poca cantidad de datos asi como el hecho de que hay usuarios que no han querido especificar su genero, estado civil, edad y nivel educativo.
Es muy posible que los resultados del análisis de cajas también se vea distorcionado por la poca cantidad de datos asi como el hecho de que hay usuarios que no han querido especificar su genero, estado civil, edad y nivel educativo.
Del primer análisis de cajas se evidencia la existencia de datos atípicos y que las mujeres tienen mayor variabilidad de precios en los valores facturados.
## Warning: Removed 1 rows containing non-finite values (stat_boxplot).
## Warning: Removed 1 rows containing non-finite values (stat_boxplot).
## Warning: cex and tweak both specified, applying both
Seleccionaremos las siguientes variables para determinar si hay correlación entre las siguientes variables:Tienda,valor,documento, genero,ciudad,sector,nivel_educativo,estado.civil,hijos,week.day,rango.edad y recompra.
Del análisis de individuos se puede apreciar como hay mayor cantidad de personas que recompran que las que no. Se necesitaría más datos para predecir mejor los que no harían recompras.
Del Análisis multifactorial podemos evidenciár la correlación negativa que hay entre recompra y rango de edades.También hay correlación negativa entre recompra y valor facturado, pero el tamaño del vector es tan pequeño que no se puede afirmar. Parececiera haber una correlación positiva con No de hijos del usuario.
También viendo la gráfica veo que es mejor convertir las variables factor a dummies e intentar mejorar el modelo con esa transformación a las variables categóricas.
Empezaremos por transformar variables categóricas a dummies. Luego haremos la transformación a la variable valor antes de construir el modelo predictivo
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Si
## No 36 0
## Si 1 260
##
## Accuracy : 0.9966
## 95% CI : (0.9814, 0.9999)
## No Information Rate : 0.8754
## P-Value [Acc > NIR] : 2.982e-16
##
## Kappa : 0.9844
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9730
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.9962
## Prevalence : 0.1246
## Detection Rate : 0.1212
## Detection Prevalence : 0.1212
## Balanced Accuracy : 0.9865
##
## 'Positive' Class : No
##
Cuando se gráfican los componentes principales contra el error se encuentra que el error baja a su mínimo cuando el número de componentes principales es 8, por lo que usaremos ese número de pca para predecir
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Si
## No 1 9
## Si 14 102
##
## Accuracy : 0.8175
## 95% CI : (0.7388, 0.8806)
## No Information Rate : 0.881
## P-Value [Acc > NIR] : 0.9866
##
## Kappa : -0.0168
## Mcnemar's Test P-Value : 0.4042
##
## Sensitivity : 0.066667
## Specificity : 0.918919
## Pos Pred Value : 0.100000
## Neg Pred Value : 0.879310
## Prevalence : 0.119048
## Detection Rate : 0.007937
## Detection Prevalence : 0.079365
## Balanced Accuracy : 0.492793
##
## 'Positive' Class : No
##
Es evidente que con más y mejores datos el modelo predictivo puede mejorar. Al menos está prediciendo bien los que si recompran, pero es necesario que aprenda a predecir mejor a los que no.
Cuando incluí la variable tienda, la predicción mejoró en un 4% pero tuve que quitarla porque al no haber suficientes datos, cuando se hace la prueba con los datos de testeo se genera un error, porque aparecen en los datos de testeo nuevas tiendas que no fueron incluidas en los datos de entrenamiento.Para evitar problemas de sobreajuste u Overfitting vamos a hacer una prueba más acida sobre los datos de testeo