En este trabajo realizaremos un análisis exploratorio de datos que ilustra las características de una muestra de clientes del servicio de Amazon Prime. Para ello, haremos uso de las diferentes skills de programación en lenguaje R adquiridas durante el “curso de introducción a ciencia de datos”, es con este fin que haré uso de la librería “dplyr” para manejar los datos y “ggplot2” para realizar apoyos visuales.
En este trabajo intentaré mostrar cual es la plataforma de pago más utilizada (Visa, Master Card o American Express) y si las formas de pago guardan alguna relación con el hecho de que el pago se haga de forma manual o automática.
Iniciamos cargando las librerías y leyendo nuestra base de datos CSV y analizando los títulos de las columnas.
library(dplyr)
library(ggplot2)
amz <- read.csv("data_set_amazon.csv")
names(amz)
## [1] "User.ID" "Name"
## [3] "Email.Address" "Username"
## [5] "Date.of.Birth" "Gender"
## [7] "Location" "Membership.Start.Date"
## [9] "Membership.End.Date" "Subscription.Plan"
## [11] "Payment.Information" "Renewal.Status"
## [13] "Usage.Frequency" "Purchase.History"
## [15] "Favorite.Genres" "Devices.Used"
## [17] "Engagement.Metrics" "Feedback.Ratings"
## [19] "Customer.Support.Interactions"
summary(amz)
## User.ID Name Email.Address Username
## Min. : 1.0 Length:2500 Length:2500 Length:2500
## 1st Qu.: 625.8 Class :character Class :character Class :character
## Median :1250.5 Mode :character Mode :character Mode :character
## Mean :1250.5
## 3rd Qu.:1875.2
## Max. :2500.0
## Date.of.Birth Gender Location Membership.Start.Date
## Length:2500 Length:2500 Length:2500 Length:2500
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Membership.End.Date Subscription.Plan Payment.Information Renewal.Status
## Length:2500 Length:2500 Length:2500 Length:2500
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Usage.Frequency Purchase.History Favorite.Genres Devices.Used
## Length:2500 Length:2500 Length:2500 Length:2500
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Engagement.Metrics Feedback.Ratings Customer.Support.Interactions
## Length:2500 Min. :3.000 Min. : 0.000
## Class :character 1st Qu.:3.500 1st Qu.: 2.000
## Mode :character Median :4.000 Median : 5.000
## Mean :4.005 Mean : 4.952
## 3rd Qu.:4.500 3rd Qu.: 8.000
## Max. :5.000 Max. :10.000
Es momento de seleccionar las columnas que serán útiles en nuestro análisis. En este caso, nos interesan las comunas “Payment.Information, Renewal.Status”
pago <- select(amz, Payment.Information, Renewal.Status)
pagot <-select(amz, Payment.Information, Renewal.Status) %>%
summarise(n = n())
Ahora realizamos tablas para agrupoar los datos y obtener los porcetajes de cada variable.
metodo <- pago %>% group_by(Renewal.Status) %>%
summarise(total_metodo = n()) %>%
mutate(porcentaje_metodo = round(total_metodo/sum(total_metodo)*100, 1))
fp <- pago %>% group_by(Payment.Information) %>%
summarise(total_fp = n()) %>%
mutate(porcentaje_fp = round(total_fp/sum(total_fp)*100, 1))
fpxmetodo <- pago %>% group_by(Payment.Information, Renewal.Status) %>%
summarise(total_fpxmp = n()) %>%
mutate(porcentaje_fpxmp = round(total_fpxmp/sum(total_fpxmp)*100, 1))
pagot
## n
## 1 2500
metodo
## # A tibble: 2 × 3
## Renewal.Status total_metodo porcentaje_metodo
## <chr> <int> <dbl>
## 1 Auto-renew 1274 51
## 2 Manual 1226 49
fp
## # A tibble: 3 × 3
## Payment.Information total_fp porcentaje_fp
## <chr> <int> <dbl>
## 1 Amex 806 32.2
## 2 Mastercard 856 34.2
## 3 Visa 838 33.5
fpxmetodo
## # A tibble: 6 × 4
## # Groups: Payment.Information [3]
## Payment.Information Renewal.Status total_fpxmp porcentaje_fpxmp
## <chr> <chr> <int> <dbl>
## 1 Amex Auto-renew 385 47.8
## 2 Amex Manual 421 52.2
## 3 Mastercard Auto-renew 441 51.5
## 4 Mastercard Manual 415 48.5
## 5 Visa Auto-renew 448 53.5
## 6 Visa Manual 390 46.5
Ahora realizamos una gráfica con los datos obtenidos.
#Metodo de pago
ggplot(metodo, aes(x = Renewal.Status, y = porcentaje_metodo)) +
geom_bar(stat = "identity", position = "dodge", fill = "aquamarine2") +
geom_text(aes(label=paste0(total_metodo," ", "", "(", porcentaje_metodo, "%",")")),
vjust=1.6,
color="black",
hjust=0.5,
position = position_dodge(0.9),
angle=0,
size=4.0
) + labs(title = "Metodo de pago",
x = "Metodo de pago",
y = "%")
#Forma de pago
ggplot(fp, aes(x = Payment.Information, y = porcentaje_fp,
fill = Payment.Information)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label=paste0(total_fp," ", "", "(", porcentaje_fp, "%",")")),
vjust=1.6,
color="black",
hjust=0.5,
position = position_dodge(0.9),
angle=0,
size=4.0
) + labs(title = "Forma de pago",
x = "",
y = "%") + scale_fill_discrete(name = "Forma de pago")
#Forma de pago por metodo de pago
ggplot(fpxmetodo, aes(x = Renewal.Status, y = porcentaje_fpxmp,
fill = Payment.Information)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label=paste0("", porcentaje_fpxmp, "%","")),
vjust=1.6,
color="black",
hjust=0.5,
position = position_dodge(0.9),
angle=0,
size=4.0
) + labs(title = "Forma de pago por metodo de pago",
x = "Metodo de pago",
y = "%") + scale_fill_discrete(name = "Forma de pago")
Por ultimo realizaré un modelo de correlación simple entre las variables de la valoración del servicio y la cantidad de interacciones que se han tenido con servicio al cliente.
x <- amz$Customer.Support.Interactions
y <- amz$Feedback.Ratings
cor(x, y)
## [1] 0.008025796
#ajuste de modelo
modelo <- lm(x~y, data=amz)
summary(modelo)
##
## Call:
## lm(formula = x ~ y, data = amz)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.9955 -2.9382 0.0376 3.0266 5.0927
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.77497 0.44492 10.732 <2e-16 ***
## y 0.04411 0.10995 0.401 0.688
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.192 on 2498 degrees of freedom
## Multiple R-squared: 6.441e-05, Adjusted R-squared: -0.0003359
## F-statistic: 0.1609 on 1 and 2498 DF, p-value: 0.6883
Gráfico del modelo
car::scatterplot(data = amz,
x~y,
smooth = FALSE)
Podemos observar que el método de pago más utilizado son las tarjetas Master Card, seguido de las tarjetas Visa y, por ultimo las tarjetas AMEX.
En cuanto a cómo se realiza el pago de la suscripción, la proporción es casi mitad y mitad, sin embargo, hay una pequeña cantidad de personas que prefieren que el pago se haga de forma automática.
Desglosándolo por método de pago, en el caso de Master Card y Visa la mayoría de clientes prefieren domiciliar el cargo, mientras que con AMEX la mayoría prefiere mantener el pago de forma manual.