La plataforma digital de servicios QUIX desea atraer más usuarios. Para ello invertirá en pauta digital, permitiendo determinar las horas en la que las diferentes redes sociales tienen mayor afluencia de usuarios, con el fin de pautar los anuncios de la plataforma a los potenciales usuarios. Este prodecimeinto es de vital importancia ya que permite identificar los princiapales rangos horarios en los que se debe invertir el dinero, maximizando la exposición ante usuarios potenciales.
Se cuenta con una base de datos que hace referencia a la conexión de usuarios en un periodo de tiempo. Se desea extraer la información más relevante y eliminar los datos que no aportan información.
Podemos observar que, la base de datos se encuentra conformada por 5 variables, de las cuales Id_usuario, Calificadora y Correo no aportan información representativa para la solución de la problemática porpuesta, por lo tanto, se prodece a eliminarlas y a transformar la variable Fecha.Consulta, con el fin de crear nuevas variables temporales con relación al día y hora de conexión.
Examinamos la información disponible:
## ï..id_usuario Calificadora Correo
## fdcc844fb3b0: 66 Buró de Crédito:4022 gmail.com :2812
## a7b8edae9a16: 56 hotmail.com : 802
## 091830ac5256: 52 outlook.com : 111
## 4b636433f200: 47 live.com.mx : 39
## c5730eda6be5: 47 outlook.es : 29
## 016ab04dc28a: 30 yahoo.com.mx: 29
## (Other) :3724 (Other) : 200
## Fecha.Consulta Estado.usuario
## 18/01/21 22:51: 4 : 19
## 21/01/21 20:24: 4 ACTIVO :3602
## 21/01/21 23:41: 4 DESACTIVADO: 67
## 22/01/21 10:50: 4 SIN VALIDAR: 334
## 14/01/21 19:04: 3
## 15/01/21 0:20 : 3
## (Other) :4000
## ï..id_usuario Calificadora Correo Fecha.Consulta Estado.usuario
## 1 c2290d89dfc4 Buró de Crédito gmail.com 19/01/21 9:20 ACTIVO
## 2 8d24ef1d52d8 Buró de Crédito gmail.com 19/01/21 8:28 ACTIVO
## 3 a5120d2c47fa Buró de Crédito gmail.com 17/01/21 13:36 ACTIVO
## 4 5a5d70893606 Buró de Crédito edubc.mx 20/01/21 9:27 ACTIVO
## 5 4a2082948031 Buró de Crédito gmail.com 21/01/21 14:26 ACTIVO
## 6 41a54ce08fae Buró de Crédito oitlook.com 18/01/21 16:13 ACTIVO
## Fecha consulta dia hora Estado
## 1 19/01/21 9:20 2 9.333333 ACTIVO
## 2 19/01/21 8:28 2 8.466667 ACTIVO
## 3 17/01/21 13:36 0 13.600000 ACTIVO
## 4 20/01/21 9:27 3 9.450000 ACTIVO
## 5 21/01/21 14:26 4 14.433333 ACTIVO
## 6 18/01/21 16:13 1 16.216667 ACTIVO
El objetivo principal de la actividad está basada en establecer el momento de mayor conexión de los usuarios en las redes sociales, buscando determinar qué día y hora de la semana existe un mayor tráfico de usuarios en la red social. Ahora bien, procederemos a evaluar estadásticamente la cantidad de personas conectadas por día y hora. Para ello, emplearemos inicialmente el Histograma de frecuencias.
Primera fecha de recolección de los datos:
## [1] "2020-12-21"
Última fecha de recolección de los datos:
## [1] "2021-01-25"
La recolección de los datos ocurrió por un periodo de 36 días entre el 21/12/2020 y el 25/01/2021. El número de conexiones muestra una tendencia con distribución lognormal con la cola hacia la derecha, es decir, en los últimos días de diciembre hubo una muy baja conexión a la red social, mientras que en enero las conexiones fueron aumentando progresivamente hasta alcanzar su máximo en la tercera semana.
A continuación, se procede a verificar el comportamiento de los datos bajo una ciclicidad semanal.
En la siguiente figura, se puede obsrvar que, los días lunes y martes presentan la mayor alfuencia semanal en la red social, siendo los mejores días para realizar la pauta digital. Los días jueves, viernes, sábado y domingo, la afluencia se ve reducida a un 13% aproximadamente. Además, para el día miércoles se evidencia una drástica caída del 66% en visitas con respecto a los días de mayor tráfico.
Par evaluar el rango horario, se emplea una función básica de densidad, donde se puede observar que, el rango de hora con mayor conexión es de 6 pm a 11 pm, siendo las 9 pm la hora de mayor afluencia. En promedio, el número de personas conectadas por hora es de 168 personas, siendo el horario de la mañana de 1am a 9 am la de menor conexión.
Para analizar la problemática propuesta con tecnicas más sofisticadas, se propone utilizar el algoritmo de clasificación no supervisada K-means, el cual busca agrupar objetos en k grupos diferentes con caractiristicas similares. Es decir, se busca agrupar las observaciones minimizando la suma de las distancias al cuadrado de cada obsrvación al centroide de cada cluster.
## weekDay
## 0 1 2 3 4 5 6
## 628 676 707 246 582 598 585
## weekDay mDay yDay as.numeric.hora.
## 1 2 19 18 9
## 2 2 19 18 8
## 3 0 17 16 13
## 4 3 20 19 9
## 5 4 21 20 14
## 6 1 18 17 16
La función kmeans() del paquete stats presenta como argumentos princiaples a: * centers, el cual determina el número k de clusters que se van a generar * iter.max, representa el número de iteraciones que se realizarón. * nstart, corresponde al número de veces que se va a repetir el proceso iterativo.
La cantidad óptima de centroides k no se conoce de antemano, por lo que es necesario aplicar una técnica conocida como el Método del Codo, con el fin de determinar dicho valor. Básicamente, este método busca seleccionar la cantidad ideal de grupos a partir de la optimización de la WSS (Total Within Sum of Square).
fviz_nbclust(data.frame(df_no_cat$as.numeric.hora.), kmeans, method = "silhouette")
fviz_nbclust(data.frame(df_no_cat$as.numeric.hora.), kmeans, method = "wss",k.max=10,
diss = get_dist(df_no_cat, method = "euclidean"), nstart = 50)+
labs(title= "Numero optimo de cluster") +
xlab("k ") +
ylab("Suma de cuadrados internos (WSS)")
A partir de la curva obtenida anteriormente, podemos obsrvar que, a medida que se aumenta la cantidad de centroides k, el valor de WSS disminuye de tal forma que la gráfica adopta una forma de codo. Para seleccionar el valor óptimo de k, se escoje un valor en el cual ya no se aprecia variaciones considerables valor de WSS. En este caso, vemos que a partir de K=6 no se producen conmbios significativos, por lo que evaluaremos el algoritmo con esa cantidad de centroides.
El objeto devuelto por la función kmeans() contiene: * la media de cada una de las variables para cada cluster (centers) * un vector indicando a que cluster se ha asignado cada observación (cluster) * la suma de cuadrados interna de cada cluster (withinss) * la suma total de cuadrados internos de todos los clusters (tot.withinss).
Al imprimir el resultado también se puede observar el cociente de la suma de cuadrados entre clusters dividido la suma de cuadrados totales. Este cociente es equivalente al R2 de los modelos de regresión, lo cual indica el porcentaje de varianza explicada por el modelo respecto al total de varianza observada.Para este caso, tenemos una varianza del 76.4%
Cabe mencionar que, al incrementar el número de predictores, el cociente between_SS / total_SS aumenta con el número de clusters creados. Por lo que es importante tenerlo en cuenta para evitar problemas de sobreajuste.
Para el ejercicio propuesto, es de vital impotancia analizar los centroides y el tamaño de los clusters, ya que, para la pauta digital que se desea a proponer, buscamos e identificar aquellos clusters con mayor trafico de usuarios.
km_fullcat$centers
## weekDay mDay as.numeric.hora.
## 1 4.397749 11.54784 12.005629
## 2 1.080460 25.90805 18.189655
## 3 2.324403 19.35699 19.091962
## 4 2.017978 20.12135 10.776404
## 5 3.235294 18.85662 1.674632
## 6 4.716000 12.88200 20.098000
km_fullcat$size
## [1] 533 174 1381 890 544 500
Congruentemente, el centroide #3 presenta el mayor tráfico con 1381 registros. Se puede asociar el centroide al día 2-3 y la hora a las 7 pm. Siendo lo anterior una propuesta interesante para pautar sobre el segmento con mayor tráfico.
clusplot(df_no_cat[-3], km_fullcat$cluster, color=TRUE, shade=TRUE,
labels=2, lines=0, main='Cluster Plot')
En conclusión, de acuerdo a los datos disponibles, se ha propuesto analizar la problematica desde un punto de vista descriptivo y analitico, con el fin de entregar una informacion detallada y solida. la compañía debería distribuir su presupuesto para la pauta en redes sociales entre lunes y martes de 7 pm a 11 pm, haciendo énfasis en las 9 pm.
Debido la poca disponibilidad de los datos a través de los años, no podemos determinar una estacionalidad con el objetivo de definir cuál sería el mejor mes a invertir en pauta publicitaria.
Otros datos que serían interesantes de evaluar es el tiempo de permanencia de los usuarios en la red, ya que por ejemplo la mayor conexión se da a las 9 pm, pero podría pasar que la hora pico a la que hay mayor cantidad de personas conectadas al mismo tiempo sean las 11 pm.