Analisis Documentado

Dentro de la materia de analisis de datos sociales hemos aprendido a entender los mensajes ocultos (si lo podemos llamar asi) dentro de toda la informacion y ahora lo pondremos a prueba analizando un dataset sobe una página de Facebook en la cual se vende maquillaje.

Existen varios puntos que nos interesa entender, el primero de ellos es el siguiente:

1

Queremos averiguar si el numero de likes sigue una tendencia dependiendo de las veces que fue compartido. Esto es lo analizaremos de la siguiente manera:

datos <- read.csv("c:/R/dataset_Facebook.csv", header = TRUE, sep = ";") 

Ingresamos la linea donde asignaremos la variable datos a nuestro dataset, aqui tambien le decimos a nuestro programa que el documento que estamos exportando cuenta con encabezados y la separacion entre cada dato es por punto y coma. En la tabla resultante podemos observar todos los datos que tenmos en nuestro documento y ahora vamos a analizar como obtener el primer punto.

likes <- as.numeric(datos$like)
compartido <- as.numeric(datos$share)

Agregamos las dos lineas anteriores para indocar que la variable likes sera de tipo numerico y que se le asignara el valor que se encuentra en la variable datos en la colummna de like, al igual que compartido será una variable numerica.

sort(likes, decreasing = TRUE)
##   [1] 5172 1998 1639 1622 1572 1546 1505 1372 1155 1047  955  859  859  821  766
##  [16]  766  755  697  696  678  664  617  579  577  535  534  529  523  485  484
##  [31]  469  449  447  442  435  431  412  411  407  400  379  377  370  367  363
##  [46]  360  358  345  332  331  330  329  328  325  325  319  315  310  307  304
##  [61]  302  301  290  286  285  278  277  270  268  267  264  264  256  250  249
##  [76]  244  244  243  238  237  236  235  234  234  234  233  231  227  227  227
##  [91]  227  226  226  226  223  220  219  217  216  215  214  213  212  211  210
## [106]  208  204  204  202  202  200  199  198  198  197  197  194  194  194  193
## [121]  193  190  189  188  188  187  187  187  186  186  186  185  181  180  179
## [136]  179  179  179  176  174  172  172  168  167  166  166  165  164  164  163
## [151]  163  162  161  161  160  159  156  155  155  155  154  154  154  154  153
## [166]  152  152  152  150  148  148  148  148  148  148  146  146  145  144  144
## [181]  143  143  143  142  142  142  141  140  140  139  139  139  138  138  138
## [196]  137  137  136  136  134  130  130  129  129  129  129  128  128  128  128
## [211]  128  127  126  125  125  124  124  118  117  117  115  115  114  114  114
## [226]  114  113  113  113  113  112  112  111  109  109  107  107  107  107  105
## [241]  104  104  104  102  102  102  102  101  101  101  101  101  100   99   99
## [256]   99   99   98   98   98   98   98   98   98   97   97   96   96   96   96
## [271]   95   95   95   94   93   93   93   92   91   91   91   90   89   88   88
## [286]   88   87   87   87   86   86   86   85   84   84   84   84   82   81   80
## [301]   80   79   79   79   79   79   79   78   78   77   77   77   77   76   76
## [316]   76   76   75   75   74   74   74   74   74   73   73   72   72   72   72
## [331]   72   72   71   71   71   71   69   68   68   67   66   66   66   66   66
## [346]   65   65   65   64   64   64   64   63   63   63   63   62   62   62   61
## [361]   61   61   61   60   59   59   59   59   58   58   57   57   57   57   56
## [376]   56   56   56   56   55   55   54   54   54   54   53   53   53   53   53
## [391]   53   52   52   51   51   51   50   49   48   48   48   48   48   47   47
## [406]   47   47   46   46   46   44   44   43   42   41   41   40   40   40   40
## [421]   39   39   38   37   36   36   36   35   34   34   33   32   32   32   32
## [436]   32   30   30   30   29   29   28   28   28   27   27   26   25   25   24
## [451]   24   23   22   22   19   18   18   17   16   15   15   15   15   14   14
## [466]   13   13   12   12   11   11    9    8    7    7    7    7    7    7    6
## [481]    6    6    5    4    4    4    4    3    3    3    2    2    2    1    0
## [496]    0    0    0    0
plot(likes[1:100], compartido[1:100])

