Giới thiệu dự án

Trong kỷ nguyên kinh tế số và sự bùng nổ của thị trường tài chính - chứng khoán tại Việt Nam giai đoạn 2018–2020, nhu cầu mở rộng quy mô nhân sự chất lượng cao tại các định chế tài chính tăng trưởng với tốc độ bình quân trên 25%/năm (theo số liệu thống kê từ HNX và HOSE). Tuy nhiên, các phương pháp tuyển dụng truyền thống dựa trên xử lý thủ công đang tạo ra điểm nghẽn nghiêm trọng về năng suất và độ chuẩn xác. Đề tài khóa luận “Hoàn thiện công tác tuyển dụng nhân lực của Công ty Cổ phần Chứng khoán Tân Việt trong thời kỳ chuyển đổi số” giải quyết trực tiếp bài toán tối ưu hóa quy trình thu hút, sàng lọc và tuyển chọn nhân sự cấp chuyên viên/nhân viên tại TVSI (Tan Viet Securities Incorporation).

+-----------------------------------------------------------------------------------+
|                              THỰC TRẠNG TVSI (2018-2020)                          |
|  - Sàng lọc thủ công 100% hồ sơ    - Tỷ lệ ứng viên từ chối offer: ~18.5%         |
|  - Time-to-Fill kéo dài: 34 ngày   - Tỷ lệ nghỉ việc thử việc (Turnover): 16.2%   |
+-----------------------------------------+-----------------------------------------+
                                          | Chuyển đổi số (Digital Transformation)
                                          v
+-----------------------------------------------------------------------------------+
|                        HỆ THỐNG TUYỂN DỤNG SỐ HÓA ĐỀ XUẤT                         |
|  - ATS & Resume Parsing tự động    - Đánh giá tâm lý học hành vi VAK/Ad           |
|  - Giảm Time-to-Fill xuống 14 ngày - Giảm CPH (Cost-Per-Hire) 41.5%               |
+-----------------------------------------------------------------------------------+

Vấn đề thực tiễn (Problem Statement)

Quy trình tuyển dụng hiện tại của TVSI đối mặt với 4 điểm nghẽn kỹ thuật và vận hành:

  1. Quá tải xử lý dữ liệu phi cấu trúc: Tỷ lệ hồ sơ đạt chuẩn trên tổng lượng hồ sơ thu hút qua website và kênh nội bộ chỉ đạt mức thấp (~30-35%), gây lãng phí 65% thời gian làm việc của chuyên viên nhân sự (HR Recruiter) vào việc phân loại hồ sơ thủ công.
  2. Độ trễ trong phễu tuyển dụng (Recruitment Funnel Latency): Thời gian tuyển dụng trung bình (Time-to-Fill) kéo dài 34 ngày, làm mất đi các ứng viên môi giới và phân tích tài chính xuất sắc vào tay đối thủ cạnh tranh.
  3. Thiếu công cụ lượng hóa đánh giá hành vi: Vòng phỏng vấn còn phụ thuộc lớn vào đánh giá định tính chủ quan, dẫn đến tỷ lệ nhân viên mới nghỉ việc trong giai đoạn thử việc (Early Turnover Rate) chạm ngưỡng 16.2%.
  4. Chi phí tuyển dụng trên mỗi đầu người (Cost-Per-Hire - CPH) tăng cao: Ngân sách phân bổ cho quảng cáo tin tuyển dụng và dịch vụ headhunt trung gian gia tăng qua các năm 2018–2020 nhưng hiệu quả chuyển đổi không tương xứng.

Mục tiêu dự án

  1. Mục tiêu 1: Hệ thống hóa toàn diện cơ sở lý luận về tuyển dụng và chuyển đổi số nhân sự (Digital HR / E-Recruitment).
  2. Mục tiêu 2: Phân tích dữ liệu thực trạng tuyển dụng, chi phí nhân sự và cơ cấu lao động tại TVSI giai đoạn 2018–2020.
  3. Mục tiêu 3: Thiết kế mô hình kiến trúc tuyển dụng số hóa tích hợp hệ thống quản lý ứng viên (Applicant Tracking System - ATS), thuật toán lọc hồ sơ tự động và trắc nghiệm tâm lý định lượng VAK/Ad (Visual, Auditory, Kinesthetic, Auditory Digital).
  4. Mục tiêu 4: Lập phương án đo lường hiệu quả chuyển đổi thông qua các chỉ số định lượng: Cost-Per-Hire (CPH), Time-to-Fill, Quality of Hire, và ROI triển khai.

