## [1] "en_US.UTF-8"

1 PHẦN 1: BỘ DỮ LIỆU VỀ HUMAN RESOURCE DATASET OF A MULTINATIONL CORPORATION(MNC)

1.1 TỔNG QUAN NGHIÊN CỨU

1.1.1 Bối cảnh nghiên cứu

Trong thời đại toàn cầu hóa, các tập đoàn đa quốc gia (Multinational Corporations - MNC) ngày càng mở rộng hoạt động trên nhiều quốc gia khác nhau. Việc quản lý đội ngũ nhân viên đến từ nhiều nền văn hóa, quốc tịch và trình độ chuyên môn khác nhau đặt ra thách thức lớn về quản trị nhân sự.

Đối với các MNC, nguồn nhân lực được xem là yếu tố then chốt quyết định đến hiệu quả hoạt động và khả năng cạnh tranh của doanh nghiệp. Hiệu suất làm việc của nhân viên chịu ảnh hưởng bởi nhiều yếu tố như kinh nghiệm, trình độ chuyên môn, môi trường làm việc, chế độ đãi ngộ và hình thức làm việc. Trong đó, mức lương không chỉ là phần thưởng tài chính mà còn phản ánh giá trị đóng góp của nhân viên đối với tổ chức.

Tuy nhiên, trong thực tế, mức lương và hiệu suất làm việc có thể khác nhau giữa các phòng ban. Ví dụ, bộ phận IT hoặc Marketing có thể được trả lương cao hơn vì đặc thù công việc, trong khi bộ phận Hành chính hay Nhân sự lại có mức thu nhập ổn định nhưng ít biến động hơn. Ngoài ra, hình thức làm việc (làm tại văn phòng, kết hợp hay làm từ xa) cũng có thể ảnh hưởng đến hiệu quả công việc và sự gắn kết của nhân viên.

Do đó, việc phân tích và xác định những yếu tố ảnh hưởng đến hiệu suất và mức lương của nhân viên theo từng phòng ban là rất cần thiết. Kết quả của nghiên cứu sẽ giúp ban lãnh đạo xây dựng chính sách lương thưởng và môi trường làm việc công bằng, hợp lý hơn, đồng thời nâng cao động lực làm việc và hiệu quả chung của tổ chức.

1.1.2 Cơ sở lý thuyết và tổng quan nghiên cứu

1.1.2.1 Cơ sở lý thuyết

1.1.2.1.1 Lý thuyết Vốn con người (Human Capital Theory)

Lý thuyết này do Becker (1964) đề xuất, cho rằng kiến thức, kỹ năng và kinh nghiệm của mỗi cá nhân là những yếu tố tạo nên vốn con người - nguồn lực quan trọng giúp nâng cao năng suất lao động và thu nhập. Khi nhân viên được đào tạo tốt, có kinh nghiệm dày dạn, họ sẽ làm việc hiệu quả hơn và có cơ hội nhận được mức lương cao hơn. → Trong nghiên cứu này, số năm kinh nghiệm (Experience_Years) được xem là đại diện cho vốn con người của mỗi nhân viên.

1.1.2.1.2 Lý thuyết Hiệu suất - Thù lao (Performance-Reward Theory)

Theo Armstrong & Taylor (2017), hiệu suất làm việc của nhân viên là cơ sở chính để doanh nghiệp trả lương và khen thưởng. Khi hiệu suất cao, nhân viên thường được tăng lương, thăng chức hoặc nhận thưởng. Ngược lại, hiệu suất thấp có thể dẫn đến điều chỉnh lương hoặc đánh giá lại vị trí công việc. → Do đó, trong tập đoàn MNC, biến Performance_Rating phản ánh trực tiếp năng suất và là yếu tố có thể ảnh hưởng rõ rệt đến Salary_INR.

1.1.2.1.3 Lý thuyết Tín hiệu (Signaling Theory)

Spence (1973) cho rằng trong thị trường lao động, các đặc điểm như chức danh, trình độ học vấn, hay hình thức làm việc là “tín hiệu” mà người lao động gửi đến nhà tuyển dụng để thể hiện năng lực của mình. Trong các MNC, những vị trí như Manager, Senior Analyst hoặc Team Leader thường được xem là tín hiệu về năng lực cao và trách nhiệm lớn hơn, dẫn đến mức lương cao hơn. → Biến Job_Title trong bộ dữ liệu đóng vai trò thể hiện tín hiệu năng lực của nhân viên.

1.1.2.1.4 Lý thuyết Phù hợp tổ chức (Person–Organization Fit Theory)

Kristof (1996) cho rằng hiệu suất làm việc không chỉ phụ thuộc vào năng lực cá nhân mà còn phụ thuộc vào mức độ phù hợp giữa nhân viên và môi trường làm việc. Các yếu tố như phòng ban (Department), văn hóa nhóm, hay chế độ làm việc (Work_Mode) có thể ảnh hưởng đến tinh thần và năng suất của nhân viên. → Sự khác biệt giữa các phòng ban và hình thức làm việc trong MNC là yếu tố quan trọng cần phân tích.

1.1.2.1.5 Lý thuyết Bình đẳng (Equity Theory)

Theo Adams (1965), nhân viên thường so sánh mức lương và đãi ngộ của mình với đồng nghiệp có cùng vị trí hoặc công việc tương tự. Nếu cảm thấy công bằng, họ sẽ có động lực làm việc cao hơn; nếu không, họ dễ mất hứng thú hoặc rời bỏ tổ chức. → Điều này lý giải vì sao cần phân tích sự chênh lệch lương và hiệu suất giữa các phòng ban, giúp doanh nghiệp đảm bảo công bằng nội bộ.

1.1.2.2 Tổng quan nghiên cứu

Tác giả & Năm Phạm vi Phương pháp / Mẫu Kết quả chính
Spence (1973) Hoa Kỳ Mô hình tín hiệu trong thị trường lao động Bằng cấp và chức danh là tín hiệu quan trọng thể hiện năng lực, ảnh hưởng đến mức lương.
Adams (1965) Hoa Kỳ Mô hình tâm lý tổ chức Sự công bằng trong đãi ngộ ảnh hưởng đến động lực làm việc và sự gắn bó của nhân viên.
Armstrong & Taylor (2017) Anh Quốc Tổng hợp các nghiên cứu về quản trị nhân sự Xây dựng cơ sở lý thuyết cho mối quan hệ giữa hiệu suất và thù lao trong doanh nghiệp.
Nguyễn & Trần (2021) Việt Nam Khảo sát 300 nhân viên tại MNC Hiệu suất, kinh nghiệm và hình thức làm việc ảnh hưởng đáng kể đến lương; chênh lệch giữa các phòng ban là đáng kể.
Lee & Kim (2023) Hàn Quốc Hồi quy đa biến trên 1.500 nhân viên tập đoàn quốc tế Nhân viên phòng IT và Kinh doanh có mức lương cao hơn; làm việc hybrid giúp duy trì hiệu suất ổn định hơn.

1.1.3 Mục tiêu nghiên cứu

1.1.3.1 Mục tiêu chung

Nghiên cứu nhằm phân tích các yếu tố ảnh hưởng đến hiệu suất làm việc và mức lương của nhân viên theo từng phòng ban trong một tập đoàn đa quốc gia (MNC).

Thông qua đó, nhóm nghiên cứu mong muốn xác định các yếu tố chính quyết định đến hiệu suất và thu nhập, giúp doanh nghiệp đề xuất chính sách nhân sự công bằng, hợp lý và hiệu quả hơn trong quản lý nguồn nhân lực toàn cầu.

1.1.3.2 Mục tiêu cụ thể

Mô tả đặc điểm chung của đội ngũ nhân viên trong tập đoàn theo các yếu tố: phòng ban, chức danh, hình thức làm việc, kinh nghiệm và tình trạng việc làm.

Phân tích sự khác biệt về hiệu suất làm việc và mức lương giữa các phòng ban và hình thức làm việc (on-site, hybrid, remote).

Xác định mối quan hệ giữa các yếu tố như kinh nghiệm, hiệu suất, chế độ làm việc và mức lương của nhân viên.

Kiểm định các giả thuyết nghiên cứu về mức độ ảnh hưởng của từng yếu tố (Experience_Years, Performance_Rating, Work_Mode, Department) đến Salary_INR.

1.1.4 Phương pháp nghiên cứu

Nghiên cứu bắt đầu bằng việc áp dụng các phương pháp thống kê mô tả nhằm nhận diện và hiểu rõ đặc tính cơ bản của bộ dữ liệu.

Nhóm tác giả tiến hành tính toán các chỉ số đặc trưng như giá trị trung bình, trung vị, phương sai và khoảng tứ phân vị (IQR) đối với các biến quan trọng, bao gồm mức lương (Salary_INR), số năm kinh nghiệm (Experience_Years) và hình thức làm việc (Work_Mode).

Song song đó, các biểu đồ tần số và biểu đồ tần suất được sử dụng để trực quan hóa phân bố dữ liệu, giúp nhận diện các giá trị ngoại lai (outliers) cũng như quan sát sơ bộ mối tương quan giữa các biến. Cách tiếp cận này không chỉ hỗ trợ phát hiện các xu hướng tiềm ẩn trong dữ liệu, mà còn tạo nền tảng cho các bước phân tích chuyên sâu ở các phần tiếp theo.

1.1.5 Ý nghĩa của nghiên cứu

1.1.5.1 Ý nghĩa khoa học

Nghiên cứu góp phần làm rõ mối quan hệ giữa các yếu tố nhân sự và kết quả làm việc trong bối cảnh tập đoàn đa quốc gia (MNC).

Thông qua việc áp dụng các lý thuyết nền tảng như Vốn con người, Hiệu suất - Thù lao, Bình đẳng và Phù hợp tổ chức, đề tài củng cố cơ sở lý luận về mối liên hệ giữa kinh nghiệm, hiệu suất, hình thức làm việc và mức lương.

1.1.5.2 Ý nghĩa thực tiễn

Kết quả nghiên cứu mang lại cái nhìn trực quan và định lượng về cách các yếu tố như phòng ban, hình thức làm việc, kinh nghiệm và hiệu suất ảnh hưởng đến mức lương và năng suất của nhân viên.

Từ đó, đối với doanh nghiệp có thể

Xây dựng chính sách lương thưởng hợp lý, phản ánh đúng năng lực và đóng góp của nhân viên.

Thiết kế chế độ làm việc linh hoạt (on-site, hybrid, remote) phù hợp với từng nhóm công việc nhằm duy trì hiệu quả và sự hài lòng.

Phát hiện sự mất cân đối giữa các phòng ban về thu nhập hoặc hiệu suất, từ đó điều chỉnh chiến lược nhân sự một cách công bằng và bền vững.

Đối với người lao động và xã hội

Nghiên cứu giúp nhân viên hiểu rõ hơn về các yếu tố ảnh hưởng đến thu nhập và hiệu suất cá nhân, qua đó định hướng phát triển nghề nghiệp và kỹ năng phù hợp.

Đồng thời, đề tài góp phần thúc đẩy tính minh bạch, công bằng trong quản trị nhân sự, hướng đến một môi trường làm việc hiệu quả và bình đẳng hơn trong các tổ chức toàn cầu.

1.2 GIỚI THIỆU BỘ DỮ LIỆU.

Trong nghiên cứu này, nhóm tác giả sử dụng bộ dữ liệu “Human Resource Dataset of a Multinational Corporation (MNC)”, được cung cấp dưới dạng tệp CSV, nhằm phân tích các yếu tố ảnh hưởng đến hiệu suất làm việc và mức lương của nhân viên trong một tập đoàn đa quốc gia.

Bộ dữ liệu bao gồm 100.500 quan sát và 11 biến, phản ánh các khía cạnh về nhân viên, phòng ban, vị trí công việc, kinh nghiệm làm việc, hiệu suất, tình trạng việc làm, hình thức làm việc, mức lương…. Trong đó, có 8 biến định tính và 3 biến định lượng, thể hiện mối liên hệ giữa phòng ban (Department) với các yếu tố như điểm đánh giá hiệu suất (Performance_Rating), kinh nghiệm (Experience_Years), tình trạng việc làm (Status), chế độ làm việc (Work_Mode) và mức lương (Salary_INR).

1. d <- read.csv("D:/naaaaaa/NNLT_ST2/HR_Data_MNC_Data Science Lovers.csv")

Mô tả các đặc trưng của dữ liệu

Tên biến Mô tả chi tiết
Employee_ID Mã định danh duy nhất được gán cho mỗi nhân viên (ví dụ: EMP0000001).
Full_Name Họ và tên đầy đủ của nhân viên, được sử dụng để nhận diện cá nhân trong nội bộ.
Department Phòng ban mà nhân viên công tác, chẳng hạn như Công nghệ thông tin (IT), Nhân sự (HR), Tiếp thị (Marketing), Vận hành (Operations), v.v.
Job_Title Chức danh hoặc vị trí nghề nghiệp của nhân viên (ví dụ: Software Engineer, HR Manager, Data Analyst…).
Hire_Date Ngày mà nhân viên chính thức được tuyển dụng vào công ty (định dạng: YYYY-MM-DD).
Location Địa điểm làm việc của nhân viên, bao gồm thành phố và quốc gia nơi nhân viên làm việc.
Performance_Rating Điểm đánh giá hiệu suất làm việc của nhân viên, được chấm theo thang điểm (ví dụ: từ 1 đến 5, điểm càng cao thể hiện hiệu suất càng tốt).
Experience_Years Số năm kinh nghiệm làm việc chuyên môn của nhân viên tính đến thời điểm hiện tại.
Status Tình trạng việc làm hiện tại của nhân viên:
- Active: Đang làm việc
- Resigned: Đã nghỉ việc.
Work_Mode Hình thức làm việc của nhân viên:
- On-site: Làm việc tại văn phòng
- Remote: Làm việc từ xa.
Salary_INR Mức lương hàng năm của nhân viên, được tính bằng đơn vị tiền tệ Rupee Ấn Độ (INR).

1.2.1 Kiểm tra cấu trúc dữ liệu

## 'data.frame':    100500 obs. of  11 variables:
##  $ Employee_ID       : chr  "EMP0000001" "EMP0000002" "EMP0000003" "EMP0000004" ...
##  $ Full_Name         : chr  "Joshua Nguyen" "Julie Williams" "Alyssa Martinez" "Nicholas Valdez" ...
##  $ Department        : chr  "IT" "Marketing" "HR" "IT" ...
##  $ Job_Title         : chr  "Software Engineer" "SEO Specialist" "HR Manager" "Software Engineer" ...
##  $ Hire_Date         : chr  "8/10/2011" "3/2/2018" "3/20/2023" "10/12/2023" ...
##  $ Location          : chr  "Isaacland, Denmark" "Anthonyside, Costa Rica" "Port Christinaport, Saudi Arabia" "Port Shelbychester, Antigua and Barbuda" ...
##  $ Performance_Rating: int  5 2 1 1 5 5 2 2 4 4 ...
##  $ Experience_Years  : int  14 7 2 1 0 4 9 5 7 9 ...
##  $ Status            : chr  "Resigned" "Active" "Active" "Active" ...
##  $ Work_Mode         : chr  "On-site" "On-site" "On-site" "On-site" ...
##  $ Salary_INR        : int  1585363 847686 1430084 990689 535082 641393 1383891 423091 1138452 1543102 ...

1: xem cấu trúc của bộ dữ liệu (d).

Nhận xét

  • Bộ dữ liệu gồm 100.500 quan sát và 11 biến, phản ánh thông tin chi tiết về nhân viên trong tập đoàn đa quốc gia.

  • Các biến bao gồm cả định tính và định lượng, thể hiện nhiều khía cạnh khác nhau của hồ sơ nhân sự:

    • 8 biến định tính: Employee_ID, Full_Name, Department, Job_Title, Hire_Date, Location, Status, Work_Mode — mô tả thông tin nhận diện, tổ chức, vị trí công việc và tình trạng làm việc.

    • 3 biến định lượng: Performance_Rating, Experience_Years, Salary_INR — phản ánh năng lực, thâm niên và thu nhập của nhân viên.

  • Dữ liệu được tổ chức theo dạng data.frame.

=> Nhìn chung, bộ dữ liệu có quy mô lớn, cấu trúc hoàn chỉnh và chất lượng tốt, đáp ứng yêu cầu cho các bước phân tích mô tả tiếp theo.

1.2.2 Xem qua 10 dòng đầu

