Bộ dữ liệu tổng hợp thương mại điện tử
Tổng quan về tập dữ liệu: Bộ dữ liệu này chứa 100.000 quan sát với thông tin chi tiết về người dùng, sản phẩm và giao dịch, cũng như mức độ tương tác của người dùng và các thuộc tính giao dịch. Bộ dữ liệu được thiết kế sao cho giống với dữ liệu thương mại điện tử thực tế, cung cấp thông tin chi tiết về nhân khẩu học, xu hướng mua sắm và mức độ tương tác của khách hàng.
-UserID : Mã định danh duy nhất cho mỗi người dùng
-UserName : Tên người dùng
-Age: Độ tuổi của người dùng (từ 18 đến 70).
-Gender: Giới tính của khách hàng
-Country: Quốc gia của khách hàng
-SignUpDate: Ngày đăng kí tài khoản của khách hàng
-ProductID: Mã định danh sản phẩm
-ProductName: Tên sản phẩm mà khách hàng mua.
-Category: Danh mục sản phẩm.
-Price: Gía của sản phẩm mà khách hàng mua.
-PurchaseDate: Ngày mua sản phẩm
-Quantity: Số lượng sản phẩm mà khách hàng mua (1-4)
-TotalAmount: Tổng tiền mà khách hàng phải bỏ ra khi mua sản phẩm trong 1 lần đi mua sắm.
-PaymentMethod: Phương thức thanh toán
-HasDiscountApplied: Giao dịch đó có áp dụng bất kỳ hình thức giảm giá nào hay không. (TRUE/FALSE)
-DiscountRate: Tỷ lệ chiết khấu
-ReviewScore: Điểm đánh giá sản phẩm/giao dịch do khách để lại
-ReviewText: Nội dung/nhãn đánh giá
-LastLogin: Thời điểm đăng nhập gần nhất của người dùng
-SessionDuration: Thời lượng phiên truy cập
-DeviceType: Thiết bị truy cập
-ReferralSource: Nguồn giới thiệu
## Rows: 100000 Columns: 21
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (8): UserName, Gender, Country, ProductName, Category, ReviewText, Devi...
## dbl (9): UserID, Age, ProductID, Price, Quantity, TotalAmount, DiscountRate...
## lgl (1): HasDiscountApplied
## dttm (1): LastLogin
## date (2): SignUpDate, PurchaseDate
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
##
## Attaching package: 'dplyr'
##
## The following objects are masked from 'package:stats':
##
## filter, lag
##
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Tạo bảng ánh xạ (mapping)
category_map <- data.frame(
ProductName = c("Laptop", "Smartphone", "Headphones", "Shoes", "T-shirt", "Book", "Watch"),
CorrectCategory = c("Electronics", "Electronics", "Electronics", "Apparel", "Apparel", "Books", "Accessories")
)
# Kết hợp (join) để thay thế Category cũ bằng Category đúng
dataecommerce <- dataecommerce %>%
left_join(category_map, by = "ProductName") %>%
mutate(Category = CorrectCategory) %>%
select(-CorrectCategory)
str(dataecommerce) #xem cấu trúc## tibble [100,000 × 21] (S3: tbl_df/tbl/data.frame)
## $ UserID : num [1:100000] 1 2 3 4 5 6 7 8 9 10 ...
## $ UserName : chr [1:100000] "User_1" "User_2" "User_3" "User_4" ...
## $ Age : num [1:100000] 39 25 43 44 23 54 64 59 50 47 ...
## $ Gender : chr [1:100000] "Male" "Female" "Male" "Male" ...
## $ Country : chr [1:100000] "UK" "Canada" "Canada" "Germany" ...
## $ SignUpDate : Date[1:100000], format: "2021-02-01" "2020-12-04" ...
## $ ProductID : num [1:100000] 8190 9527 3299 8795 1389 ...
## $ ProductName : chr [1:100000] "Shoes" "T-shirt" "Headphones" "T-shirt" ...
## $ Category : chr [1:100000] "Apparel" "Apparel" "Electronics" "Apparel" ...
## $ Price : num [1:100000] 532.4 848.8 64.9 465.1 331.8 ...
## $ PurchaseDate : Date[1:100000], format: "2021-02-25" "2021-09-22" ...
## $ Quantity : num [1:100000] 1 1 2 2 1 1 2 4 1 1 ...
## $ TotalAmount : num [1:100000] 532 849 130 930 332 ...
## $ HasDiscountApplied: logi [1:100000] FALSE TRUE FALSE FALSE FALSE FALSE ...
## $ DiscountRate : num [1:100000] 0.02 0.29 0.03 0.23 0.02 0.21 0.06 0.34 0.48 0.25 ...
## $ ReviewScore : num [1:100000] 5.1 5.1 3.2 4.3 5.1 4.6 3.7 3.6 4.8 5.2 ...
## $ ReviewText : chr [1:100000] "Excellent" "Excellent" "Good" "Good" ...
## $ LastLogin : POSIXct[1:100000], format: "2024-05-03 04:04:27" "2024-08-31 04:04:27" ...
## $ SessionDuration : num [1:100000] 45 13.8 59.1 55.4 15 ...
## $ DeviceType : chr [1:100000] "Mobile" "Mobile" "Tablet" "Desktop" ...
## $ ReferralSource : chr [1:100000] "Social Media" "Social Media" "Organic Search" "Email Marketing" ...
## # A tibble: 10 × 21
## UserID UserName Age Gender Country SignUpDate ProductID ProductName
## <dbl> <chr> <dbl> <chr> <chr> <date> <dbl> <chr>
## 1 1 User_1 39 Male UK 2021-02-01 8190 Shoes
## 2 2 User_2 25 Female Canada 2020-12-04 9527 T-shirt
## 3 3 User_3 43 Male Canada 2022-07-08 3299 Headphones
## 4 4 User_4 44 Male Germany 2021-06-07 8795 T-shirt
## 5 5 User_5 23 Female Canada 2021-11-06 1389 Shoes
## 6 6 User_6 54 Male USA 2021-04-04 1524 Smartphone
## 7 7 User_7 64 Male USA 2021-07-07 4981 Laptop
## 8 8 User_8 59 Male India 2020-08-10 1847 Headphones
## 9 9 User_9 50 Non-Binary USA 2021-01-03 3054 T-shirt
## 10 10 User_10 47 Non-Binary UK 2020-01-31 4719 Book
## # ℹ 13 more variables: Category <chr>, Price <dbl>, PurchaseDate <date>,
## # Quantity <dbl>, TotalAmount <dbl>, HasDiscountApplied <lgl>,
## # DiscountRate <dbl>, ReviewScore <dbl>, ReviewText <chr>, LastLogin <dttm>,
## # SessionDuration <dbl>, DeviceType <chr>, ReferralSource <chr>
## # A tibble: 10 × 21
## UserID UserName Age Gender Country SignUpDate ProductID ProductName
## <dbl> <chr> <dbl> <chr> <chr> <date> <dbl> <chr>
## 1 99991 User_99991 51 Male USA 2022-08-20 4917 Laptop
## 2 99992 User_99992 60 Male UK 2021-12-11 6618 Shoes
## 3 99993 User_99993 39 Non-Binary Canada 2022-02-12 9197 Smartphone
## 4 99994 User_99994 58 Non-Binary Germany 2022-02-14 6578 T-shirt
## 5 99995 User_99995 18 Non-Binary India 2020-10-05 5520 Headphones
## 6 99996 User_99996 25 Female UK 2020-11-18 8401 Shoes
## 7 99997 User_99997 53 Non-Binary Canada 2020-07-28 6555 T-shirt
## 8 99998 User_99998 25 Male Canada 2020-04-13 7686 Laptop
## 9 99999 User_99999 63 Female Germany 2022-12-23 2885 Watch
## 10 100000 User_100000 52 Female Germany 2020-07-12 3963 Laptop
## # ℹ 13 more variables: Category <chr>, Price <dbl>, PurchaseDate <date>,
## # Quantity <dbl>, TotalAmount <dbl>, HasDiscountApplied <lgl>,
## # DiscountRate <dbl>, ReviewScore <dbl>, ReviewText <chr>, LastLogin <dttm>,
## # SessionDuration <dbl>, DeviceType <chr>, ReferralSource <chr>
## UserID UserName Age Gender
## Min. : 1 Length:100000 Min. :18.00 Length:100000
## 1st Qu.: 25001 Class :character 1st Qu.:31.00 Class :character
## Median : 50001 Mode :character Median :43.00 Mode :character
## Mean : 50001 Mean :43.46
## 3rd Qu.: 75000 3rd Qu.:56.00
## Max. :100000 Max. :69.00
## Country SignUpDate ProductID ProductName
## Length:100000 Min. :2020-01-01 Min. :1000 Length:100000
## Class :character 1st Qu.:2020-09-28 1st Qu.:3228 Class :character
## Mode :character Median :2021-06-30 Median :5520 Mode :character
## Mean :2021-06-30 Mean :5508
## 3rd Qu.:2022-03-31 3rd Qu.:7776
## Max. :2022-12-31 Max. :9998
## Category Price PurchaseDate Quantity
## Length:100000 Min. : 10.0 Min. :2021-01-01 Min. :1.000
## Class :character 1st Qu.: 257.1 1st Qu.:2021-04-02 1st Qu.:1.000
## Mode :character Median : 505.9 Median :2021-07-03 Median :2.000
## Mean : 505.6 Mean :2021-07-02 Mean :2.496
## 3rd Qu.: 753.7 3rd Qu.:2021-10-03 3rd Qu.:4.000
## Max. :1000.0 Max. :2022-01-01 Max. :4.000
## TotalAmount HasDiscountApplied DiscountRate ReviewScore
## Min. : 10.02 Mode :logical Min. :0.0000 Min. :-0.600
## 1st Qu.: 494.68 FALSE:50221 1st Qu.:0.1300 1st Qu.: 3.300
## Median : 966.08 TRUE :49779 Median :0.2500 Median : 4.000
## Mean :1260.85 Mean :0.2498 Mean : 4.006
## 3rd Qu.:1850.33 3rd Qu.:0.3700 3rd Qu.: 4.700
## Max. :3999.72 Max. :0.5000 Max. : 8.600
## ReviewText LastLogin SessionDuration
## Length:100000 Min. :2023-11-10 04:04:27 Min. : 5.00
## Class :character 1st Qu.:2024-02-10 04:04:27 1st Qu.: 33.72
## Mode :character Median :2024-05-11 04:04:28 Median : 62.41
## Mean :2024-05-10 17:33:36 Mean : 62.41
## 3rd Qu.:2024-08-09 04:04:27 3rd Qu.: 91.04
## Max. :2024-11-08 04:04:28 Max. :120.00
## DeviceType ReferralSource
## Length:100000 Length:100000
## Class :character Class :character
## Mode :character Mode :character
##
##
##
## [1] 100000 21
## [1] "UserID" "UserName" "Age"
## [4] "Gender" "Country" "SignUpDate"
## [7] "ProductID" "ProductName" "Category"
## [10] "Price" "PurchaseDate" "Quantity"
## [13] "TotalAmount" "HasDiscountApplied" "DiscountRate"
## [16] "ReviewScore" "ReviewText" "LastLogin"
## [19] "SessionDuration" "DeviceType" "ReferralSource"
## UserID UserName Age Gender
## 0 0 0 0
## Country SignUpDate ProductID ProductName
## 0 0 0 0
## Category Price PurchaseDate Quantity
## 0 0 0 0
## TotalAmount HasDiscountApplied DiscountRate ReviewScore
## 0 0 0 0
## ReviewText LastLogin SessionDuration DeviceType
## 0 0 0 0
## ReferralSource
## 0
Vậy bộ dữ liệu cho thấy không xuất hiện quan sát bị thiếu cho thấy đây là bộ dữ liệu sạch
## # A tibble: 3 × 2
## DeviceType n
## <chr> <int>
## 1 Mobile 33568
## 2 Tablet 33456
## 3 Desktop 32976
# kèm tỷ lệ %
dataecommerce %>%
count(DeviceType) %>%
mutate(pct = round(100 * n / sum(n), 2)) %>%
arrange(desc(n))## # A tibble: 3 × 3
## DeviceType n pct
## <chr> <int> <dbl>
## 1 Mobile 33568 33.6
## 2 Tablet 33456 33.5
## 3 Desktop 32976 33.0
dataecommerce <- dataecommerce %>%
mutate(AgeGroup = case_when(
Age < 18 ~ "Dưới 18",
Age >= 18 & Age <= 25 ~ "18-25",
Age > 25 & Age <= 35 ~ "26-35",
Age > 35 & Age <= 50 ~ "36-50",
TRUE ~ "Trên 50"
))
table(dataecommerce$AgeGroup, dataecommerce$DeviceType)##
## Desktop Mobile Tablet
## 18-25 5140 5185 5117
## 26-35 6244 6418 6531
## 36-50 9589 9730 9607
## Trên 50 12003 12235 12201
Bảng phân tổ cho thấy số lượng người dùng có xu hướng tăng dần theo độ tuổi ở cả ba loại thiết bị. Nhóm khách hàng trên 50 tuổi chiếm tỷ trọng cao nhất với khoảng hơn 12.000 người ở mỗi thiết bị, trong khi nhóm 18-25 tuổi có số lượng thấp nhất, chỉ khoảng 5.000 người. Điều này cho thấy người tiêu dùng lớn tuổi có xu hướng sử dụng các nền tảng thương mại điện tử thường xuyên hơn, có thể do họ có thu nhập ổn định và nhu cầu mua sắm đa dạng hơn.
Xét theo loại thiết bị, Mobile là phương tiện được sử dụng nhiều nhất trong hầu hết các nhóm tuổi, phản ánh xu hướng mua sắm qua điện thoại ngày càng phổ biến. Tuy nhiên, sự chênh lệch giữa ba loại thiết bị (Desktop, Mobile, Tablet) là không lớn, cho thấy hành vi sử dụng thiết bị tương đối đồng đều và đa nền tảng.
##
## Accessories Apparel Books Electronics
## 18-25 2206 4404 2228 6604
## 26-35 2751 5560 2743 8139
## 36-50 4102 8281 4202 12341
## Trên 50 5228 10417 5187 15607
Bảng phân tổ cho thấy nhóm khách hàng trên 50 tuổi và 36–50 tuổi là hai nhóm có hoạt động mua sắm sôi nổi nhất, đặc biệt ở các sản phẩm điện tử và thời trang. Điều này phản ánh khả năng chi tiêu ổn định và nhu cầu cao của nhóm khách hàng có thu nhập vững.
Ngược lại, nhóm 18–25 tuổi và 26–35 tuổi có số giao dịch thấp hơn, chủ yếu tập trung vào các sản phẩm giá vừa và thấp. Nhìn chung, độ tuổi càng cao thì mức chi tiêu và tần suất mua hàng càng lớn, cho thấy doanh nghiệp nên chú trọng hơn vào nhóm khách hàng trung niên và lớn tuổi trong chiến lược tiếp thị.
library(dplyr)
dataecommerce %>%
group_by(Country) %>%
summarise(
AvgPurchase = mean(TotalAmount, na.rm = TRUE),
MedianPurchase = median(TotalAmount, na.rm = TRUE),
Count = n()
) %>%
arrange(desc(AvgPurchase))## # A tibble: 6 × 4
## Country AvgPurchase MedianPurchase Count
## <chr> <dbl> <dbl> <int>
## 1 UK 1266. 969. 16699
## 2 Australia 1264. 979. 16570
## 3 Canada 1263. 958. 16767
## 4 India 1261. 972. 16538
## 5 USA 1256. 962. 16844
## 6 Germany 1255. 957. 16582
Kết quả phân tổ theo quốc gia (Country) cho thấy mức chi tiêu trung bình (AvgPurchase) của khách hàng ở các nước có sự khác biệt nhẹ nhưng ổn định quanh mức 1255.20-11265.534 đơn vị tiền tệ. Trong đó, Vương quốc Anh (UK) dẫn đầu với mức chi tiêu trung bình cao nhất (≈ 1265.5), tiếp theo là Australia và Canada, trong khi Đức (Germany) có mức chi tiêu trung bình thấp nhất (≈ 1255.2).
Giá trị trung vị (MedianPurchase) cũng có xu hướng tương tự, dao động từ 956 đến 979, cho thấy phân phối chi tiêu tương đối cân đối, không có chênh lệch cực đoan giữa các nước. Bên cạnh đó, số lượng giao dịch (Count) khá đồng đều giữa các quốc gia, phản ánh quy mô dữ liệu được thu thập công bằng.
Như vậy, giả định “Khách hàng ở các đất nước khác nhau có mức chi tiêu trung bình khác nhau” được chấp nhận một phần: mặc dù có sự khác biệt nhỏ giữa các nước, xu hướng chi tiêu của người dùng nhìn chung khá đồng nhất. Điều này gợi ý rằng hành vi mua sắm trong bộ dữ liệu này ít bị chi phối bởi yếu tố quốc gia, có thể do các quốc gia đều thuộc nhóm thị trường phát triển với mức sống tương đồng.
Giả định:“Mức chi tiêu của khách hàng có xu hướng tăng vào các quý cuối năm do ảnh hưởng của mùa lễ hội (Noel, Black Friday, Tết, v.v.).”
Trước khi phân tổ các mức chi tiêu theo mùa vụ,ta cần thực hiện chia thời gian thành 4 quý (quý 1, quý 2, quý 3, quý 4). Rồi sau đó thực hiện các bước tiếp theo.
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
dataecommerce <- dataecommerce %>%
mutate(
Quy = case_when(
quarter(PurchaseDate) == 1 ~ "Quý 1",
quarter(PurchaseDate) == 2 ~ "Quý 2",
quarter(PurchaseDate) == 3 ~ "Quý 3",
quarter(PurchaseDate) == 4 ~ "Quý 4"
)
)
library(dplyr)
summary_by_quy <- dataecommerce %>%
group_by(Quy) %>%
summarise(
AvgPurchase = mean(TotalAmount, na.rm = TRUE),
MedianPurchase = median(TotalAmount, na.rm = TRUE),
Count = n()
) %>%
arrange(Quy)
summary_by_quy## # A tibble: 4 × 4
## Quy AvgPurchase MedianPurchase Count
## <chr> <dbl> <dbl> <int>
## 1 Quý 1 1268. 970. 24877
## 2 Quý 2 1264. 976. 24643
## 3 Quý 3 1249. 958. 25132
## 4 Quý 4 1263. 962. 25348
Kết quả thống kê cho thấy mức chi tiêu trung bình của khách hàng giữa các quý trong năm có sự dao động nhẹ, nhưng không chênh lệch đáng kể. Cụ thể, Quý 1 ghi nhận mức chi tiêu trung bình cao nhất (≈ 1.267,6 đơn vị), trong khi Quý 3 có mức thấp nhất (≈ 1.248,7 đơn vị). Các quý còn lại (Quý 2 và Quý 4) dao động quanh mức 1.263 đơn vị, phản ánh xu hướng chi tiêu tương đối ổn định trong năm.
Giá trị trung vị (MedianPurchase) cũng có sự biến động nhỏ, cao nhất ở Quý 2 (976,31) và thấp nhất ở Quý 3 (957,76), cho thấy phân phối chi tiêu giữa các quý khá đồng đều, không có sự lệch mạnh do các giao dịch bất thường.
Như vậy, giả định “Mức chi tiêu trung bình của khách hàng tăng vào các quý cuối năm” không được ủng hộ rõ ràng trong tập dữ liệu này. Thay vào đó, hành vi chi tiêu có xu hướng ổn định quanh mức trung bình, chỉ giảm nhẹ ở Quý 3, có thể do giai đoạn giữa năm ít sự kiện mua sắm lớn. Kết quả này gợi ý rằng doanh nghiệp nên tập trung kích cầu mạnh hơn vào Quý 4 (qua các chiến dịch lễ hội, ưu đãi cuối năm) để khai thác tiềm năng tăng trưởng doanh thu mùa vụ.
##
## Accessories Apparel Books Electronics
## 14287 28662 14360 42691
Kết quả cho thấy có sự chênh lệch rõ giữa các nhóm sản phẩm. Nhóm Electronics (nhóm điện tử) chiếm tỷ trọng cao nhất với 42.691 giao dịch, cho thấy khách hàng mua sắm trực tuyến có xu hướng ưu tiên các sản phẩm công nghệ. Nhóm Apparel(nhóm trang phục) đạt 28.662 giao dịch, phản ánh nhu cầu lớn về thời trang, trong khi Books(nhóm sách, vở) và Accessories (nhóm phụ kiện) chỉ quanh 14.000 giao dịch(cụ thể: Accessories đạt 14.287 giao dịch và Books đạt 14.360 giao dịch), thể hiện mức độ quan tâm thấp hơn.
Từ đó có thể thấy người tiêu dùng tập trung mạnh vào các mặt hàng điện tử và thời trang - hai lĩnh vực mang lại doanh thu chính cho nền tảng.
library(dplyr)
summary_total <- dataecommerce %>%
summarise(
mean_TotalAmount = mean(TotalAmount, na.rm = TRUE),
median_TotalAmount = median(TotalAmount, na.rm = TRUE),
sd_TotalAmount = sd(TotalAmount, na.rm = TRUE),
min_TotalAmount = min(TotalAmount, na.rm = TRUE),
max_TotalAmount = max(TotalAmount, na.rm = TRUE)
)
a1 <- as.matrix(summary_total)
a1 <- t(a1)
a2 <- as.data.frame(a1)
#3 hàng trên là để hoán đổi cột thành hàng và hàng thành cột cho dễ nhìn
colnames(a2) <- "TotalAmount"
print(a2)## TotalAmount
## mean_TotalAmount 1260.8524
## median_TotalAmount 966.0800
## sd_TotalAmount 964.1002
## min_TotalAmount 10.0200
## max_TotalAmount 3999.7200
Sau khi xuất kết quả, ta thấy:
Số tiền trung bình cho mỗi lần mua sắm là 1.260,85, cho thấy mức chi tiêu phổ biến của khách hàng nằm ở ngưỡng trung bình khá.
Do trung vị đạt 966,08, chênh lệch khá lớn, chứng tỏ dữ liệu có xu hướng lệch phải - tức có một số giao dịch có giá trị rất cao kéo mức trung bình lên.
Độ lệch chuẩn cao (964,10) thể hiện sự chênh lệch lớn trong mức chi tiêu giữa các khách hàng. Có người mua rất ít, nhưng cũng có người mua với giá trị gấp nhiều lần trung bình.
Giá trị nhỏ nhất (10,02) phản ánh những đơn hàng có giá trị thấp, có thể là sản phẩm rẻ hoặc khách chỉ mua thử.
Giá trị cao nhất (3.999,72) cho thấy vẫn có những khách hàng chi tiêu lớn, thể hiện nhóm khách “chịu chi” trong mua sắm trực tuyến.
library(dplyr)
summary_age36_50 <- dataecommerce %>%
filter(AgeGroup == "36-50") %>% # Lọc nhóm tuổi 36–50
group_by(Category) %>% # Gom theo danh mục sản phẩm
summarise(
Min_TTA = min(TotalAmount, na.rm = TRUE),
Max_TTA = max(TotalAmount, na.rm = TRUE),
Mean_TTA = mean(TotalAmount, na.rm = TRUE),
Median_TTA = median(TotalAmount, na.rm = TRUE),
Total_TTA = sum(TotalAmount, na.rm = TRUE),
.groups = "drop"
) %>%
arrange(Category)
print(summary_age36_50)## # A tibble: 4 × 6
## Category Min_TTA Max_TTA Mean_TTA Median_TTA Total_TTA
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Accessories 10.1 3990. 1259. 952. 5162595.
## 2 Apparel 10.0 3993. 1254. 964. 10387544.
## 3 Books 10.6 3975. 1245. 953. 5233391.
## 4 Electronics 10.2 4000. 1265. 979. 15611967.
Dựa trên giá trị Total_Value, có thể thấy ở độ tuổi 35-50, khách hàng có xu hướng chi tiêu mạnh nhất cho thiết bị điện tử (15.611.967) và quần áo, thời trang (10.387.544). Điều này phản ánh rõ đặc điểm tiêu dùng của nhóm tuổi trung niên: họ thường đã có thu nhập ổn định, sẵn sàng đầu tư vào các sản phẩm phục vụ công việc, tiện nghi gia đình và hình ảnh cá nhân.
summary_quarter <- dataecommerce %>%
group_by(Quy, ProductName) %>%
summarise(
Min_TTA = min(TotalAmount, na.rm = TRUE),
Max_TTA = max(TotalAmount, na.rm = TRUE),
Mean_TTA = mean(TotalAmount, na.rm = TRUE),
Median_TTA = median(TotalAmount, na.rm = TRUE),
Total_TTA = sum(TotalAmount, na.rm = TRUE),
.groups = "drop"
) %>%
arrange(Quy, ProductName)
print(summary_quarter)## # A tibble: 28 × 7
## Quy ProductName Min_TTA Max_TTA Mean_TTA Median_TTA Total_TTA
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Quý 1 Book 11.4 3984. 1295. 994. 4618672.
## 2 Quý 1 Headphones 10.8 3998. 1288. 971. 4669855.
## 3 Quý 1 Laptop 12.1 3986. 1288. 991. 4526483.
## 4 Quý 1 Shoes 11.3 3988. 1246. 961. 4274226.
## 5 Quý 1 Smartphone 10.3 3997. 1266. 990. 4576605.
## 6 Quý 1 T-shirt 10.9 3991. 1219. 932. 4343239.
## 7 Quý 1 Watch 10.1 3998. 1269. 954. 4524728.
## 8 Quý 2 Book 10.6 3996. 1258. 959. 4452181.
## 9 Quý 2 Headphones 10.2 4000. 1249. 968. 4360843.
## 10 Quý 2 Laptop 10.5 3999. 1282. 989. 4468986.
## # ℹ 18 more rows