Objetivo del Análisis

Fecha: 2016-12-01

Queremos empezar a encontrar relaciones interesantes en los datos. Empezamos por descargar los datos y declarar librerías, Imputaremos la variable valor facturado para sacar del análisis el efecto “Adriana Arboleda” quien tiene unas compras tan inusuales que podría distorcionar el análisis.

Cambios de este Análisis versus la versión anterior

1)Todo este análisis se hace desde el 1 de agosto de 2016.

2)En este análisis se incluyo la observación hecha por Natalia Jimenez de que se redefiniera el concepto de recompra el cual anteriormente se entendía como que había recompra siempre y cuando el cliente comprar más de una vez sin importar si las compras eran hechas el mismo día. A partir de ahora el concepto de recompra se define que además de haber comprado más de una sola vez, tiene que haber sido en días diferentes para considerarse una recompra efectiva.

3)También se tuvo en cuenta la observación hecha por Viviana Molinares de quitar datos atípicos del análisis (caso Adriana Arboleda y otros) para poder quitar una posible distorción en las conclusiones. Para ello se decidió hacer imputación de datos para todo lo que esté por encima de $2.474.392 (quantil 98%) se le asigné el valor de ese cuantil.

  1. Finalmente se hizo la segmentación RFM a los clientes de Unicentro usando la recencia, frecuencía y valor facturado para catalogarlos en cuatro cuadrantes: Compradores VIP, Alta Frecuencia bajos montos, Compradores Pasivos y Compradores Gastadores:
## <environment: R_GlobalEnv>

Limpieza de datos de Fecha

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,

Limpiaremos los datos de la variable valor facturado para sacar a Adriana Arboleda y otros con comportamientos atípicos del análisis. Esos datos serán guardados en la variable valor. También conservaremos los datos originales sin imputación en la variable valor2. El propósito de ellos es que para el análisis de clusteres necesitaremos los datos originales sin imputación.

Exploración de Datos

Análisis de Compras y recompras

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 1532 contratos de clientes que al menos una vez hicieron una compra, pero de ellos 1447 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 5.55 %.

Análisis de segmentación RFM

RFM es uno de los métodos de segmentación de clientes más sencillos de implantar, y al mismo tiempo uno de los que mejores resultados aportan a corto plazo. Se basa en el célebre principio de Pareto, según la cual el 20% de los clientes de una compañía generan el 80% de los ingresos. El RFM es la mejor manera de constatar hasta qué punto este paradigma es real en nuestro caso, y ubicar a cada cliente en su escalón de la pirámide de valor.

El análisis consiste en clasificar a los clientes por su valor en función de tres variables:

1)Recencia. Días transcurridos desde la última compra.

2)Frecuencia. Número de compras por período de tiempo, como promedio. Por ejemplo, número de compras mensuales.

3)Money. Valor de las compras totales realizadas por el cliente en el tiempo de análisis.

Análisis RFM

Análisis de histogramas

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.

Análisis de Paretos

## 
## 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                 56996307  56996307 80.57927546     80.57928
##   Mont Blanc             4618672  61614979  6.52970831     87.10898
##   Brissa                 2333467  63948447  3.29897010     90.40795
##   Naf Naf                1777800  65726247  2.51338803     92.92134
##   Avianca - Deprisa      1397670  67123917  1.97597427     94.89732
##   Planeta Sport          1011000  68134917  1.42931449     96.32663
##   Café Illy               987430  69122347  1.39599209     97.72262
##   Nike                    939500  70061847  1.32823043     99.05085
##   Jenos Pizza             659150  70720997  0.93188194     99.98274
##   Agencia de Pantuflas     12212  70733209  0.01726487    100.00000
##              
## Pareto chart analysis for y
##               Frequency Cum.Freq. Percentage Cum.Percent.
##   Posgrado     213130.8  213130.8   34.50806     34.50806
##   No det       187320.5  400451.3   30.32912     64.83718
##   Profesional  108697.8  509149.1   17.59930     82.43648
##   Secundaria   108476.9  617626.0   17.56352    100.00000
## png 
##   2

