NHÓM 1

Nguyễn Hồng Gấm - Nguyễn Ngọc Thúy An

1 NHỮNG THÔNG TIN CƠ BẢN LIÊN QUAN TỚI BỘ DỮ LIỆU:

1.1 Nạp thư viện và dữ liệu

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

1.2 Tổng quan dữ liệu

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")
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).

1.3 Kiểm tra NA

Đ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

1.4 Kiểm tra giá trị lặp lại

sum(duplicated(Amazon.Sale.Report))
## [1] 0

2 PHÂN TỔ CÁC BIẾN

#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

3 PHÂN TÍCH CÁC BIẾN

3.1 Biến Amount

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

3.2 Biến Status

# 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"

3.3 Biến Fulfilment

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À

4 GIỚI THIỆU

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.

5 NẠP VÀ CHUẨN BỊ DỮ LIỆU

5.1 Nguồn dữ liệu và đặc điểm ban đầu

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.

5.2 Chuyển đổi dữ liệu bằng trí tuệ nhân tạo

Để 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.

5.3 Chuẩn bị môi trường làm việc trong R

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.

5.4 Đọc toàn bộ dữ liệu vào

Đầ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.

6 BÁO CÁO TÀI CHÍNH

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)
  • filter() giữ lại các dòng thuộc từng loại báo cáo.
  • select(-1) bỏ cột đầu tiên không cần thiết.
  • Toán tử %>% giúp chuỗi lệnh chạy mạch lạc và dễ đọc. Kết quả là ba bảng dữ liệu tách biệt, sẵn sàng để hiển thị hoặc phân tích sâu hơn trong các phần tiếp theo.

6.1 Bảng cân đối kế toán (BCĐKT)

kable(BCĐKT, caption = "Bảng cân đối kế toán - Dữ liệu đầy đủ")
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.

6.2 Báo cáo kết quả hoạt động kinh doanh (BCKQHDKD)

kable(BCKQHDKD, caption = "Báo cáo kết quả hoạt động kinh doanh - Dữ liệu đầy đủ")
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.

6.3 Báo cáo lưu chuyển tiền tệ (BCLCTT)

kable(BCLCTT, caption = "Báo cáo lưu chuyển tiền tệ - Dữ liệu đầy đủ")
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ử.