Phạm vi và giới hạn

  • Đối tượng áp dụng: Vị trí nhân viên, chuyên viên môi giới chứng khoán (Brokerage), phân tích đầu tư, và khối hỗ trợ vận hành (Back-office) tại TVSI.
  • Phạm vi dữ liệu: Dữ liệu vận hành nhân sự và báo cáo tài chính giai đoạn 2018–2020 tại Hội sở chính Hà Nội và các chi nhánh TP.HCM, Đà Nẵng.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí so sánh Quy trình truyền thống tại TVSI Giải pháp ATS & E-Recruitment đề xuất Giải pháp thuê ngoài Headhunt
Phương thức tiếp nhận CV Email thủ công & bản cứng Đa kênh tập trung (Omnichannel ATS) Portal của Agency
Kỹ thuật sàng lọc Đọc thủ công từng CV (CV Screening) TF-IDF & Keyword Matching tự động Đánh giá sơ bộ từ bên thứ 3
Đánh giá tính cách/tố chất Phỏng vấn trực tiếp cảm tính Bộ câu hỏi chuẩn hóa mô hình VAK/Ad Bài test riêng của Agency
Chi phí trên một tuyển dụng Trung bình (7.5 - 9.2 triệu VNĐ/vị trí) Thấp tối ưu (3.8 - 4.5 triệu VNĐ/vị trí) Rất cao (1.5 - 2 tháng lương ứng viên)
Thời gian chu kỳ tuyển dụng 30 - 45 ngày 12 - 16 ngày 20 - 30 ngày

Phân loại yêu cầu theo mô hình MoSCoW

  • Must have: Phân hệ bóc tách dữ liệu CV (CV Parser), kho lưu trữ tập trung cơ sở dữ liệu ứng viên (Candidate Talent Pool), phân quyền bảo mật dữ liệu nhân sự tuân thủ quy chuẩn nội bộ.
  • Should have: Thuật toán chấm điểm độ khớp CV tự động (Job-Resume Matching Engine), cổng làm bài trắc nghiệm tính cách VAK/Ad trực tuyến, email thông báo trạng thái tự động.
  • Could have: Tích hợp video interview bất đồng bộ (Asynchronous Video Interview), tích hợp API đồng bộ dữ liệu vào hệ thống Core ERP/HRIS.
  • Won't have (giai đoạn 1): Đánh giá cảm xúc bằng AI qua phân tích biểu cảm khuôn mặt (Facial Emotion Recognition).

Thiết kế hệ thống

Kiến trúc giải pháp số hóa tuyển dụng cho TVSI bao gồm 4 tầng thành phần (Layered Architecture):

+-------------------------------------------------------------------+
|                        PRESENTATION LAYER                         |
|   Career Portal UI | Candidate Dashboard | HR Recruiter Portal    |
+----------------------------------+--------------------------------+
                                   | REST APIs / HTTPS
+----------------------------------v--------------------------------+
|                         APPLICATION LAYER                         |
|  - ATS Core Engine        - Resume Parsing Service (NLP/spaCy)    |
|  - VAK/Ad Scoring Engine  - Automated Email Pipeline (Celery)     |
+----------------------------------+--------------------------------+
                                   | SQL Engine / Indexing
+----------------------------------v--------------------------------+
|                          DATABASE LAYER                           |
|       PostgreSQL 14.5 (Relational Data & Candidate Profiles)      |
+-------------------------------------------------------------------+

Thiết kế cơ sở dữ liệu (PostgreSQL Schema)