1. head(d, 10)
##    Employee_ID       Full_Name Department             Job_Title  Hire_Date
## 1   EMP0000001   Joshua Nguyen         IT     Software Engineer  8/10/2011
## 2   EMP0000002  Julie Williams  Marketing        SEO Specialist   3/2/2018
## 3   EMP0000003 Alyssa Martinez         HR            HR Manager  3/20/2023
## 4   EMP0000004 Nicholas Valdez         IT     Software Engineer 10/12/2023
## 5   EMP0000005  Joel Hendricks Operations Logistics Coordinator  12/9/2024
## 6   EMP0000006   Jason Gardner Operations Logistics Coordinator  2/23/2021
## 7   EMP0000007    Julie Wright    Finance       Finance Manager   4/4/2016
## 8   EMP0000008    Scott Wilson      Sales       Account Manager   4/4/2020
## 9   EMP0000009  Cathy Thompson    Finance     Financial Analyst  5/29/2018
## 10  EMP0000010     Maria Yu MD         IT     Software Engineer  10/8/2015
##                                   Location Performance_Rating Experience_Years
## 1                       Isaacland, Denmark                  5               14
## 2                  Anthonyside, Costa Rica                  2                7
## 3         Port Christinaport, Saudi Arabia                  1                2
## 4  Port Shelbychester, Antigua and Barbuda                  1                1
## 5     Lake Kimberly, Palestinian Territory                  5                0
## 6                  Zimmermanstad, Bulgaria                  5                4
## 7                  Karenfort, South Africa                  2                9
## 8      Moniqueview, British Virgin Islands                  2                5
## 9                  South Catherine, Belize                  4                7
## 10                        Brownport, Yemen                  4                9
##      Status Work_Mode Salary_INR
## 1  Resigned   On-site    1585363
## 2    Active   On-site     847686
## 3    Active   On-site    1430084
## 4    Active   On-site     990689
## 5    Active   On-site     535082
## 6    Active   On-site     641393
## 7    Active   On-site    1383891
## 8    Active    Remote     423091
## 9  Resigned    Remote    1138452
## 10   Active    Remote    1543102

1.2.3 Xem 10 dòng cuối

1. tail(d, 10)
##        Employee_ID         Full_Name Department             Job_Title
## 100491  EMP0100491   Nicole Gonzales      Sales       Sales Executive
## 100492  EMP0100492        Kevin Webb      Sales       Sales Executive
## 100493  EMP0100493        Tanya Diaz    Finance            Accountant
## 100494  EMP0100494        Gary Smith         IT       DevOps Engineer
## 100495  EMP0100495     Heather Smith         IT          Data Analyst
## 100496  EMP0100496        Sara Avery    Finance            Accountant
## 100497  EMP0100497    Cory Cervantes Operations  Operations Executive
## 100498  EMP0100498    Allison Vaughn         IT     Software Engineer
## 100499  EMP0100499       Laura Adams    Finance            Accountant
## 100500  EMP0100500 Michael Bryant MD Operations Logistics Coordinator
##         Hire_Date                      Location Performance_Rating
## 100491   8/3/2012        Lake Emmaside, Georgia                  3
## 100492   6/6/2017 Hubbardmouth, Solomon Islands                  3
## 100493  3/11/2019             Kimview, Kiribati                  1
## 100494  5/12/2022           Lopezshire, Germany                  1
## 100495  5/16/2020    Port Sarahtown, Bangladesh                  3
## 100496 10/18/2021 North Amyfurt, Czech Republic                  3
## 100497  4/15/2025            West Mary, Vietnam                  1
## 100498 11/11/2020           South Kelly, Greece                  2
## 100499  10/6/2022         Jamesview, Madagascar                  5
## 100500 10/31/2020     South Tracy, Saint Helena                  5
##        Experience_Years     Status Work_Mode Salary_INR
## 100491               13    Retired   On-site     783422
## 100492                8   Resigned   On-site     806897
## 100493                6   Resigned    Remote     581830
## 100494                3     Active   On-site     436758
## 100495                5 Terminated   On-site     483134
## 100496                3     Active   On-site     719172
## 100497                0    Retired   On-site     659319
## 100498                4     Active   On-site    1644321
## 100499                2   Resigned   On-site     746300
## 100500                4     Active    Remote     517095

Lệnh head và tail hiển thị 10 dòng đầu và cuối của bộ dữ liệu d.

Nhận xét

Nhìn chung, 10 dòng đầu và 10 dòng cuối cho thấy dữ liệu được ghi nhận đầy đủ, phản ánh rõ sự đa dạng về phòng ban (như IT, Marketing, HR, Finance, Sales, Operations), chức danh công việc (Software Engineer, HR Manager, Accountant, Data Analyst, Logistics Coordinator…), tình trạng làm việc (Active, Resigned, Retired, Terminated), hình thức làm việc (On-site, Remote), cũng như mức lương và số năm kinh nghiệm khác nhau giữa các nhân viên.

1.2.4 Kích thước dữ liệu

1. dim(d)
## [1] 100500     11

Nhận xét

Bộ dữ liệu có 100.500 quan sát và 11 biến, cho thấy quy mô lớn và độ chi tiết cao.

1.2.5 Tên các biến

1. names(d)
##  [1] "Employee_ID"        "Full_Name"          "Department"        
##  [4] "Job_Title"          "Hire_Date"          "Location"          
##  [7] "Performance_Rating" "Experience_Years"   "Status"            
## [10] "Work_Mode"          "Salary_INR"

Nhận xét

Bộ dữ liệu gồm 11 biến với tên rõ ràng, dễ hiểu, phản ánh đầy đủ thông tin về nhân viên như mã số, họ tên, phòng ban, chức danh, ngày tuyển dụng, địa điểm, hiệu suất, kinh nghiệm, tình trạng, hình thức làm việc và mức lương.

1.2.6 Kiểm tra giá trị thiếu (NA)

1. any(is.na(d))
## [1] FALSE
1. sum(is.na(d))
## [1] 0

Nhận xét

Kết quả cho thấy không có giá trị thiếu (NA) trong toàn bộ bộ dữ liệu.

→ Dữ liệu được nhập đầy đủ, đảm bảo độ tin cậy và thuận lợi cho quá trình phân tích thống kê tiếp theo.

1.2.7 Kiểm tra số lượng bản ghi trùng lặp và loại bỏ trùng lặp

1. sum(duplicated(d))
## [1] 0
1. d <- d %>% distinct()

Nhận xét

Kết quả cho thấy không có bản ghi trùng lặp trong dữ liệu.

→ Dữ liệu duy nhất, đảm bảo tính chính xác, không cần xử lý loại bỏ trùng lặp trước khi phân tích.

1.2.8 Kiểm tra kiểu dữ liệu từng biến

1. sapply(d, class)
##        Employee_ID          Full_Name         Department          Job_Title 
##        "character"        "character"        "character"        "character" 
##          Hire_Date           Location Performance_Rating   Experience_Years 
##        "character"        "character"          "integer"          "integer" 
##             Status          Work_Mode         Salary_INR 
##        "character"        "character"          "integer"

Nhận xét

Kiểu dữ liệu được phân loại hợp lý:

  • Các biến định tính như mã nhân viên, họ tên, phòng ban, chức danh, ngày tuyển dụng, địa điểm, trạng thái và hình thức làm việc ở dạng chuỗi (character).

  • Các biến định lượng gồm điểm hiệu suất, số năm kinh nghiệm và mức lương ở dạng số nguyên (integer).

1.3 XỬ LÝ VÀ MÃ HÓA DỮ LIỆU.

1.3.1 Chuyển các biến định tính sang factor

1. d$Department <- as.factor(d$Department)
2. d$Job_Title <- as.factor(d$Job_Title)
3. d$Status <- as.factor(d$Status)
4. d$Work_Mode <- as.factor(d$Work_Mode)
5. d$Location <- as.factor(d$Location)
6. head(d[, c("Department", "Job_Title", "Status", "Work_Mode", "Location")])
##   Department             Job_Title   Status Work_Mode
## 1         IT     Software Engineer Resigned   On-site
## 2  Marketing        SEO Specialist   Active   On-site
## 3         HR            HR Manager   Active   On-site
## 4         IT     Software Engineer   Active   On-site
## 5 Operations Logistics Coordinator   Active   On-site
## 6 Operations Logistics Coordinator   Active   On-site
##                                  Location
## 1                      Isaacland, Denmark
## 2                 Anthonyside, Costa Rica
## 3        Port Christinaport, Saudi Arabia
## 4 Port Shelbychester, Antigua and Barbuda
## 5    Lake Kimberly, Palestinian Territory
## 6                 Zimmermanstad, Bulgaria

Nhận xét

Các biến định tính đã được chuyển đổi sang dạng factor gồm: Department, Job_Title, Status, Work_Mode, và Location.

→ Việc mã hóa này giúp dễ dàng thực hiện phân tích thống kê, so sánh và mô hình hóa sau này.

1.3.2 Chuyển biến định lượng sang dạng numeric

1. d$Performance_Rating <- as.numeric(d$Performance_Rating)
2. d$Experience_Years <- as.numeric(d$Experience_Years)
3. d$Salary_INR <- as.numeric(d$Salary_INR)
4. head(d[, c("Performance_Rating", "Experience_Years", "Salary_INR")])
##   Performance_Rating Experience_Years Salary_INR
## 1                  5               14    1585363
## 2                  2                7     847686
## 3                  1                2    1430084
## 4                  1                1     990689
## 5                  5                0     535082
## 6                  5                4     641393

Nhận xét

Ba biến định lượng gồm Performance_Rating, Experience_Years và Salary_INR đã được chuyển đổi sang dạng numeric.

→ Việc này giúp đảm bảo dữ liệu có thể thực hiện tính toán, phân tích thống k mô tả.

1.3.3 Chuẩn hóa tên biến về chữ thường

1. names(d) <- tolower(names(d))
2. print(names(d))
##  [1] "employee_id"        "full_name"          "department"        
##  [4] "job_title"          "hire_date"          "location"          
##  [7] "performance_rating" "experience_years"   "status"            
## [10] "work_mode"          "salary_inr"

Nhận xét

  • Các tên biến đã được chuẩn hóa về chữ thường, giúp dữ liệu thống nhất, dễ đọc và thuận tiện khi thao tác, hạn chế lỗi khi gọi tên biến trong quá trình phân tích sau này.

1.3.4 Lọc dữ liệu có điều kiện

Điều kiện AND (&)

1. and_filter <- d %>% filter(performance_rating >= 4 & experience_years > 5 & status == "Active" )
2. nrow(and_filter)
## [1] 11875
1. head(and_filter,10)
##    employee_id        full_name department             job_title  hire_date
## 1   EMP0000010      Maria Yu MD         IT     Software Engineer  10/8/2015
## 2   EMP0000015  Megan Hernandez      Sales       Account Manager  1/14/2016
## 3   EMP0000031     Nathan Smith         IT     Software Engineer  2/13/2019
## 4   EMP0000051      Dylan Welch      Sales       Account Manager  8/11/2011
## 5   EMP0000076   Kristin Hodges  Marketing    Content Strategist 10/28/2015
## 6   EMP0000079       David Chen         IT     Software Engineer  6/26/2018
## 7   EMP0000084 Douglas Robinson         IT       DevOps Engineer  5/29/2018
## 8   EMP0000087   Cynthia Dennis  Marketing        SEO Specialist  8/21/2016
## 9   EMP0000088    Jennifer Hunt  Marketing   Marketing Executive   9/7/2013
## 10  EMP0000090      Donald Barr Operations Logistics Coordinator  7/11/2018
##                         location performance_rating experience_years status
## 1               Brownport, Yemen                  4                9 Active
## 2          New Royberg, Thailand                  5                9 Active
## 3          Anthonyburgh, Bahamas                  4                6 Active
## 4         West Kevinfurt, Jordan                  4               14 Active
## 5           Nelsontown, Anguilla                  5                9 Active
## 6               Markberg, Turkey                  5                7 Active
## 7     South Sharonburgh, Burundi                  5                7 Active
## 8  Cheyenneshire, Western Sahara                  4                8 Active
## 9           New Amber, Lithuania                  5               11 Active
## 10         Barrybury, Micronesia                  4                7 Active
##    work_mode salary_inr
## 1     Remote    1543102
## 2     Remote    1158764
## 3    On-site    1076433
## 4     Remote     915341
## 5    On-site    1093462
## 6    On-site     616692
## 7     Remote    1017531
## 8    On-site     739277
## 9    On-site     811697
## 10   On-site     878513

1 lọc ra những nhân viên thỏa mãn đồng thời 3 điều kiện sau đó lưu vào bảng mới and_filter

Nhận xét

Kết quả lọc cho thấy có 11.875 nhân viên đáp ứng đồng thời các điều kiện:

  • Hiệu suất làm việc ≥ 4,

  • Kinh nghiệm > 5 năm,

  • Tình trạng làm việc: Active.

→ Đây là nhóm nhân viên có năng lực và kinh nghiệm cao, đang làm việc tích cực, có thể đại diện cho lực lượng nòng cốt trong doanh nghiệp.

Điều kiện OR (|)

1. or_filter <- d %>% filter(performance_rating <= 2 | status == "Resigned" )
2. nrow(or_filter)
## [1] 52160
1. head(or_filter,10)
##    employee_id       full_name department             job_title  hire_date
## 1   EMP0000001   Joshua Nguyen         IT     Software Engineer  8/10/2011
## 2   EMP0000002  Julie Williams  Marketing        SEO Specialist   3/2/2018
## 3   EMP0000003 Alyssa Martinez         HR            HR Manager  3/20/2023
## 4   EMP0000004 Nicholas Valdez         IT     Software Engineer 10/12/2023
## 5   EMP0000007    Julie Wright    Finance       Finance Manager   4/4/2016
## 6   EMP0000008    Scott Wilson      Sales       Account Manager   4/4/2020
## 7   EMP0000009  Cathy Thompson    Finance     Financial Analyst  5/29/2018
## 8   EMP0000011   Jordan Haynes      Sales       Sales Executive 10/27/2018
## 9   EMP0000012      Kevin Lowe      Sales       Account Manager   7/2/2024
## 10  EMP0000017   Robert Martin Operations Logistics Coordinator  5/13/2025
##                                   location performance_rating experience_years
## 1                       Isaacland, Denmark                  5               14
## 2                  Anthonyside, Costa Rica                  2                7
## 3         Port Christinaport, Saudi Arabia                  1                2
## 4  Port Shelbychester, Antigua and Barbuda                  1                1
## 5                  Karenfort, South Africa                  2                9
## 6      Moniqueview, British Virgin Islands                  2                5
## 7                  South Catherine, Belize                  4                7
## 8               Lake Katherineland, Gambia                  1                6
## 9                         East Kent, Qatar                  3                1
## 10                 Laurahaven, Afghanistan                  3                0
##      status work_mode salary_inr
## 1  Resigned   On-site    1585363
## 2    Active   On-site     847686
## 3    Active   On-site    1430084
## 4    Active   On-site     990689
## 5    Active   On-site    1383891
## 6    Active    Remote     423091
## 7  Resigned    Remote    1138452
## 8    Active   On-site     617992
## 9  Resigned   On-site    1111759
## 10 Resigned   On-site     859025

Nhận xét

Kết quả lọc theo điều kiện OR cho thấy có 52.160 nhân viên thuộc nhóm hiệu suất thấp (≤ 2) hoặc đã nghỉ việc (Resigned).

→ Đây là nhóm nhân viên có nguy cơ gắn bó thấp hoặc hiệu quả làm việc chưa đạt yêu cầu, cần được doanh nghiệp xem xét trong các phân tích về năng suất và duy trì nhân sự.

Kết hợp điều kiện AND và OR