##              
## Pareto chart analysis for y
##               Frequency Cum.Freq. Percentage Cum.Percent.
##   Posgrado     213130.8  213130.8   34.50806     34.50806
##   No det       187320.5  400451.3   30.32912     64.83718
##   Profesional  108697.8  509149.1   17.59930     82.43648
##   Secundaria   108476.9  617626.0   17.56352    100.00000
##              
## Pareto chart analysis for y
##               Frequency Cum.Freq. Percentage Cum.Percent.
##   No det      123069590 123069590   49.97456     49.97456
##   Profesional  61849063 184918653   25.11489     75.08946
##   Posgrado     57332176 242250829   23.28073     98.37019
##   Secundaria    4013644 246264473    1.62981    100.00000
## png 
##   2

##              
## Pareto chart analysis for y
##               Frequency Cum.Freq. Percentage Cum.Percent.
##   No det      123069590 123069590   49.97456     49.97456
##   Profesional  61849063 184918653   25.11489     75.08946
##   Posgrado     57332176 242250829   23.28073     98.37019
##   Secundaria    4013644 246264473    1.62981    100.00000
##     
## Pareto chart analysis for y
##      Frequency Cum.Freq. Percentage Cum.Percent.
##   11  93340134  93340134 37.9023951     37.90240
##   10  77142531 170482665 31.3250750     69.22747
##   9   58782798 229265463 23.8697841     93.09725
##   8   16706511 245971973  6.7839711     99.88123
##   12    292500 246264473  0.1187747    100.00000
## png 
##   2

##     
## Pareto chart analysis for y
##      Frequency Cum.Freq. Percentage Cum.Percent.
##   11  93340134  93340134 37.9023951     37.90240
##   10  77142531 170482665 31.3250750     69.22747
##   9   58782798 229265463 23.8697841     93.09725
##   8   16706511 245971973  6.7839711     99.88123
##   12    292500 246264473  0.1187747    100.00000
##            
## Pareto chart analysis for y
##             Frequency Cum.Freq. Percentage Cum.Percent.
##   sábado     58215289  58215289  23.639337     23.63934
##   jueves     40511426  98726714  16.450373     40.08971
##   miércoles  36400065 135126780  14.780884     54.87059
##   viernes    32754110 167880890  13.300380     68.17097
##   domingo    28727214 196608104  11.665188     79.83616
##   martes     25359762 221967866  10.297775     90.13394
##   lunes      24296608 246264473   9.866063    100.00000
## png 
##   2

##            
## Pareto chart analysis for y
##             Frequency Cum.Freq. Percentage Cum.Percent.
##   sábado     58215289  58215289  23.639337     23.63934
##   jueves     40511426  98726714  16.450373     40.08971
##   miércoles  36400065 135126780  14.780884     54.87059
##   viernes    32754110 167880890  13.300380     68.17097
##   domingo    28727214 196608104  11.665188     79.83616
##   martes     25359762 221967866  10.297775     90.13394
##   lunes      24296608 246264473   9.866063    100.00000
##          
## Pareto chart analysis for y
##           Frequency Cum.Freq. Percentage Cum.Percent.
##   No det  123069590 123069590   49.97456     49.97456
##   Casado   75292488 198362077   30.57383     80.54839
##   Soltero  47902396 246264473   19.45161    100.00000
## png 
##   2

##          
## Pareto chart analysis for y
##           Frequency Cum.Freq. Percentage Cum.Percent.
##   No det  123069590 123069590   49.97456     49.97456
##   Casado   75292488 198362077   30.57383     80.54839
##   Soltero  47902396 246264473   19.45161    100.00000
##          
## Pareto chart analysis for y
##           Frequency Cum.Freq. Percentage Cum.Percent.
##   Soltero  202976.3  202976.3   39.94609     39.94609
##   No det   187320.5  390296.8   36.86502     76.81111
##   Casado   117828.6  508125.4   23.18889    100.00000
## png 
##   2