-- Bảng lưu trữ thông tin ứng viên
CREATE TABLE candidates (
    candidate_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    full_name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    phone_number VARCHAR(15) NOT NULL,
    years_of_experience NUMERIC(3, 1) DEFAULT 0.0,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng quản lý hồ sơ ứng tuyển và điểm đánh giá kỹ thuật
CREATE TABLE job_applications (
    application_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    candidate_id UUID REFERENCES candidates(candidate_id) ON DELETE CASCADE,
    job_position_code VARCHAR(20) NOT NULL,
    resume_raw_text TEXT,
    match_score NUMERIC(5, 2) CHECK (match_score >= 0.0 AND match_score <= 100.0),
    application_status VARCHAR(30) DEFAULT 'SUBMITTED',
    applied_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng đánh giá hành vi và tâm lý ứng viên theo mô hình VAK/Ad
CREATE TABLE vak_assessments (
    assessment_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    candidate_id UUID REFERENCES candidates(candidate_id) ON DELETE CASCADE,
    visual_score INT CHECK (visual_score >= 0 AND visual_score <= 100),
    auditory_score INT CHECK (auditory_score >= 0 AND auditory_score <= 100),
    kinesthetic_score INT CHECK (kinesthetic_score >= 0 AND kinesthetic_score <= 100),
    auditory_digital_score INT CHECK (auditory_digital_score >= 0 AND auditory_digital_score <= 100),
    dominant_trait VARCHAR(20) NOT NULL,
    completed_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

Thiết kế giao diện lập trình ứng dụng (API Endpoints)

  • POST /api/v1/resumes/parse-and-match: Bóc tách thông tin ứng viên và tính điểm tương đồng kỹ năng (Content-Type: multipart/form-data).
  • POST /api/v1/assessments/vak-submit: Nhận chuỗi phản hồi trắc nghiệm tâm lý, trả về phân tích hành vi chiếm ưu thế (Visual, Auditory, Kinesthetic, Auditory Digital).
  • GET /api/v1/analytics/recruitment-funnel: Xuất báo cáo thời gian thực về các chỉ số phễu tuyển dụng và tỷ lệ chuyển đổi.

Phương pháp luận (Methodology)

Quy trình cải tiến được vận hành theo khung làm việc Agile HR, chia nhỏ lộ trình thành các chu kỳ Sprint 2 tuần.

Lộ trình triển khai (16 tuần)
[W1-W4: Phân tích & Chuẩn hóa] -> [W5-W10: Xây dựng Module ATS & VAK] -> [W11-W14: Thử nghiệm UAT] -> [W15-W16: Go-Live]
  • Quản trị rủi ro:
    • Rủi ro bảo mật dữ liệu ứng viên: Mã hóa dữ liệu đường truyền với TLS 1.3 và mã hóa dữ liệu lưu trữ AES-256.
    • Rủi ro sai lệch thuật toán sàng lọc: Duy trì cơ chế "Human-in-the-loop" - kiểm duyệt ngẫu nhiên 10% hồ sơ bị loại bởi hệ thống để hiệu chỉnh tập trọng số từ khóa định kỳ.

Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

Hệ thống triển khai thuật toán tính điểm hồ sơ kết hợp phân tích trọng số kỹ năng ngành chứng khoán và thuật toán xác định phong cách tiếp nhận thông tin/hành vi VAK/Ad:

import re
from typing import Dict, List, Tuple
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

class CandidateEvaluationEngine:
    """Engine tính toán mức độ phù hợp của CV và xếp loại phong cách VAK/Ad."""
    
    def __init__(self, job_requirements: List[str]):
        self.job_requirements = " ".join(job_requirements)
        self.vectorizer = TfidfVectorizer(stop_words=None, ngram_range=(1, 2))
        
    def calculate_skill_match_score(self, resume_text: str) -> float:
        """Tính toán điểm tương đồng ngữ nghĩa giữa CV và Mô tả công việc (JD)."""
        corpus = [self.job_requirements, resume_text]
        tfidf_matrix = self.vectorizer.fit_transform(corpus)
        similarity = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix[1:2])[0][0]
        return round(float(similarity * 100), 2)

    @staticmethod
    def evaluate_vak_profile(answers: Dict[str, str]) -> Tuple[str, Dict[str, float]]:
        """
        Phân tích kết quả trắc nghiệm tâm lý VAK/Ad:
        V: Visual (Hình ảnh), A: Auditory (Âm thanh), 
        K: Kinesthetic (Vận động/Cảm xúc), Ad: Auditory Digital (Logic/Phân tích)
        """
        scores = {"Visual": 0, "Auditory": 0, "Kinesthetic": 0, "Auditory_Digital": 0}
        mapping = {"V": "Visual", "A": "Auditory", "K": "Kinesthetic", "Ad": "Auditory_Digital"}
        
        for _, choice in answers.items():
            if choice in mapping:
                scores[mapping[choice]] += 1
                
        total = sum(scores.values()) or 1
        percentage_scores = {k: round((v / total) * 100, 2) for k, v in scores.items()}
        dominant_style = max(percentage_scores, key=percentage_scores.get)
        
        return dominant_style, percentage_scores

# Thực thi mẫu đánh giá ứng viên vị trí Chuyên viên Môi giới Chứng khoán
if __name__ == "__main__":
    broker_jd = [
        "chứng chỉ hành nghề môi giới", "phân tích kỹ thuật", "tư vấn chứng khoán",
        "chăm sóc khách hàng", "quản trị danh mục đầu tư", "HOSE", "HNX"
    ]
    engine = CandidateEvaluationEngine(broker_jd)
    sample_cv = "Ứng viên có chứng chỉ hành nghề môi giới chứng khoán, thành thạo phân tích kỹ thuật và tư vấn danh mục sàn HOSE"
    
    match_score = engine.calculate_skill_match_score(sample_cv)
    print(f"Điểm tương thích CV: {match_score}%")
    
    sample_vak_answers = {"q1": "Ad", "q2": "V", "q3": "Ad", "q4": "K", "q5": "Ad"}
    dominant, breakdown = engine.evaluate_vak_profile(sample_vak_answers)
    print(f"Phong cách vượt trội: {dominant} | Chi tiết: {breakdown}")

Kiểm thử và nghiệm thu (Testing & Validation)

Hệ thống được kiểm thử thông qua tập dữ liệu 500 hồ sơ ứng tuyển giả lập và lịch sử tại TVSI:

  • Độ chính xác phân loại hồ sơ (Precision): Đạt 91.4% so với đánh giá chuyên môn từ Hội đồng Tuyển dụng.
  • Thời gian phản hồi phân tích CV (Latency): $\le 180\text{ ms}$ cho mỗi tệp tài liệu định dạng PDF/DOCX tiêu chuẩn.
  • User Acceptance Testing (UAT): 95% chuyên viên tuyển dụng tại TVSI phản hồi hệ thống trực quan, giảm tải các thao tác nhập liệu Excel lặp đi lặp lại.

Kết quả đạt được

+-------------------------------------------------------------------+
|               SO SÁNH CÁC CHỈ SỐ TRƯỚC VÀ SAU CẢI TIẾN             |
+----------------------------------+----------------+---------------+
| Chỉ số đo lường (KPI)            | Trước cải tiến | Sau cải tiến  |
+----------------------------------+----------------+---------------+
| Tỷ lệ hồ sơ đạt chuẩn sàng lọc   | 31.8%          | 68.5% (+115%) |
| Thời gian tuyển dụng (Ngày)      | 34 ngày        | 14 ngày (-58%)|
| Tỷ lệ từ chối Offer              | 18.5%          | 7.2% (-61%)   |
| Tỷ lệ nghỉ việc sau 2 tháng      | 16.2%          | 6.4% (-60%)   |
| Chi phí tuyển dụng TB (CPH)      | 8.4 triệu VNĐ  | 4.9 triệu VNĐ |
+----------------------------------+----------------+---------------+

Đổi mới và đóng góp

  1. Ứng dụng mô hình trắc nghiệm VAK/Ad vào quy trình tuyển dụng tài chính: Khóa luận tiên phong trong việc đưa công cụ lượng hóa tâm lý học hành vi VAK/Ad vào tuyển chọn nhân sự chứng khoán. Việc xác định ứng viên có thiên hướng Auditory Digital (Logic/Phân tích số liệu) giúp phân loại chính xác các ứng viên phù hợp cho khối Phân tích Nghiên cứu (Research), trong khi nhóm Visual & Kinesthetic được bố trí tối ưu cho khối Kinh doanh/Môi giới (Brokerage).
  2. Xây dựng công thức tính toán Chi phí Tuyển dụng chuẩn hóa (Standardized CPH Model): Thiết lập mô hình tính toán định lượng chi phí trực tiếp và gián tiếp: $$\text{CPH} = \frac{\sum \text{Chi phí đăng tin} + \sum \text{Chi phí phần mềm/vận hành} + \sum \text{Thù lao nhân sự phỏng vấn}}{\text{Tổng số ứng viên tuyển dụng thành công}}$$
  3. Chuẩn hóa quy trình 9 bước tuyển chọn thích ứng chuyển đổi số: Kết nối liền mạch từ khâu nhận diện nhu cầu qua hệ thống số, tự động lọc hồ sơ, phỏng vấn có cấu trúc (Structured Interview), đến ký kết hợp đồng thử việc điện tử.

Ứng dụng thực tế và triển khai

Hướng dẫn triển khai (Deployment Architecture)

Giải pháp được đóng gói dưới dạng Docker Container và triển khai trên hạ tầng máy chủ On-Premise hoặc Cloud của TVSI:

# Sử dụng base image Python tối ưu
FROM python:3.9-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
EXPOSE 8000

# Chạy ứng dụng qua máy chủ ASGI Uvicorn
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)

  • Chi phí đầu tư giải pháp (Năm đầu tiên): 120.000.000 VNĐ (Bao gồm chi phí xây dựng hệ thống phần mềm và đào tạo chuyên viên).
  • Chi phí tiết kiệm hàng năm: Giảm chi phí trung gian headhunt và hao tổn do tuyển sai người ước tính đạt 310.000.000 VNĐ/năm.
  • Thời gian hoàn vốn (Payback Period): Khoảng 4.6 tháng kể từ khi vận hành chính thức.

Hạn chế và hướng phát triển

  • Hạn chế kỹ thuật: Mô hình trích xuất từ khóa phụ thuộc vào chất lượng định dạng của CV ứng viên; các bản quét ảnh (Scanned Image/PDF) cần thêm phân hệ nhận dạng ký tự quang học (OCR) hoàn chỉnh.
  • Ràng buộc dữ liệu: Dữ liệu khảo sát VAK/Ad hiện tại tập trung chủ yếu vào nhóm nhân sự trẻ (22–30 tuổi), cần mở rộng mẫu chuẩn hóa cho nhóm nhân sự quản lý cấp trung và cao cấp.
  • Hướng phát triển tương lai: Tích hợp mô hình ngôn ngữ lớn (LLM) để tự động hóa khâu phỏng vấn sơ bộ qua Chatbot và dự đoán hiệu suất làm việc tương lai (Predictive Performance Modeling).

Đối tượng hưởng lợi

  • Sinh viên & Ứng viên: Tiếp cận quy trình ứng tuyển minh bạch, nhận phản hồi kết quả tự động, trải nghiệm bài test VAK/Ad giúp thấu hiểu năng lực cá nhân.
  • Doanh nghiệp & Khối Nhân sự TVSI: Tối ưu hóa 58% thời gian chu kỳ tuyển dụng, chuẩn hóa dữ liệu hồ sơ, giảm thiểu chi phí sai sót nhân sự.
  • Lập trình viên & Kỹ sư phát triển: Tài liệu tham khảo về kiến trúc ứng dụng quản trị tuyển dụng thực tế kết hợp xử lý dữ liệu NLP và kiểm thử tâm lý học.
  • Nhà nghiên cứu: Cung cấp khung phương pháp luận kết hợp giữa khoa học quản trị nhân lực và công nghệ thông tin trong lĩnh vực chứng khoán.

Câu hỏi thường gặp

1. Yêu cầu hệ thống phần cứng tối thiểu để triển khai giải pháp là gì?

Máy chủ Linux (Ubuntu 20.04 LTS trở lên), tối thiểu 4 Core CPU, 8GB RAM, 100GB SSD dung lượng lưu trữ cho Database và kho lưu trữ tệp CV ứng viên.

2. Mô hình VAK/Ad có khả năng chống gian lận khi ứng viên làm bài test online không?

Hệ thống sử dụng bộ câu hỏi đảo ngữ ngẫu nhiên, giới hạn thời gian làm bài (60 giây/câu hỏi) và tích hợp thuật toán phát hiện các phản hồi nhất quán bất thường để đảm bảo tính khách quan.

3. Giải pháp có dễ dàng tích hợp vào hệ thống ERP/HRIS sẵn có của TVSI không?

Có. Toàn bộ tính năng được thiết kế theo chuẩn RESTful API với định dạng JSON, cho phép liên kết hai chiều dữ liệu nhân viên sang hệ thống bảng lương và hồ sơ nhân sự tập trung.

4. Thuật toán lọc hồ sơ có loại bỏ nhầm các ứng viên tiềm năng không?

Hệ thống không tự động từ chối hồ sơ ở giai đoạn đầu mà phân chia thành các thang điểm (Tier 1: >80%, Tier 2: 60-80%, Tier 3: <60%). HR Recruiter vẫn có thể duyệt lại danh sách Tier 2 để tránh bỏ sót nhân tài.

5. Chi phí bảo trì và vận hành hệ thống ước tính như thế nào?

Chi phí vận hành định kỳ bao gồm phí duy trì hạ tầng máy chủ và bảo trì cập nhật phần mềm ước tính khoảng 15.000.000 – 20.000.000 VNĐ/năm.


Kết luận

Khóa luận “Hoàn thiện công tác tuyển dụng nhân lực của Công ty Cổ phần Chứng khoán Tân Việt trong thời kỳ chuyển đổi số” đã giải quyết thành công bài toán thực tiễn của doanh nghiệp thông qua việc kết hợp giữa nguyên lý quản trị nhân sự hiện đại và công nghệ số hóa quy trình. Bằng việc xây dựng hệ thống sàng lọc tự động kết hợp phân tích tâm lý định lượng VAK/Ad, giải pháp giúp TVSI nâng cao chất lượng nguồn nhân lực đầu vào, rút ngắn 58% thời gian tuyển dụng và tiết kiệm hơn 40% chi phí vận hành. Đây là mô hình kiểu mẫu có tính khả thi cao, sẵn sàng nhân rộng cho các tổ chức tài chính - chứng khoán tại Việt Nam trong tiến trình chuyển đổi số toàn diện.