NHÓM 1
Nguyễn Hồng Gấm - Nguyễn Ngọc Thúy An
Trong mục này, chúng ta sẽ nạp các thư viện R cần thiết và tải dữ liệu vào môi trường làm việc.
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.1
##
## 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
library(ggplot2)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(stringr)
## Warning: package 'stringr' was built under R version 4.5.1
# Chúng ta nạp bộ dữ liệu
Amazon.Sale.Report <- read.csv("C:/Users/HONG GAM/Desktop/FILE/Amazon Sale Report.csv", header=TRUE)
View(Amazon.Sale.Report)
head(Amazon.Sale.Report)
## index Order.ID Date Status Fulfilment
## 1 0 405-8078784-5731545 04-30-22 Cancelled Merchant
## 2 1 171-9198151-1101146 04-30-22 Shipped - Delivered to Buyer Merchant
## 3 2 404-0687676-7273146 04-30-22 Shipped Amazon
## 4 3 403-9615377-8133951 04-30-22 Cancelled Merchant
## 5 4 407-1069790-7240320 04-30-22 Shipped Amazon
## 6 5 404-1490984-4578765 04-30-22 Shipped Amazon
## Sales.Channel ship.service.level Style SKU Category Size
## 1 Amazon.in Standard SET389 SET389-KR-NP-S Set S
## 2 Amazon.in Standard JNE3781 JNE3781-KR-XXXL kurta 3XL
## 3 Amazon.in Expedited JNE3371 JNE3371-KR-XL kurta XL
## 4 Amazon.in Standard J0341 J0341-DR-L Western Dress L
## 5 Amazon.in Expedited JNE3671 JNE3671-TU-XXXL Top 3XL
## 6 Amazon.in Expedited SET264 SET264-KR-NP-XL Set XL
## ASIN Courier.Status Qty currency Amount ship.city ship.state
## 1 B09KXVBD7Z 0 INR 647.62 MUMBAI MAHARASHTRA
## 2 B09K3WFS32 Shipped 1 INR 406.00 BENGALURU KARNATAKA
## 3 B07WV4JV4D Shipped 1 INR 329.00 NAVI MUMBAI MAHARASHTRA
## 4 B099NRCT7B 0 INR 753.33 PUDUCHERRY PUDUCHERRY
## 5 B098714BZP Shipped 1 INR 574.00 CHENNAI TAMIL NADU
## 6 B08YN7XDSG Shipped 1 INR 824.00 GHAZIABAD UTTAR PRADESH
## ship.postal.code ship.country
## 1 400081 IN
## 2 560085 IN
## 3 410210 IN
## 4 605008 IN
## 5 600073 IN
## 6 201102 IN
## promotion.ids
## 1
## 2 Amazon PLCC Free-Financing Universal Merchant AAT-WNKTBO3K27EJC,Amazon PLCC Free-Financing Universal Merchant AAT-QX3UCCJESKPA2,Amazon PLCC Free-Financing Universal Merchant AAT-5QQ7BIYYQEDN2,Amazon PLCC Free-Financing Universal Merchant AAT-DSJ2QRXXWXVMQ,Amazon PLCC Free-Financing Universal Merchant AAT-CXJHMC2YJUK76,Amazon PLCC Free-Financing Universal Merchant AAT-CC4FAVTYR4X7C,Amazon PLCC Free-Financing Universal Merchant AAT-XXRCW6NZEPZI4,Amazon PLCC Free-Financing Universal Merchant AAT-CXNSLNBROFDW4,Amazon PLCC Free-Financing Universal Merchant AAT-R7GXNZWISTRFA,Amazon PLCC Free-Financing Universal Merchant AAT-WSJLDN3X7KEMO,Amazon PLCC Free-Financing Universal Merchant AAT-VL6FGQVGQVXUS,Amazon PLCC Free-Financing Universal Merchant AAT-EOKPWFWYW7Y6I,Amazon PLCC Free-Financing Universal Merchant AAT-ZYL5UPUNW6T62,Amazon PLCC Free-Financing Universal Merchant AAT-XVPICCHRWDCAI,Amazon PLCC Free-Financing Universal Merchant AAT-ETXQ3XXWMRXBG,Amazon PLCC Free-Financing Universal Merchant AAT-7X3XCTYG64VBE,Amazon PLCC Free-Financing Universal Merchant AAT-7CHGD3WTS3MHM,Amazon PLCC Free-Financing Universal Merchant AAT-26ZDKNME27X42,Amazon PLCC Free-Financing Universal Merchant AAT-4ZF5KN6E4LJK4,Amazon PLCC Free-Financing Universal Merchant AAT-7RCXIKUAX7DDY,Amazon PLCC Free-Financing Universal Merchant AAT-BRSZZ45H6MHAO,Amazon PLCC Free-Financing Universal Merchant AAT-MKLXOOZWQL7GO,Amazon PLCC Free-Financing Universal Merchant AAT-CB7UNXEXGIJTC,Amazon PLCC Free-Financing Universal Merchant #MP-gzasho-1593152694811,Amazon PLCC Free-Financing Universal Merchant AAT-WLBA4GZ52EAH4
## 3 IN Core Free Shipping 2015/04/08 23-48-5-108
## 4
## 5
## 6 IN Core Free Shipping 2015/04/08 23-48-5-108
## B2B fulfilled.by Unnamed..22
## 1 False Easy Ship
## 2 False Easy Ship
## 3 True
## 4 False Easy Ship
## 5 False
## 6 False
dim(Amazon.Sale.Report) # Xem số quan sát và số biến
## [1] 128975 24
str(Amazon.Sale.Report) # Xem kiểu dữ liệu
## 'data.frame': 128975 obs. of 24 variables:
## $ index : int 0 1 2 3 4 5 6 7 8 9 ...
## $ Order.ID : chr "405-8078784-5731545" "171-9198151-1101146" "404-0687676-7273146" "403-9615377-8133951" ...
## $ Date : chr "04-30-22" "04-30-22" "04-30-22" "04-30-22" ...
## $ Status : chr "Cancelled" "Shipped - Delivered to Buyer" "Shipped" "Cancelled" ...
## $ Fulfilment : chr "Merchant" "Merchant" "Amazon" "Merchant" ...
## $ Sales.Channel : chr "Amazon.in" "Amazon.in" "Amazon.in" "Amazon.in" ...
## $ ship.service.level: chr "Standard" "Standard" "Expedited" "Standard" ...
## $ Style : chr "SET389" "JNE3781" "JNE3371" "J0341" ...
## $ SKU : chr "SET389-KR-NP-S" "JNE3781-KR-XXXL" "JNE3371-KR-XL" "J0341-DR-L" ...
## $ Category : chr "Set" "kurta" "kurta" "Western Dress" ...
## $ Size : chr "S" "3XL" "XL" "L" ...
## $ ASIN : chr "B09KXVBD7Z" "B09K3WFS32" "B07WV4JV4D" "B099NRCT7B" ...
## $ Courier.Status : chr "" "Shipped" "Shipped" "" ...
## $ Qty : int 0 1 1 0 1 1 1 1 0 1 ...
## $ currency : chr "INR" "INR" "INR" "INR" ...
## $ Amount : num 648 406 329 753 574 ...
## $ ship.city : chr "MUMBAI" "BENGALURU" "NAVI MUMBAI" "PUDUCHERRY" ...
## $ ship.state : chr "MAHARASHTRA" "KARNATAKA" "MAHARASHTRA" "PUDUCHERRY" ...
## $ ship.postal.code : num 400081 560085 410210 605008 600073 ...
## $ ship.country : chr "IN" "IN" "IN" "IN" ...
## $ promotion.ids : chr "" "Amazon PLCC Free-Financing Universal Merchant AAT-WNKTBO3K27EJC,Amazon PLCC Free-Financing Universal Merchant A"| __truncated__ "IN Core Free Shipping 2015/04/08 23-48-5-108" "" ...
## $ B2B : chr "False" "False" "True" "False" ...
## $ fulfilled.by : chr "Easy Ship" "Easy Ship" "" "Easy Ship" ...
## $ Unnamed..22 : chr "" "" "" "" ...
Amazon.Sale.Report$`Unnamed: 22` <- NULL
variable_description <- data.frame(
Variable = c(
"index", "Order ID", "Date", "Status", "Fulfilment", "Sales Channel",
"ship-service-level", "Courier Status", "ship-city", "ship-state", "ship-postal-code",
"ship-country", "Style", "SKU", "Category", "Size", "ASIN", "Qty", "currency",
"Amount", "promotion-ids", "B2B", "fulfilled-by"
),
Description = c(
"Số thứ tự của dòng, chỉ mang tính định danh cho mỗi hàng trong tệp dữ liệu.",
"Mã duy nhất để xác định mỗi đơn hàng.",
"Ngày diễn ra giao dịch hoặc cập nhật trạng thái đơn hàng.",
"Tình trạng hiện tại của đơn hàng (Shipped, Cancelled, Returned, Delivered...).",
"Bên chịu trách nhiệm xử lý và hoàn thành đơn hàng (Amazon hoặc Merchant).",
"Kênh bán hàng, ví dụ: Amazon.in (Amazon Ấn Độ).",
"Cấp độ dịch vụ vận chuyển được sử dụng (Standard, Expedited).",
"Trạng thái từ phía đơn vị vận chuyển (Shipped, Unshipped, Cancelled).",
"Thành phố giao hàng.",
"Bang hoặc Tỉnh giao hàng.",
"Mã bưu điện của địa chỉ giao hàng.",
"Quốc gia của địa chỉ giao hàng (ví dụ: IN là Ấn Độ).",
"Mã kiểu dáng hoặc phong cách của sản phẩm.",
"Mã định danh sản phẩm trong kho (Stock Keeping Unit).",
"Danh mục sản phẩm (ví dụ: Set, kurta, Western Dress).",
"Kích cỡ của sản phẩm (S, M, L, XL...).",
"Mã định danh sản phẩm duy nhất trên hệ thống Amazon (ASIN).",
"Số lượng sản phẩm trong đơn hàng.",
"Đơn vị tiền tệ được sử dụng (INR – Rupee Ấn Độ).",
"Tổng số tiền của giao dịch.",
"Mã khuyến mãi áp dụng (nếu có).",
"Cho biết đây có phải giao dịch B2B (doanh nghiệp – doanh nghiệp) hay không.",
"Bên thực hiện việc giao hàng cuối cùng (ví dụ: Easy Ship của Amazon)."
)
)
# Hiển thị bảng
knitr::kable(variable_description, caption = "Bảng mô tả ý nghĩa các biến trong bộ dữ liệu Amazon Sales Report")
| Variable | Description |
|---|---|
| index | Số thứ tự của dòng, chỉ mang tính định danh cho mỗi hàng trong tệp dữ liệu. |
| Order ID | Mã duy nhất để xác định mỗi đơn hàng. |
| Date | Ngày diễn ra giao dịch hoặc cập nhật trạng thái đơn hàng. |
| Status | Tình trạng hiện tại của đơn hàng (Shipped, Cancelled, Returned, Delivered…). |
| Fulfilment | Bên chịu trách nhiệm xử lý và hoàn thành đơn hàng (Amazon hoặc Merchant). |
| Sales Channel | Kênh bán hàng, ví dụ: Amazon.in (Amazon Ấn Độ). |
| ship-service-level | Cấp độ dịch vụ vận chuyển được sử dụng (Standard, Expedited). |
| Courier Status | Trạng thái từ phía đơn vị vận chuyển (Shipped, Unshipped, Cancelled). |
| ship-city | Thành phố giao hàng. |
| ship-state | Bang hoặc Tỉnh giao hàng. |
| ship-postal-code | Mã bưu điện của địa chỉ giao hàng. |
| ship-country | Quốc gia của địa chỉ giao hàng (ví dụ: IN là Ấn Độ). |
| Style | Mã kiểu dáng hoặc phong cách của sản phẩm. |
| SKU | Mã định danh sản phẩm trong kho (Stock Keeping Unit). |
| Category | Danh mục sản phẩm (ví dụ: Set, kurta, Western Dress). |
| Size | Kích cỡ của sản phẩm (S, M, L, XL…). |
| ASIN | Mã định danh sản phẩm duy nhất trên hệ thống Amazon (ASIN). |
| Qty | Số lượng sản phẩm trong đơn hàng. |
| currency | Đơn vị tiền tệ được sử dụng (INR – Rupee Ấn Độ). |
| Amount | Tổng số tiền của giao dịch. |
| promotion-ids | Mã khuyến mãi áp dụng (nếu có). |
| B2B | Cho biết đây có phải giao dịch B2B (doanh nghiệp – doanh nghiệp) hay không. |
| fulfilled-by | Bên thực hiện việc giao hàng cuối cùng (ví dụ: Easy Ship của Amazon). |
Đoạn mã này chuẩn hóa dữ liệu chữ, biến các ô trống (““) thành NA để thống nhất biểu diễn giá trị thiếu.Hàm colSums(is.na()) dùng để đếm số lượng giá trị NA trong từng biến, hỗ trợ cho bước đánh giá chất lượng dữ liệu.
Amazon.Sale.Report <- Amazon.Sale.Report %>% mutate(across(where(is.character), ~na_if(., "")))
colSums(is.na(Amazon.Sale.Report))
## index Order.ID Date Status
## 0 0 0 0
## Fulfilment Sales.Channel ship.service.level Style
## 0 0 0 0
## SKU Category Size ASIN
## 0 0 0 0
## Courier.Status Qty currency Amount
## 6872 0 7795 7795
## ship.city ship.state ship.postal.code ship.country
## 33 33 33 33
## promotion.ids B2B fulfilled.by Unnamed..22
## 49153 0 89698 49050
mean_amount <- mean(Amazon.Sale.Report$Amount, na.rm = TRUE)
Amazon.Sale.Report$Amount[is.na(Amazon.Sale.Report$Amount)] <- mean_amount
Sau khi kiểm tra NA thay thế tất cả các giá trị NA trong cột ‘Amount’ bằng giá trị trung bình vừa tính
sum(duplicated(Amazon.Sale.Report))
## [1] 0
#Phân tổ theo tháng
amazon_sales_processed <- Amazon.Sale.Report %>% mutate(Date = mdy(Date), Month = month(Date))
monthly_revenue <- amazon_sales_processed %>% group_by(Month) %>%
summarise(Total_Revenue = sum(Amount, na.rm = TRUE), N_Orders = n(),
Avg_Amount = mean(Amount, na.rm = TRUE),.groups = 'drop' ) %>% arrange(Month)
print(monthly_revenue)
## # A tibble: 4 × 4
## Month Total_Revenue N_Orders Avg_Amount
## <dbl> <dbl> <int> <dbl>
## 1 3 107521. 171 629.
## 2 4 30783744. 49067 627.
## 3 5 27850475. 42040 662.
## 4 6 24906475. 37697 661.
#Phân tổ theo danh mục và kích cỡ
product_performance <- Amazon.Sale.Report %>%group_by(Category, Size) %>%
summarise( TotalQuantitySold = sum(Qty, na.rm = TRUE),
TotalRevenue = sum(Amount, na.rm = TRUE)) %>%
arrange(desc(TotalQuantitySold))
## `summarise()` has grouped output by 'Category'. You can override using the
## `.groups` argument.
print(head(product_performance, 10))
## # A tibble: 10 × 4
## # Groups: Category [2]
## Category Size TotalQuantitySold TotalRevenue
## <chr> <chr> <int> <dbl>
## 1 Set M 8357 7697186.
## 2 kurta L 8043 4106038.
## 3 kurta XL 7838 3964306.
## 4 kurta M 7713 3935559.
## 5 Set L 7399 6680292.
## 6 kurta XXL 6952 3526534.
## 7 Set XL 6873 6204830.
## 8 Set S 6708 6200377.
## 9 Set XXL 5608 5017806.
## 10 Set 3XL 5287 4725477.
#Phân tổ theo bang và theo doanh thu
state_sales <- Amazon.Sale.Report %>%group_by(ship.state) %>%
summarise(TotalRevenue = sum(Amount, na.rm = TRUE), TotalQuantity = sum(Qty, na.rm = TRUE),
OrderCount = n()) %>% arrange(desc(TotalRevenue))
print(head(state_sales, 10))
## # A tibble: 10 × 4
## ship.state TotalRevenue TotalQuantity OrderCount
## <chr> <dbl> <int> <int>
## 1 MAHARASHTRA 14105377. 20328 22260
## 2 KARNATAKA 11085574. 15901 17326
## 3 TELANGANA 7366069. 10253 11330
## 4 UTTAR PRADESH 7264798. 9499 10638
## 5 TAMIL NADU 6952781. 10412 11483
## 6 DELHI 4487506. 6156 6782
## 7 KERALA 4111703. 5813 6585
## 8 WEST BENGAL 3777682. 5318 5963
## 9 ANDHRA PRADESH 3463042. 4819 5430
## 10 HARYANA 3029316. 4066 4415
#Phân tổ theo trạng thái và doanh thu.
summary_by_status <- Amazon.Sale.Report %>% group_by(Status) %>%
summarise(Total_Amount = sum(Amount, na.rm = TRUE), N_Orders = n(),
Avg_Amount = mean(Amount, na.rm = TRUE),.groups = 'drop' ) %>%
arrange(desc(N_Orders))
print(summary_by_status)
## # A tibble: 13 × 4
## Status Total_Amount N_Orders Avg_Amount
## <chr> <dbl> <int> <dbl>
## 1 Shipped 50459156. 77804 649.
## 2 Shipped - Delivered to Buyer 18656003. 28769 648.
## 3 Cancelled 11826300. 18332 645.
## 4 Shipped - Returned to Seller 1271590. 1953 651.
## 5 Shipped - Picked Up 661252 973 680.
## 6 Pending 431568. 658 656.
## 7 Pending - Waiting for Pick Up 192138 281 684.
## 8 Shipped - Returning to Seller 107620 145 742.
## 9 Shipped - Out for Delivery 26971 35 771.
## 10 Shipped - Rejected by Buyer 7295 11 663.
## 11 Shipping 5188. 8 649.
## 12 Shipped - Lost in Transit 1997 5 399.
## 13 Shipped - Damaged 1136 1 1136
#Phân tổ theo trạng thái và theo tháng
amazon_sales_processed <- Amazon.Sale.Report %>%mutate(Date = mdy(Date),
Month = month(Date))
summary_status_by_month <- amazon_sales_processed %>% group_by(Month, Status) %>%
summarise(N_Orders = n(), Total_Amount = sum(Amount, na.rm = TRUE),
.groups = 'drop' ) %>% arrange(Month, desc(N_Orders))
print(summary_status_by_month)
## # A tibble: 35 × 4
## Month Status N_Orders Total_Amount
## <dbl> <chr> <int> <dbl>
## 1 3 Shipped 136 84662.
## 2 3 Cancelled 18 12062.
## 3 3 Shipped - Delivered to Buyer 16 10170
## 4 3 Shipped - Returned to Seller 1 627
## 5 4 Shipped 28941 18267282.
## 6 4 Shipped - Delivered to Buyer 12080 7456672.
## 7 4 Cancelled 7137 4490205.
## 8 4 Shipped - Returned to Seller 893 559636
## 9 4 Shipped - Rejected by Buyer 6 3396
## 10 4 Shipped - Picked Up 4 2798
## # ℹ 25 more rows
summary(Amazon.Sale.Report$Amount)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0 459.0 635.0 648.6 771.0 5584.0
mean(Amazon.Sale.Report$Amount, na.rm = TRUE)
## [1] 648.5615
median(Amazon.Sale.Report$Amount, na.rm = TRUE)
## [1] 635
sd(Amazon.Sale.Report$Amount, na.rm = TRUE)
## [1] 272.5812
min(Amazon.Sale.Report$Amount)
## [1] 0
max(Amazon.Sale.Report$Amount)
## [1] 5584
#Kiểm tra tổng số giá trị NA trong biến
sum(is.na(Amazon.Sale.Report$Amount))
## [1] 0
#Lọc các đơn hàng có giá trị (Amount) LỚN HƠN giá trị trung bình vừa tính
avg_amount_overall <- mean(Amazon.Sale.Report$Amount, na.rm = TRUE)
high_value_orders <- Amazon.Sale.Report %>% filter(Amount > avg_amount_overall) %>% group_by(Status) %>% summarise(N_HighValue = n()) %>% arrange(desc(N_HighValue))
print(high_value_orders)
## # A tibble: 12 × 2
## Status N_HighValue
## <chr> <int>
## 1 Shipped 33394
## 2 Shipped - Delivered to Buyer 13638
## 3 Cancelled 4729
## 4 Shipped - Returned to Seller 927
## 5 Shipped - Picked Up 540
## 6 Pending 309
## 7 Pending - Waiting for Pick Up 167
## 8 Shipped - Returning to Seller 94
## 9 Shipped - Out for Delivery 25
## 10 Shipped - Rejected by Buyer 6
## 11 Shipped - Damaged 1
## 12 Shipped - Lost in Transit 1
# Kiểm tra kiểu dữ liệu
str(Amazon.Sale.Report$Status)
## chr [1:128975] "Cancelled" "Shipped - Delivered to Buyer" "Shipped" ...
# Kiểm tra giá trị khác nhau trong biến
unique(Amazon.Sale.Report$Status)
## [1] "Cancelled" "Shipped - Delivered to Buyer"
## [3] "Shipped" "Shipped - Returned to Seller"
## [5] "Shipped - Rejected by Buyer" "Shipped - Lost in Transit"
## [7] "Shipped - Out for Delivery" "Shipped - Returning to Seller"
## [9] "Shipped - Picked Up" "Pending"
## [11] "Pending - Waiting for Pick Up" "Shipped - Damaged"
## [13] "Shipping"
length(unique(Amazon.Sale.Report$Status))
## [1] 13
table(Amazon.Sale.Report$Status)
##
## Cancelled Pending
## 18332 658
## Pending - Waiting for Pick Up Shipped
## 281 77804
## Shipped - Damaged Shipped - Delivered to Buyer
## 1 28769
## Shipped - Lost in Transit Shipped - Out for Delivery
## 5 35
## Shipped - Picked Up Shipped - Rejected by Buyer
## 973 11
## Shipped - Returned to Seller Shipped - Returning to Seller
## 1953 145
## Shipping
## 8
# Chuẩn hóa lại viết hoa chữ cái đầu cho đẹp
Amazon.Sale.Report <- Amazon.Sale.Report %>%
mutate(Status = tools::toTitleCase(Status))
# Kiểm tra lại các giá trị khác nhau
unique(Amazon.Sale.Report$Status)
## [1] "Cancelled" "Shipped - Delivered to Buyer"
## [3] "Shipped" "Shipped - Returned to Seller"
## [5] "Shipped - Rejected by Buyer" "Shipped - Lost in Transit"
## [7] "Shipped - Out for Delivery" "Shipped - Returning to Seller"
## [9] "Shipped - Picked Up" "Pending"
## [11] "Pending - Waiting for Pick Up" "Shipped - Damaged"
## [13] "Shipping"
sum(is.na(Amazon.Sale.Report$Status) | Amazon.Sale.Report$Status == "")
## [1] 0
Amazon.Sale.Report$Status[is.na(Amazon.Sale.Report$Status) | Amazon.Sale.Report$Status == ""] <- "Unknown"
str(Amazon.Sale.Report$Fulfilment)
## chr [1:128975] "Merchant" "Merchant" "Amazon" "Merchant" "Amazon" "Amazon" ...
unique(Amazon.Sale.Report$Fulfilment)
## [1] "Merchant" "Amazon"
length(unique(Amazon.Sale.Report$Fulfilment))
## [1] 2
table(Amazon.Sale.Report$Fulfilment)
##
## Amazon Merchant
## 89698 39277
sum(is.na(Amazon.Sale.Report$Fulfilment) | Amazon.Sale.Report$Fulfilment == "")
## [1] 0
orders <- Amazon.Sale.Report %>% filter(Fulfilment == "Amazon")
print(head(orders, 10))
## index Order.ID Date Status Fulfilment Sales.Channel
## 1 2 404-0687676-7273146 04-30-22 Shipped Amazon Amazon.in
## 2 4 407-1069790-7240320 04-30-22 Shipped Amazon Amazon.in
## 3 5 404-1490984-4578765 04-30-22 Shipped Amazon Amazon.in
## 4 6 408-5748499-6859555 04-30-22 Shipped Amazon Amazon.in
## 5 8 407-5443024-5233168 04-30-22 Cancelled Amazon Amazon.in
## 6 9 402-4393761-0311520 04-30-22 Shipped Amazon Amazon.in
## 7 10 407-5633625-6970741 04-30-22 Shipped Amazon Amazon.in
## 8 11 171-4638481-6326716 04-30-22 Shipped Amazon Amazon.in
## 9 13 408-7955685-3083534 04-30-22 Shipped Amazon Amazon.in
## 10 16 406-9379318-6555504 04-30-22 Shipped Amazon Amazon.in
## ship.service.level Style SKU Category Size ASIN
## 1 Expedited JNE3371 JNE3371-KR-XL kurta XL B07WV4JV4D
## 2 Expedited JNE3671 JNE3671-TU-XXXL Top 3XL B098714BZP
## 3 Expedited SET264 SET264-KR-NP-XL Set XL B08YN7XDSG
## 4 Expedited J0095 J0095-SET-L Set L B08CMHNWBN
## 5 Expedited SET200 SET200-KR-NP-A-XXXL Set 3XL B08L91ZZXN
## 6 Expedited JNE3461 JNE3461-KR-XXL kurta XXL B08B3XF5MH
## 7 Expedited JNE3160 JNE3160-KR-G-S kurta S B07K3YQLF1
## 8 Expedited JNE3500 JNE3500-KR-XS kurta XS B098117DJ3
## 9 Expedited SET182 SET182-KR-DH-XS Set XS B085HS947T
## 10 Expedited JNE3721 JNE3721-KR-XXL kurta XXL B099FCT65D
## Courier.Status Qty currency Amount ship.city ship.state
## 1 Shipped 1 INR 329.0000 NAVI MUMBAI MAHARASHTRA
## 2 Shipped 1 INR 574.0000 CHENNAI TAMIL NADU
## 3 Shipped 1 INR 824.0000 GHAZIABAD UTTAR PRADESH
## 4 Shipped 1 INR 653.0000 CHANDIGARH CHANDIGARH
## 5 Cancelled 0 <NA> 648.5615 HYDERABAD TELANGANA
## 6 Shipped 1 INR 363.0000 Chennai TAMIL NADU
## 7 Shipped 1 INR 685.0000 CHENNAI TAMIL NADU
## 8 Shipped 1 INR 364.0000 NOIDA UTTAR PRADESH
## 9 Shipped 1 INR 657.0000 MUMBAI MAHARASHTRA
## 10 Shipped 1 INR 329.0000 JAIPUR RAJASTHAN
## ship.postal.code ship.country promotion.ids
## 1 410210 IN IN Core Free Shipping 2015/04/08 23-48-5-108
## 2 600073 IN <NA>
## 3 201102 IN IN Core Free Shipping 2015/04/08 23-48-5-108
## 4 160036 IN IN Core Free Shipping 2015/04/08 23-48-5-108
## 5 500008 IN IN Core Free Shipping 2015/04/08 23-48-5-108
## 6 600041 IN <NA>
## 7 600073 IN <NA>
## 8 201303 IN <NA>
## 9 400053 IN <NA>
## 10 302020 IN IN Core Free Shipping 2015/04/08 23-48-5-108
## B2B fulfilled.by Unnamed..22
## 1 True <NA> <NA>
## 2 False <NA> <NA>
## 3 False <NA> <NA>
## 4 False <NA> <NA>
## 5 False <NA> <NA>
## 6 False <NA> <NA>
## 7 False <NA> <NA>
## 8 False <NA> <NA>
## 9 False <NA> <NA>
## 10 False <NA> <NA>
#Thống kê tần suất và tỷ lệ phần trăm
fulfilment_summary <- Amazon.Sale.Report %>%
count(Fulfilment, sort = TRUE) %>%
mutate(Percent = round(100 * n / sum(n), 2))
library(dplyr)
BÀI TẬP VỀ NHÀ
Trong thời đại số hóa hiện nay, việc xử lý và phân tích báo cáo tài chính không chỉ dừng lại ở thao tác thủ công, mà đã chuyển dần sang hướng tự động hóa nhằm tăng tốc độ, giảm sai sót và tối ưu hóa công tác kế toán – phân tích dữ liệu. Dự án này trình bày quy trình xây dựng và triển khai hệ thống tự động hóa xử lý báo cáo tài chính (BCTC) của công ty AAA bằng ngôn ngữ R. Toàn bộ quá trình được thực hiện theo hướng: - Trích xuất dữ liệu gốc từ file PDF công bố chính thức của AAA. - Ứng dụng AI (GG AISTUDIO) để tự động đọc, hiểu và cấu trúc lại dữ liệu thành file Excel. - Viết mã R tự động nhận dạng và tách riêng các loại báo cáo (Bảng cân đối kế toán, Kết quả hoạt động kinh doanh, và Lưu chuyển tiền tệ). - Cuối cùng, xuất bản báo cáo động trên RPubs — nền tảng chia sẻ kết quả phân tích phổ biến của hệ sinh thái R.
Nguồn dữ liệu được lấy từ trang web công bố thông tin của công ty cổ phần Nhựa và Môi trường Xanh An Phát (AAA) – nơi đăng tải các báo cáo tài chính định kỳ theo chuẩn mực kế toán Việt Nam. Các báo cáo này thường có định dạng PDF, chứa các bảng biểu trình bày chi tiết tình hình tài chính qua ba cấu phần chính: Bảng cân đối kế toán (BCĐKT) Báo cáo kết quả hoạt động kinh doanh (KQHDKD) Báo cáo lưu chuyển tiền tệ (LCTT) Thuyết minh báo cáo tài chính Đặc trưng của các file PDF này là định dạng không có cấu trúc dữ liệu rõ ràng, khiến việc trích xuất bằng các công cụ truyền thống trở nên khó khăn.
Để khắc phục hạn chế của PDF, dự án sử dụng AISTUDIO để tự động nhận diện cấu trúc bảng và chuyển đổi sang Excel. Các bước thực hiện gồm: Tải file PDF báo cáo tài chính gốc từ website của AAA. Dùng mô hình ngôn ngữ AI (GPT) để phân tích, trích xuất các bảng dữ liệu định lượng và danh mục mục tiêu. File đầu ra được đặt tên là BAO CAO TAI CHINH AAA.xlsx, đóng vai trò là nguồn dữ liệu trung gian cho toàn bộ quá trình xử lý tiếp theo.
Sau khi hoàn tất bước chuyển đổi, ta khởi tạo môi trường làm việc trong RStudio với các thư viện cần thiết:
library(readxl)
library(dplyr)
library(rmarkdown)
library(knitr)
Giải thích kỹ thuật: - readxl đọc dữ liệu từ file Excel (.xlsx, .xls) - dplyr xử lý, lọc, biến đổi dữ liệu theo cú pháp “ngôn ngữ tự nhiên” - rmarkdown cho phép tạo file báo cáo .Rmd và xuất ra HTML / RPubs - knitr chuyển code + văn bản thành tài liệu HTML, PDF, hoặc Word, đồng thời có hàm kable() để in bảng đẹp Tất cả 4 gói này là nền tảng cho việc tự động hóa báo cáo tài chính trong R.
Đầu tiên, dữ liệu được thu thập từ báo cáo tài chính công bố của Công ty Cổ phần AAA, sau đó được xử lý và lưu lại dưới dạng tệp Excel có tên “BAO CAO TAI CHINH AAA.xlsx”. Để tiến hành phân tích, tệp này được nạp trực tiếp vào môi trường R bằng gói readxl, một công cụ chuyên biệt cho việc đọc dữ liệu từ các tệp Excel mà không cần cài thêm phần mềm bên ngoài như Microsoft Office.
file <- "C:/Users/HONG GAM/Desktop/BAO CAO TAI CHINH AAA.xlsx"
du_lieu <- read_excel(file)
Bước 1: Khai báo biến file để lưu đường dẫn tuyệt đối tới tệp Excel chứa dữ liệu. Dấu gán <- trong R tương đương với dấu = trong các ngôn ngữ khác, dùng để gán giá trị cho biến. Đường dẫn phải sử dụng dấu gạch chéo xuôi / thay vì , bởi R phân biệt kiểu ký tự này khi xử lý tệp trên hệ điều hành Windows. Bước 2: Hàm read_excel() được gọi từ thư viện readxl để đọc toàn bộ nội dung của tệp Excel và lưu trữ vào biến du_lieu dưới dạng data frame (bảng dữ liệu). Đây là cấu trúc dữ liệu cơ bản của R, cho phép truy xuất, lọc, nhóm và thao tác dữ liệu giống như bảng tính trong Excel.
Trong tệp dữ liệu gốc, cả ba loại báo cáo tài chính — Bảng cân đối kế toán (BCĐKT), Báo cáo kết quả hoạt động kinh doanh (BCKQKD) và Báo cáo lưu chuyển tiền tệ (BCLCTT) — được lưu trong cùng một sheet. Việc gom dữ liệu chung như vậy giúp quản lý dễ dàng, nhưng gây khó khăn khi cần phân tích chuyên biệt từng loại báo cáo. Do đó, việc tách riêng ba loại báo cáo bằng lập trình R giúp đảm bảo tính chính xác, linh hoạt và tái sử dụng cao.
BCĐKT <- du_lieu %>% filter(`Tên báo cáo` == "BCĐKT")%>% select(-1)
BCKQHDKD <- du_lieu %>% filter(`Tên báo cáo` == "BCKQHDKD")%>% select(-1)
BCLCTT <- du_lieu %>% filter(`Tên báo cáo` == "BCLCTT")%>% select(-1)
kable(BCĐKT, caption = "Bảng cân đối kế toán - Dữ liệu đầy đủ")
| TÊN CHỈ TIÊU | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 |
|---|---|---|---|---|---|---|---|---|---|---|
| A. TÀI SẢN NGẮN HẠN | 1071561006455 | 1361646469010 | 2142716548893 | 3989369447153 | 4971363590401 | 4.496051e+12 | 5354610509760 | 5658759199548 | 5.681580e+12 | 6.426369e+12 |
| I. Tiền và các khoản tương đương tiền | 470061718120 | 406676809154 | 509577636533 | 645474843425 | 291674680985 | 9.637171e+11 | 1988170740182 | 1642978052440 | 2.435058e+12 | 2.419518e+12 |
| 1. Tiền | 242393182850 | 121149572757 | 120809634969 | 217635249378 | 233349201535 | 2.373144e+11 | 1156983447299 | 1228628689780 | 1.298775e+12 | 1.652055e+12 |
| 2. Các khoản tương đương tiền | 227668535270 | 285527236397 | 388768001564 | 427839594047 | 58325479450 | 7.264028e+11 | 831187292883 | 414349362660 | 1.136283e+12 | 7.674633e+11 |
| II. Đầu tư tài chính ngắn hạn | 120 | NA | 50000000000 | 720906460274 | 1251822102192 | 7.586000e+11 | 436156000000 | 448656000000 | 1.079610e+12 | 7.186394e+11 |
| 1. Đầu tư nắm giữ đến ngày đáo hạn | 123 | NA | 50000000000 | 720906460274 | 1192152082192 | 7.586000e+11 | 436156000000 | 448656000000 | 1.079610e+12 | 7.186394e+11 |
| III. Các khoản phải thu ngắn hạn | 363509670487 | 455567565640 | 961381022420 | 1612785115376 | 2079278885563 | 1.669170e+12 | 1795468441466 | 1572889266273 | 1.204888e+12 | 1.801012e+12 |
| 1. Phải thu ngắn hạn của khách hàng | 103363445699 | 221225458631 | 417516053153 | 691606956768 | 726708606479 | 5.930316e+11 | 1136560751303 | 1020327735573 | 6.870001e+11 | 1.205500e+12 |
| 2. Trả trước cho người bán ngắn hạn | 169259565534 | 184015378614 | 325870456358 | 531565397491 | 635624680580 | 7.909430e+11 | 369721515275 | 248850786806 | 3.421810e+11 | 5.489029e+11 |
| 3. Phải thu về cho vay ngắn hạn | NA | NA | 129729000000 | 293698169669 | 536662966849 | 4.264389e+10 | 84906400000 | 176995600000 | 6.287674e+10 | 1.500000e+09 |
| 4. Phải thu ngắn hạn khác | 91048764635 | 51025438748 | 88265512909 | 95914591448 | 180282631655 | 2.542985e+11 | 215105974668 | 139270972657 | 1.379464e+11 | 7.728197e+10 |
| 5. Dự phòng phải thu ngắn hạn khó đòi | -162105381 | -698710353 | NA | NA | NA | -1.174671e+10 | -10826199780 | -12555828763 | -2.511598e+10 | -3.217259e+10 |
| IV. Hàng tồn kho | 214186555570 | 450591281857 | 536681725193 | 862749230434 | 1221502966657 | 9.468094e+11 | 997384835429 | 1790091357848 | 7.816802e+11 | 1.286443e+12 |
| 1. Hàng tồn kho | 214186555570 | 450591281857 | 536681725193 | 865499747965 | 1221855436361 | 9.472014e+11 | 997384835429 | 1861071739241 | 7.833902e+11 | 1.288143e+12 |
| 2. Dự phòng giảm giá hàng tồn kho | NA | NA | NA | -2750517531 | -352469704 | -3.919782e+08 | - | -70980381393 | -1.709930e+09 | -1.699756e+09 |
| V. Tài sản ngắn hạn khác | 23803064278 | 48810812359 | 85076164747 | 147453797644 | 127084955004 | 1.577541e+11 | 137430492683 | 204144522987 | 1.803435e+11 | 2.007563e+11 |
| 1. Chi phí trả trước ngắn hạn | 14690447772 | 21275206737 | 18897599281 | 21081856490 | 28345276355 | 3.203287e+10 | 25561564271 | 10079638639 | 1.313865e+10 | 2.421580e+10 |
| 2. Thuế giá trị gia tăng được khấu trừ | 9112616506 | 27535605622 | 65917582112 | 123666085695 | 97404425420 | 1.246283e+11 | 111868928412 | 183967466895 | 1.642694e+11 | 1.752084e+11 |
| 3. Thuế và các khoản phải thu Nhà nước | 153 | NA | 260983354 | 2705855459 | 1335253229 | 1.092979e+09 | - | 10097417453 | 2.935461e+09 | 1.332084e+09 |
| B. TÀI SẢN DÀI HẠN | 883203669585 | 1715969509727 | 2433440579906 | 3539797275250 | 3016090568130 | 4.073364e+12 | 4654916125531 | 5137073482164 | 5.901865e+12 | 7.341846e+12 |
| I. Các khoản phải thu dài hạn | NA | NA | NA | 21384352467 | 96367470288 | 1.739106e+11 | 278966433205 | 66843405856 | 8.229727e+10 | 3.846481e+11 |
| 1. Phải thu về cho vay dài hạn | NA | NA | NA | NA | 75700000000 | 1.140550e+11 | 44699588400 | 940160000 | 7.715415e+10 | 3.585000e+11 |
| 2. Phải thu dài hạn khác | NA | NA | NA | 21384352467 | 20667470288 | 1.712996e+10 | 16438046128 | 15735626640 | 5.143119e+09 | 2.614814e+10 |
| II. Tài sản cố định | 636532208633 | 1434278060008 | 2299486571152 | 2198807465735 | 2081103918415 | 2.325027e+12 | 2100839611952 | 2077430539271 | 2.012981e+12 | 3.037271e+12 |
| 1. Tài sản cố định hữu hình | 595375421956 | 1338477950662 | 2202974097676 | 2113821537013 | 1999153049828 | 2.245285e+12 | 2022419512484 | 2000004299809 | 1.863867e+12 | 2.836544e+12 |
| Nguyên giá | 901299077489 | 1703369654599 | 2707435817410 | 2858372141820 | 2982612885000 | 3.478173e+12 | 3482794904334 | 3706995504215 | 3.825526e+12 | 5.028006e+12 |
| Giá trị khấu hao lũy kế | -305923655533 | -364891703937 | -504461719734 | -744550604807 | -983459835172 | -1.232888e+12 | -1460375391850 | -1706991204406 | -1.961659e+12 | -2.191462e+12 |
| 2. Tài sản cố định thuê tài chính | NA | NA | NA | NA | NA | NA | NA | NA | NA | 5.680871e+10 |
| Nguyên giá | NA | NA | NA | NA | NA | NA | NA | NA | NA | 5.834202e+10 |
| Giá trị hao mòn lũy kế | NA | NA | NA | NA | NA | NA | NA | NA | NA | -1.533311e+09 |
| 3. Tài sản cố định vô hình | 41156786677 | 95800109346 | 96512473476 | 84985928722 | 81950868587 | 7.974179e+10 | 78420099468 | 77426239462 | 1.491145e+11 | 1.439179e+11 |
| Nguyên giá | 45206131504 | 100838674433 | 103445820433 | 94894558865 | 94825808865 | 9.568913e+10 | 97500446394 | 99816162970 | 1.763149e+11 | 1.747879e+11 |
| Giá trị hao mòn lũy kế | -4049344827 | -5038565087 | -6933346957 | -9908630143 | -12874940278 | -1.594734e+10 | -19080346926 | -22389923508 | -2.720041e+10 | -3.087006e+10 |
| III. Bất động sản đầu tư | NA | NA | NA | NA | 222816109964 | 4.477487e+11 | 526347470213 | 497283341861 | 1.317995e+12 | 1.303971e+12 |
| 1. Nguyên giá | NA | NA | NA | NA | 228536485004 | 4.774825e+11 | 589841711552 | 599918829247 | 1.467632e+12 | 1.515803e+12 |
| 2. Giá trị khấu hao lũy kế | NA | NA | NA | NA | -5720375040 | -2.973378e+10 | -63494241339 | -102635487386 | -1.496375e+11 | -2.118322e+11 |
| IV. Tài sản dở dang dài hạn | 191159377412 | 214999542284 | 98121103897 | 1208008703897 | 293779658961 | 3.612302e+11 | 853176364818 | 693446604066 | 2.965456e+11 | 1.224876e+12 |
| 1. Chi phí xây dựng cơ bản dở dang | 191159377412 | 214999542284 | 98121103897 | 1208008703897 | 293779658961 | 3.612302e+11 | 853176364818 | 693446604066 | 2.965456e+11 | 1.224876e+12 |
| V. Đầu tư tài chính dài hạn | 42587327201 | 44338667000 | NA | 48380000000 | 123559449802 | 4.881783e+11 | 569909270071 | 1493973537488 | 1.328109e+12 | 2.542180e+11 |
| 1. Đầu tư vào công ty liên kết | 42587327201 | 44338667000 | NA | NA | 15179449802 | 4.013033e+11 | 521914270071 | 1463973537488 | 1.328109e+12 | 2.238414e+11 |
| 2. Đầu tư vào đơn vị khác | NA | NA | NA | 48380000000 | 108380000000 | NA | 17995000000 | - | NA | 3.037659e+10 |
| VI. Tài sản dài hạn khác | 12924756339 | 22353240435 | 35832904857 | 63216753151 | 198463960700 | 2.772692e+11 | 325676975272 | 308096053622 | 8.639370e+11 | 1.136863e+12 |
| 1. Chi phí trả trước dài hạn | 12925115705 | 22332919192 | 35612756095 | 62507261342 | 198274060283 | 2.618469e+11 | 287014288216 | 270203822136 | 8.016592e+11 | 9.662016e+11 |
| 2. Tài sản thuế thu nhập hoãn lại | -359366 | 20321243 | 220148762 | 709491809 | 189900417 | 2.303595e+08 | 2112010295 | 5422640490 | 1.447901e+10 | 1.423093e+10 |
| 3. Lợi thế thương mại | NA | NA | NA | NA | NA | 1.519198e+10 | 36550676761 | 32469590996 | 4.779880e+10 | 1.564306e+11 |
| TỔNG CỘNG TÀI SẢN | 1954764678040 | 3077615978737 | 4576157128799 | 7529166722403 | 7987454158531 | 8.569414e+12 | 10009526635291 | 10795832681712 | 1.158345e+13 | 1.376822e+13 |
| C. NỢ PHẢI TRẢ | 1135279409795 | 2122863876413 | 2951186840177 | 4548916573712 | 4732215965361 | 4.545452e+12 | 4555144898241 | 4624647264247 | 5.619575e+12 | 7.531942e+12 |
| I. Nợ ngắn hạn | 667079248529 | 1140284738375 | 1990803708402 | 3206103405725 | 3236645563011 | 3.772835e+12 | 3282339419557 | 3206482597038 | 3.737041e+12 | 4.132594e+12 |
| 1. Phải trả người bán ngắn hạn | 200885707160 | 304263540143 | 519298194029 | 622778663874 | 604445172076 | 5.424795e+11 | 609834689481 | 754557899880 | 5.173819e+11 | 8.734891e+11 |
| 2. Người mua trả tiền trước ngắn hạn | 12300795564 | 11280630943 | 17127077695 | 43876545842 | 98696555635 | NA | - | 146454658944 | 1.191392e+11 | 1.351529e+11 |
| 3. Thuế và các khoản phải nộp Nhà nước | 5746819042 | 6947288639 | 14232960650 | 14084998080 | 26948489726 | 1.065239e+11 | 147979129414 | 5234935235 | 1.788556e+10 | 8.872266e+10 |
| 4. Phải trả người lao động | 4560270983 | 9184831648 | 13308406810 | 19601493769 | 22621950526 | 2.041240e+10 | 39202557924 | 49919877822 | 3.506126e+10 | 6.674722e+10 |
| 5. Chi phí phải trả ngắn hạn | 3856673854 | 2080000000 | 6422195946 | 8985258758 | 36452750488 | 3.048448e+10 | 44367884217 | 16905062524 | 1.337796e+11 | 9.247904e+10 |
| 6. Doanh thu chưa thực hiện ngắn hạn | NA | NA | NA | 453141818 | 41875937911 | 2.331162e+10 | 21534971150 | 97767880924 | NA | NA |
| 7. Phải trả ngắn hạn khác | NA | 5705003625 | 2702175863 | 3292201538 | 4735482050 | 8.830065e+10 | 66065977511 | 224657132442 | 1.161828e+11 | 1.114672e+11 |
| 8. Vay và nợ thuê tài chính ngắn hạn | 438769898696 | 800794847498 | 1417686392234 | 2492406692801 | 2400086574603 | 2.943359e+12 | 2183181098128 | 1887821444978 | 2.625493e+12 | 2.554855e+12 |
| 9. Quỹ khen thưởng, phúc lợi | 959083230 | 28595879 | 26305175 | 624409218 | 782649996 | 8.674563e+08 | 7217994333 | 23163704291 | 3.496980e+09 | 3.974708e+10 |
| II. Nợ dài hạn | 468200161266 | 982579138038 | 960383131775 | 1342813167987 | 1495570402350 | 7.726171e+11 | 1272805478684 | 1418164667209 | 1.882533e+12 | 3.399347e+12 |
| 1. Doanh thu chưa thực hiện dài hạn | NA | NA | NA | NA | 77441518886 | NA | - | - | 1.498211e+12 | 2.039512e+12 |
| 2. Phải trả dài hạn khác | NA | NA | NA | NA | 24231793347 | 1.019079e+11 | 89443518069 | 157369765181 | 8.828368e+09 | 3.948814e+09 |
| 3. Vay và nợ thuê tài chính dài hạn | 171262661266 | 982579138038 | 959926578352 | 1342803889822 | 1371510124549 | 6.171468e+11 | 1175997845832 | 1242368724012 | 3.588567e+11 | 1.339621e+12 |
| 4. Thuế thu nhập hoãn lại phải trả | NA | NA | 456553423 | 9278165 | 22386965568 | 2.219652e+10 | 6476802623 | NA | 1.243871e+10 | 1.193000e+10 |
| 5. Dự phòng phải trả dài hạn | NA | NA | NA | NA | NA | NA | NA | NA | 4.198201e+09 | 4.336060e+09 |
| D. VỐN CHỦ SỞ HỮU | 819485268245 | 954752102324 | 1624970288622 | 2980250148691 | 3255238193170 | 4.023962e+12 | 5454381737050 | 6171185417465 | 5.963871e+12 | 6.236274e+12 |
| I. Vốn chủ sở hữu | 819485268245 | 954752102324 | 1624970288622 | 2980250148691 | 3255238193170 | 4.023962e+12 | 5454381737050 | 6171185417465 | 5.963871e+12 | 6.236274e+12 |
| 1. Vốn góp của chủ sở hữu | 494999880000 | 569649880000 | 835999880000 | 1711999760000 | 1711999760000 | 2.217600e+12 | 3264344960000 | 3822744960000 | 3.822745e+12 | 3.822745e+12 |
| - Cổ phiếu phổ thông có quyền biểu quyết | 494999880000 | 569649880000 | 835999880000 | 1711999760000 | 1711999760000 | 2.217600e+12 | 3264344960000 | 3822744960000 | 3.822745e+12 | 3.822745e+12 |
| 2. Thặng dư vốn cổ phần | 147408567329 | 160721267329 | 198063767329 | 532112689329 | 532112689329 | 6.920742e+11 | 712591123817 | 823946323817 | 8.239463e+11 | 8.239463e+11 |
| 3. Vốn khác của chủ sở hữu | NA | NA | NA | NA | NA | 2.654493e+10 | 26544930000 | 44744930000 | 1.878129e+10 | 1.878129e+10 |
| 4. Chênh lệch tỷ giá hối đoái | 1587734457 | 205250085 | 158818819 | -39715243 | -337778069 | -1.001294e+09 | -9142474446 | 13104043604 | 2.344124e+10 | 9.540532e+10 |
| 5. Quỹ đầu tư phát triển | 35950759648 | 38274886929 | 45683661717 | 57775383144 | 67258859051 | 9.388122e+10 | 80481616464 | 80481616464 | 8.048162e+10 | 8.048162e+10 |
| 6. Quỹ khác thuộc vốn chủ sở hữu | 13177404323 | 13177404323 | 13177404323 | 13177404323 | 13177404323 | 1.317740e+10 | 13177404323 | 13177404323 | 1.317740e+10 | 1.317740e+10 |
| 7. Lợi nhuận sau thuế chưa phân phối | 116439130668 | 161862080186 | 283769575300 | 265860134664 | 602685892796 | 5.687167e+11 | 706493529920 | 721688030767 | 5.626225e+11 | 5.393117e+11 |
| - Lợi nhuận sau thuế chưa phân phối đến cuối năm trước | 76423259683 | 71776592221 | 90051907554 | 85599659664 | 142219983017 | 3.139312e+11 | 374404489280 | 628413402158 | 2.732120e+11 | 5.144277e+11 |
| - Lợi nhuận sau thuế chưa phân phối năm nay | 40015870985 | 90085487965 | 193717667746 | 180260475000 | 460465909779 | 2.547856e+11 | 332089040640 | 93274628609 | 2.894105e+11 | 2.488399e+10 |
| 8. Lợi ích cổ đông không kiểm soát | 9921791820 | 10861333472 | 248117181134 | 399364492474 | 328341365740 | 4.263751e+11 | 659890646972 | 651298108490 | 6.197054e+11 | 9.024553e+11 |
| TỔNG CỘNG NGUỒN VỐN | 1954764678040 | 3077615978737 | 4576157128799 | 7529166722403 | 7987454158531 | 8.569414e+12 | 10009526635291 | 10795832681712 | 1.158345e+13 | 1.376822e+13 |
Phân tích ý nghĩa: Bảng cân đối kế toán phản ánh tình hình tài sản và nguồn vốn tại một thời điểm nhất định. Các chỉ tiêu chính bao gồm: Tài sản ngắn hạn, dài hạn: cho thấy khả năng thanh toán ngắn hạn và chiến lược đầu tư dài hạn. Nợ phải trả: thể hiện mức độ phụ thuộc vào nguồn vốn vay. Vốn chủ sở hữu: phản ánh tiềm lực tài chính và khả năng tự chủ của doanh nghiệp. Từ đó, người phân tích có thể đánh giá cơ cấu tài chính, mức độ rủi ro và khả năng duy trì hoạt động dài hạn của AAA. Về kỹ thuật, sau khi tách BCĐKT, dữ liệu có thể được dùng để: Tính tỷ lệ nợ trên vốn chủ sở hữu (D/E ratio). Tính tỷ lệ tài sản ngắn hạn / nợ ngắn hạn để đánh giá khả năng thanh toán. So sánh biến động tài sản qua các năm bằng ggplot2.
kable(BCKQHDKD, caption = "Báo cáo kết quả hoạt động kinh doanh - Dữ liệu đầy đủ")
| TÊN CHỈ TIÊU | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1. Doanh thu bán hàng và cung cấp dịch vụ | 1.616049e+12 | 2145496749447 | 4.076764e+12 | 8018827145835 | 9.278252e+12 | 7.438250e+12 | 13154009928330 | 15314698238896 | 1.262819e+13 | 1.278771e+13 |
| 2. Các khoản giảm trừ doanh thu | 1.499870e+09 | 1726940597 | 7.155349e+09 | 7254532446 | -2.017845e+10 | -9.692643e+09 | -10900064329 | -24401165809 | -6.677329e+09 | -5.482689e+09 |
| 3. Doanh thu thuần về bán hàng và cung cấp dịch vụ | 1.614549e+12 | 2143769808850 | 4.069608e+12 | 8011572613389 | 9.258073e+12 | 7.428557e+12 | 13143109864001 | 15290297073087 | 1.262151e+13 | 1.278223e+13 |
| 4. Giá vốn hàng bán | 1.424741e+12 | 1836734397150 | 3.519223e+12 | 7338636540198 | -8.215934e+12 | -6.651622e+12 | -11841734480539 | -14204057189374 | -1.151282e+13 | -1.129813e+13 |
| 5. Lợi nhuận gộp về bán hàng và cung cấp dịch vụ | 1.898078e+11 | 307035411700 | 5.503851e+11 | 672936073191 | 1.042139e+12 | 7.769352e+11 | 1301375383462 | 1086239883713 | 1.108693e+12 | 1.484106e+12 |
| 6. Doanh thu hoạt động tài chính | 2.239497e+10 | 30198848862 | 5.577526e+10 | 61517601742 | 1.796755e+11 | 1.686711e+11 | 213876129052 | 214482862553 | 2.426811e+11 | 2.707223e+11 |
| 7. Chi phí hoạt động tài chính | 4.999176e+10 | 53927481929 | 9.505285e+10 | 208587237486 | -2.677146e+11 | -2.285770e+11 | -199733463745 | -257402705272 | -2.392943e+11 | -2.007217e+11 |
| Trong đó: Chi phí lãi vay | 2.406581e+10 | 27284472139 | 8.059205e+10 | 125980474352 | -2.254216e+11 | -2.012465e+11 | -151665660549 | -173679772675 | -1.904760e+11 | -1.595254e+11 |
| 8. Lãi/(lỗ) trong công ty liên kết, liên doanh | 3.381874e+09 | 1751339799 | NA | NA | -5.655020e+07 | 1.670430e+10 | 22873141538 | 57678939569 | 5.294113e+10 | 5.671976e+10 |
| 9. Chi phí bán hàng | 7.523005e+10 | 56882135462 | 1.057243e+11 | 156562809984 | -2.146213e+11 | -2.558445e+11 | -738538104564 | -666097260650 | -5.110559e+11 | -7.167795e+11 |
| 10. Chi phí quản lý doanh nghiệp | 4.160841e+10 | 62622750100 | 7.932256e+10 | 123618312196 | -1.490208e+11 | -1.669659e+11 | -194751557339 | -247607549844 | -2.852818e+11 | -3.803833e+11 |
| 11 Lợi nhuận thuần từ hoạt động kinh doanh | 4.875442e+10 | 165553232870 | 3.260606e+11 | 245685315267 | 5.904016e+11 | 3.109232e+11 | 405101528404 | 187294170069 | 3.686835e+11 | 5.136632e+11 |
| 12. Thu nhập khác | 1.864669e+09 | 8081453308 | 2.388599e+09 | 11209698006 | 9.238136e+09 | 1.572507e+10 | 8617829548 | 8605911082 | 1.618131e+10 | 1.021604e+10 |
| 13. Chi phí khác | 4.161615e+06 | 7037904139 | 3.949320e+08 | 2910690089 | -2.246315e+09 | -7.899714e+09 | -15851305956 | -9833969448 | -6.969256e+09 | -1.083132e+11 |
| 14. (Lỗ)/Lợi nhuận khác | 1.860507e+09 | 1043549169 | 1.993667e+09 | 8299007917 | 6.991822e+09 | 7.825352e+09 | -7233476408 | -1228058366 | 9.212053e+09 | -9.809712e+10 |
| 15. Tổng lợi nhuận kế toán trước thuế | 5.061492e+10 | 166596782039 | 3.280543e+11 | 253984323184 | 5.973934e+11 | 3.187485e+11 | 397868051996 | 186066111703 | 3.778956e+11 | 4.155660e+11 |
| 16. Chi phí thuế TNDN hiện hành | 1.002963e+10 | 23692445025 | 6.443348e+10 | 42772027927 | -8.346722e+10 | -3.580661e+10 | -97803195967 | -72085473962 | -7.793781e+10 | -9.560180e+10 |
| 17. (Chi phí)/ thu nhập thuế TNDN hoãn lại | 3.647431e+07 | -20680603 | 2.567259e+08 | -936618304 | -2.289728e+10 | 2.309070e+08 | 24078168390 | 3310630196 | 9.236073e+09 | -1.823945e+08 |
| 18. Lợi nhuận sau thuế thu nhập doanh nghiệp | 4.054881e+10 | 142925017617 | 2.633641e+11 | 212148913561 | 4.910289e+11 | 2.831728e+11 | 324143024419 | 117291267937 | 3.091938e+11 | 3.197818e+11 |
| 19. Lợi nhuận sau thuế của công ty mẹ | 4.001587e+10 | 141985475965 | 2.233427e+11 | 180260475000 | 4.604659e+11 | 2.622408e+11 | 290241012297 | 152599331716 | 2.894105e+11 | 3.685805e+11 |
| 20. (Lỗ)/ Lợi nhuận sau thuế của cổ đông không kiểm soát | 5.329426e+08 | 939541652 | 4.002144e+10 | 31888438561 | 3.056296e+10 | 2.093199e+10 | 33902012122 | -35308063779 | 1.978327e+10 | -4.879866e+10 |
| 21. Lãi cơ bản trên cổ phiếu | 6.420000e+02 | 2611 | 3.426000e+03 | 1115 | 2.690000e+03 | 1.310000e+03 | 994 | 433 | 7.570000e+02 | 9.640000e+02 |
| 22. Lãi suy giảm trên cổ phiếu | 6.420000e+02 | 1757 | 3.426000e+03 | NA | 2.690000e+03 | 1.310000e+03 | 994 | 433 | 7.570000e+02 | 9.640000e+02 |
Phân tích ý nghĩa: Báo cáo này thể hiện hiệu quả kinh doanh trong kỳ. Một số chỉ tiêu quan trọng gồm: Doanh thu bán hàng và cung cấp dịch vụ: đo lường quy mô hoạt động. Giá vốn hàng bán: thể hiện chi phí sản xuất, kinh doanh. Lợi nhuận gộp và lợi nhuận sau thuế: chỉ ra hiệu quả hoạt động và khả năng sinh lời. Từ BCKQHDKD, có thể: Xây dựng chuỗi thời gian doanh thu để phân tích xu hướng tăng trưởng. TínH biên lợi nhuận ròng (Net Profit Margin). So sánh hiệu quả từng năm hoặc giai đoạn trước – sau đầu tư. Khi trình bày bằng kable(), các bảng số liệu trở nên rõ ràng, dễ đọc và có thể tích hợp trực tiếp vào báo cáo HTML chuyên nghiệp.
kable(BCLCTT, caption = "Báo cáo lưu chuyển tiền tệ - Dữ liệu đầy đủ")
| TÊN CHỈ TIÊU | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 |
|---|---|---|---|---|---|---|---|---|---|---|
| I. LƯU CHUYỂN TIỀN TỪ HOẠT ĐỘNG KINH DOANH | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 1. Lợi nhuận kế toán trước thuế | 5.061492e+10 | 1.665968e+11 | 3.280543e+11 | 2.539843e+11 | 5.973934e+11 | 3.187485e+11 | 397868051996 | 186066111703 | 1.860661e+11 | 3.778956e+11 |
| Điều chỉnh cho các khoản: | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| Khấu hao tài sản cố định hữu hình và bất động sản đầu tư và tài sản cố định thuê tài chính và hao mòn tài sản cố định vô hình (bao gồm phân bổ lợi thế thương mại và tiền thuê đất trả trước) | 8.335829e+10 | 9.295874e+10 | 1.680285e+11 | 2.449514e+11 | 2.586343e+11 | 2.871291e+11 | 315934993090 | 311000570200 | 3.110006e+11 | 3.309708e+11 |
| Trích lập/(hoàn nhập) dự phòng | NA | 5.366050e+08 | NA | 2.750518e+09 | -2.398048e+09 | 1.226431e+10 | -1790578283 | 73936091176 | 7.393609e+10 | -5.671030e+10 |
| (Lãi)/Lỗ chênh lệch tỷ giá hối đoái do đánh giá lại các khoản mục tiền tệ có gốc ngoại tệ | 1.211217e+09 | 1.080882e+10 | 2.615280e+09 | 1.909942e+09 | 7.383268e+09 | 5.303413e+08 | 5222727270 | -4669068884 | -4.669069e+09 | -1.252319e+10 |
| (Lãi)/Lỗ từ hoạt động đầu tư | -1.107892e+10 | -1.179317e+10 | -3.630270e+10 | -4.019849e+10 | -1.417248e+11 | -1.466351e+11 | -136349091691 | -156540830449 | -1.565408e+11 | -2.315493e+11 |
| Chi phí lãi vay (bao gồm chi phí phát hành trái phiếu) | 2.406581e+10 | 2.728447e+10 | 8.059205e+10 | 1.259805e+11 | 2.303570e+11 | 2.063343e+11 | 160990151352 | 181957153241 | 1.819572e+11 | 2.108177e+11 |
| 3. Lưu chuyển tiền từ hoạt động kinh doanh trước thay đổi vốn lưu động | 1.481713e+11 | 2.863923e+11 | 5.429874e+11 | 5.893782e+11 | 9.496451e+11 | 6.783715e+11 | 741876253734 | 591750026987 | 5.917500e+11 | 6.189012e+11 |
| (Tăng)/Giảm các khoản phải thu | -1.186493e+11 | -1.936067e+11 | -5.710524e+11 | -5.224006e+10 | -4.213142e+11 | 1.244103e+10 | 11880702848 | 304186124644 | 3.041861e+11 | 4.933801e+11 |
| (Tăng)/Giảm hàng tồn kho | -7.666447e+10 | -2.364047e+11 | -8.609044e+10 | -3.293643e+11 | 1.710298e+11 | 2.471460e+11 | 55068047660 | -847407721366 | -8.474077e+11 | 9.340949e+11 |
| Tăng/(Giảm) các khoản phải trả | -5.467439e+10 | 2.116218e+11 | 3.506781e+10 | 1.095048e+10 | 2.107329e+11 | -9.241760e+10 | -54712879349 | 327368540329 | 3.273685e+11 | 8.972263e+11 |
| (Tăng)/Giảm chi phí trả trước | -1.126770e+10 | -1.599256e+10 | -1.090223e+10 | -2.904424e+10 | -2.218762e+10 | -1.073505e+10 | -22657668375 | 51049352896 | 5.104935e+10 | -4.979326e+10 |
| Tiền lãi vay đã trả | -2.406581e+10 | -2.728447e+10 | -7.673644e+10 | -1.240955e+11 | -2.277709e+11 | 5.967002e+10 | -151210894500 | -170157746225 | -1.701577e+11 | -1.894657e+11 |
| Thuế thu nhập doanh nghiệp đã nộp | -3.294063e+09 | -2.251429e+10 | -5.745821e+10 | -4.614274e+10 | -6.975876e+10 | -4.959496e+10 | -91995191514 | -115734842267 | -1.157348e+11 | -6.011810e+10 |
| Tiền thu khác từ hoạt động kinh doanh | 7.379810e+10 | 8.258924e+10 | 1.563401e+11 | 7.000000e+10 | NA | NA | NA | NA | NA | NA |
| Tiền chi khác từ hoạt động kinh doanh | -6.702807e+09 | -4.631007e+09 | -1.281914e+10 | -5.090093e+10 | -4.138531e+10 | -4.300462e+10 | -44628087732 | -43948524571 | -4.394852e+10 | -2.900949e+10 |
| Lưu chuyển tiền thuần từ hoạt động kinh doanh | -7.334908e+10 | 8.016955e+10 | -8.066360e+10 | 3.854078e+10 | 4.893409e+11 | 6.125387e+11 | 443620282772 | 97095210426 | 9.709521e+10 | 2.615216e+12 |
| II. LƯU CHUYỂN TIỀN TỪ HOẠT ĐỘNG ĐẦU TƯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 1. Tiền chi để mua sắm, xây dựng TSCĐ và các TSDH khác | -2.903999e+11 | -1.077442e+12 | -6.959598e+11 | -1.698518e+12 | -5.038950e+11 | -2.714336e+11 | -668611230534 | -168326440417 | -1.683264e+11 | -6.431830e+11 |
| 2. Tiền thu do thanh lý, nhượng bán TSCĐ và các TSDH khác | 5.661364e+09 | 5.362110e+10 | 4.863636e+08 | NA | 8.263030e+09 | 4.112727e+09 | 6450677615 | 5988373461 | 5.988373e+09 | 8.127328e+09 |
| 3. Tiền chi cho vay và mua công cụ nợ của các đơn vị khác | NA | NA | -3.497290e+11 | -1.226962e+12 | -1.993896e+12 | -1.763101e+12 | -1621059878400 | -627265480000 | -6.272655e+11 | -2.260926e+12 |
| 4. Tiền thu hồi cho vay, bán lại các công cụ nợ của đơn vị khác | 3.000000e+10 | 1.213198e+10 | 1.835700e+11 | 3.437064e+11 | 1.543900e+12 | 2.683864e+12 | 2039289323027 | 566435708400 | 5.664357e+11 | 1.870984e+12 |
| 5. Tiền chi đầu tư góp vốn vào đơn vị khác ( trừ tiền thu về) | NA | NA | NA | -8.830901e+10 | -8.298668e+10 | -8.473496e+11 | -400404312220 | -954294817247 | -9.542948e+11 | -7.474229e+11 |
| 6. Tiền thu hồi đầu tư góp vốn vào đơn vị khác | NA | NA | 1.505473e+11 | 1.832572e+10 | 8.904004e+10 | 9.268278e+10 | 347897480000 | 400000000 | 4.000000e+08 | 1.700000e+09 |
| 7. tiền thu lãi cho vay, cổ tức và lợi nhuận được chia | 1.036930e+10 | NA | 1.251319e+10 | 2.352971e+10 | 7.972190e+10 | 1.359256e+11 | 146047740641 | 83303941711 | 8.330394e+10 | 1.713613e+11 |
| Lưu chuyển tiền thuần từ hoạt động đầu tư | -2.443692e+11 | -1.011689e+12 | -6.985719e+11 | -2.628228e+12 | -8.598521e+11 | 3.470108e+10 | -150390199871 | -1093758714092 | -1.093759e+12 | -1.599360e+12 |
| III. LƯU CHUYỂN TIỀN TỪ HOẠT ĐỘNG TÀI CHÍNH | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 1. Tiền thu từ đi vay | 1.858861e+12 | 2.598523e+12 | 4.109993e+12 | 7.841446e+12 | 8.003696e+12 | 6.929547e+12 | 8908162396049 | 7891352976594 | 7.891353e+12 | 6.422374e+12 |
| 2. Tiền trả nợ gốc vay | -1.406090e+12 | -1.728371e+12 | -3.534755e+12 | -6.397797e+12 | -7.889054e+12 | -7.365248e+12 | -9166083799630 | -8114479429801 | -8.114479e+12 | -6.658111e+12 |
| 3. Tiền trả nợ gốc thuê tài chính | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 4. Cổ tức, lợi nhuận đã trả cho chủ sở hữu | -1.935000e+09 | -8.636244e+10 | -9.978260e+10 | -1.361319e+11 | -9.733191e+10 | -1.086719e+11 | -148545935501 | -152250000 | -1.522500e+08 | -1.273435e+08 |
| Lưu chuyển tiền thuần từ hoạt động tài chính | 4.508355e+11 | 8.680370e+11 | 8.822073e+11 | 2.725758e+12 | 1.731000e+10 | 2.558886e+10 | 739244815406 | 630942186793 | 6.309422e+11 | -2.358641e+11 |
| Lưu chuyển tiền thuần trong năm | 1.331172e+11 | -6.348227e+10 | 1.029718e+11 | 1.360716e+11 | -3.532012e+11 | 6.728287e+11 | 1032474898307 | -365721316873 | -3.657213e+11 | 7.799915e+11 |
| Tiền và tương đương tiền đầu năm | 3.368077e+11 | 4.700617e+11 | 4.066768e+11 | 5.095776e+11 | 6.454748e+11 | 2.916747e+11 | 963717122052 | 1988170740182 | 1.988171e+12 | 1.642978e+12 |
| Ảnh hưởng của thay đổi tỷ giá hối đoái quy đổi ngoại tệ | 1.368089e+08 | 9.736338e+07 | -7.098810e+07 | -1.743991e+08 | -5.989528e+08 | -7.862193e+08 | -8021280177 | 20528629131 | 2.052863e+10 | 1.208870e+10 |
| Tiền và tương đương tiền cuối năm | 4.700617e+11 | 4.066768e+11 | 5.095776e+11 | 6.454748e+11 | 2.916747e+11 | 9.637171e+11 | 1988170740182 | 1642978052440 | 1.642978e+12 | 2.435058e+12 |
Phân tích ý nghĩa: BCLCTT cho biết dòng tiền thực tế vào – ra từ ba nhóm hoạt động: Hoạt động kinh doanh: nguồn tiền từ hoạt động cốt lõi. Hoạt động đầu tư: mua sắm tài sản, đầu tư tài chính. Hoạt động tài chính: vay, trả nợ, chia cổ tức. Đây là báo cáo giúp đánh giá tính thanh khoản và khả năng duy trì hoạt động của doanh nghiệp. Một doanh nghiệp có lợi nhuận dương nhưng dòng tiền âm có thể đang gặp vấn đề về quản lý tiền mặt. Với R, sau khi tách được dữ liệu này, ta có thể: Vẽ biểu đồ cấu trúc dòng tiền từng năm. Phân tích tỷ trọng dòng tiền kinh doanh so với tổng dòng tiền. Dự báo dòng tiền tương lai dựa trên xu hướng lịch sử.