##          
## Pareto chart analysis for y
##           Frequency Cum.Freq. Percentage Cum.Percent.
##   Soltero  202976.3  202976.3   39.94609     39.94609
##   No det   187320.5  390296.8   36.86502     76.81111
##   Casado   117828.6  508125.4   23.18889    100.00000
##     
## Pareto chart analysis for y
##      Frequency Cum.Freq. Percentage Cum.Percent.
##   1  265614.39  265614.4  10.307092     10.30709
##   7  202267.57  467882.0   7.848937     18.15603
##   11 199349.08  667231.0   7.735685     25.89171
##   9  196944.31  864175.3   7.642369     33.53408
##   3  182331.22 1046506.6   7.075312     40.60940
##   4  181942.58 1228449.2   7.060231     47.66963
##   16 181631.67 1410080.8   7.048166     54.71779
##   10 179915.90 1589996.7   6.981586     61.69938
##   8  166308.47 1756305.2   6.453554     68.15293
##   6  160893.39 1917198.6   6.243423     74.39636
##   14 140444.49 2057643.1   5.449909     79.84627
##   13 132801.92 2190445.0   5.153341     84.99961
##   12 123380.37 2313825.4   4.787741     89.78735
##   15 107783.33 2421608.7   4.182502     93.96985
##   5  106141.17 2527749.9   4.118778     98.08863
##   2   49256.17 2577006.0   1.911372    100.00000
## png 
##   2

##     
## Pareto chart analysis for y
##      Frequency Cum.Freq. Percentage Cum.Percent.
##   1  265614.39  265614.4  10.307092     10.30709
##   7  202267.57  467882.0   7.848937     18.15603
##   11 199349.08  667231.0   7.735685     25.89171
##   9  196944.31  864175.3   7.642369     33.53408
##   3  182331.22 1046506.6   7.075312     40.60940
##   4  181942.58 1228449.2   7.060231     47.66963
##   16 181631.67 1410080.8   7.048166     54.71779
##   10 179915.90 1589996.7   6.981586     61.69938
##   8  166308.47 1756305.2   6.453554     68.15293
##   6  160893.39 1917198.6   6.243423     74.39636
##   14 140444.49 2057643.1   5.449909     79.84627
##   13 132801.92 2190445.0   5.153341     84.99961
##   12 123380.37 2313825.4   4.787741     89.78735
##   15 107783.33 2421608.7   4.182502     93.96985
##   5  106141.17 2527749.9   4.118778     98.08863
##   2   49256.17 2577006.0   1.911372    100.00000
##                 
## Pareto chart analysis for y
##                  Frequency Cum.Freq. Percentage Cum.Percent.
##   No det         142509629 142509629 57.8685292     57.86853
##   Usaquén         42347437 184857065 17.1959179     75.06445
##   Chicó           31010657 215867722 12.5924201     87.65687
##   Puente  Aranda  12941568 228809290  5.2551502     92.91202
##   Engativa        12465844 241275134  5.0619742     97.97399
##   Suba             3380454 244655588  1.3726925     99.34668
##   Ciudad Kennedy   1608885 246264473  0.6533159    100.00000
## png 
##   2

##                 
## Pareto chart analysis for y
##                  Frequency Cum.Freq. Percentage Cum.Percent.
##   No det         142509629 142509629 57.8685292     57.86853
##   Usaquén         42347437 184857065 17.1959179     75.06445
##   Chicó           31010657 215867722 12.5924201     87.65687
##   Puente  Aranda  12941568 228809290  5.2551502     92.91202
##   Engativa        12465844 241275134  5.0619742     97.97399
##   Suba             3380454 244655588  1.3726925     99.34668
##   Ciudad Kennedy   1608885 246264473  0.6533159    100.00000
##           
## Pareto chart analysis for y
##            Frequency Cum.Freq. Percentage Cum.Percent.
##   (45,65]  135862427 135862427  55.169316     55.16932
##   (35,45]   46185580 182048006  18.754463     73.92378
##   (65,Inf]  27605570 209653577  11.209725     85.13350
##   (25,35]   15963255 225616831   6.482159     91.61566
##   (-1,18]   14916282 240533113   6.057017     97.67268
##   (18,25]    5731360 246264473   2.327319    100.00000
## png 
##   2