Con la indicacion sport nuestros datos se ordenaran decreceintemente, para poder analizarlos mejor, mientras con la funcion plot creamos la grafica y en ella podremos comprender mejor la relacion que existe entre ellos, al ejecutarlos se muestra lo siguiente: Estos son los datos que se nos muestran en la consola, nostrandonos que la publicacion que mas likes obtuvo 5272, ahora pasemos a analizar la grafica: ¿Que observamos en esta grafica? Podemos analizar que existen publicaciones en las cuales o fueron compartidas y por consiguiente tampoco recibieron likes, ademas de que si trasaramos una linea nos podriamos dar cuenta que el punto mas lejano el cual, fue el que mas likes recibio se desfasa de la linea trazada. Un buen analista de datos puede comprender que no siempre existe una correlacion entre ambos puntos como es este caso.

2

Queremos conocer la media de las interraciones del mes de julio para lo cual utilizamos el siguiente codigo:

mean(datos$Total.Interactions[datos$Post.Month==7])
## [1] 328.5

Con la funcion mean sacaremos la media de todos los datos, pero nosotros solo queremos conocer la media de las interacciones realizadas en el mes de julio, por lo cual deberemos hacer una subconsulta. Sacando de la variable datos el total de interacciones pero a la vez, de la variable datos el mes en que fue publicado, todos aquellos datosque tengan igual a 7 osea el mes de julio, al ejecutar esta linea el resultado mostrado es de 328.5.

3

Nuestro tercer punto es determinar que tipo de publicacion es mas convenietne postear en la pagina segun el dia de la semana y el total de interracciones que se obtuvieron, utilizando el siguiente codigo:

tabla <- subset(datos, subset = Type == "Photo", select = c('Post.Weekday', 'Total.Interactions'))
tabla2 <- subset(datos, subset = Type == "Status", select = c('Post.Weekday', 'Total.Interactions'))
tabla3 <- subset(datos, subset = Type == "Link", select = c('Post.Weekday', 'Total.Interactions'))
tabla4 <- subset(datos, subset = Type == "Video", select = c('Post.Weekday', 'Total.Interactions'))

El cual nos sirve para mostrarnos una tabla con los dias de la semana y el total de interracciones que se obtuvieron de esta publicacion, esto lo utilizaremos para comparar cada tabla y poder deducir que es mas conveniente publicar. Al analizar la tabla de interacciones al publicar una foto, podemos observar que el dia de la semana que es mas conveniete publicar una foto, son los dias miercoles pues se obtuvo un total de 6334 interacciones. Al igual que las fotos el mejor dia para publicar un estado es un dia miercoles, obteniendo un total de 1009 interraciones. Pasemos a la tercer forma de publicacion un link, la tendencia cambio pues los dos tipos anteriores de publicacion era mas conveniente publicarlos en miercoles, para que un link obtenga mas interacciones debera ser publicado un dia martes. Aunque la pagina a publicado pocos videos, el mejor dia para publicarlos es un viernes generando un total de 550 interracciones. Por lo cual deducimos que el mejor tipo de publicacion es una foto, en los dias miercoles pues al ser la mitad de la semana las personas visitan la pagina de facebool buscan algo con que distraerse, por lo cual sera mas facil interactuar con una foto. Ya que es mas rapido compartir una foto, dar like o comentar que ver un video o ingresar a ver estados, asi como entrar a un link. Ya que si lo que deseamos es promocionar un producto por medio de un video lo debemos publicar un dia viernes, pues es fin de semana y ahora los posibles clientes estaran dispuestos a ver el video completo, ya que la semana de trabajo a terminado.

4

Este paso lo realizaremos en dos dado que primero analizaremos si el pago por publicacion es mas conveniete en una publicacion dado el alcance de vida de la publicacion utilizando el siguiente codigo:

pago <- as.numeric(datos$Paid)
totalvida <- as.numeric(datos$Lifetime.Post.Total.Reach)
sort(pago, decreasing = TRUE)
##   [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
## [149] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [186] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [223] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [260] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [297] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [334] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [371] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [408] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [445] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [482] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
plot(pago[1:100], totalvida[1:100])

