Registros de sitios web de comercio electrónico

Este es un sitio web de comercio electrónico que registra datos creados para ayudar a los analistas de datos a practicar el análisis exploratorio y la visualización de datos. El conjunto de datos contiene datos sobre cuándo se accedió al sitio web, dirección IP de la fuente, país, idioma en el que se accedió al sitio web y cantidad de ventas realizadas por esa dirección IP.

Columnas incluidas: Hora y duración del acceso al sitio web País, idioma y amp; Plataforma en la que se accedió Número de bytes utilizados y usados. Dirección IP de la persona que accede al sitio web Monto de ventas o devolución de esa persona

Archivo obtenido de https://www.kaggle.com/datasets/kzmontage/e-commerce-website-logs

# Para limpiar el workspace, por si hubiera algun dataset 
# o informacion cargada
rm(list = ls())
# Cambiar el directorio de trabajo
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
getwd()
## [1] "C:/Users/jerem/OneDrive/Documentos/Computación e informatica/CICLO 4/Estadística Aplicada a la Computación/Tema 9"

##cargar el conjunto de datos

# Cagar
ecomerce <- read.csv("E-commerce.csv", sep=",")
head(ecomerce)
##       access_date duration_.seconds. Proto            IP   Src.IP.type Src.Pt
## 1  11/1/2016 9:58               2533 TCP    1.10.195.126    EXT_SERVER   8082
## 2  11/1/2016 9:59               4034 TCP     1.1.217.211 OPENSTACK_NET  56978
## 3  11/1/2016 9:59               1525 TCP   1.115.198.107    EXT_SERVER   8082
## 4 11/1/2016 10:00               4572 TCP   1.121.152.143 OPENSTACK_NET  56979
## 5 11/1/2016 10:00               3652 TCP   1.123.135.213    EXT_SERVER   8082
## 6 11/1/2016 10:01               3847 TCP    1.124.48.210 OPENSTACK_NET  51649
##    Bytes   Accessed_From country membership Languages    Sales Returned
## 1  20100          Chrome Albania     Normal  Albanian 261.9600       No
## 2  20500 Mozilla Firefox Albania     Normal  Albanian 731.9400       No
## 3  90100 Mozilla Firefox Albania     Normal  Albanian  14.6200       No
## 4 100300 Mozilla Firefox Albania     Normal  Albanian 957.5775       No
## 5 270200 Mozilla Firefox Albania     Normal  Albanian  22.3680       No
## 6  10200 Mozilla Firefox Albania     Normal  Albanian  48.8600       No
##   Returned_Amount
## 1               0
## 2               0
## 3               0
## 4               0
## 5               0
## 6               0

Ideas u objetivos de interés para los tomadores de decisión

  • Categorizar a los clientes por el monto de compra (cuartiles - 4 grupos, deciles
  • 10 grupos)
  • Podria dar interes a categorizar el tiempo de permanencia en website.

*…

##Categorizar en 4 grupos a los montos de compra

quantile(ecomerce$Sales)
##       0%      25%      50%      75%     100% 
##     0.00     5.23    46.92   600.16 11199.97

Resultado /## 0% 25% 50% 75% 100%
/## 0.00 5.23 46.92 600.16 11199.97

Segun los resultados:

El valor minimo del monto de compra es 0

Cuartil 1 \((Q_1)\)

interpretacion es $ 5.23; El 25% de los clientes que accedieron al website, su monto maximo de compra es $ 5.23

Cuartil 2 \((Q_2)\)

interpretacion es $ 46.92; El 50% de los clientes que accedieron al website, su monto maximo de compra es $ 46.92

Cuartil 3 \((Q_3)\)

interpretacion es $ 600.16; El 75% de los clientes que accedieron al website, su monto maximo de compra es $ 600.16

Calcular e interpretar los cuartiles para el tiempo de permanencia en el website.

# Visualizar la estructura del conjunto de datos para identificar la columna que contiene el tiempo de permanencia
str(ecomerce)
## 'data.frame':    172838 obs. of  14 variables:
##  $ access_date       : chr  "11/1/2016 9:58" "11/1/2016 9:59" "11/1/2016 9:59" "11/1/2016 10:00" ...
##  $ duration_.seconds.: int  2533 4034 1525 4572 3652 3847 2090 2793 3396 2064 ...
##  $ Proto             : chr  "TCP  " "TCP  " "TCP  " "TCP  " ...
##  $ IP                : chr  "1.10.195.126" "1.1.217.211" "1.115.198.107" "1.121.152.143" ...
##  $ Src.IP.type       : chr  "EXT_SERVER" "OPENSTACK_NET" "EXT_SERVER" "OPENSTACK_NET" ...
##  $ Src.Pt            : int  8082 56978 8082 56979 8082 51649 8082 37039 8082 48380 ...
##  $ Bytes             : int  20100 20500 90100 100300 270200 10200 310900 10700 250200 20600 ...
##  $ Accessed_From     : chr  "Chrome" "Mozilla Firefox" "Mozilla Firefox" "Mozilla Firefox" ...
##  $ country           : chr  "Albania" "Albania" "Albania" "Albania" ...
##  $ membership        : chr  "Normal" "Normal" "Normal" "Normal" ...
##  $ Languages         : chr  "Albanian" "Albanian" "Albanian" "Albanian" ...
##  $ Sales             : num  262 731.9 14.6 957.6 22.4 ...
##  $ Returned          : chr  "No" "No" "No" "No" ...
##  $ Returned_Amount   : num  0 0 0 0 0 ...
# Calcular cuartiles para el tiempo de permanencia
cuartiles_tiempo <- quantile(ecomerce$duration_.seconds., probs = c(0, 0.25, 0.5, 0.75, 1))