##           
## Pareto chart analysis for y
##            Frequency Cum.Freq. Percentage Cum.Percent.
##   (45,65]  135862427 135862427  55.169316     55.16932
##   (35,45]   46185580 182048006  18.754463     73.92378
##   (65,Inf]  27605570 209653577  11.209725     85.13350
##   (25,35]   15963255 225616831   6.482159     91.61566
##   (-1,18]   14916282 240533113   6.057017     97.67268
##   (18,25]    5731360 246264473   2.327319    100.00000
##           
## Pareto chart analysis for y
##            Frequency Cum.Freq. Percentage Cum.Percent.
##   (-1,18]   298325.6  298325.6   25.40140     25.40140
##   (65,Inf]  230046.4  528372.1   19.58766     44.98906
##   (18,25]   220436.9  748809.0   18.76944     63.75850
##   (45,65]   161548.7  910357.7   13.75531     77.51381
##   (25,35]   143813.1 1054170.8   12.24519     89.75900
##   (35,45]   120274.9 1174445.7   10.24100    100.00000
## png 
##   2

##           
## Pareto chart analysis for y
##            Frequency Cum.Freq. Percentage Cum.Percent.
##   (-1,18]   298325.6  298325.6   25.40140     25.40140
##   (65,Inf]  230046.4  528372.1   19.58766     44.98906
##   (18,25]   220436.9  748809.0   18.76944     63.75850
##   (45,65]   161548.7  910357.7   13.75531     77.51381
##   (25,35]   143813.1 1054170.8   12.24519     89.75900
##   (35,45]   120274.9 1174445.7   10.24100    100.00000

Análisis de Arboles: Caso general

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.

## png 
##   2

## png 
##   2

## png 
##   2

Análisis de Cajas para comportamiento del valor promedio facturado

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.

## png 
##   2

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.

## png 
##   2

## png 
##   2

## png 
##   2

## png 
##   2

Análisis de árboles para analizar las recompras en el centro comercial

## png 
##   2

## png 
##   2

Análisis Multifactorial

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.

## png 
##   2

## png 
##   2

## png 
##   2

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.

Elaboración de modelo predictivo

Empezaremos por transformar variables categóricas a dummies. Luego haremos la transformación a la variable valor antes de construir el modelo predictivo

## Warning in `[.data.table`(training_sample, , `:=`((c(34)), NULL), with
## = F): with=FALSE ignored, it isn't needed when using :=. See ?':=' for
## examples.

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   No   Si
##         No   57    0
##         Si    3 1013
##                                           
##                Accuracy : 0.9972          
##                  95% CI : (0.9919, 0.9994)
##     No Information Rate : 0.9441          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9729          
##  Mcnemar's Test P-Value : 0.2482          
##                                           
##             Sensitivity : 0.95000         
##             Specificity : 1.00000         
##          Pos Pred Value : 1.00000         
##          Neg Pred Value : 0.99705         
##              Prevalence : 0.05592         
##          Detection Rate : 0.05312         
##    Detection Prevalence : 0.05312         
##       Balanced Accuracy : 0.97500         
##                                           
##        '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 16, por lo que usaremos ese número de pca para predecir

## Warning in `[.data.table`(testing_sample, , `:=`((c(34)), NULL), with = F):
## with=FALSE ignored, it isn't needed when using :=. See ?':=' for examples.
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  No  Si
##         No   4   8
##         Si  21 426
##                                           
##                Accuracy : 0.9368          
##                  95% CI : (0.9105, 0.9573)
##     No Information Rate : 0.9455          
##     P-Value [Acc > NIR] : 0.82405         
##                                           
##                   Kappa : 0.1875          
##  Mcnemar's Test P-Value : 0.02586         
##                                           
##             Sensitivity : 0.160000        
##             Specificity : 0.981567        
##          Pos Pred Value : 0.333333        
##          Neg Pred Value : 0.953020        
##              Prevalence : 0.054466        
##          Detection Rate : 0.008715        
##    Detection Prevalence : 0.026144        
##       Balanced Accuracy : 0.570783        
##                                           
##        '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.