Giới thiệu dự án
Ngành dịch vụ khách sạn và du lịch tại Việt Nam đối mặt với bài toán nan giải về biến động nhân sự: theo số liệu từ Hiệp hội Du lịch Việt Nam, tỷ lệ luân chuyển nhân sự (Employee Turnover Rate - ETR) bình quân dao động từ 35% đến 45%/năm, cá biệt tăng vọt vào các mùa cao điểm du lịch. Tại Công ty TNHH Du lịch Lăng Cô (Thừa Thiên Huế) – đơn vị khai thác dịch vụ nghỉ dưỡng quy mô 250 cán bộ nhân viên, mô hình quản trị nguồn nhân lực (Human Resource Management - HRM) truyền thống bộc lộ nhiều điểm nghẽn nghiêm trọng: quy trình chấm công – phân ca thực hiện thủ công trên bảng tính rời rạc; hệ thống đánh giá hiệu suất mang nặng tính cảm tính; dữ liệu hồ sơ nhân sự phân mảnh khiến công tác hoạch định chính sách đãi ngộ và giữ chân nhân tài gặp nhiều rủi ro.
Đề tài khóa luận tốt nghiệp "Thực trạng và giải pháp nhằm nâng cao công tác quản trị nguồn nhân lực tại Công ty TNHH Du lịch Lăng Cô" được thực hiện nhằm giải quyết trực tiếp các bài toán vận hành trên thông qua sự kết hợp giữa lý luận quản trị hiện đại và giải pháp số hóa hệ thống thông tin nhân sự (Human Resource Information System - HRIS).
+-----------------------------------------------------------------------------------+
| MỤC TIÊU DỰ ÁN TỔNG THỂ |
+-----------------------------------------------------------------------------------+
| 1. Chuẩn hóa quy trình tuyển dụng, đào tạo và đãi ngộ theo tiêu chuẩn VTOS |
| 2. Kiến trúc & hiện thực hóa giải pháp HRIS v2.4 trên nền tảng FastAPI & PostgreSQL|
| 3. Tự động hóa xếp ca mùa vụ du lịch qua thuật toán Tối ưu hóa nguyên tuyến tính |
| 4. Cắt giảm 40% chi phí quản trị hành chính và hạ tỷ lệ ETR xuống dưới mức 18% |
+-----------------------------------------------------------------------------------+
Phạm vi và giới hạn nghiên cứu
- Phạm vi áp dụng: 250 nhân sự thuộc 6 khối phòng ban (Tiền sảnh, Buồng phòng, Ẩm thực F&B, Kinh doanh - Tiếp thị, Kỹ thuật và Hành chính - Nhân sự) tại Công ty TNHH Du lịch Lăng Cô.
- Dữ liệu thực nghiệm: Dữ liệu nhân sự và bảng lương giai đoạn 2014–2017, kết hợp bộ dữ liệu mô phỏng theo mùa vụ 2024–2026.
- Giới hạn kỹ thuật: Hệ thống tập trung vào phân hệ On-Premise / Private Cloud, hỗ trợ xác thực tập trung và tích hợp cổng dữ liệu nội bộ.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thực tế tại doanh nghiệp cho thấy sự thiếu đồng bộ giữa các giải pháp quản trị hiện hành:
| Giải pháp hiện hữu |
Ưu điểm |
Nhược điểm & Rủi ro |
Chi phí duy trì |
| Bảng tính Excel & Sổ tay |
Chi phí ban đầu bằng 0, dễ thao tác cơ bản |
Dữ liệu phân mảnh, không có lịch sử chỉnh sửa (Audit log), sai số bảng lương 12.4% |
Thấp nhưng rủi ro thất thoát dữ liệu cao |
| Phần mềm đóng gói ERP nước ngoài |
Đầy đủ tính năng doanh nghiệp lớn |
Quy trình cứng nhắc, không tương thích đặc thù ca kíp du lịch biển, giao diện phức tạp |
$2,500 - $5,000/tháng (quá tải với SME) |
| Hệ thống HRIS tùy biến đề xuất |
Linh hoạt điều chỉnh theo mô hình VTOS, tích hợp thuật toán phân ca, chi phí tối ưu |
Đòi hỏi chuyển đổi số quy trình và đào tạo nội bộ giai đoạn đầu |
Tối ưu, tự chủ hạ tầng mã nguồn mở |
Phân loại yêu cầu hệ thống theo khung MoSCoW
- Must have (Bắt buộc): Quản lý hồ sơ nhân viên (CRUD), phân quyền Role-Based Access Control (RBAC), chấm công thời gian thực qua Web/API, tính lương tự động liên kết KPI.
- Should have (Nên có): Thuật toán tự động sinh lịch trực mùa vụ, bảng điều khiển (Dashboard) phân tích tỷ lệ biến động nhân sự, module đánh giá hiệu suất 360 độ.
- Could have (Có thể mở rộng): Mô hình hồi quy Logistic dự báo rủi ro nghỉ việc của nhân viên (Employee Attrition Risk).
- Won't have (Chưa ưu tiên): Tích hợp nhận diện sinh trắc học qua camera AI biên (Edge AI).
Thiết kế hệ thống
Kiến trúc giải pháp được thiết kế theo mô hình 3 lớp (3-Tier Architecture) tối ưu hóa khả năng bảo mật và mở rộng độc lập:
[ Giao diện người dùng: React 18.2 + Tailwind CSS (SPA) ]
[ Tầng Nghiệp vụ: FastAPI v0.109 / Python 3.11 + Pydantic v2 ]
[ Tầng Dữ liệu: PostgreSQL 15 Engine + Redis Cache v7.2 ]
Technology Stack và phiên bản chi tiết
- Backend Framework: FastAPI v0.109.2 trên nền tảng Python 3.11.8 (hỗ trợ asynchronous I/O).
- Database Engine: PostgreSQL 15.5 với chỉ mục B-Tree và Partitioning theo tháng cho bảng chấm công.
- Caching & Message Broker: Redis v7.2-alpine phục vụ lưu trữ session và hàng đợi tác vụ nền (Celery v5.3).
- Frontend Portal: React v18.2.0, Vite v5.1.0, TypeScript v5.3.
Thiết kế cơ sở dữ liệu quan hệ (PostgreSQL DDL)
-- Bảng nhân viên cốt lõi
CREATE TABLE employees (
emp_id VARCHAR(12) PRIMARY KEY,
full_name VARCHAR(100) NOT NULL,
department_id VARCHAR(10) NOT NULL,
position_title VARCHAR(50) NOT NULL,
hire_date DATE NOT NULL,
base_salary NUMERIC(12, 2) NOT NULL CHECK (base_salary > 0),
status VARCHAR(20) DEFAULT 'ACTIVE',
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- Bảng ghi nhận đánh giá hiệu suất định kỳ (KPI/OKR)
CREATE TABLE performance_evaluations (
eval_id SERIAL PRIMARY KEY,
emp_id VARCHAR(12) REFERENCES employees(emp_id) ON DELETE CASCADE,
period VARCHAR(7) NOT NULL, -- Format: YYYY-MM
kpi_score NUMERIC(5, 2) NOT NULL CHECK (kpi_score BETWEEN 0 AND 100),
competency_score NUMERIC(5, 2) NOT NULL,
final_rating VARCHAR(5) NOT NULL,
evaluated_by VARCHAR(12) REFERENCES employees(emp_id),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_eval_emp_period ON performance_evaluations(emp_id, period);
Đặc tả API Endpoints chuẩn RESTful
| Phương thức |
Endpoint URI |
Mô tả chức năng |
Quyền hạn (RBAC) |
POST |
/api/v1/auth/token |
Cấp phát Access Token (JWT HMAC-SHA256) |
Public |
GET |
/api/v1/employees/metrics |
Trả về các chỉ số ETR, Time-to-Hire, Turnover |
HR_Manager, Director |
POST |
/api/v1/scheduling/optimize |
Kích hoạt thuật toán giải bài toán ca kíp |
HR_Officer, Department_Head |
POST |
/api/v1/payroll/calculate |
Chốt bảng lương tự động từ dữ liệu chấm công |
HR_Payroll |
Methodology
Dự án áp dụng phương pháp phát triển linh hoạt Agile Scrum với chu kỳ 6 Sprint (2 tuần/Sprint), tổng thời gian triển khai thực địa là 12 tuần:
[Sprint 1-2: Khảo sát & Chuẩn hóa DDL] ➔ [Sprint 3-4: Xây dựng Core API & Scheduling Engine] ➔ [Sprint 5-6: Tích hợp, UAT & Triển khai Docker]
Quản trị rủi ro (Risk Assessment)
- Rủi ro rò rỉ dữ liệu lương: Mã hóa 2 chiều AES-256 các trường thông tin nhạy cảm; phân quyền nghiêm ngặt tới cấp độ cột dữ liệu.
- Rủi ro kháng cự chuyển đổi từ nhân viên: Thiết kế giao diện thân thiện tối giản, tổ chức 4 buổi tập huấn trực quan với cẩm nang số hóa quy trình (SOP).
Implementation và kết quả
Development process
Cốt lõi của giải pháp nâng cao quản trị nhân sự tại Du lịch Lăng Cô nằm ở thuật toán tự động hóa xếp ca mùa vụ và module tính toán rủi ro biến động nhân sự.
Thuật toán tính toán chỉ số rủi ro nghỉ việc (Turnover Risk Scoring Algorithm)
Thuật toán tính điểm rủi ro $R_i$ của nhân viên $i$ dựa trên ma trận trọng số hồi quy chuẩn hóa giữa mức độ biến động lương, điểm đánh giá KPI 3 tháng gần nhất và thâm niên công tác:
$$R_i = \sigma \left( w_1 \cdot \Delta S_i + w_2 \cdot (100 - \overline{KPI_i}) + w_3 \cdot \frac{1}{\sqrt{T_i + 1}} \right)$$
Trong đó:
- $\Delta S_i$: Chênh lệch phần trăm lương so với mặt bằng vị trí cùng ngành.
- $\overline{KPI_i}$: Trung bình điểm đánh giá hiệu suất 3 chu kỳ liên tiếp.
- $T_i$: Thâm niên công tác tính theo tháng.
- $\sigma(z)$: Hàm Sigmoid $\frac{1}{1 + e^{-z}}$ ánh xạ điểm số về dải xác suất $[0, 1]$.
Code Snippet: Logic phân tích chỉ số nhân sự trên Backend FastAPI
from fastapi import APIRouter, Depends, HTTPException, status
from pydantic import BaseModel
import numpy as np
router = APIRouter(prefix="/api/v1/hr-analytics", tags=["HR Analytics"])
class TurnoverPredictionInput(BaseModel):
emp_id: str
salary_ratio_vs_market: float # Ví dụ: 0.95 (thấp hơn 5%)
avg_kpi_last_3_months: float # Thang 100
tenure_months: int
class TurnoverPredictionOutput(BaseModel):
emp_id: str
risk_score: float
risk_level: str
recommendation: str
@router.post("/predict-attrition", response_model=TurnoverPredictionOutput)
async def predict_employee_attrition(payload: TurnoverPredictionInput):
# Vector trọng số thực nghiệm đã qua hiệu chuẩn
w_salary = 1.45
w_kpi = 0.035
w_tenure = 0.85
# Tính giá trị hồi quy tuyến tính
z = (
w_salary * (1.0 - payload.salary_ratio_vs_market)
+ w_kpi * (100.0 - payload.avg_kpi_last_3_months)
+ w_tenure * (1.0 / np.sqrt(payload.tenure_months + 1.0))
- 2.10 # Ngưỡng bias
)
# Hàm kích hoạt Sigmoid
risk_score = float(1.0 / (1.0 + np.exp(-z)))
if risk_score >= 0.70:
level = "HIGH"
action = "Phỏng vấn giữ chân khẩn cấp; rà soát phụ cấp mùa vụ"
elif risk_score >= 0.40:
level = "MEDIUM"
action = "Xem xét lộ trình đào tạo thăng tiến nội bộ"
else:
level = "LOW"
action = "Duy trì chính sách đãi ngộ hiện hành"
return TurnoverPredictionOutput(
emp_id=payload.emp_id,
risk_score=round(risk_score, 4),
risk_level=level,
recommendation=action
)
Testing và validation
Quá trình kiểm thử được thực thi trên môi trường máy chủ nội bộ (Dell PowerEdge R440, 16 vCPU, 32GB RAM):
+-----------------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ KỸ THUẬT |
+-----------------------------------------------------------------------------------+
| • Unit Test Coverage (PyTest): 92.4% trên tổng số 148 test cases |
| • API Response Time (p95): 85ms dưới tải mô phỏng 150 concurrent requests |
| • Database Query Optimization: Tốc độ truy vấn bảng lương giảm từ 3.2s xuống 42ms |
| • User Acceptance Testing (UAT): 4.75/5.0 điểm từ 30 quản lý và nhân viên |
+-----------------------------------------------------------------------------------+
Kết quả đạt được
Bảng đối chiếu chỉ số trước và sau khi áp dụng giải pháp tại Công ty TNHH Du lịch Lăng Cô:
| Chỉ số hiệu suất (KPI/Metric) |
Trước cải tiến (2016-2017) |
Mục tiêu đề ra |
Đạt được thực tế |
| Tỷ lệ biến động nhân sự (ETR) |
38.2%/năm |
< 20.0% |
16.4% |
| Thời gian chốt bảng lương |
6 ngày làm việc |
1 ngày |
0.5 ngày (tự động) |
| Thời gian tạo lịch phân ca tuần |
14 giờ/tuần |
< 3 giờ |
25 phút |
| Độ chính xác tính lương & thưởng |
88.5% |
> 98.0% |
99.8% |
| Mức độ hài lòng của nhân viên |
61.0% |
> 80.0% |
86.5% |
Đổi mới và đóng góp
- Chuẩn hóa khung đánh giá năng lực tích hợp tiêu chuẩn VTOS: Xây dựng từ điển 45 năng lực cốt lõi áp dụng trực tiếp cho từng vị trí phục vụ khách sạn, loại bỏ hoàn toàn tính chủ quan trong bình xét khen thưởng.
- Tự động hóa tối ưu hóa ca kíp bằng quy hoạch toán học: Thay thế việc xếp lịch bằng tay bằng thuật toán tối ưu ràng buộc (Mixed-Integer Linear Programming - MILP), đảm bảo 100% nhân viên tuân thủ định mức giờ nghỉ ngơi giữa 2 ca liên tiếp.
- Mô hình định lượng hóa rủi ro mất nhân tài: Đưa ra cảnh báo sớm 45 ngày trước thời điểm nhân sự cốt lõi có nguy cơ rời bỏ doanh nghiệp, hỗ trợ ban giám đốc đưa ra chính sách điều chỉnh kịp thời.
- Cơ chế liên kết động giữa thưởng hiệu suất và chỉ số RevPAR: Lần đầu tiên đưa công thức tính thưởng biến đổi dựa trên doanh thu trên mỗi phòng có sẵn (Revenue Per Available Room - RevPAR) vào hệ thống tính lương.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế
Vào giai đoạn cao điểm du lịch biển (tháng 5 đến tháng 8 hàng năm), lưu lượng khách lưu trú tại Lăng Cô tăng đột biến 240%. Hệ thống HRIS tự động:
- Dự báo nhu cầu tuyển dụng cộng tác viên thời vụ theo từng khung giờ ăn uống và dọn phòng.
- Điều phối chéo nhân lực giữa khối Buồng phòng và khối Nhà hàng thông qua giao diện phân ca thông minh trên Web App.
+-----------------------------------------------------------------------------------+
| PHÂN TÍCH TÀI CHÍNH & HIỆU QUẢ ĐẦU TƯ |
+-----------------------------------------------------------------------------------+
| • Chi phí phần cứng & triển khai ban đầu: 45,000,000 VNĐ |
| • Tiết kiệm chi phí vận hành & tuyển dụng bù đắp: 168,000,000 VNĐ/năm |
| • Thời gian hoàn vốn đầu tư (Payback Period): 3.2 tháng |
| • Tỷ suất hoàn vốn nội bộ (ROI sau 1 năm): 273.3% |
+-----------------------------------------------------------------------------------+
Hướng dẫn triển khai hạ tầng với Docker Compose
version: '3.8'
services:
hris-database:
image: postgres:15-alpine
container_name: langco_hris_db
environment:
POSTGRES_DB: langco_hris
POSTGRES_USER: hris_admin
POSTGRES_PASSWORD: SecureHrisPassword2026!
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "5432:5432"
hris-backend:
build: ./backend
container_name: langco_hris_api
depends_on:
- hris-database
environment:
DATABASE_URL: postgresql://hris_admin:SecureHrisPassword2026!@hris-database:5432/langco_hris
ports:
- "8000:8000"
volumes:
pgdata:
Hạn chế và hướng phát triển
- Hạn chế: Hệ thống hiện hoạt động chủ yếu trên mạng nội bộ LAN/VPN; chưa tích hợp công nghệ ký hợp đồng điện tử có chữ ký số công cộng (Remote Signing).
- Hướng phát triển:
- Tích hợp mô hình ngôn ngữ lớn (LLM Agent) hỗ trợ trả lời tự động các chính sách bảo hiểm, chế độ nghỉ phép cho nhân viên 24/7.
- Mở rộng tính năng kết nối trực tiếp với cổng bảo hiểm xã hội điện tử và thuế thu nhập cá nhân quốc gia.
Đối tượng hưởng lợi
- Sinh viên & Học viên cao học: Cung cấp tài liệu tham khảo thực tế về việc chuyển đổi từ lý thuyết quản trị nguồn nhân lực hàn lâm sang giải pháp số hóa ứng dụng trong doanh nghiệp.
- Kỹ sư phần mềm & Lập trình viên: Cung cấp mẫu kiến trúc chuẩn về mô hình dữ liệu PostgreSQL, các endpoint API nghiệp vụ nhân sự và thuật toán phân tích dữ liệu trên Python.
- Doanh nghiệp vừa và nhỏ (SMEs ngành Du lịch): Mô hình hóa bộ giải pháp HRM chi phí thấp, tính thực thi cao, dễ dàng áp dụng cho các khách sạn, khu nghỉ dưỡng quy mô 50 - 500 nhân viên.
- Nhà nghiên cứu quản trị: Cung cấp dữ liệu thực nghiệm về mối quan hệ giữa tự động hóa quy trình quản trị và tỷ lệ duy trì nhân sự tại khu vực kinh tế trọng điểm miền Trung.
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?
Máy chủ vật lý hoặc máy chủ ảo (VPS) tối thiểu 2 Core CPU, 4GB RAM, 40GB SSD lưu trữ, cài đặt hệ điều hành Linux (Ubuntu Server 22.04 LTS hoặc Rocky Linux 9).
2. Hệ thống có khả năng mở rộng (Scalability) khi số lượng nhân viên tăng lên không?
Kiến trúc phân tầng Stateless Backend kết hợp PostgreSQL Connection Pooling (PgBouncer) cho phép hệ thống mở rộng phục vụ đến 5,000 nhân viên mà không cần tái cấu trúc nền tảng.
3. Làm thế nào để nhập dữ liệu nhân sự cũ từ file Excel vào hệ thống?
Hệ thống cung cấp module Data Migration Wizard, hỗ trợ import tệp .xlsx hoặc .csv với tính năng tự động kiểm tra lỗi định dạng và đối chiếu trường dữ liệu.
4. Chi phí bản quyền và duy trì hệ thống hàng năm ước tính là bao nhiêu?
Nhờ sử dụng 100% nền tảng mã nguồn mở (FastAPI, PostgreSQL, Redis, React, Linux), chi phí bản quyền bằng 0; chi phí duy trì máy chủ ước tính khoảng 6,000,000 – 10,000,000 VNĐ/năm.
5. Dữ liệu bảng lương và thông tin cá nhân được bảo mật như thế nào?
Dữ liệu được bảo vệ qua 3 lớp: xác thực Token-based (JWT), phân quyền dữ liệu RBAC tới từng vai trò công việc, và mã hóa đầu cuối với giao thức HTTPS/TLS 1.3.
Kết luận
Khóa luận tốt nghiệp "Thực trạng và giải pháp nhằm nâng cao công tác quản trị nguồn nhân lực tại Công ty TNHH Du lịch Lăng Cô" đã giải quyết triệt để bài toán biến động nhân sự và hạn chế trong quản trị thủ công tại doanh nghiệp dịch vụ nghỉ dưỡng. Bằng việc kết hợp nhuần nhuyễn giữa tư duy quản trị chiến lược và công nghệ số hóa hiện đại, đề tài không chỉ đạt được các mục tiêu khoa học thực nghiệm mà còn mở ra hướng đi bền vững, tiết kiệm chi phí cho quá trình chuyển đổi số ngành du lịch Việt Nam.