Análisis Univariado (Caracterización)

library(readxl)
Base_prospectos <- read_excel("C:/Users/User/Desktop/Base_prospectos.xlsx")

sum(is.na(Base_prospectos$Tenencia_productos_credito))
## [1] 12522
datos_limpios = na.omit(Base_prospectos)


require(ggplot2)
require(ggpubr)
require(plotly)

g1=ggplot(Base_prospectos,aes(x=Genero))+geom_bar()+theme_bw()
g2=ggplot(Base_prospectos,aes(x=Ocupacion))+geom_bar()+theme_bw()
g3=ggplot(Base_prospectos,aes(x=Codigo_canal))+geom_bar()+theme_bw()

ggarrange(g1, g3,labels = c("A", "B"),ncol = 2, nrow = 1)

ggplotly(g2)

De acuerdo al análisis univariado categórico que se representa en los gráficos A, B, y C, se identifica que la mayoría de clientes son masculino, con negocio propio y la comunicación con ellos la mayoría de las veces ha sido por medio del canal mensaje de texto.

g4=ggplot(Base_prospectos,aes(x=Edad))+geom_histogram()+theme_bw()
g5=ggplot(Base_prospectos,aes(x=Antigüedad))+geom_histogram()+theme_bw()
g6=ggplot(Base_prospectos,aes(x=Saldo_promedio_CuentaA))+geom_histogram()+theme_bw()

ggarrange(g4, g5, g6, labels = c("A", "B", "C"),ncol = 2, nrow = 3)

promedio_Edad = mean(Base_prospectos$Edad,na.rm = TRUE)
mediana_edad = median(Base_prospectos$Edad,na.rm = TRUE)
mediana_antiguedad = median(Base_prospectos$Antigüedad,na.rm = TRUE)
mediana_saldo = median(Base_prospectos$Saldo_promedio_CuentaA,na.rm = TRUE)
resultado=data.frame(promedio_Edad,mediana_edad,mediana_antiguedad,mediana_saldo)

resultado
promedio_Edad mediana_edad mediana_antiguedad mediana_saldo
43.871 43 32 896634.5

Complementando estas caracteristicas y analisis exploratorio de datos, se evidencia que la edad del cliente prospecto es 43 y tienen una actiguedad de vinculación con el Banco de 2,6 años respectivamente, con un saldo estimado en $900.000

Ahora, después de hacer un analisis exploratorio de datos y determinar unas caracteristicas descriptivas de nuestros clientes, recordemos que para abarcar un proyecto de analitica es recomendable aplicar la metodología Crisp-DM, la cual consiste en: 1. Entender el negocio, 2. Entender los datos, 3. Preparar los datos por medio de las técnicas predictivas o descriptivas 4. Hacer el modelamiento 5. Evaluar el resultado 6. Si el paso #5 es exitoso y si refleja en su gran mayoria la realidad y el obetivo del proyecto, se realiza la implementación o despliegue.

Ahora recordemos que el objetivo del proyecto es identificar aquellos clientes que podrían mostrar una mayor intención de aceptación y compra de la tarjeta de crédito y para este objetivo nos estamos enfrentando a un modelo supervisado de clasificación, podriamos usar un random forest o vecino mas cercano o Naive Bayes o arbol de desición. Me voy a ir por el modelo de random forest y asi determinar si los clientes son potencial para la tarjeta de credito o no

#library(caret)
#library(randomForest)

#pasamos la variable a factor

#Base_prospectos$Potencial = factor(Base_prospectos$Potencial)

#set.seed(2018)
#training.ids = createDataPartition(Base_prospectos$Potencial, p=0,7, list = FALSE)

#mod = randomForest(x = Base_prospectos[training.ids, 1:10],
                   #y = Base_prospectos[training.ids, 11],
                   #ntree = 500,
                   #keep.forest = TRUE)

Bueno acá entrenaría al modelo para que realice la partición por unos 500 arboles y cada arbol hace su categorización de la población y cuando el modelo me agrupe y arroje el resultado de cual es el grupo de mayor valor, lo compararía con la matriz de confusión validando la tasa de verdaderos positivos y la presición, Finalmente este es el que eligiría como cliente potenciales para ofrecerle la tarjeta de crédito. Siempre teniendo en cuenta las variables dependiente (y) e independiente (x)