Dando asi a la variable pago un valor numerico y a la variable totalvida de igual manera le asignamos un valor numerico, con la funcion sort generamos que la grafica resultante sea decresiente y la funcion plot nos graficara los primeros 100 resultadoss de los pagos y el total de vida de la publicacion mostrando la grafica anterior. Podemos observar en nuestra grafica que efectivamente al pargar por una publicacion el tiempo de vida de esta sera mucho mas largo, pues sino se por la publiciad de la pagina nuestras publicaciones seran olvidadas mas rapido o no generan el mismo impacto que si pagaramos por ellas.

Agora aalicemos si el pago por publicacion y el total de interacciones tienen congruencia. Utilizando el siguiente codigo:

pago <- as.numeric(datos$Paid)
interacciones <- as.numeric(datos$Total.Interactions)
sort(pago, decreasing = TRUE)
##   [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
## [149] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [186] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [223] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [260] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [297] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [334] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [371] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [408] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [445] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [482] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
plot(pago[1:100], interacciones[1:100])

Dando el valor numerico al pago por interraciones y a las interraciones de igual manera, crearemos una grafica que sera decreceinte y nos mostrara los primeros 100 resultados. Lo que nos quiere decir que efectivamente, al pagar por una publicacion esta tendra mas interacciones. Ademas de tener mas interacciones tendra un mayor tiempo de vida en la red social.

Hasta ahora podemos deducir que para que nuestra pagina tenga un mayor exito deberiamos publicar una foto en dia miercoles y que ademas deberiamos pagar por este tipo de publicidad ya que asi tendra un mayor tiempo de vida y por consecuencia un mayor numero de interacciones.

5

Analizar si las personas a las que les ha gustado nuestra pagina de por vida han interectuado con las publicaciones referentes a nuestra pagina, ademas de saber si tienen relacion con los comentarios por publicacion. Dado que es un punto importante para nuestra pagina al igual que el punto anterios lo realizaremos en 2 partes, para despues sacar una conclusion final de todo el analisis realizado.

comentarios <- as.numeric(datos$comment)
usuariocomp <- as.numeric(datos$Lifetime.Engaged.Users)
sort(comentarios, decreasing = TRUE)
##   [1] 372 146 144 103  64  60  58  56  51  47  45  45  42  41  38  37  36  36
##  [19]  33  33  30  30  29  26  26  25  25  25  24  24  23  22  22  21  20  20
##  [37]  20  20  20  19  19  19  18  18  18  18  18  18  17  17  17  17  16  16
##  [55]  16  16  16  15  15  14  14  14  13  13  13  13  12  12  12  12  12  12
##  [73]  12  11  11  11  11  11  11  11  11  10  10  10  10  10  10  10  10  10
##  [91]  10  10   9   9   9   9   9   9   9   9   9   9   9   9   9   9   9   8
## [109]   8   8   8   8   8   8   8   7   7   7   7   7   7   7   7   7   7   7
## [127]   7   7   7   7   7   7   7   7   7   6   6   6   6   6   6   6   6   6
## [145]   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   5
## [163]   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5
## [181]   5   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
## [199]   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
## [217]   4   4   4   4   4   4   4   4   4   3   3   3   3   3   3   3   3   3
## [235]   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
## [253]   3   3   3   3   3   3   3   3   3   2   2   2   2   2   2   2   2   2
## [271]   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
## [289]   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
## [307]   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
## [325]   2   2   2   2   2   2   2   2   1   1   1   1   1   1   1   1   1   1
## [343]   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
## [361]   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
## [379]   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   0   0
## [397]   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
## [415]   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
## [433]   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
## [451]   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
## [469]   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
## [487]   0   0   0   0   0   0   0   0   0   0   0   0   0   0
hist(comentarios, main = "Relacion", ylab = "usuarioscomp")

Lo que podemos interpretar de la grafica anterior es que en efecto el numero de usuarios comprometidos de por vida no generan tantos comentarios como se esperaba, existen muy pocas personas comprometidas que comentan nuestras publicaciones.

Veamos las interracciones que han tenido con todas nuestras publicaciones.