1. mix_filter <- d %>% filter(performance_rating >= 4 & (department == "IT" | department == "Marketing") )
2. nrow(mix_filter)
## [1] 16968
1. head(mix_filter,10)
##    employee_id       full_name department           job_title  hire_date
## 1   EMP0000001   Joshua Nguyen         IT   Software Engineer  8/10/2011
## 2   EMP0000010     Maria Yu MD         IT   Software Engineer  10/8/2015
## 3   EMP0000016  Julie Marshall  Marketing      SEO Specialist  7/19/2021
## 4   EMP0000031    Nathan Smith         IT   Software Engineer  2/13/2019
## 5   EMP0000034   Steve Carlson         IT   Software Engineer  4/25/2020
## 6   EMP0000036   Amanda Mooney         IT        Data Analyst   4/5/2024
## 7   EMP0000037 Jennifer Conway  Marketing      SEO Specialist 12/11/2024
## 8   EMP0000043    John Daniels  Marketing Marketing Executive  3/25/2019
## 9   EMP0000046    James Miller  Marketing      SEO Specialist  3/24/2022
## 10  EMP0000057 Claire Martinez         IT     DevOps Engineer  1/17/2020
##                             location performance_rating experience_years
## 1                 Isaacland, Denmark                  5               14
## 2                   Brownport, Yemen                  4                9
## 3               Port Phillip, Poland                  5                4
## 4              Anthonyburgh, Bahamas                  4                6
## 5                Grahamfurt, Jamaica                  5                5
## 6               Colehaven, Singapore                  4                1
## 7             South Madison, Nigeria                  4                0
## 8                East Charles, Qatar                  4                6
## 9     Melissafurt, Brunei Darussalam                  5                3
## 10 Garciaton, Libyan Arab Jamahiriya                  5                5
##        status work_mode salary_inr
## 1    Resigned   On-site    1585363
## 2      Active    Remote    1543102
## 3      Active   On-site     602022
## 4      Active   On-site    1076433
## 5  Terminated   On-site    1039192
## 6      Active    Remote     511161
## 7      Active    Remote     814964
## 8    Resigned   On-site     671963
## 9      Active    Remote     768681
## 10 Terminated    Remote     838341

Nhận xét

Kết quả lọc kết hợp điều kiện AND và OR cho thấy có 16.968 nhân viên đạt hiệu suất ≥ 4 và thuộc phòng ban IT hoặc Marketing.

→ Đây là nhóm nhân viên có hiệu quả làm việc cao trong các bộ phận trọng yếu, có thể được xem là lực lượng đóng góp chính vào năng suất và hoạt động truyền thông của doanh nghiệp.

1.3.5 Sắp xếp dữ liệu

Sắp xếp dữ liệu giảm dần

1. sorted_salary <- d %>% arrange(desc(salary_inr))
2. head(sorted_salary,10)
##    employee_id       full_name department  job_title  hire_date
## 1   EMP0045060      Sean Stone         IT IT Manager 10/15/2024
## 2   EMP0001824  Christina West         IT IT Manager  3/13/2020
## 3   EMP0039837   Sheena Thomas         IT IT Manager   4/7/2024
## 4   EMP0048705    Nicole Banks         IT IT Manager  6/15/2023
## 5   EMP0093869 Charles Cochran         IT IT Manager  3/16/2015
## 6   EMP0073066      Sarah Page         IT IT Manager  2/16/2022
## 7   EMP0054889 John Fitzgerald         IT IT Manager 12/21/2021
## 8   EMP0093105     Kevin Lopez         IT IT Manager 12/15/2022
## 9   EMP0021878     Cindy Bryan         IT IT Manager  6/20/2024
## 10  EMP0050317 Miss Debra Love         IT IT Manager 12/12/2021
##                        location performance_rating experience_years     status
## 1       Lake Robertberg, Angola                  3                0 Terminated
## 2          Weaverville, Nigeria                  2                5     Active
## 3     Ryanville, American Samoa                  4                1   Resigned
## 4         Armstrongstad, Poland                  2                2     Active
## 5  South Adamtown, Sierra Leone                  4               10     Active
## 6         North Amystad, Bhutan                  2                3     Active
## 7           Bruceborough, Aruba                  2                3     Active
## 8     South Waynemouth, Moldova                  2                2     Active
## 9          Englishfurt, Ecuador                  1                1 Terminated
## 10          East Stacey, Jordan                  1                3     Active
##    work_mode salary_inr
## 1    On-site    2997010
## 2     Remote    2994359
## 3     Remote    2992188
## 4     Remote    2991695
## 5    On-site    2991022
## 6     Remote    2990007
## 7    On-site    2989764
## 8     Remote    2989099
## 9    On-site    2988770
## 10    Remote    2988356

Nhận xét

Dữ liệu đã được sắp xếp giảm dần theo mức lương (salary_inr).

→ Các nhân viên có mức thu nhập cao nhất chủ yếu thuộc phòng IT và giữ chức vụ quản lý (IT Manager). Điều này gợi ý rằng vị trí và bộ phận công tác có thể là yếu tố quan trọng ảnh hưởng đến mức lương trong doanh nghiệp.

Sắp xếp dữ liệu tăng dần

1. sorted_rating <- d %>% arrange(performance_rating)
2. head(sorted_rating,10 )
##    employee_id        full_name department                     job_title
## 1   EMP0000003  Alyssa Martinez         HR                    HR Manager
## 2   EMP0000004  Nicholas Valdez         IT             Software Engineer
## 3   EMP0000011    Jordan Haynes      Sales               Sales Executive
## 4   EMP0000026      Craig Kelly         IT             Software Engineer
## 5   EMP0000035 Kathleen Shields         IT                    IT Manager
## 6   EMP0000038    Doris Lambert         HR Talent Acquisition Specialist
## 7   EMP0000039    Jeffrey Lucas         IT             Software Engineer
## 8   EMP0000042 Justin Hendricks         IT             Software Engineer
## 9   EMP0000048        Tom Mills         HR                  HR Executive
## 10  EMP0000050     Gary Charles Operations          Supply Chain Manager
##     hire_date                                location performance_rating
## 1   3/20/2023        Port Christinaport, Saudi Arabia                  1
## 2  10/12/2023 Port Shelbychester, Antigua and Barbuda                  1
## 3  10/27/2018              Lake Katherineland, Gambia                  1
## 4   1/15/2025                Martinmouth, Switzerland                  1
## 5   7/26/2023                North Brianmouth, Zambia                  1
## 6   3/14/2019                      Ayalafurt, Estonia                  1
## 7  10/20/2021                  Thompsonport, Paraguay                  1
## 8  12/31/2015                      Laurafort, Bahrain                  1
## 9   1/31/2024                      Johnsonside, Ghana                  1
## 10  9/25/2024                Navarroberg, Switzerland                  1
##    experience_years   status work_mode salary_inr
## 1                 2   Active   On-site    1430084
## 2                 1   Active   On-site     990689
## 3                 6   Active   On-site     617992
## 4                 0 Resigned    Remote    1201087
## 5                 2  Retired   On-site    2615626
## 6                 6   Active   On-site     892414
## 7                 3   Active   On-site    1054801
## 8                 9   Active   On-site     746812
## 9                 1   Active    Remote     565467
## 10                0   Active   On-site     459800

Nhận xét

Dữ liệu đã được sắp xếp tăng dần theo điểm hiệu suất (performance_rating).

→ Các nhân viên có điểm thấp nhất (mức 1) thuộc nhiều phòng ban khác nhau như HR, IT, Sales, cho thấy hiệu suất thấp không tập trung ở một bộ phận cụ thể, mà phân bố rải rác trong tổ chức.

1.3.6 Tổng hợp dữ liệu

1. agg_dept <- d %>% group_by(department) %>%  summarise(
2.     Mean_Salary = round(mean(salary_inr, na.rm = TRUE), 0),  
3.     Min_Salary  = round(min(salary_inr, na.rm = TRUE), 0),   
4.     Max_Salary  = round(max(salary_inr, na.rm = TRUE), 0),   
5.     Mean_Perf = round(mean(performance_rating, na.rm = TRUE), 2),  
6.     Min_Perf  = round(min(performance_rating, na.rm = TRUE), 2),  
7.     Max_Perf  = round(max(performance_rating, na.rm = TRUE), 2),
8.     Count = n())
9. agg_dept
## # A tibble: 7 × 8
##   department Mean_Salary Min_Salary Max_Salary Mean_Perf Min_Perf Max_Perf Count
##   <fct>            <dbl>      <dbl>      <dbl>     <dbl>    <dbl>    <dbl> <int>
## 1 Finance         945457     400035    2498983      3.02        1        5 10108
## 2 HR              738387     300255    1798728      2.98        1        5  8102
## 3 IT             1127214     400037    2997010      3.01        1        5 30025
## 4 Marketing       769085     400009    1199775      3           1        5 12057
## 5 Operations      756822     400005    1199991      3           1        5 15243
## 6 R&D             797597     400081    1199789      2.98        1        5  4952
## 7 Sales           794791     400023    1799975      3           1        5 20013

[2:4]: Tính giá trị lương (salary_inr)lớn nhất, nhỏ nhất và trung bình theo từng phòng ban.

Nhận xét

Bảng tổng hợp cho thấy:

  • Phòng IT có mức lương trung bình cao nhất (1.127.214 INR) và cũng có hiệu suất trung bình khá (3.01), chứng tỏ đây là bộ phận quan trọng nhất, có ảnh hưởng lớn, cần được chú ý đặc biệt.

  • Finance đứng thứ hai về lương (945.457 INR) với hiệu suất trung bình cao nhất (3.02).

  • Các phòng còn lại như HR, Marketing, Operations, R&D, Sales có mức lương trung bình thấp hơn (khoảng 730.000–800.000 INR) và hiệu suất trung bình tương đối đồng đều (khoảng 3 điểm).

→ Nhìn chung, sự chênh lệch thu nhập giữa các phòng ban khá rõ, trong khi hiệu suất làm việc không khác biệt lớn, gợi ý rằng mức lương có thể chịu ảnh hưởng nhiều bởi vị trí và chức năng công việc.

1.3.7 Tạo biến mới

1. d <- d %>% mutate( status_bin = ifelse(status == "Active", 1, 0) )
2. head(d[, c("status", "status_bin")])
##     status status_bin
## 1 Resigned          0
## 2   Active          1
## 3   Active          1
## 4   Active          1
## 5   Active          1
## 6   Active          1

1: tạo cột mới tên là status_bin, nếu giá trị ở cột status là “Active” thì xuất ra giá trị 1, còn lại là 0.

Nhận xét

Biến mới status_bin được tạo dưới dạng nhị phân:

  • Giá trị 1 biểu thị nhân viên đang làm việc (Active)

  • Giá trị 0 biểu thị nhân viên đã nghỉ việc (Resigned)

1. d$exp_group <- cut(d$experience_years,breaks = c(0, 5, 10, Inf),labels = c("Dưới 5 năm", "5–10 năm", "Trên 10 năm"),
2. include.lowest = TRUE)
3. head(d[, c("experience_years", "exp_group")])
##   experience_years   exp_group
## 1               14 Trên 10 năm
## 2                7    5–10 năm
## 3                2  Dưới 5 năm
## 4                1  Dưới 5 năm
## 5                0  Dưới 5 năm
## 6                4  Dưới 5 năm

Nhận xét

Biến mới exp_group đã được tạo, chia nhân viên thành 3 nhóm kinh nghiệm:

  • Dưới 5 năm

  • 5–10 năm

  • Trên 10 năm

1.4 PHÂN TÍCH MỘT BIẾN

1.4.1 Phân tích biến định tính

1.4.1.1 Department (Phòng ban)

Bảng tần số

1. tanso_department <- table(d$department)
2. print(tanso_department)
## 
##    Finance         HR         IT  Marketing Operations        R&D      Sales 
##      10108       8102      30025      12057      15243       4952      20013

Biểu đồ tần số