# Mostrar los cuartiles calculados
cuartiles_tiempo
##   0%  25%  50%  75% 100% 
## 1500 2371 3246 4124 5000

El valor minimo de la duracion en el website es 1500

Cuartil 1 S(Q_1)S

interpretación es  Seg 2371; El 25% del tiempo de los clientes que permanecieron en el website(segundos) es  2371.

Cuartil 2 S(Q_2)S

interpretación es  Seg 2371; El 50% del tiempo de los clientes que permanecieron en el website(segundos) es  Seg 3246.

Cuartil 3 S(Q_3)S

interpretación es  Seg 4124; El 75% del tiempo de los clientes que permanecieron en el website(segundos) es  Seg 4124.

##Dividir en 10 grupo (deciles)

quantile(ecomerce$Sales, probs = seq(0, 1, 0.1))
##       0%      10%      20%      30%      40%      50%      60%      70% 
##     0.00     0.00     0.00    10.46    26.15    46.92   107.52   203.30 
##      80%      90%     100% 
##   600.17  1500.40 11199.97

##Dividir en 100 grupo (percentiles)

quantile(ecomerce$Sales, probs = seq(0, 1, 0.01))
##         0%         1%         2%         3%         4%         5%         6% 
##     0.0000     0.0000     0.0000     0.0000     0.0000     0.0000     0.0000 
##         7%         8%         9%        10%        11%        12%        13% 
##     0.0000     0.0000     0.0000     0.0000     0.0000     0.0000     0.0000 
##        14%        15%        16%        17%        18%        19%        20% 
##     0.0000     0.0000     0.0000     0.0000     0.0000     0.0000     0.0000 
##        21%        22%        23%        24%        25%        26%        27% 
##     0.0000     0.0000     0.0000     2.7240     5.2300     5.2300     5.9700 
##        28%        29%        30%        31%        32%        33%        34% 
##    10.4600    10.4600    10.4600    11.7300    15.1500    15.6900    15.6900 
##        35%        36%        37%        38%        39%        40%        41% 
##    15.8400    20.9200    20.9200    20.9600    23.4600    26.1500    26.1500 
##        42%        43%        44%        45%        46%        47%        48% 
##    29.9700    32.4320    35.1900    35.8400    40.5615    40.6600    40.6600 
##        49%        50%        51%        52%        53%        54%        55% 
##    45.4500    46.9200    58.6500    60.6000    71.6800    71.6800    75.7500 
##        56%        57%        58%        59%        60%        61%        62% 
##    81.3200    81.3200    87.1680   107.5200   107.5200   121.9800   121.9800 
##        63%        64%        65%        66%        67%        68%        69% 
##   133.6295   143.3600   161.8200   162.6400   162.6400   179.2000   179.2000 
##        70%        71%        72%        73%        74%        75%        76% 
##   203.3000   203.3000   213.0800   391.9800   600.1600   600.1600   600.1600 
##        77%        78%        79%        80%        81%        82%        83% 
##   600.1600   600.1600   600.1600   600.1700   854.9400   900.2400   900.2400 
##        84%        85%        86%        87%        88%        89%        90% 
##   900.2400   900.2400   900.2400  1050.0000  1500.4000  1500.4000  1500.4000 
##        91%        92%        93%        94%        95%        96%        97% 
##  1500.4000  1500.4000  1500.4000  1800.5100  1800.5100  2400.6800  2400.6800 
##        98%        99%       100% 
##  3000.8500  3000.8500 11199.9680

Asimetría y curtosis

##Asimetría

library(fBasics)
## Warning: package 'fBasics' was built under R version 4.3.2
skewness(ecomerce$Sales)
## [1] 3.126829
## attr(,"method")
## [1] "moment"

Resultado: [1] 3.126829, como el valor es positivo, entonces la distribución de los datos es asimétrica positiva, esto quiere decir que los valores están concentrados en los puntos mínimos (la mayoría de cliente compra montos pequeños)

hist(ecomerce$Sales)

Curtosis

kurtosis(ecomerce$Sales)
## [1] 12.80659
## attr(,"method")
## [1] "excess"

Resultado: [1] 12.80659, el valor es mayor que 3, por lo tanto, la distribución de los datos es leptocurtica, quiere decir que los datos están muy concentrados alrededor de las medidas de endencia central (El apuntamiento es alto)