1. Giả lập Dữ liệu Tài chính (Actual vs Budget)

Để phục vụ cho quá trình phân tích, hệ thống tự động giả lập tập dữ liệu tài chính của 5 công ty con trực thuộc SGI Holdings trong 36 tháng (từ đầu năm 2023 đến cuối năm 2025). Dữ liệu bao gồm Doanh thu và Chi phí hoạt động (OPEX) theo Kế hoạch (Budget) và Thực tế (Actual).

set.seed(123)
subsidiaries <- c("SGI_Tech", "SGI_Retail", "SGI_Logistics", "SGI_Energy", "SGI_Finance")
# Giả lập dữ liệu 3 năm (2023 - 2025) 
months <- seq(as.Date("2023-01-01"), as.Date("2025-12-01"), by="month")

financial_data <- expand.grid(Month = months, Subsidiary = subsidiaries) %>%
  mutate(
    Budget_Revenue = runif(n(), 500, 1000),
    Actual_Revenue = Budget_Revenue * runif(n(), 0.85, 1.15),
    Budget_OPEX = Budget_Revenue * 0.6,
    Actual_OPEX = Budget_OPEX * runif(n(), 0.9, 1.2)
  )

# Hiển thị 5 dòng dữ liệu đầu tiên
knitr::kable(head(financial_data, 5), digits = 2, caption = "Bảng 1: Trích xuất dữ liệu tài chính giả lập")
Bảng 1: Trích xuất dữ liệu tài chính giả lập
Month Subsidiary Budget_Revenue Actual_Revenue Budget_OPEX Actual_OPEX
2023-01-01 SGI_Tech 643.79 709.41 386.27 364.31
2023-02-01 SGI_Tech 894.15 843.84 536.49 513.88
2023-03-01 SGI_Tech 704.49 748.51 422.69 494.14
2023-04-01 SGI_Tech 941.51 875.14 564.91 560.63
2023-05-01 SGI_Tech 970.23 997.69 582.14 587.37

2. Phân tích Chênh lệch (Variance Analysis) & Tỷ trọng Đóng góp

Tiến hành soát xét số liệu thực tế so với kế hoạch nhằm xác định các biến động bất thường và đánh giá mức độ đóng góp lợi nhuận của từng đơn vị thành viên vào kết quả chung của tập đoàn. Phân tích được bóc tách theo cấu trúc Lợi nhuận gộp và Lợi nhuận hoạt động.

# Tính toán chênh lệch và cấu trúc lợi nhuận chuẩn VAS
analysis_report <- financial_data %>%
  mutate(
    # Giả định Giá vốn hàng bán (COGS) chiếm 40% doanh thu
    Actual_COGS = Actual_Revenue * 0.4,
    
    # Lợi nhuận gộp (Gross Profit)
    Gross_Profit = Actual_Revenue - Actual_COGS,
    
    # Lợi nhuận thuần hoạt động kinh doanh (Xấp xỉ EBIT)
    Net_Profit = Gross_Profit - Actual_OPEX,
    
    # Biến động Doanh thu
    Rev_Variance = Actual_Revenue - Budget_Revenue,
    Rev_Var_Pct = (Rev_Variance / Budget_Revenue) * 100
  )

# Phân tích tỷ trọng đóng góp
contribution <- analysis_report %>%
  group_by(Subsidiary) %>%
  summarise(Total_Profit = sum(Net_Profit)) %>%
  mutate(Contribution_Pct = Total_Profit / sum(Total_Profit) * 100) %>%
  arrange(desc(Contribution_Pct))

knitr::kable(contribution, digits = 2, caption = "Bảng 2: Tỷ lệ đóng góp Lợi nhuận hoạt động của các công ty con (%)")
Bảng 2: Tỷ lệ đóng góp Lợi nhuận hoạt động của các công ty con (%)
Subsidiary Total_Profit Contribution_Pct
SGI_Tech -835.67 23.87
SGI_Energy -729.72 20.84
SGI_Logistics -721.96 20.62
SGI_Finance -667.64 19.07
SGI_Retail -546.07 15.60

3. Kiểm định Thống kê và Dự báo Doanh thu

Ứng dụng mô hình toán thống kê để phân tích chuỗi thời gian, giúp Ban lãnh đạo đưa ra các định hướng kinh doanh cho chu kỳ tiếp theo.

3.1 Kiểm định Normality (Shapiro-Wilk)

Thực hiện kiểm định tính phân phối chuẩn đối với biến động doanh thu để đảm bảo tính chặt chẽ trước khi chạy mô hình.

shapiro_results <- shapiro.test(analysis_report$Rev_Variance)
shapiro_results
## 
##  Shapiro-Wilk normality test
## 
## data:  analysis_report$Rev_Variance
## W = 0.97475, p-value = 0.002359

3.2 Mô hình Dự báo Holt-Winters

Dự báo xu hướng doanh thu hợp nhất của toàn tập đoàn trong Quý 1/2026 bằng mô hình Holt-Winters. Việc sử dụng dữ liệu lịch sử 3 năm (2023-2025) cho phép thuật toán bóc tách chính xác các yếu tố chu kỳ và tính mùa vụ.

# Chuyển đổi dữ liệu thành chuỗi thời gian (Time Series) bắt đầu từ tháng 1/2023
total_rev_ts <- analysis_report %>%
  group_by(Month) %>%
  summarise(Total_Actual = sum(Actual_Revenue)) %>%
  pull(Total_Actual) %>%
  ts(frequency = 12, start = c(2023, 1))

# Chạy mô hình và dự báo 3 kỳ (3 tháng) tiếp theo
hw_model <- HoltWinters(total_rev_ts)
forecast_rev <- forecast(hw_model, h = 3)

plot(forecast_rev, main="Dự báo Doanh thu SGI Holdings - Q1/2026", 
     xlab="Thời gian", ylab="Doanh thu (Ngàn USD)", col="navy", fcol="darkorange")

4. Đánh giá Rủi ro Đầu tư (Mô phỏng Monte Carlo)

Mô phỏng xác suất rủi ro cho một dự án đầu tư mới của tập đoàn thông qua phương pháp Monte Carlo, với kịch bản dòng tiền dao động ngẫu nhiên qua 5 năm. Công thức xác định Hiện giá thuần (NPV):

\[NPV = \sum_{t=1}^{n} \frac{CF_t}{(1 + r)^t} - C_0\]

Trong đó: * \(CF_t\): Dòng tiền tại năm \(t\) (Biến ngẫu nhiên tuân theo phân phối chuẩn). * \(r\): Tỷ lệ chiết khấu (WACC). * \(C_0\): Chi phí đầu tư ban đầu.

n_sim <- 10000
investment_cost <- 2000
wacc <- 0.1

# Mô phỏng dòng tiền ngẫu nhiên để thẩm định dự án
sim_npv <- replicate(n_sim, {
  cash_flows <- rnorm(5, mean = 620, sd = 140)
  pv <- sum(cash_flows / (1 + wacc)^(1:5))
  return(pv - investment_cost)
})

# Tính toán xác suất thành công (NPV > 0)
prob_success <- mean(sim_npv > 0)

Kết luận Quản trị: Dựa trên 10,000 kịch bản mô phỏng, xác suất dự án đầu tư đạt mức Hiện giá thuần dương (NPV > 0) là 92.48%. Điều này cho thấy tính khả thi cao của phương án mở rộng hoạt động kinh doanh dưới các giả định biến động tài chính thông thường.