interacciones <- as.numeric(datos$Total.Interactions)
usuariocomp <- as.numeric(datos$Lifetime.Engaged.Users)
sort(interacciones, decreasing = TRUE)
##   [1] 6334 2177 1974 1873 1806 1777 1626 1439 1290 1174 1136 1009  948  931  881
##  [16]  823  818  787  771  730  713  691  633  624  622  605  599  596  587  587
##  [31]  572  557  550  528  515  505  494  490  472  470  458  456  454  447  441
##  [46]  430  429  421  420  410  409  409  404  393  390  387  378  378  376  367
##  [61]  363  355  342  339  337  335  330  316  313  313  311  311  309  305  300
##  [76]  299  295  294  290  288  287  285  282  282  280  279  276  274  273  271
##  [91]  271  271  271  269  269  266  265  264  263  262  257  255  254  252  252
## [106]  252  251  249  245  243  243  242  242  238  238  238  237  236  235  234
## [121]  234  233  232  232  230  228  228  226  226  225  225  224  222  220  218
## [136]  218  217  217  217  214  212  212  211  210  208  204  204  203  203  202
## [151]  202  202  200  200  199  199  195  194  194  193  192  190  190  189  189
## [166]  188  188  188  186  186  185  184  183  182  180  180  179  179  178  176
## [181]  176  174  174  173  172  172  171  170  168  167  166  166  165  165  164
## [196]  164  163  163  163  163  162  162  162  162  160  160  158  157  155  154
## [211]  152  152  152  149  149  148  148  148  144  143  143  142  142  139  139
## [226]  138  137  137  136  136  135  135  134  133  132  132  131  130  129  128
## [241]  128  127  126  126  126  126  125  125  125  124  123  122  122  122  122
## [256]  121  121  121  121  120  120  119  119  119  119  118  118  118  118  117
## [271]  117  117  117  117  115  115  115  115  114  114  114  114  113  110  110
## [286]  108  108  107  107  106  106  106  105  104  104  103  103  101  101  100
## [301]  100  100  100   99   99   99   98   98   97   97   97   97   97   96   96
## [316]   96   95   95   94   94   94   93   92   91   91   90   90   90   90   90
## [331]   89   89   88   87   87   87   86   86   86   85   85   85   84   84   84
## [346]   84   83   83   83   83   82   81   81   81   80   79   79   79   77   75
## [361]   75   75   75   75   75   74   73   73   73   72   72   72   72   71   71
## [376]   71   71   70   70   70   70   69   69   68   68   68   68   67   67   67
## [391]   67   67   66   66   66   65   65   64   63   63   62   61   60   60   59
## [406]   59   58   58   58   57   56   56   55   55   54   54   54   53   53   53
## [421]   53   50   49   49   48   46   45   45   44   44   42   42   41   40   39
## [436]   39   39   39   39   39   38   38   38   36   36   35   34   34   34   32
## [451]   32   30   29   28   28   25   25   24   21   18   18   18   17   17   17
## [466]   17   15   15   14   14   12   10   10   10   10    9    9    8    7    7
## [481]    7    7    6    6    6    5    5    4    4    3    3    2    2    2    0
## [496]    0    0    0    0    0
hist(interacciones, main = "relacion, usuarios comprometidos", ylab = "usuarioscomp")

Generamos un histograma y los resultados fueron sorprendentes. Los usuarios que estan comprometidos con la pagina no tienen una gran interacciones con nuestras publicaciones, al igual que en la comparacion anterior personas que estan comprometidas con la pagina tienen poca o nada de interaccion con nuestras publicaciones.

Despues de este analisis podemos comprender los siguientes puntos:

Nuestras publicaciones pagadas tienen un mayor tiempo de vida, ademas de generar mas interacciones con los usuarios que visitan la pagina, si queremos que sea mas fructufera la publicacion lo mejor es publicar una foto en el dia miercoles asi obtendremos un mayor benefcio puesto que la publicacion tendra mayor nuemro de interacciones y un mayor tiempo de vida. A pesar de todo esto es necesaario llamar la atencion de los usuarios que aunn no se han comprometido con nuestra pagina pero que generan un mayor numero de interacciones con nuestras futuras publicaciones, ademas de pensar en una estrategia para que las personas que ya se han comprometido con la pagina interactuen con nuestras publicaciones.