dulieu_hh = read.csv("C:/doanh_thu_ban_le.csv")
tle: “Phân tích dữ liệu doanh thu bán lẻ”
thor: “Nhóm Nguyễn Lưu Nhật Anh”
tput: html_document

1. Giới thiệu

Bài báo cáo nhằm phân tích dữ liệu doanh thu bán lẻ theo khu vực và sản phẩm để hỗ trợ ra quyết định kinh doanh.

2. Cài đặt thư viện

library(lessR)
## 
## lessR 4.5.2                          feedback: gerbing@pdx.edu 
## --------------------------------------------------------------
## > d <- Read("")  Read data file, many formats available, e.g., Excel
##   d is the default data frame, data= in analysis routines optional
## 
## Find examples of reading, writing, and manipulating data, graphics,
## testing means and proportions, regression, factor analysis,
## customization, forecasting, and aggregation to pivot tables.
##   Enter: browseVignettes("lessR")
## 
## Although most previous function calls still work, most
## visualization functions are now reorganized to three functions:
##    Chart(): type = "bar", "pie", "radar", "bubble", "dot",
##                    "sunburst", "treemap", "icicle"
##    X(): type="histogram", "density", "vbs", and more
##    XY(): type="scatter" for a scatterplot, or "contour", "smooth"
## There is also Flows() for Sankey flow diagrams.
## 
## View lessR updates, now including modern time series forecasting.
##   Enter: news(package="lessR"), or ?Chart, ?X, or ?XY
## 
## Interactive data analysis for constructing visualizations.
##   Enter: interact()
library(table1)
## 
## Attaching package: 'table1'
## The following object is masked from 'package:lessR':
## 
##     label
## The following objects are masked from 'package:base':
## 
##     units, units<-
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:lessR':
## 
##     order_by, recode, rename
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- read.csv("doanh_thu_ban_le.csv")
head(data)
##   thang san_pham khu_vuc doanh_thu
## 1     1        A     Bac       170
## 2     1        A   Trung       170
## 3     1        A     Nam       170
## 4     1        B     Bac       220
## 5     1        B   Trung       220
## 6     1        B     Nam       220
nrow(data)
## [1] 108
names(data)
## [1] "thang"     "san_pham"  "khu_vuc"   "doanh_thu"
str(data)
## 'data.frame':    108 obs. of  4 variables:
##  $ thang    : int  1 1 1 1 1 1 1 1 1 2 ...
##  $ san_pham : chr  "A" "A" "A" "B" ...
##  $ khu_vuc  : chr  "Bac" "Trung" "Nam" "Bac" ...
##  $ doanh_thu: int  170 170 170 220 220 220 270 270 270 190 ...
table1(~ doanh_thu | khu_vuc, data = data)
Bac
(N=36)
Nam
(N=36)
Trung
(N=36)
Overall
(N=108)
doanh_thu
Mean (SD) 330 (81.3) 330 (81.3) 330 (81.3) 330 (80.6)
Median [Min, Max] 330 [170, 490] 330 [170, 490] 330 [170, 490] 330 [170, 490]
table1(~ doanh_thu | san_pham, data = data)
A
(N=36)
B
(N=36)
C
(N=36)
Overall
(N=108)
doanh_thu
Mean (SD) 280 (70.0) 330 (70.0) 380 (70.0) 330 (80.6)
Median [Min, Max] 280 [170, 390] 330 [220, 440] 380 [270, 490] 330 [170, 490]

Nhận xét:

data %>%
  group_by(khu_vuc) %>%
  summarise(tong = sum(doanh_thu)) %>%
  ggplot(aes(x = khu_vuc, y = tong)) +
  geom_col(fill = "steelblue")

data %>%
  group_by(san_pham) %>%
  summarise(tong = sum(doanh_thu)) %>%
  ggplot(aes(x = san_pham, y = tong)) +
  geom_col(fill = "orange")

data %>%
  group_by(khu_vuc, san_pham) %>%
  summarise(tong = sum(doanh_thu)) %>%
  ggplot(aes(x = khu_vuc, y = tong, fill = san_pham)) +
  geom_col(position = "dodge")
## `summarise()` has regrouped the output.
## ℹ Summaries were computed grouped by khu_vuc and san_pham.
## ℹ Output is grouped by khu_vuc.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(khu_vuc, san_pham))` for per-operation grouping
##   (`?dplyr::dplyr_by`) instead.

ggplot(data, aes(x = doanh_thu)) +
  geom_histogram(bins = 30, fill = "green")

Phân tích và đánh giá Trong bối cảnh cạnh tranh ngày càng gay gắt của thị trường bán lẻ, việc phân tích dữ liệu doanh thu đóng vai trò quan trọng trong việc hỗ trợ ra quyết định kinh doanh. Kết quả phân tích cho thấy sự khác biệt rõ rệt về mức đóng góp doanh thu giữa các khu vực và các dòng sản phẩm. Trước hết, xét theo khu vực kết quả phân tích cho thấy doanh thu trung bình giữa các khu vực Bắc, Trung và Nam là tương đương nhau, đều đạt mức 330. Điều này cho thấy doanh nghiệp chưa có sự khác biệt rõ rệt về hiệu quả kinh doanh giữa các khu vực. Xét theo sản phẩm, sản phẩm C là sản phẩm mang lại doanh thu lớn nhất. Điều này cho thấy sản phẩm này có mức độ phổ biến cao và được thị trường ưa chuộng. Các sản phẩm còn lại có mức đóng góp thấp hơn, có thể cần điều chỉnh chiến lược marketing hoặc cải tiến sản phẩm. Dựa trên các kết quả phân tích, nhóm đề xuất doanh nghiệp nên tập trung mở rộng hoạt động tại khu vực có doanh thu cao nhằm tối đa hóa lợi nhuận. Đồng thời, doanh nghiệp cũng cần nghiên cứu và phát triển các chiến lược phù hợp để thúc đẩy tiêu thụ tại các khu vực có doanh thu thấp hơn. Bên cạnh đó, việc đầu tư vào sản phẩm chủ lực và tối ưu hóa danh mục sản phẩm sẽ giúp doanh nghiệp nâng cao hiệu quả kinh doanh trong dài hạn.