1. ggplot(d, aes(x = department, fill = department)) +
2.   geom_bar(width = 0.7) +  
3.   geom_text(stat = "count", aes(label = ..count..), vjust = -0.4, size = 3.5, family = "Times New Roman") +
4.   labs(
5.     title = "Phân bố nhân viên theo phòng ban",
6.     x = "Phòng ban",
7.     y = "Số lượng nhân viên") +
8.   scale_fill_brewer(palette = "Set3") +  
9.   theme_minimal(base_family = "Times New Roman") +
10.   theme(
11.     legend.position = "none", 
12.     axis.text.x = element_text(angle = 25, hjust = 1),
13.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

Nhận xét

  • Bộ dữ liệu gồm 100.500 nhân viên, được phân bổ vào 6 phòng ban chính trong tập đoàn.

  • Phòng IT có 30.025 nhân viên, chiếm tỷ lệ cao nhất trong toàn bộ mẫu.

  • Phòng Sales đứng thứ hai với 20.013 nhân viên, cho thấy vai trò lớn trong hoạt động kinh doanh.

  • Phòng Operations có 15.243 nhân viên, thể hiện lực lượng vận hành tương đối mạnh.

  • Các phòng Marketing (12.057 nhân viên) và Finance (10.108 nhân viên) có quy mô trung bình.

  • Phòng R&D (Nghiên cứu & Phát triển) có 4.952 nhân viên, chiếm tỷ trọng nhỏ nhất.

=> Cơ cấu này cho thấy tập đoàn tập trung nguồn nhân lực chủ yếu vào công nghệ (IT), bán hàng (Sales) và vận hành (Operations), phản ánh định hướng ưu tiên về phát triển kỹ thuật, thị trường và năng lực vận hành trong tổ chức đa quốc gia.

Bảng tần suất

1. tansuat_department <- prop.table(table(d$department)) * 100
2. print(round(tansuat_department, 2))
## 
##    Finance         HR         IT  Marketing Operations        R&D      Sales 
##      10,06       8,06      29,88      12,00      15,17       4,93      19,91

Biểu đồ tần suất

1. cols <- rainbow(length(tansuat_department))
2. nhanlabels <- paste0(round(tansuat_department, 1), "%")
3. pie(
4.   tansuat_department,
5.   labels = NA,
6.   main   = "Tỷ lệ (%) nhân viên theo phòng ban",
7.   col    = cols,
8.   border = "white")
9. legend(
10.   x      = "topright",
11.   legend = paste(names(tansuat_department), nhanlabels),
12.   fill   = cols,
13.   bty    = "n",
14.   cex    = 0.8)

Nhận xét

  • Phòng IT chiếm tỷ lệ cao nhất với 29,9%, thể hiện đây là bộ phận trọng tâm, đóng vai trò cốt lõi trong hoạt động công nghệ và vận hành hệ thống.

  • Phòng Sales đứng thứ hai với 19,9%, phản ánh tầm quan trọng của hoạt động kinh doanh và mở rộng thị trường.

  • Phòng Operations chiếm 15,2%, giữ vai trò duy trì hoạt động nội bộ và quy trình vận hành của tổ chức.

  • Hai phòng Marketing (12,0%) và Finance (10,1%) có tỷ trọng trung bình, hỗ trợ phát triển thương hiệu và quản lý tài chính.

  • Phòng R&D (Nghiên cứu & Phát triển) có 4,9%, là nhóm nhỏ nhất nhưng có ý nghĩa chiến lược trong đổi mới sản phẩm và công nghệ.

1.4.1.2 Status (Tình trạng việc làm)

Bảng tần số

1. tanso_status <- table(d$status)
2. print(tanso_status)
## 
##     Active   Resigned    Retired Terminated 
##      70346      19998       5141       5015

Biểu đồ tần số

1. ggplot(d, aes(x = status, fill = status)) +
2.   geom_bar() +
3.   labs(
4.     title = "Phân bố nhân viên theo tình trạng việc làm",
5.     x     = "Tình trạng việc làm",
6.     y     = "Số lượng nhân viên") +
7.   scale_fill_brewer(palette = "Pastel1") +
8.   theme_minimal(base_family = "Times New Roman") +
9.   theme(
10.     legend.position = "none",
11.     axis.text.x = element_text(angle = 0, hjust = 0.5),
12.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

11: angle = 0: Giữ cho chữ nằm ngang, hjust = 0.5 căn giữa mỗi nhãn chữ ngay bên dưới vạch chia

Nhận xét

  • Bộ dữ liệu gồm 100.500 nhân viên, được chia thành 4 nhóm tình trạng việc làm.

  • Nhóm Active (đang làm việc) chiếm số lượng cao nhất với 70.346 nhân viên, phản ánh lực lượng lao động chính đang hoạt động trong tập đoàn.

  • Nhóm Resigned (đã nghỉ việc) có 19.998 nhân viên, là nhóm đứng thứ hai, thể hiện tỷ lệ nghỉ việc ở mức trung bình so với quy mô lớn của tổ chức.

  • Nhóm Retired (nghỉ hưu) có 5.141 nhân viên, và Terminated (bị chấm dứt hợp đồng) là 5.015 nhân viên, đều ở mức thấp.

=> Phân bố này cho thấy phần lớn nhân viên vẫn đang làm việc tích cực, trong khi tỷ lệ nghỉ việc, nghỉ hưu hoặc bị chấm dứt hợp đồng chỉ chiếm một phần nhỏ, phản ánh sự ổn định tương đối của lực lượng lao động trong tập đoàn đa quốc gia.

Bảng tần suất

1. tansuat_status <- prop.table(tanso_status) * 100
2. print(round(tansuat_status, 2))
## 
##     Active   Resigned    Retired Terminated 
##      70,00      19,90       5,12       4,99

Biểu đồ tần suất

1. cols <- c("lightblue", "salmon","pink","lightgreen")
2. nhanlabels <- paste0(round(tansuat_status, 1), "%")
3. pie(
4.   tansuat_status,
5.   labels = NA,
6.   main   = "Tỷ lệ (%) nhân viên theo tình trạng việc làm",
7.   col    = cols,
8.   border = "white")
9. legend(
10.   x      = "topright",
11.   legend = paste(names(tansuat_status), nhanlabels),
12.   fill   = cols,
13.   bty    = "n",
14.   cex    = 0.9)

1: gán màu thủ công cho từng biểu hiện

Nhận xét

  • Nhóm Active (đang làm việc) chiếm tỷ lệ cao nhất với 70,0%, thể hiện phần lớn nhân viên hiện vẫn đang gắn bó và làm việc tích cực trong tập đoàn.

  • Nhóm Resigned (đã nghỉ việc) chiếm 19,9%, là nhóm lớn thứ hai, cho thấy có một bộ phận đáng kể nhân viên đã rời khỏi tổ chức.

  • Nhóm Terminated (bị chấm dứt hợp đồng) chiếm 5,0%, thể hiện tỷ lệ thấp, phản ánh chính sách nhân sự tương đối ổn định.

  • Nhóm Retired (nghỉ hưu) chiếm 5,1%, là nhóm nhỏ nhất, phù hợp với đặc thù cơ cấu tuổi của lực lượng lao động trong MNC.

=> Cơ cấu tỷ lệ này cho thấy đa số nhân viên vẫn đang làm việc ổn định (70%), trong khi các nhóm nghỉ việc, nghỉ hưu hoặc bị chấm dứt hợp đồng chỉ chiếm tỷ trọng nhỏ, phản ánh mức độ duy trì và giữ chân nhân sự cao trong tập đoàn đa quốc gia.

1.4.1.3 Work_Mode (Hình thức làm việc)

Bảng tần số

1. tanso_work_mode <- table(d$work_mode)
2. print(tanso_work_mode)
## 
## On-site  Remote 
##   59974   40526

Biểu đồ tần số

1. ggplot(d, aes(x = work_mode, fill = work_mode)) +
2.   geom_bar() +
3.   labs(
4.     title = "Phân bố nhân viên theo hình thức làm việc",
5.     x     = "Hình thức làm việc",
6.     y     = "Số lượng nhân viên"
7.   ) +
8.   scale_fill_brewer(palette = "Pastel2") +
9.   theme_minimal(base_family = "Times New Roman") +
10.   theme(
11.     legend.position = "none",
12.     axis.text.x = element_text(angle = 0, hjust = 0.5),
13.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

Nhận xét

  • Bộ dữ liệu gồm 100.500 nhân viên, được chia thành hai nhóm hình thức làm việc chính là On-site và Remote.

  • Nhóm On-site (làm việc tại văn phòng) có 59.974 nhân viên, chiếm số lượng cao nhất, thể hiện đa số nhân viên vẫn làm việc trực tiếp tại trụ sở hoặc văn phòng của công ty.

  • Nhóm Remote (làm việc từ xa) có 40.526 nhân viên, thấp hơn nhóm On-site nhưng vẫn chiếm tỷ cao, phản ánh xu hướng chuyển dịch sang làm việc linh hoạt sau đại dịch và sự thích nghi với môi trường công nghệ.

=> Phân bố này cho thấy hình thức làm việc tại văn phòng vẫn chiếm ưu thế, tuy nhiên mô hình làm việc từ xa đang dần phổ biến, thể hiện sự thích ứng của tập đoàn đa quốc gia với xu thế lao động linh hoạt hiện nay.

Bảng tần suất

1. tansuat_work_mode <- prop.table(tanso_work_mode) * 100
2. print(round(tansuat_work_mode, 2))
## 
## On-site  Remote 
##   59,68   40,32

Biểu đồ tần suất

1. cols <- c("lightblue", "lightgreen")
2. nhanlabels <- paste0(round(tansuat_work_mode, 1), "%")
3. pie(
4.   tansuat_work_mode,
5.   labels = NA,
6.   main   = "Tỷ lệ (%) nhân viên theo hình thức làm việc",
7.   col    = cols,
8.   border = "white")
9. legend(
10.   x      = "topright",
11.   legend = paste(names(tansuat_work_mode), nhanlabels),
12.   fill   = cols,
13.   bty    = "n",
14.   cex    = 0.9)

Nhận xét

  • Nhóm On-site (làm việc tại văn phòng) chiếm 59,7%, thể hiện đây vẫn là hình thức làm việc chủ đạo trong tập đoàn.

  • Nhóm Remote (làm việc từ xa) chiếm 40,3%, phản ánh xu hướng làm việc linh hoạt ngày càng phổ biến trong môi trường doanh nghiệp hiện đại.

=> Cơ cấu tỷ lệ này cho thấy phần lớn nhân viên vẫn làm việc trực tiếp tại văn phòng, tuy nhiên tỷ lệ làm việc từ xa đạt gần 40%, chứng tỏ tập đoàn đã chuyển mìn theo hướng số hóa và linh hoạt trong chính sách nhân sự, phù hợp với xu thế toàn cầu hóa và làm việc đa quốc gia.

1.4.2 Phân tích biến định lượng

1.4.2.1 Experience_Years (Số năm kinh nghiệm)

1.4.2.1.1 Thống kê mô tả cho biến số năm kinh nghiệm
1. d$exp_years <- d$experience_years
2. summary(d$exp_years)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0,000   2,000   5,000   5,024   8,000  15,000

Nhận xét

  • Số năm kinh nghiệm của nhân viên trong tập đoàn dao động từ 0 đến 15 năm, cho thấy sự đa dạng về thâm niên công tác giữa các cá nhân.

  • Trung vị (Median) đạt 5 năm, tương đương với giá trị trung bình (Mean = 5,02 năm), phản ánh phân phối dữ liệu khá đối xứng, không có sự chênh lệch lớn giữa hai phía.

  • 25% nhân viên có kinh nghiệm dưới 2 năm, trong khi 25% còn lại có từ 8 năm kinh nghiệm trở lên, thể hiện mức độ chênh lệch tương đối giữa nhóm mới vào nghề và nhóm có kinh nghiệm cao.

  • Mức kinh nghiệm tối đa 15 năm cao gấp hơn 7 lần giá trị trung vị, cho thấy vẫn tồn tại một số nhân viên có thâm niên rất lớn so với mặt bằng chung.

=> Kết quả này phản ánh lực lượng lao động của tập đoàn đa quốc gia có mức kinh nghiệm trung bình – khá, với sự hiện diện của cả nhân viên mới và nhóm kỳ cựu lâu năm, góp phần tạo nên sự cân bằng giữa đổi mới và kinh nghiệm trong tổ chức.

1.4.2.1.2 Biểu đồ Histogram mức lương hàng năm (INR)
1. ggplot(d, aes(x = exp_years)) +
2.   geom_histogram(
3.     bins = 15, 
4.     fill = "lightgreen",
5.     color = "white") +
6.   scale_x_continuous( breaks = seq(0, max(d$exp_years, na.rm = TRUE), by = 1)) +
7.   labs(
8.     title = "Phân phối số năm kinh nghiệm",
9.     x = "Số năm kinh nghiệm",
10.     y = "Tần số") +
11.   theme_minimal()

Nhận xét

  • Số năm kinh nghiệm của nhân viên dao động trong khoảng 0–15 năm, thể hiện sự đa dạng về thâm niên làm việc trong tập đoàn.

  • Các nhóm có từ 0 đến 4 năm kinh nghiệm chiếm số lượng tương đối đồng đều, dao động quanh 9.900–10.000 nhân viên mỗi nhóm, phản ánh sự hiện diện khá tốt của lực lượng lao động trẻ và mới vào nghề.

  • Nhóm có 7 năm kinh nghiệm nổi bật nhất với hơn 16.000 nhân viên, là đỉnh cao của phân phối, cho thấy đây là mức kinh nghiệm phổ biến nhất trong tập đoàn.

  • Từ 10 năm kinh nghiệm trở lên, số lượng nhân viên giảm mạnh, còn khoảng 2.000 nhân viên mỗi nhóm, cho thấy nhóm nhân sự kỳ cựu chiếm tỷ trọng thấp.

=> Phân phối số năm kinh nghiệm có dạng lệch phải (right-skewed), tập trung chủ yếu ở nhân viên có kinh nghiệm từ thấp đến trung bình, trong khi nhóm có thâm niên cao chỉ chiếm tỷ lệ nhỏ. Điều này phản ánh cơ cấu nhân sự của tập đoàn đa quốc gia thiên về lực lượng lao động trẻ, năng động và đang trong giai đoạn phát triển nghề nghiệp.

1.4.2.1.3 Biểu đồ Boxplot số năm kinh nghiệm
1. ggplot(d, aes(y = exp_years)) +
2.   geom_boxplot(fill = "lightcoral", color = "black") +
3.   labs(title = "Biểu đồ Boxplot số năm kinh nghiệm",
4.     y = "Số năm kinh nghiệm") +
5.   theme_minimal(base_family = "Times New Roman") +
6.   theme(plot.title = element_text(size = 12, face = "bold", hjust = 0.5))

Nhận xét

  • Biểu đồ Boxplot thể hiện giá trị trung vị (Median) của số năm kinh nghiệm nằm khoảng 5 năm.

  • Khoảng tứ phân vị trải dài từ 2 năm (Q1) đến 8 năm (Q3), cho thấy phần lớn nhân viên có thâm niên làm việc trong khoảng này.

  • Phân bố dữ liệu khá cân đối, không xuất hiện giá trị ngoại lai (outliers), phản ánh sự đồng đều tương đối về thâm niên giữa các nhân viên trong tập đoàn.

  • Độ phân tán dữ liệu không quá lớn, minh chứng cho việc các nhân viên có kinh nghiệm ở mức trung bình, không có sự chênh lệch quá lớn giữa nhóm ít và nhóm nhiều năm kinh nghiệm.

=> Tổng thể, biểu đồ Boxplot cho thấy phân bố kinh nghiệm làm việc ổn định và tập trung quanh mức trung bình 5 năm, đặc trưng cho cơ cấu nhân sự có độ chín nghề nghiệp vừa phải, phù hợp với một tập đoàn đa quốc gia có quy mô lớn và chính sách nhân sự cân bằng.

1.4.2.2 Performance_Rating (Điểm đánh giá hiệu suất làm việc của nhân viên)

1.4.2.2.1 Thống kê mô tả cho biến số năm kinh nghiệm
1. d$perf_rate <- d$performance_rating
2. summary(d$perf_rate)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1,000   2,000   3,000   3,002   4,000   5,000

Nhận xét

  • Điểm đánh giá hiệu suất của nhân viên dao động từ 1 đến 5 điểm.

  • Trung vị (Median) đạt 3 điểm, gần tương đương với giá trị trung bình (Mean = 3,002 điểm), cho thấy phân phối dữ liệu khá cân đối, không có hiện tượng lệch rõ rệt về phía nào.

  • 25% nhân viên có điểm đánh giá dưới 2 điểm, trong khi 25% khác đạt trên 4 điểm, phản ánh sự khác biệt rõ ràng về hiệu suất giữa các nhóm nhân viên.

  • Mức tối đa 5 điểm và tối thiểu 1 điểm cho thấy hệ thống đánh giá bao phủ toàn bộ thang đo, đảm bảo khả năng phân loại nhân viên theo hiệu quả công việc.

=> Kết quả này cho thấy phần lớn nhân viên đạt mức hiệu suất trung bình – khá (khoảng 3 điểm), trong khi vẫn tồn tại nhóm nhỏ đạt điểm cao thể hiện năng suất nổi trội, và một nhóm nhỏ có điểm thấp cần được đào tạo hoặc cải thiện hiệu quả làm việc.

1.4.2.2.2 Biểu đồ Histogram điểm hiệu suất làm việc
1. ggplot(d, aes(x = perf_rate)) +
2.   geom_histogram(
3.     bins = 5,                   
4.     fill = "lightpink",
5.     color = "white"
6.   ) +
7.   geom_text(
8.     stat = "bin",
9.     bins = 5,
10.     aes(label = ..count..),        
11.     vjust = 1,                 
12.     size = 4,
13.     color = "black") +
14.   scale_x_continuous(
15.     breaks = seq(1, 5, by = 1)) +
16.   labs(
17.     title = "Điểm hiệu suất làm việc",
18.     x = "Điểm đánh giá hiệu suất (1–5)",
19.     y = "Tần số"
20.   ) +
21.   theme_minimal()

Nhận xét

  • Phân phối điểm tương đối đồng đều giữa các mức, khi mỗi nhóm điểm (1–5) đều có khoảng 20.000 nhân viên, chênh lệch không đáng kể.

  • Điều này cho thấy hệ thống đánh giá hiệu suất được triển khai một cách cân bằng và toàn diện, không có sự thiên lệch nghiêng về bất kỳ mức điểm nào.

  • Không xuất hiện dấu hiệu lệch phải hoặc lệch trái trong phân phối, thể hiện mức độ khách quan cao của quy trình đánh giá.

=> Kết quả biểu đồ cho thấy các mức điểm hiệu suất được phân bố khá đều, phản ánh chính sách đánh giá công bằng và đồng nhất giữa các phòng ban và vị trí công việc trong tập đoàn đa quốc gia.

1.4.2.2.3 Biểu đồ Boxplot số năm kinh nghiệm
1. ggplot(d, aes(y = exp_years)) +
2.   geom_boxplot(fill = "lightcoral", color = "black") +
3.   labs(
4.     title = "Biểu đồ Boxplot số năm kinh nghiệm",
5.     y = "Số năm kinh nghiệm"
6.   ) +
7.   theme_minimal(base_family = "Times New Roman") +
8.   theme(
9.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5)
10.   )

Nhận xét

  • Biểu đồ Boxplot cho thấy giá trị trung vị (Median) của điểm hiệu suất nằm ở mức 3, tương ứng với kết quả trung bình của toàn bộ mẫu.

  • Khoảng tứ phân vị (IQR) trải dài từ 2 điểm (Q1) đến 4 điểm (Q3), phản ánh phần lớn nhân viên có điểm đánh giá nằm trong mức trung bình – khá.

  • Phân bố dữ liệu không xuất hiện giá trị ngoại lai, cho thấy hệ thống đánh giá được thực hiện ổn định và đồng đều giữa các nhân viên.

  • Hộp Boxplot đối xứng quanh trung vị, thể hiện mức độ nhất quán cao trong việc chấm điểm hiệu suất.

=> Tổng thể, biểu đồ cho thấy đa số nhân viên có hiệu suất làm việc ở mức trung bình và khá ổn định, phản ánh cơ chế đánh giá công bằng, khách quan và đồng đều trong tập đoàn đa quốc gia.

1.4.2.3 Salary_INR (Mức lương hàng năm của nhân viên)

1.4.2.3.1 Thống kê mô tả cho biến lương hàng năm (INR)
1. d$sal_inr <- d$salary_inr
2. summary(d$sal_inr)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  300255  615685  810449  896007 1073690 2997010

Nhận xét

  • Mức lương hàng năm của nhân viên trong tập đoàn dao động từ 300.255 INR đến 2.997.010 INR, thể hiện sự chênh lệch khá rõ về thu nhập giữa các vị trí và cấp bậc công việc.

  • Trung vị (Median) đạt 810.449 INR, thấp hơn trung bình (Mean = 896.007 INR), phản ánh phân phối dữ liệu lệch phải, tức là có một nhóm nhỏ nhân viên hưởng mức lương rất cao kéo giá trị trung bình tăng lên.

  • 25% nhân viên có thu nhập dưới 615.685 INR, trong khi 25% còn lại có mức lương trên 1.073.690 INR, cho thấy sự phân hóa thu nhập rõ rệt giữa nhóm có và không có kinh nghiệm cao.

  • Mức lương tối đa 2.997.010 INR cao gấp gần 10 lần mức tối thiểu, chứng tỏ có sự khác biệt đáng kể về chức danh, thâm niên và hiệu suất làm việc giữa các nhân viên.

=> Kết quả này phản ánh cơ cấu lương trong tập đoàn đa quốc gia mang tính phân tầng cao, trong đó đa số nhân viên hưởng mức lương trung bình – khá, nhưng vẫn tồn tại nhóm nhỏ nhân viên cấp cao hoặc chuyên gia có thu nhập vượt trội do đặc thù vị trí và năng lực chuyên môn.

1.4.2.3.2 Biểu đồ Histogram mức lương hàng năm (INR)
1. ggplot(d, aes(x = sal_inr)) +
2.   geom_histogram(
3.     bins = 40,          
4.     fill = "skyblue",
5.     color = "white"
6.   ) +
7.   labs(title = "Phân phối mức lương hàng năm",
8.     x = "Mức lương (INR)",
9.     y = "Tần số") +
10.   theme_minimal()

Nhận xét

  • Biểu đồ cho thấy mức lương của nhân viên chủ yếu tập trung trong khoảng từ 400.000 INR đến 1.200.000 INR/năm, là vùng có tần số xuất hiện cao nhất.

  • Phân phối dữ liệu có dạng lệch phải (right-skewed), thể hiện qua việc có một số ít nhân viên có mức lương rất cao kéo dài phần đuôi bên phải của biểu đồ.

  • Phần lớn nhân viên nhận lương quanh mức 800.000–1.000.000 INR/năm, tương ứng với giá trị trung vị (810.449 INR) và trung bình (896.007 INR) đã được tính trong thống kê mô tả.

  • Nhóm nhân viên có mức thu nhập trên 2.000.000 INR/năm chỉ chiếm tỷ lệ nhỏ, nhưng góp phần làm tăng độ lệch của phân phối và phản ánh sự hiện diện của nhóm chuyên gia hoặc quản lý cấp cao.

=> Biểu đồ Histogram cho thấy mức lương nhân viên trong tập đoàn đa quốc gia phân bố không đồng đều, tập trung mạnh ở nhóm thu nhập trung bình – khá, trong khi một nhóm nhỏ nhân viên cấp cao có thu nhập vượt trội làm kéo phân phối về phía phải.

1.4.2.3.3 Biểu đồ Boxplot mức lương hàng năm (INR)
1. ggplot(d, aes(y = sal_inr)) +
2.   geom_boxplot(fill = "lightcoral", color = "black") +
3.   labs( title = "Biểu đồ Boxplot mức lương hàng năm",
4.     y = "Mức lương (INR)") +
5.   theme_minimal(base_family = "Times New Roman") +
6.   theme(plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

Nhận xét

  • Biểu đồ Boxplot cho thấy giá trị trung vị (Median) của mức lương nằm khoảng 800.000 INR, phù hợp với kết quả thống kê mô tả trước đó.

  • Khoảng tứ phân vị (IQR) trải rộng từ khoảng 600.000 INR đến hơn 1.000.000 INR, phản ánh sự khác biệt lớn giữa nhóm thu nhập thấp và trung bình.

  • Phần râu trên của biểu đồ kéo dài mạnh, xuất hiện nhiều điểm ngoại lai (outliers) ở vùng lương cao trên 2.000.000 INR, thể hiện sự tồn tại của một nhóm nhỏ nhân viên có thu nhập vượt trội.

  • Phân phối dữ liệu lệch phải rõ rệt, tương ứng với hình dạng của biểu đồ Histogram, cho thấy đa số nhân viên có mức lương trung bình – khá, trong khi chỉ một số ít thuộc nhóm quản lý cấp cao hoặc chuyên gia có lương cao đột biến.

=> Biểu đồ Boxplot khẳng định sự chênh lệch lớn về thu nhập trong tập đoàn, phản ánh sự phân tầng tự nhiên theo cấp bậc, kinh nghiệm và vai trò công việc, đồng thời cho thấy tập đoàn có chính sách đãi ngộ khác biệt cho các vị trí chiến lược.

1.5 PHÂN TÍCH CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN HIỆU SUẤT LÀM VIỆC (PERFORMANCE_RATING) CỦA NHÂN VIÊN TRONG TẬP ĐOÀN ĐA QUỐC GIA (MNC)

1.5.1 Ảnh hưởng của hình thức làm việc (Work_Mode) đến hiệu suất làm việc (Performance_Rating)

1.5.1.1 Bảng tần số và tần suất theo từng hình thức làm việc để đánh giá hiệu suất làm việc

Bảng tần số theo từng nhóm hình thức làm việc để đánh giá hiệu suất làm việc.

1. wm_tab  <- table(d$work_mode, d$performance_rating)
2. wm_tab1 <- addmargins(wm_tab) 
3. print(wm_tab1)
##          
##                1      2      3      4      5    Sum
##   On-site  12013  11967  12033  12014  11947  59974
##   Remote    8089   8039   8048   8151   8199  40526
##   Sum      20102  20006  20081  20165  20146 100500

Đồ thị tần số phân theo từng nhóm hình thức làm việc để đánh giá hiệu suất làm việc.

1. tanso_WM <- table(d$work_mode, d$performance_rating)
2. long_WM <- as.data.frame(tanso_WM)
3. colnames(long_WM) <- c("Work_Mode", "Performance_Rating", "Count")
4. # Vẽ biểu đồ cột
5. ggplot(long_WM, aes(x = Work_Mode, y = Count, fill = as.factor(Performance_Rating))) +
6. geom_col(position = position_dodge(width = 0.8), width = 0.7) +
7. geom_text(aes(label = Count),position = position_dodge(width = 0.8),vjust = -0.5, size = 3) +
8. scale_fill_brewer(palette = "Pastel1", name = "Điểm hiệu suất (1–5)") +
9. labs(title = "Phân bố điểm theo hình thức làm việc",x = "Hình thức làm việc",y = "Số lượng nhân viên") +
10. theme_minimal(base_family = "Times New Roman") +
11. theme(legend.position = "top",axis.text.x = element_text(angle = 0, hjust = 0.5),plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

Nhận xét

  • Tổng cộng có 59.974 nhân viên làm việc On-site và 40.526 nhân viên làm việc Remote, cho thấy hình thức làm việc tại văn phòng chiếm tỷ trọng lớn hơn trong tập đoàn.

  • Phân bố số lượng nhân viên theo từng mức điểm hiệu suất (1–5) khá đồng đều ở cả hai nhóm, dao động quanh 8.000–12.000 người mỗi mức điểm.

  • Ở nhóm On-site, số nhân viên đạt điểm 4–5 (hiệu suất cao) chiếm tỷ trọng lớn nhất, thể hiện khả năng phối hợp trực tiếp tại nơi làm việc có thể hỗ trợ hiệu quả công việc tốt hơn.

  • Trong khi đó, nhóm Remote vẫn duy trì phân bố ổn định ở mọi mức điểm, phản ánh rằng làm việc từ xa không ảnh hưởng tiêu cực đến năng suất.

=> Nhìn chung, cả hai nhóm đều có phân bố hiệu suất tương đồng, tuy nhiên nhân viên On-site đạt điểm cao nhiều hơn về số lượng tuyệt đối, do quy mô nhóm lớn hơn.

Bảng tần suất theo từng nhóm hình thức làm việc để đánh giá hiệu suất làm việc.

1. wm_prop <- prop.table(wm_tab, margin = 1) * 100 
2. wm_prop <- round(wm_prop, 2) 
3. print(wm_prop)
##          
##               1     2     3     4     5
##   On-site 20,03 19,95 20,06 20,03 19,92
##   Remote  19,96 19,84 19,86 20,11 20,23

Đồ thị tần số phân theo từng nhóm hình thức làm việc để đánh giá hiệu suất làm việc.

1. df_pie_WM <- as.data.frame(prop.table(table(d$work_mode, d$performance_rating), margin = 1) * 100)
2. colnames(df_pie_WM) <- c("work_mode", "performance_rating", "percent")
3. ggplot(df_pie_WM, aes(x = "", y = percent, fill = as.factor(performance_rating))) +
4. geom_col(color = "white", width = 1) +
5. coord_polar(theta = "y") +
6. facet_wrap(~ work_mode) +
7. geom_text(
8. aes(label = paste0(round(percent, 1), "%")),
9. position = position_stack(vjust = 0.5),
10. size = 3) +
11. scale_fill_brewer(palette = "Pastel1", name = "Điểm hiệu suất (1–5)") +
12. labs(
13. title = "Tỷ lệ điểm hiệu suất làm việc theo hình thức làm việc") +
14. theme_void(base_family = "Times New Roman") +
15. theme(plot.title      = element_text(face = "bold", hjust = 0.5),
16. strip.text      = element_text(face = "bold", size = 12),
17. legend.position = "bottom")

Nhận xét

  • Tỷ lệ điểm hiệu suất của hai nhóm On-site và Remote gần như cân bằng, với mỗi mức điểm dao động quanh 19,8%–20,2%.

  • Nhóm On-site có 39,9% nhân viên đạt điểm 4–5, trong khi nhóm Remote có 40,3%, nhỉnh hơn 0,4%, cho thấy hiệu suất giữa hai hình thức gần như tương đương.

  • Trung bình điểm hiệu suất của nhóm On-site là 2,998, còn nhóm Remote là 3,01, chênh lệch chỉ 0,012 điểm.

  • Sự phân bố đồng đều này cho thấy tập đoàn đã thiết lập hệ thống đánh giá và quản lý hiệu suất công bằng, đảm bảo nhân viên đạt hiệu quả làm việc ổn định dù ở môi trường tại chỗ hay từ xa.

1.5.2 Ảnh hưởng của tình trạng việc làm (status) đến hiệu suất làm việc (performance_rating)

1.5.2.1 Bảng tần số và tần suất theo từng nhóm tình trạng việc làm để đánh giá hiệu suất

Bảng tần số theo từng nhóm tình trạng việc làm để đánh giá hiệu suất làm việc.

1. st_tab <- table(d$status, d$performance_rating)
2. st_tab1 <- addmargins(st_tab)
3. print(st_tab1)
##             
##                   1      2      3      4      5    Sum
##   Active      14053  14042  14081  14103  14067  70346
##   Resigned     3998   3948   4030   4027   3995  19998
##   Retired      1039    984    997   1068   1053   5141
##   Terminated   1012   1032    973    967   1031   5015
##   Sum         20102  20006  20081  20165  20146 100500

Đồ thị tần số phân theo từng nhóm tình trạng việc làm để đánh giá hiệu suất làm việc.

1. tanso_ST <- table(d$status, d$performance_rating)
2. long_ST <- as.data.frame(tanso_ST)
3. colnames(long_ST) <- c("status", "performance_rating", "count")
4. ggplot(long_ST, aes(x = status, y = count, fill = as.factor(performance_rating))) +
5. geom_col(position = position_dodge(width = 0.8), width = 0.7) +
6. scale_fill_brewer(palette = "Pastel2", name = "Điểm hiệu suất (1–5)") +
7. labs(title = "Điểm hiệu suất theo tình trạng việc làm",x = "Tình trạng việc làm",y = "Số lượng nhân viên") +
8. theme_minimal(base_family = "Times New Roman") +
9. theme(
10. legend.position = "top",
11. axis.text.x = element_text(angle = 0, hjust = 0.5),
12. plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

Nhận xét

  • Tổng cộng có 100.500 nhân viên, chia thành 4 nhóm tình trạng việc làm:

    • Active: 70.346 người

    • Resigned: 19.998 người

    • Retired: 5.141 người

    • Terminated: 5.015 người

  • Ở tất cả các nhóm, phân bố điểm hiệu suất (1–5) khá đồng đều, dao động quanh 1.000–14.000 người mỗi mức điểm, cho thấy hệ thống đánh giá được áp dụng nhất quán.

  • Nhóm Active có số lượng nhân viên đạt điểm hiệu suất cao (mức 4–5) nhiều nhất với 28.249 người, phản ánh rằng nhân viên đang làm việc duy trì hiệu suất tích cực và ổn định hơn so với nhóm đã rời tập đoàn.

  • Các nhóm Resigned và Retired có mức điểm hiệu suất trải đều, cho thấy việc nghỉ việc hoặc nghỉ hưu không gắn liền với hiệu suất thấp, mà có thể do yếu tố cá nhân hoặc chiến lược nghề nghiệp.

=> Tổng thể, hiệu suất làm việc có xu hướng ổn định giữa các nhóm tình trạng việc làm, tuy nhiên nhân viên đang hoạt động (Active) vẫn thể hiện mức đóng góp hiệu quả hơn cả, góp phần chính vào hiệu suất chung của tập đoàn.

Bảng tần suất theo từng nhóm tình trạng việc làm để đánh giá hiệu suất làm việc.

1. st_prop <- prop.table(st_tab, margin = 1) * 100
2. st_prop <- round(st_prop, 2)
3. print(st_prop)
##             
##                  1     2     3     4     5
##   Active     19,98 19,96 20,02 20,05 20,00
##   Resigned   19,99 19,74 20,15 20,14 19,98
##   Retired    20,21 19,14 19,39 20,77 20,48
##   Terminated 20,18 20,58 19,40 19,28 20,56

Đồ thị tần số phân theo từng nhóm tình trạng việc làm để đánh giá hiệu suất làm việc.

1. df_pie_ST <- as.data.frame(prop.table(table(d$status, d$performance_rating), margin = 1) * 100)
2. colnames(df_pie_ST) <- c("status", "performance_rating", "percent")
3. ggplot(df_pie_ST, aes(x = "", y = percent, fill = as.factor(performance_rating))) +
4. geom_col(color = "white", width = 1) +
5. coord_polar(theta = "y") +
6. facet_wrap(~ status) +
7. geom_text(
8. aes(label = paste0(round(percent, 1), "%")),
9. position = position_stack(vjust = 0.5),
10. size = 3) +
11. scale_fill_brewer(palette = "Pastel2", name = "Điểm hiệu suất (1–5)") +
12. labs(title = "Tỷ lệ điểm hiệu suất theo tình trạng việc làm") +
13. theme_void(base_family = "Times New Roman") +
14. theme(plot.title = element_text(face = "bold", hjust = 0.5),
15. strip.text = element_text(face = "bold", size = 12),
16. legend.position = "bottom")

Nhận xét

  • Tỷ lệ điểm hiệu suất ở cả bốn nhóm Active, Resigned, Retired, Terminated đều gần như cân bằng, với mỗi mức điểm dao động quanh 19,3%–20,6%.

  • Nhóm Active có tỷ lệ điểm 4–5 chiếm 40,0%, tương tự nhóm Resigned (40,2%) và Retired (40,9%), cho thấy hiệu suất cao không chỉ tập trung ở những người còn làm việc mà còn xuất hiện ở cả những người đã rời tập đoàn.

  • Nhóm Terminated cũng có tỷ lệ điểm 4–5 khoảng 40,8%, chứng tỏ việc chấm dứt hợp đồng không hoàn toàn liên quan đến năng suất thấp.

  • Trung bình điểm hiệu suất giữa các nhóm dao động quanh 3,0 điểm, chênh lệch rất nhỏ (<0,1 điểm), thể hiện mức hiệu quả làm việc ổn định và nhất quán trong toàn bộ tập đoàn.

=> Tổng thể, biểu đồ tròn cho thấy tỷ lệ phân bố điểm hiệu suất giữa các nhóm tình trạng việc làm gần như tương đồng, chứng minh rằng tình trạng công việc không ảnh hưởng rõ rệt đến mức độ hiệu quả của nhân viên, và hệ thống đánh giá trong tập đoàn đảm bảo tính công bằng, khách quan.

1.5.3 Ảnh hưởng của số năm kinh nghiệm (experience_years) đến hiệu suất làm việc (performance_rating)

1.5.3.1 Thống kê mô tả

1. exp_summary <- d %>%
2.   group_by(experience_years) %>%
3.   summarise(
4.     Mean_Rating   = round(mean(performance_rating, na.rm = TRUE), 2),
5.     Median_Rating = round(median(performance_rating, na.rm = TRUE), 2),
6.     SD_Rating     = round(sd(performance_rating, na.rm = TRUE), 2),
7.     Min_Rating    = min(performance_rating, na.rm = TRUE),
8.     Max_Rating    = max(performance_rating, na.rm = TRUE),
9.     Count         = n())
10. exp_summary
## # A tibble: 16 × 7
##    experience_years Mean_Rating Median_Rating SD_Rating Min_Rating Max_Rating
##               <dbl>       <dbl>         <dbl>     <dbl>      <dbl>      <dbl>
##  1                0        2.99             3      1.41          1          5
##  2                1        3.02             3      1.42          1          5
##  3                2        3.02             3      1.41          1          5
##  4                3        2.99             3      1.42          1          5
##  5                4        3.01             3      1.41          1          5
##  6                5        2.99             3      1.41          1          5
##  7                6        3.02             3      1.41          1          5
##  8                7        3                3      1.42          1          5
##  9                8        2.99             3      1.41          1          5
## 10                9        2.98             3      1.41          1          5
## 11               10        2.98             3      1.44          1          5
## 12               11        3.04             3      1.44          1          5
## 13               12        3                3      1.41          1          5
## 14               13        3.02             3      1.39          1          5
## 15               14        3.02             3      1.42          1          5
## 16               15        2.67             2      1.3           1          5
## # ℹ 1 more variable: Count <int>

1.5.3.2 Biểu đồ đường: Xu hướng hiệu suất trung bình theo số năm kinh nghiệm

1. exp_mean <- d %>%
2. group_by(experience_years) %>%
3. summarise(Mean_Rating = mean(performance_rating, na.rm = TRUE))
4. ggplot(exp_mean, aes(x = experience_years, y = Mean_Rating)) + 
5. geom_line(color = "darkgreen", linewidth = 1.2) +
6. geom_point(color = "darkorange", size = 2.5) +
7. labs(title = "Hiệu suất trung bình theo năm kinh nghiệm",
8. x = "Số năm kinh nghiệm làm việc",
9. y = "Điểm hiệu suất trung bình (1–5)") +
10. theme_minimal(base_family = "Times New Roman") +
11. theme(plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
12. axis.title = element_text(face = "bold"))

Nhận xét

  • Biểu đồ cho thấy điểm hiệu suất trung bình (1–5) của nhân viên gần như ổn định trong suốt dải số năm kinh nghiệm từ 0 đến 14 năm.

  • Các nhóm có kinh nghiệm từ 0 đến 10 năm duy trì mức điểm hiệu suất trung bình xung quanh 3.00, dao động nhẹ trong khoảng 2.97 – 3.04, cho thấy không có biến động đáng kể giữa các giai đoạn phát triển nghề nghiệp.

  • Nhóm 11 năm kinh nghiệm đạt mức cao nhất (≈3.04), phản ánh khả năng làm việc hiệu quả của các nhân viên có kinh nghiệm lâu năm nhưng vẫn đang tích cực tham gia vào tổ chức.

  • Đáng chú ý, nhóm 15 năm kinh nghiệm có mức giảm mạnh, xuống khoảng 2.6, có thể do đặc thù công việc của nhân sự kỳ cựu gần nghỉ hưu. Ngoại trừ trường hợp giảm đột ngột này, xu hướng tổng thể là phẳng, cho thấy số năm kinh nghiệm không phải yếu tố chi phối chính đối với hiệu suất làm việc.

1.5.4 Ảnh hưởng của phòng ban (Department) đến hiệu suất làm việc (Performance_Rating)

Bảng tần số chéo giữa Department và Performance_Rating

1. dept_tab <- table(d$department, d$performance_rating)
2. dept_tab1 <- addmargins(dept_tab) 
3. print(dept_tab1)
##             
##                   1      2      3      4      5    Sum
##   Finance      1987   2011   1983   2045   2082  10108
##   HR           1625   1650   1656   1590   1581   8102
##   IT           5936   6019   5979   6008   6083  30025
##   Marketing    2423   2393   2364   2484   2393  12057
##   Operations   3142   2973   3032   3008   3088  15243
##   R&D           994   1018    992   1004    944   4952
##   Sales        3995   3942   4075   4026   3975  20013
##   Sum         20102  20006  20081  20165  20146 100500
1. tanso_DP <- table(d$department, d$performance_rating)
2. long_DP <- as.data.frame(tanso_DP)
3. colnames(long_DP) <- c("Department", "Performance_Rating", "Count")
1. ggplot(long_DP, aes(x = Department, y = Count, fill = as.factor(Performance_Rating))) +
2. geom_col(position = position_dodge(width = 0.8), width = 0.7) +
3. scale_fill_brewer(palette = "Set3", name = "Điểm hiệu suất (1–5)") +
4. labs(title = "Phân bố điểm hiệu suất theo phòng ban",
5. x = "Phòng ban",
6. y = "Số lượng nhân viên") +
7. theme_minimal(base_family = "Times New Roman") +
8. theme(legend.position = "top",
9. axis.text.x = element_text(angle = 45, hjust = 1),
10. plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

1. dept_prop <- prop.table(dept_tab, margin = 1) * 100
2. dept_prop <- round(dept_prop, 2)
3. print(dept_prop)
##             
##                  1     2     3     4     5
##   Finance    19,66 19,90 19,62 20,23 20,60
##   HR         20,06 20,37 20,44 19,62 19,51
##   IT         19,77 20,05 19,91 20,01 20,26
##   Marketing  20,10 19,85 19,61 20,60 19,85
##   Operations 20,61 19,50 19,89 19,73 20,26
##   R&D        20,07 20,56 20,03 20,27 19,06
##   Sales      19,96 19,70 20,36 20,12 19,86
1. df_pie_DP <- as.data.frame(prop.table(table(d$department, d$performance_rating), margin = 1) * 100)
2. colnames(df_pie_DP) <- c("Department", "Performance_Rating", "Percent")
3. ggplot(df_pie_DP, aes(x = Department, y = Percent, fill = as.factor(Performance_Rating))) +
4.   geom_col(width = 0.7, color = "white") +
5.   scale_fill_brewer(palette = "Set2", name = "Điểm hiệu suất (1–5)") +
6.   labs(title = "Tỷ lệ điểm hiệu suất làm việc theo phòng ban",
7.     x = "Phòng ban",
8.     y = "Tỷ lệ (%)" ) +
9.   geom_text(
10.     aes(label = paste0(round(Percent, 1), "%")),
11.     position = position_stack(vjust = 0.5),
12.     size = 3,
13.     color = "black") +
14.   theme_minimal(base_family = "Times New Roman") +
15.   theme(legend.position = "top",
16.     plot.title = element_text(face = "bold", size = 14, hjust = 0.5),
17.     axis.text.x = element_text(angle = 45, hjust = 1))

1.6 PHÂN TÍCH CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN TÌNH TRẠNG VIỆC LÀM (STATUS) CỦA NHÂN VIÊN TRONG TẬP ĐOÀN ĐA QUỐC GIA (MNC)

1.6.1 Ảnh hưởng của hình thức làm việc (Work_Mode) đến tình trạng việc làm (Status)

1.6.1.1 Bảng tần số và tần suất theo từng hình thức làm việc để đánh giá tình trạng việc làm

Bảng tần số theo từng nhóm hình thức làm việc để đánh giá tình trạng làm việc.

1. wm_st  <- table(d$work_mode, d$status)
2. wm_sttab <- addmargins(wm_st)
3. print(wm_sttab)
##          
##           Active Resigned Retired Terminated    Sum
##   On-site  41960    11989    3034       2991  59974
##   Remote   28386     8009    2107       2024  40526
##   Sum      70346    19998    5141       5015 100500
1. tanso_WMST <- table(d$work_mode, d$status)
2. long_WMST <- as.data.frame(tanso_WMST)
3. colnames(long_WMST) <- c("Work_Mode", "Status", "Count")
1. ggplot(long_WMST, aes(x = Work_Mode, y = Count, fill = as.factor(Status))) +
2.   geom_col(position = position_dodge(width = 0.8), width = 0.7) +
3.   geom_text(aes(label = Count),
4.     position = position_dodge(width = 0.8),
5.     vjust = -0.5,
6.     size = 3) +
7.   scale_fill_brewer(palette = "Pastel1", name = "Tình trạng việc làm") +
8.   labs(title = "Tình trạng việc làm theo hình thức làm việc",
9.     x = "Hình thức làm việc",
10.     y = "Số lượng nhân viên") +
11.   theme_minimal(base_family = "Times New Roman") +
12.   theme(legend.position = "top",
13.     axis.text.x = element_text(angle = 0, hjust = 0.5),
14.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5))

Nhận xét

  • Tổng cộng có 59.974 nhân viên làm việc On-site và 40.526 nhân viên làm việc Remote, cho thấy hình thức làm việc tại văn phòng chiếm tỷ trọng cao hơn (khoảng 59,7%) so với hình thức làm việc từ xa (40,3%).

  • Ở cả hai nhóm hình thức làm việc, phân bố số lượng nhân viên theo từng tình trạng việc làm tương đối đồng đều, thể hiện sự ổn định trong chính sách nhân sự của tập đoàn.

  • Trong đó, nhóm On-site có số lượng nhân viên đang làm việc (Active) chiếm ưu thế tuyệt đối với 41.960 người, gần gấp 1,5 lần so với nhóm Remote (28.386 người). Điều này cho thấy các vị trí yêu cầu làm việc trực tiếp vẫn chiếm phần lớn cơ cấu nhân sự.

  • Ngược lại, tỷ lệ nghỉ việc (Resigned) và chấm dứt hợp đồng (Terminated) trong nhóm Remote (tổng cộng 10.033 người, chiếm 24,7%) có xu hướng cao hơn nhẹ so với nhóm On-site (14.980 người, chiếm 24,9%), phản ánh phần nào tính linh hoạt nhưng cũng thách thức trong duy trì gắn kết của mô hình làm việc từ xa.

  • Số lượng nhân viên nghỉ hưu (Retired) chiếm tỷ lệ nhỏ ở cả hai hình thức (khoảng 5%), cho thấy đa số nhân sự vẫn nằm trong độ tuổi lao động tích cực.

=> Tổng thể, hình thức làm việc On-site vẫn chiếm ưu thế về quy mô và tỷ lệ nhân viên duy trì làm việc (Active), trong khi nhóm Remote thể hiện tính ổn định tương đối nhưng cần có chính sách duy trì hiệu suất và gắn kết lâu dài hơn để giảm tỷ lệ nghỉ việc.

Bảng tần suất tình trạng việc làm theo từng nhóm hình thức làm việc.

1. wmst_prop <- prop.table(wm_st, margin = 1) * 100
2. wmst_prop <- round(wmst_prop, 2)
3. print(wmst_prop)
##          
##           Active Resigned Retired Terminated
##   On-site  69,96    19,99    5,06       4,99
##   Remote   70,04    19,76    5,20       4,99

Đồ thị tần số phân theo từng nhóm hình thức làm việc theo tình trạng làm việc.

1. df_pie_WMST <- as.data.frame(prop.table(table(d$work_mode, d$status), margin = 1) * 100)
2. colnames(df_pie_WMST) <- c("work_mode", "status", "percent")
3. ggplot(df_pie_WMST, aes(x = "", y = percent, fill = as.factor(status))) +
4. geom_col(color = "white", width = 1) +
5. coord_polar(theta = "y") +
6. facet_wrap(~ work_mode) +
7. geom_text(aes(label = paste0(round(percent, 1), "%")),
8. position = position_stack(vjust = 0.5),
9. size = 3) +
10. scale_fill_brewer(palette = "Pastel1", name = "Tình trạng việc làm") +
11. labs(title = "Tỷ lệ tình trạng làm việc của nhân viên") +
12. theme_void(base_family = "Times New Roman") +
13. theme(plot.title      = element_text(face = "bold", hjust = 0.5),
14. strip.text      = element_text(face = "bold", size = 12),
15. legend.position = "bottom")

Nhận xét

  • Tỷ lệ tình trạng việc làm giữa hai nhóm On-site và Remote cân bằng với nhau, thể hiện sự nhất quán trong chính sách nhân sự của tập đoàn.

  • Trong nhóm On-site, 70% nhân viên đang làm việc (Active), 20% đã nghỉ việc (Resigned), 5,1% nghỉ hưu (Retired) và 5% bị chấm dứt hợp đồng (Terminated).

  • Ở nhóm Remote, các tỷ lệ tương ứng là 70%, 19,8%, 5,2% và 5% tương đồng với nhóm On-site.

  • Sự chênh lệch giữa hai hình thức làm việc là rất nhỏ (dưới 0,3%) ở mọi loại tình trạng việc làm, cho thấy rằng mô hình làm việc (tại chỗ hay từ xa) không tạo ra khác biệt nhiều trong tình trạng nhân sự.

  • Nhóm Remote có tỷ lệ nhân viên nghỉ việc (Resigned) nhỏ hơn 0,23% so với nhóm On-site, phản ánh rằng làm việc từ xa không làm gia tăng nguy cơ nghỉ việc, trái lại có thể mang đến mức độ hài lòng và cân bằng công việc – cuộc sống cao hơn.

  • Tỷ lệ nghỉ hưu và chấm dứt hợp đồng ở hai nhóm đều ổn định quanh mức 5%, thể hiện sự ổn định về cơ cấu nhân sự dài hạn trong toàn bộ tổ chức.

=> Tổng thể, sự tương đồng về tỷ lệ tình trạng việc làm giữa hai hình thức cho thấy tập đoàn đang vận hành hệ thống nhân sự linh hoạt nhưng vẫn đảm bảo công bằng, giúp nhân viên đạt được mức ổn định nghề nghiệp tương đương nhau dù làm việc tại văn phòng hay từ xa.

1.7 TỔNG KẾT

Qua quá trình phân tích thống kê mô tả và trực quan hóa dữ liệu, nghiên cứu đã chỉ ra những đặc điểm nổi bật về mối quan hệ giữa các yếu tố nhân sự (số năm kinh nghiệm, hình thức làm việc, phòng ban, tình trạng việc làm) với hiệu suất và mức lương của nhân viên trong tập đoàn đa quốc gia.

  • Hiệu suất làm việc (Performance_Rating)

    • Hiệu suất làm việc của nhân viên trong tập đoàn nhìn chung ổn định ở mức trung bình – khá, với điểm trung bình dao động quanh 3,0/5.

    • Số năm kinh nghiệm không có tác động đến hiệu suất. Nhân viên từ 0 đến 10 năm kinh nghiệm có hiệu suất tương đương.

    • Hình thức làm việc (On-site hoặc Remote) không tạo ra sự khác biệt về hiệu suất. Cả hai nhóm đều đạt điểm trung bình tương tự (~3,0).

    • Tình trạng việc làm (Active, Resigned, Retired, Terminated) cũng không ảnh hưởng rõ rệt đến hiệu suất, cho thấy quy trình đánh giá nhất quán và khách quan giữa các nhóm nhân sự.

=> Hiệu suất làm việc của nhân viên trong tập đoàn không bị chi phối bởi hình thức làm việc hay thâm niên, phản ánh sự ổn định của môi trường làm việc và cơ chế đánh giá minh bạch, đồng thời cho thấy chất lượng nhân sự và văn hóa làm việc chuyên nghiệp của tập đoàn.

2 PHẦN 2: BỘ DỮ LIỆU VỀ NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN Á CHÂU (ACB)

Ngân hàng TMCP Á Châu (ACB) là một trong những ngân hàng thương mại cổ phần hàng đầu tại Việt Nam, hoạt động chủ yếu trong lĩnh vực bán lẻ, tín dụng cá nhân và doanh nghiệp vừa và nhỏ (SME). Trong những năm gần đây, ACB duy trì được tốc độ tăng trưởng ổn định, đồng thời kiểm soát tốt rủi ro tín dụng, giúp ngân hàng giữ vững vị thế trong nhóm các ngân hàng có hiệu quả hoạt động cao của hệ thống.

1. library(readxl)
2. dl<- read_excel("D:/naaaaaa/NNLT_ST2/10years.xlsx")
1. library(dplyr)
2. library(tidyr)
3. # Tạo bộ dữ liệu abc
4. dlacb <- c( "Tỷ lệ nợ xấu (NPL)", "Chỉ số CIR", "Chỉ số ROE", "VIII. Tổng thu nhập hoạt động", "II. Lãi thuần từ hoạt động dịch vụ", "VI. Cho vay khách hàng ròng", "A. TỔNG TÀI SẢN" , "C. Vốn chủ sở hữu", "Casa")
5. acb <- dl %>%
6.   filter(`CHỈ TIÊU` %in% dlacb) %>%
7.   pivot_longer( cols = -`CHỈ TIÊU`,  
8.     names_to = "Year",   
9.     values_to = "Value") %>%
10.   pivot_wider(
11.     names_from = `CHỈ TIÊU`, 
12.     values_from = "Value" ) %>%
13.   mutate(across(
14.     .cols = -Year,
15.     .f = as.numeric ))
1. acb <- acb %>%
2.   rename(
3.     ROE = `Chỉ số ROE`,
4.     CIR = `Chỉ số CIR`,
5.     NPL = `Tỷ lệ nợ xấu (NPL)`,
6.     Doanhthu = `VIII. Tổng thu nhập hoạt động`,
7.     NetServiceIncome = `II. Lãi thuần từ hoạt động dịch vụ`,
8.     `Cho vay KH` = `VI. Cho vay khách hàng ròng`, # Tên mới có dấu cách
9.     TTS = `A. TỔNG TÀI SẢN`,
10.     VCSH = `C. Vốn chủ sở hữu`)

2.1 GIỚI THIỆU BỘ DỮ LIỆU

Bộ dữ liệu được thu thập từ báo cáo tài chính hợp nhất của Ngân hàng TMCP Á Châu (ACB) giai đoạn 2015–2024, phản ánh tình hình hoạt động và hiệu quả tài chính qua 10 năm liên tục.

Dữ liệu bao gồm 10 biến tài chính trong khoảng thời gian năm, thể hiện hiệu quả hoạt động, tỷ lệ tiền gửi, lợi nhuận, cơ cấu nợ và thu nhập của ngân hàng.

Tên biến Mô tả chi tiết
Year Năm tài chính (2015–2024).
ROE Tỷ suất sinh lời trên vốn chủ sở hữu
CIR Tỷ lệ chi phí trên thu nhập
NPL Tỷ lệ nợ xấu.
Casa Tỷ lệ tiền gửi không kỳ hạn
NetServiceIncome Thu nhập ròng từ dịch vụ.
Cho vay KH Dư nợ cho vay khách hàng.
Doanh thu Bao gồm thu nhập lãi ròng và các thu nhập ngoài lãi.
TTS Tổng tài sản. Thể hiện toàn bộ quy mô tài sản
VCSH Vốn chủ sở hữu. Phần vốn thuộc về cổ đông của ngân hàng

2.1.1 Kiểm tra cấu trúc dữ liệu

1. #Kiểm tra cấu trúc dữ liệu
2. str(acb)
## tibble [10 × 10] (S3: tbl_df/tbl/data.frame)
##  $ Year            : chr [1:10] "2015" "2016" "2017" "2018" ...
##  $ TTS             : num [1:10] 201457 233681 284316 329333 383514 ...
##  $ Cho vay KH      : num [1:10] 132491 161604 196669 227983 266165 ...
##  $ VCSH            : num [1:10] 12788 14063 16031 21018 27765 ...
##  $ NetServiceIncome: num [1:10] 745 944 1188 1498 1896 ...
##  $ Doanhthu        : num [1:10] 6220 7562 11439 14033 16097 ...
##  $ NPL             : num [1:10] 0,01321 0,00877 0,00708 0,00733 0,00543 ...
##  $ ROE             : num [1:10] 0,0804 0,0942 0,1321 0,2444 0,2165 ...
##  $ CIR             : num [1:10] 0,647 0,619 0,544 0,478 0,516 ...
##  $ Casa            : num [1:10] 0,152 0,154 0,158 0,167 0,182 ...

Nhận xét

  • Bộ dữ liệu bao gồm hoạt động kinh doanh trong vòng 10 năm với 9 biến, phản ánh toàn diện về tình hình hoạt động của ngân hàng ACB.

  • Các biến bao gồm các chỉ tiêu như: Tỷ suất sinh lời trên vốn chủ sở hữu, Tỷ lệ chi phí trên thu nhập, Tỷ lệ nợ xấu, Tỷ lệ tiền gửi không kỳ hạn, Thu nhập ròng từ dịch vụ, Dư nợ cho vay khách hàng, Doanh thu, Tổng tài sản và Vốn chủ sở hữu.

2.1.2 Kích thướt dữ liệu

1. dim(acb)
## [1] 10 10

Nhận xét

Bộ dữ liệu có 10 năm quan sát(2015-2024) với 9 biến tài chính, dữ liệu ngắn gọn phù hợp để phân tích giai đoạn ngắn gọn về tình hình hoạt động của ngân hàng ACB.

###Kiểm tra dữ liệu thiếu(NA)

1. any(is.na(acb))
## [1] FALSE
1. sum(is.na(acb))
## [1] 0

Nhận xét

  • Kết quả cho thấy không có giá trị thiếu (NA) trong bộ dữ liệu

2.2 XỬ LÝ DỮ LIỆU THÔ VÀ MÃ HÓA DỮ LIỆU

2.2.1 Chuyển đổi dạng dữ liệu

1. acb$Year <- as.numeric(acb$Year)

Vì dữ liệu Year đang ở dạng chữ nên cần chuyển đổi thành số(numeric) để có thể vẽ biểu đồ trực quan hóa.

2.2.2 Các thống kê cơ bản

1. library(psych)
2. describe(acb)
##                  vars  n      mean        sd    median   trimmed       mad
## Year                1 10   2019,50      3,03   2019,50   2019,50      3,71
## TTS                 2 10 459527,71 218262,25 414022,25 441226,80 229838,21
## Cho vay KH          3 10 311452,98 143847,93 287346,75 301011,51 157294,74
## VCSH                4 10  38486,98  25181,15  31606,80  36077,57  24551,93
## NetServiceIncome    5 10   2054,79   1010,38   1795,60   2034,56   1409,66
## Doanhthu            6 10  19212,90  10005,40  17129,35  19049,24  11861,91
## NPL                 7 10      0,01      0,00      0,01      0,01      0,00
## ROE                 8 10      0,19      0,06      0,22      0,19      0,02
## CIR                 9 10      0,46      0,12      0,45      0,46      0,14
## Casa               10 10      0,19      0,03      0,20      0,19      0,04
##                        min       max     range  skew kurtosis       se
## Year               2015,00   2024,00      9,00  0,00    -1,56     0,96
## TTS              201457,00 864005,70 662548,70  0,49    -1,23 69020,58
## Cho vay KH       132491,00 573946,69 441455,69  0,43    -1,26 45488,71
## VCSH              12787,50  83461,68  70674,18  0,53    -1,38  7962,98
## NetServiceIncome    745,20   3526,20   2781,00  0,16    -1,77   319,51
## Doanhthu           6220,30  33514,76  27294,46  0,19    -1,65  3163,99
## NPL                   0,01      0,02      0,01  0,66    -1,25     0,00
## ROE                   0,08      0,24      0,16 -0,75    -1,29     0,02
## CIR                   0,33      0,65      0,32  0,25    -1,58     0,04
## Casa                  0,15      0,25      0,10  0,12    -1,67     0,01

Nhận xét

  • ROE (Lợi nhuận/Vốn chủ): Trung bình là 19% nhưng trung vị (median) là 22%. Điều này cho thấy mức sinh lời rất tốt.

  • CIR (Chi phí/Thu nhập): Trung bình là 46%, cho thấy ngân hàng kiểm soát chi phí hoạt động khá ổn định (trung bình và trung vị gần nhau).

  • NPL (Nợ xấu): Trung bình là 1% và độ lệch chuẩn (sd) là 0.00. Đây là con số ấn tượng nhất, phản ánh việc kiểm soát rủi ro cực kỳ ổn định và nhất quán ở mức 1% suốt 10 năm.

  • Casa (Tỷ lệ tiền gửi không kì hạn): Trung bình là 19% với độ lệch chuẩn rất thấp (0.03), cho thấy ngân hàng duy trì lợi thế tiền gửi này rất bền bỉ quanh mốc 19-20%.

  • NetServiceIncome (Thu nhập dịch vụ): Trung bình là 2.054 tỷ, với mean (2.054) > median (1.795), cho thấy mảng dịch vụ tăng trưởng tốt và bùng nổ mạnh ở những năm gần đây.

  • Cho vay KH: Trung bình là 311.452 tỷ, với mean > median (287.346), phản ánh hoạt động cốt lõi là cho vay được mở rộng rất nhanh chóng.

  • Doanh thu (Tổng thu nhập): Trung bình 19.212 tỷ, với mean > median (17.129), cho thấy tổng thu nhập tăng tốc mạnh ở nửa sau của giai đoạn.

  • TTS (Tổng tài sản): Trung bình 459.527 tỷ, với mean > median (414.022), là dấu hiệu rõ ràng nhất cho thấy quy mô ngân hàng phình to rất nhanh.

  • VCSH (Vốn chủ sở hữu): Trung bình 38.486 tỷ, với mean > median (31.606), cho thấy vốn chủ liên tục được bồi đắp mạnh mẽ qua các năm.

2.3 PHÂN TÍCH 1 BIẾN

2.3.1 ROE

Biểu đồ đường thể hiện Tỷ suất sinh lời trên vốn chủ sở hữu theo năm

1. library(scales)
2. library(ggplot2)
3. ggplot(acb, aes(x = Year, y = ROE)) +
4.   geom_line(color = "darkblue", linewidth = 1.3) +    
5.   geom_point(size = 3.5, color = "orange") +    
6.   geom_text(aes(label = scales::percent(ROE, accuracy = 0.1)),  
7.     vjust = -1.5, 
8.     size = 3.5, 
9.     color = "black") +
10.   scale_x_continuous(
11.     breaks = seq(2015, 2024, 1)) +
12.   scale_y_continuous(
13.     labels = scales::percent_format(accuracy = 1)) +
14.   labs(
15.     title = "Tỷ suất sinh lời trên vốn chủ sở hữu của ACB",
16.     x = "Năm",
17.     y = "ROE") +
18.   expand_limits(y = c(min(acb$ROE) * 0.9, max(acb$ROE) * 1.1)) +
19.   theme_minimal(base_family = "Times New Roman") +
20.   theme(
21.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
22.     axis.text.x = element_text(size = 12))

Nhận xét

  • Giai đoạn tăng tốc (3-4 năm đầu): ROE khởi đầu ở mức khá thấp từ 8% - 9% nhưng sau đó tăng trưởng phi mã, gần như gấp 3 lần để đạt đỉnh điểm 24.4%.

  • Giai đoạn duy trì hiệu quả (6 năm sau): Sau cú nhảy vọt đó, ngân hàng đã thiết lập một nền hiệu quả mới rất cao và ổn định. ROE luôn duy trì đều đặn ở mức trên 20% trong suốt phần còn lại của giai đoạn.

2.3.2 CIR

Biểu đồ đường thể hiện Tỷ lệ chi phí trên thu nhập theo năm

1. library(scales) 
2. ggplot(acb, aes(x = Year, y = CIR)) +
3.   geom_line(color = "blue", linewidth = 1.3) +     
4.   geom_point(size = 3.5, color = "pink") +    
5.   geom_text(
6.     aes(label = scales::percent(CIR, accuracy = 0.1)),  
7.     vjust = -1.5,
8.     size = 3.5, 
9.     color = "black") +
10.   scale_x_continuous(
11.     breaks = seq(2015, 2024, 1)) +
12.   scale_y_continuous(
13.     labels = scales::percent_format(accuracy = 1) ) +
14.   labs(
15.     title = "Tỷ lệ chi phí trên thu nhập của ACB",
16.     x = "Năm",
17.     y = "CIR" ) +
18.   expand_limits(y = c(min(acb$CIR) * 0.9, max(acb$CIR) * 1.1)) + 
19.   theme_minimal(base_family = "Times New Roman") +
20.   theme( plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
21.     axis.text.x = element_text(size = 12))

Nhận xét

  • Xu hướng Tỷ lệ chi phí trên thu nhập giảm rất rõ rệt và ấn tượng. Tỷ lệ này khởi đầu ở mức rất cao là 64.7% (năm đầu tiên), có nghĩa là ngân hàng phải tốn gần 65 tỷ đồng chi phí để tạo ra 100 tỷ đồng thu nhập. Tuy nhiên, tỷ lệ này đã liên tục được tối ưu và giảm mạnh xuống chỉ còn 32.5% ở năm cuối cùng trong giai đoạn nghiên cứu.

  • Nói cách khác, ngân hàng đã giảm chi phí vận hành của mình xuống gần một nửa so với 10 năm trước. Mặc dù có một vài năm tỷ lệ này tăng nhẹ trở lại (từ 47.8% lên 51.6%), nhưng xu hướng tổng thể là một đường dốc đi xuống.

2.3.3 NPL (Tỷ lệ nợ xấu)

Biểu đồ đường thể hiện Tỷ lệ chi phí trên thu nhập theo năm

1. library(scales) 
2. ggplot(acb, aes(x = Year, y = NPL)) +
3.   geom_line(color = "blue", linewidth = 1.3) +       
4.   geom_point(size = 3.5, color = "pink") +  
5.   geom_text(
6.     aes(label = scales::percent(NPL, accuracy = 0.1)),  
7.     vjust = -1.5, 
8.     size = 3.5, 
9.     color = "black") +
10.   scale_x_continuous(
11.     breaks = seq(2015, 2024, 1)) +
12.   scale_y_continuous(
13.     labels = scales::percent_format(accuracy = 1)) +
14.   labs(title = "Tỷ lệ nợ xấu của ACB theo từng năm",
15.     x = "Năm",
16.     y = "NPL") +
17.   expand_limits(y = c(min(acb$NPL) * 0.9, max(acb$NPL) * 1.1)) + 
18.   theme_minimal(base_family = "Times New Roman") +
19.   theme(
20.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
21.     axis.text.x = element_text(size = 12))

Nhận xét

  • Ngân hàng bắt đầu ở mức 1.3% và liên tục giảm mạnh nợ xấu, có lúc xuống chỉ còn 0.7% rồi chạm đáy ở mức 0.54%. Đây là giai đoạn kiểm soát rủi ro cực kỳ tốt. Sau khi chạm đáy 0.54%, tỷ lệ này nhích nhẹ và giữ ổn định quanh mốc 0.6% - 0.7%. Đây vẫn là một vùng an toàn tuyệt vời.

  • Đây là giai đoạn đáng chú ý. Từ mức an toàn 0.74%, nợ xấu đã tăng vọt lên 1.22% và tiếp tục tăng lên 1.51% vào năm cuối giai đoạn.

2.3.4 Casa (Tỷ lệ tiền gửi không kì hạn)

Biểu đồ đường thể hiện Tỷ lệ chi phí trên thu nhập theo năm

1. library(scales) 
2. ggplot(acb, aes(x = Year, y = Casa)) +
3.   geom_line(color = "darkred", linewidth = 1.3) +       
4.   geom_point(size = 3.5, color = "grey") +    
5.   geom_text(
6.     aes(label = scales::percent(Casa, accuracy = 0.1)),  
7.     vjust = -1.5, 
8.     size = 3.5, 
9.     color = "black") +
10.   scale_x_continuous(
11.     breaks = seq(2015, 2024, 1)) +
12.   scale_y_continuous(
13.     labels = scales::percent_format(accuracy = 1)) +
14.   labs(title = "Tỷ lệ tiền gửi không kì hạn của ACB",
15.     x = "Năm",
16.     y = "Casa") +
17.   expand_limits(y = c(min(acb$Casa) * 0.9, max(acb$Casa) * 1.1)) +
18.   theme_minimal(base_family = "Times New Roman") +
19.   theme(plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
20.     axis.text.x = element_text(size = 12))

Nhận xét

  • Khởi đầu ở mức 15.2%, ngân hàng đã liên tục cải thiện tỷ lệ này trong 7 năm liền. Đặc biệt, giai đoạn giữa chứng kiến sự bứt tốc mạnh mẽ, giúp tỷ lệ này tăng vọt từ 18.2% lên 21% và đạt đỉnh cao ấn tượng ở mức 24.8% vào năm 2021.

  • Tuy nhiên, ngay sau khi đạt đỉnh, đà tăng này đã không duy trì được. Tỷ lệ CASA đã điều chỉnh giảm trở lại trong hai năm tiếp theo, lần lượt xuống 21.8% và 21.5%. Con số 22.0% ở năm cuối cho thấy dường như ngân hàng đang tìm được điểm cân bằng mới và ổn định quanh mặt bằng cao này, dù không còn giữ được mức đỉnh cao nhất.

2.3.5 NetServiceIncome (Thu nhập dịch vụ)

1. library(scales) 
2. ggplot(acb, aes(x = Year, y = NetServiceIncome)) +
3.   geom_col(fill = "steelblue", width = 0.7) +
4. geom_text(
5.   aes(label = format(NetServiceIncome, nsmall = 1, decimal.mark = ",", big.mark = ".")),  
6.   vjust = -0.5, 
7.   size = 3,
8.   color = "black") +
9.   scale_x_continuous(
10.     breaks = seq(2015, 2024, 1)) +
11.   scale_y_continuous(
12.   labels = scales::number_format(big.mark = ".", decimal.mark = ",")) +
13.   labs(title = "Thu nhập ròng từ dịch vụ của ACB theo từng năm",
14.     x = "Năm",
15.     y = "Tỷ đồng") +
16.   expand_limits(y = c(0, max(acb$NetServiceIncome) * 1.15)) + 
17.   theme_minimal(base_family = "Times New Roman") +
18.   theme(
19.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
20.     axis.text.x = element_text(size = 12))

2: Khởi tạo biểu đồ, lấy dữ liệu từ bảng acb. Lệnh này đặt cột Year vào trục ngang (X) và cột NetServiceIncome vào trục dọc (Y).

3: Ra lệnh vẽ biểu đồ dạng cột. Chọn màu “steelblue” và chỉnh cột với độ rộng width = 0,7.

[10]: Tùy chỉnh trục ngang (X), đảm bảo nó hiển thị đầy đủ tất cả các năm từ 2015 đến 2024.

[11:12]: Tùy chỉnh trục dọc (Y), giúp định dạng các con số để có dấu phẩy hàng ngàn (ví dụ: 1,000, 2,000) cho dễ đọc.

Nhận xét

  • Trong 5 năm đầu giai đoạn nghiên cứu, thu nhập dịch vụ với mức tăng trưởng rất nhanh chóng. Ngân hàng khởi đầu với mức 745.2 tỷ và tăng trưởng không ngừng qua từng năm. Đà tăng trưởng này rất vững chắc, giúp ngân hàng bứt tốc gấp khoảng 2.5 lần và kết thúc giai đoạn ở mức 1896.5 tỷ, tạo một nền tảng vững chắc.

  • Tuy nhiên, ở giai đoạn sau có một cú sụt giảm nhẹ. Cụ thể năm 2020, chỉ tiêu này giảm nhẹ và bùng nổ hơn tạo ra một đỉnh cao lịch sử ở mức 3526.2 tỷ vào năm 2022. Ngay sau đỉnh, ngân hàng bước vào giai đoạn điều chỉnh, sụt giảm trở lại xuống 2922.3 tỷ. Đến năm cuối, con số này hồi phục nhẹ, cho thấy xu hướng đang chững lại và ổn định quanh một mặt bằng giá trị mới, cao hơn hẳn giai đoạn trước.

2.4 PHÂN TÍCH 2 BIẾN

2.4.1 Ảnh hưởng của Tỷ lệ chi phí trên thu nhập(CIR) đến Tỷ suất sinh lời trên vốn chủ sở hữu(ROE)

1. max_roe <- max(acb$ROE)
2. max_cir <- max(acb$CIR)
3. scale_factor <- max_roe / max_cir 
4. ggplot(acb, aes(x = Year)) +
5.   geom_line(aes(y = ROE, color = "ROE"), linewidth = 1.3) +
6.   geom_point(aes(y = ROE), color = "darkblue", size = 3.5) +
7.   geom_line(aes(y = CIR * scale_factor, color = "CIR"), linewidth = 1.3) +
8.   geom_point(aes(y = CIR * scale_factor), color = "darkred", size = 3.5) +
9.   scale_y_continuous(
10.     name = "ROE (Tỷ suất sinh lời)",
11.     labels = scales::percent_format(accuracy = 1),
12.     limits = c(0, max_roe), 
13.     sec.axis = sec_axis(
14.       trans = ~ . / scale_factor, 
15.       name = "CIR (Chi phí / Thu nhập)",
16.       labels = scales::percent_format(accuracy = 1))) +
17.   scale_x_continuous(breaks = seq(2015, 2024, 1)) +
18.   scale_color_manual(
19.     name = "Chỉ số", 
20.     values = c("ROE" = "darkblue", "CIR" = "darkred")
21.   ) +
22.   
23.   labs(
24.     title = "Mối quan hệ giữa CIR và ROE (2015-2024)",
25.     x = "Năm",
26.     y = "ROE") +
27.   theme_minimal(base_family = "Times New Roman") +
28.   theme(
29.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
30.     axis.text.x = element_text(size = 12),
31.     axis.title.y.left = element_text(color = "darkblue", face = "bold"),
32.     axis.text.y.left = element_text(color = "darkblue"),
33.     axis.title.y.right = element_text(color = "darkred", face = "bold"),
34.     axis.text.y.right = element_text(color = "darkred"),
35.     legend.position = "top")

Nhận xét

  • Phân tích biểu đồ 2 trục cho thấy một mối quan hệ nghịch đảo giữa Tỷ lệ chi phí trên thu nhập (CIR) và Tỷ suất sinh lời trên vốn chủ sở hữu (ROE) trong suốt giai đoạn 10 năm.

  • Đường CIR có xu hướng giảm mạnh với khởi đầu ở mức rất cao là 64.6% và kết thúc giai đoạn ở mức chỉ 32.5%. Đồng thời, đường ROE lại di chuyển theo hướng ngược lại hoàn toàn: nó bắt đầu từ mức hiệu quả thấp (8.0%) và tăng vọt lên, sau đó duy trì ở một mặt bằng hiệu quả cao mới (ổn định trên 20% ở giai đoạn sau).

  • Sự tác động này thể hiện rõ nhất trong 4 năm đầu tiên. Đây là giai đoạn CIR giảm mạnh nhất (từ 64.6% xuống 47.8%), và cũng chính là giai đoạn ROE bùng nổ mạnh nhất (từ 8.0% lên đỉnh 24.4%).

  • Rõ ràng hơn là ở năm thứ 5: khi CIR bất ngờ tăng nhẹ trở lại (lên 51.6%), ngay lập tức ROE đã phản ứng bằng cách sụt giảm (xuống 21.6%).

  • Điều này khẳng định rằng việc tối ưu hóa chi phí hoạt động (làm giảm CIR) là một trong những động lực chính thúc đẩy lợi nhuận của ngân hàng. Khi ngân hàng kiểm soát chi phí hiệu quả hơn, tức là tốn ít chi phí hơn để tạo ra một đồng thu nhập, phần lợi nhuận giữ lại được sẽ lớn hơn. Điều này tác động trực tiếp làm tăng lợi nhuận sau thuế, và qua đó, nâng cao Tỷ suất sinh lời trên vốn chủ sở hữu (ROE).

2.4.2 Ảnh hưởng của Tỷ lệ dư nợ(NPL) đến Tỷ suất sinh lời trên vốn chủ sở hữu(ROE)

1. library(ggplot2)
2. library(scales)
3. max_roe <- max(acb$ROE) 
4. max_npl <- max(acb$NPL)
5. scale_factor <- max_roe / max_npl 
6. ggplot(acb, aes(x = Year)) +
7.   geom_line(aes(y = ROE, color = "ROE"), linewidth = 1.3) +
8.   geom_point(aes(y = ROE), color = "brown", size = 3.5) +
9.   geom_line(aes(y = NPL * scale_factor, color = "NPL"), linewidth = 1.3) +
10.   geom_point(aes(y = NPL * scale_factor), color = "darkgreen", size = 3.5) +
11.   scale_y_continuous(
12. 
13.     name = "ROE (Tỷ suất sinh lời)",
14.     labels = scales::percent_format(accuracy = 1),
15.     limits = c(0, max_roe * 1.1), 
16.     
17.     sec.axis = sec_axis(
18.       transform = ~ . / scale_factor, 
19.       name = "NPL (Tỷ lệ nợ xấu)", 
20.       labels = scales::percent_format(accuracy = 0.1))) +
21.   
22.   scale_x_continuous(breaks = seq(2015, 2024, 1)) +
23.   
24.   scale_color_manual(
25.     name = "Chỉ số", 
26.     values = c("ROE" = "brown", "NPL" = "darkgreen")
27.   ) +
28.   labs(
29.     title = "Mối quan hệ giữa NPL và ROE (2015-2024)", 
30.     x = "Năm",
31.     y = "ROE") +
32.   theme_minimal(base_family = "Times New Roman") +
33.   theme(
34.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
35.     axis.text.x = element_text(size = 12),
36.     
37.     axis.title.y.left = element_text(color = "brown", face = "bold"),
38.     axis.text.y.left = element_text(color = "brown"),
39.     axis.title.y.right = element_text(color = "darkgreen", face = "bold"),
40.     axis.text.y.right = element_text(color = "darkgreen"), 
41.     legend.position = "top"
42.   )

Nhận xét

  • Giai đoạn 2016-2019: Chất lượng nợ xấu cải thiện rõ rệt, bùng nổ lợi nhuận Trong giai đoạn này, biểu đồ cho thấy đường NPL (nợ xấu) có xu hướng giảm mạnh. Nó bắt đầu từ 1.32% và liên tục được kéo xuống, chạm mức đáy là 0.54%. Điều này cho thấy ngân hàng đã kiểm soát rủi ro và xử lý nợ cũ rất hiệu quả. Ngược lại hoàn toàn, đường ROE đã tăng vọt trong chính giai đoạn này. Từ mức 8.0% lên mức đỉnh 24.4%. Mối liên hệ ở đây rất rõ ràng: khi nợ xấu giảm, ngân hàng giảm được gánh nặng trích lập dự phòng rủi ro. Chi phí dự phòng này giảm xuống, khiến lợi nhuận sau thuế tăng lên, và qua đó thúc đẩy ROE bùng nổ.

  • Giai đoạn sau khi rủi ro quay trở lại, lợi nhuận cũng bị ảnh hưởng. Tuy nhiên, xu hướng đã đảo ngược ở cuối chu kỳ. Ta có thể thấy đường NPL bắt đầu tăng trở lại, đặc biệt là hai năm cuối khi tăng vọt từ 0.74% lên 1.22% và 1.51%. Phản ứng tức thì trên biểu đồ là đường ROE bắt đầu đi xuống từ vùng đỉnh. Mặc dù vẫn giữ ở mức cao, nhưng ROE đã giảm từ 22-23% xuống còn 20.1% ở năm cuối cùng. Điều này cho thấy khi rủi ro tín dụng tăng lên (NPL tăng), ngân hàng bắt buộc phải tăng trích lập dự phòng trở lại, chi phí này ngay lập tức “ăn” vào lợi nhuận và làm xói mòn hiệu quả sinh lời.

Điều này khẳng định Mối quan hệ giữa tỷ lệ nợ xấu (NPL) có tác động trực tiếp và mạnh mẽ đến khả năng sinh lời (ROE). Việc kiểm soát tốt nợ xấu là yếu tố then chốt giúp ngân hàng tối đa hóa lợi nhuận.

2.4.3 Ảnh hưởng của Doanh thu đến Tỷ suất sinh lời trên vốn chủ sở hữu(ROE)

1. library(ggplot2)
2. library(scales) 
3. max_doanhthu <- max(acb$Doanhthu)
4. max_roe <- max(acb$ROE) 
5. scale_factor <- max_doanhthu / max_roe
6. ggplot(acb, aes(x = Year)) +
7.   geom_col(aes(y = Doanhthu, fill = "Doanhthu"), alpha = 0.7) + 
8.   geom_text(
9.     aes(y = Doanhthu, label = round(Doanhthu, 0)), 
10.     vjust = -0.5, # Đẩy nhãn lên trên đỉnh cột
11.     size = 3.0, 
12.     color = "black"
13.   ) +
14.   geom_line(aes(y = ROE * scale_factor, color = "ROE"), linewidth = 1.3) +
15.   geom_point(aes(y = ROE * scale_factor, color = "ROE"), size = 3.5) +
16.   geom_text(
17.     aes(y = ROE * scale_factor, label = scales::percent(ROE, accuracy = 0.1)),
18.     vjust = -1.5, 
19.     size = 3.0, 
20.     color = "darkred" ) +
21.   scale_y_continuous(
22.     name = "Doanh thu (tỷ đồng)",
23.     labels = scales::comma_format(),
24.     limits = c(0, max_doanhthu * 1.15),
25.     
26.     sec.axis = sec_axis(
27.       transform = ~ . / scale_factor, 
28.       name = "ROE (Tỷ suất sinh lời)",
29.       labels = scales::percent_format(accuracy = 1))) +
30.   
31.   scale_x_continuous(breaks = seq(2015, 2024, 1)) +
32.   
33.   scale_fill_manual(
34.     name = NULL, 
35.     values = c("Doanhthu" = "steelblue")) +
36.   scale_color_manual(
37.     name = NULL, 
38.     values = c("ROE" = "darkred")) +
39.   
40.   labs(
41.     title = "Tăng trưởng Doanh thu và ROE",
42.     x = "Năm"
43.   ) +
44.   theme_minimal(base_family = "Times New Roman") +
45.   theme(
46.     plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
47.     axis.text.x = element_text(size = 12),
48.     axis.title.y.left = element_text(color = "steelblue", face = "bold"),
49.     axis.text.y.left = element_text(color = "steelblue"),
50.     axis.title.y.right = element_text(color = "darkred", face = "bold"),
51.     axis.text.y.right = element_text(color = "darkred"),
52.     legend.position = "top"
53.   )

Nhận xét

  • Nhìn chung, biểu đồ cho thấy khi Doanh thu tăng trưởng bùng nổ đã kéo theo ROE tăng vọt lên một mặt bằng hiệu quả mới. Có thể chia làm hai giai đoạn:

  • Giai đoạn 1: Trong 4 năm đầu tiên, Doanh thu bắt đầu tăng từ 6.220 tỷ lên 14.033 tỷ. Tương ứng với đó, đường ROE cũng có những cú nhảy vọt ngoạn mục, tăng từ mức rất thấp là 8.0% lên đỉnh cao 24.4%.

  • Giai đoạn 2: Doanh thu tiếp tục tăng trưởng nhanh chóng từ 16.097 tỷ lên đến 33.514 tỷ (tăng hơn gấp đôi). Tuy nhiên, đường ROE không còn tăng theo nữa, mà thay vào đó là đi ngang và ổn định ở một mức rất cao (luôn trên 20%). Doanh thu là động lực chính giúp ngân hàng đạt được lợi thế kinh tế, đẩy ROE lên mức xuất sắc. Nhưng sau khi đã đạt đến đỉnh cao hiệu quả (quanh mốc 20-24%), mục tiêu dường như đã thay đổi. Ngân hàng không còn cố gắng đẩy ROE lên cao hơn nữa, mà thay vào đó là duy trì sự hiệu quả đó trong khi tiếp tục mở rộng quy mô doanh thu một cách mạnh mẽ.

2.5 TỔNG KẾT

Mối quan hệ giữa CIR và ROE là một mối quan hệ nghịch đảo, mang tính cốt lõi. CIR (Tỷ lệ chi phí trên thu nhập) thể hiện hiệu quả quản lý chi phí hoạt động. Khi chỉ số này giảm, nó cho thấy ngân hàng đang tốn ít chi phí hơn để tạo ra một đồng thu nhập. Điều này trực tiếp làm tăng biên lợi nhuận ròng và qua đó, thúc đẩy Tỷ suất sinh lời trên vốn chủ sở hữu (ROE) tăng lên. Dữ liệu 10 năm qua cho thấy xu hướng CIR giảm mạnh chính là động lực chính giúp ROE bùng nổ.

Tương tự, NPL và ROE cũng thể hiện một mối quan hệ ngược chiều rõ rệt, phản ánh tác động của chi phí rủi ro. Khi Tỷ lệ nợ xấu (NPL) tăng, ngân hàng bắt buộc phải tăng cường trích lập dự phòng rủi ro, khoản chi phí này sẽ ảnh hưởng trực tiếp vào lợi nhuận. Ngược lại, việc kiểm soát tốt nợ xấu ở mức thấp sẽ giải phóng gánh nặng dự phòng, giúp lợi nhuận sau thuế được tối đa hóa và ROE được cải thiện.

Cuối cùng, mối quan hệ giữa Doanh thu và ROE là mối quan hệ cùng chiều và mang tính nền tảng. Doanh thu là yếu tố then chốt để tạo ra lợi nhuận. Sự tăng trưởng bùng nổ của doanh thu đã tạo ra “lợi thế kinh tế nhờ quy mô”, giúp ngân hàng tối ưu hóa các chi phí và đẩy hiệu quả (ROE) lên một mặt bằng mới. Mặc dù ở giai đoạn sau, ROE có thể ổn định thay vì tăng theo doanh thu, nhưng việc duy trì quy mô doanh thu là điều kiện cần để giữ vững ROE ở mức cao.