Giới thiệu dự án

Bối cảnh và nền tảng

Ngành thép tại Việt Nam, đặc biệt là phân khúc doanh nghiệp vừa và nhỏ (SME), đang đối mặt với áp lực cạnh tranh gay gắt. Theo báo cáo của Hiệp hội Thép Việt Nam (VSA), các doanh nghiệp trong nước chiếm khoảng 65% thị phần, nhưng phần lớn hoạt động theo phương thức truyền thống, thiếu sự hỗ trợ của công nghệ. Tại các công ty thương mại như Nguyễn Minh, hoạt động bán hàng chủ yếu dựa vào các công cụ phi tập trung như Excel, Zalo, và ghi chép thủ công. Tình trạng này dẫn đến thất thoát dữ liệu, quy trình báo giá chậm trễ, và thiếu khả năng phân tích kinh doanh để đưa ra quyết định chiến lược.

Vấn đề cốt lõi

Công ty TNHH Thương mại và Dịch vụ Thép Nguyễn Minh đang gặp phải các vấn đề cụ thể trong quy trình bán hàng:

  • Quản lý dữ liệu phân mảnh: Thông tin khách hàng, lịch sử giao dịch, và các tương tác được lưu trữ trên nhiều file Excel và tài khoản Zalo cá nhân của nhân viên kinh doanh. Điều này gây khó khăn trong việc truy xuất, đồng bộ và dẫn đến nguy cơ mất dữ liệu khi nhân sự thay đổi.
  • Quy trình báo giá thủ công: Việc tạo một báo giá chi tiết đòi hỏi nhân viên phải tra cứu giá, tính toán chiết khấu, và soạn thảo văn bản thủ công, mất trung bình 30-45 phút cho mỗi báo giá, làm giảm tốc độ phản hồi khách hàng.
  • Thiếu insight từ dữ liệu: Doanh nghiệp không có công cụ để tổng hợp và trực quan hóa dữ liệu bán hàng. Các câu hỏi quan trọng như "Khách hàng nào mang lại lợi nhuận cao nhất?" hay "Sản phẩm nào bán chạy nhất trong quý?" không thể được trả lời một cách nhanh chóng và chính xác.
  • Không có chiến lược chăm sóc khách hàng cá nhân hóa: Mọi khách hàng đều nhận được sự chăm sóc như nhau, thiếu các chiến dịch marketing và bán hàng nhắm vào từng phân khúc cụ thể dựa trên hành vi mua hàng.

Mục tiêu dự án

  1. Số hóa và tập trung hóa 100% dữ liệu khách hàng và lịch sử giao dịch vào một hệ thống duy nhất.
  2. Xây dựng hệ thống CRM (Customer Relationship Management) web-based để quản lý toàn bộ vòng đời khách hàng, từ tiếp cận ban đầu đến chăm sóc sau bán hàng.
  3. Tự động hóa quy trình tạo báo giá, giảm thời gian tạo một báo giá hoàn chỉnh xuống dưới 5 phút.
  4. Tích hợp module Phân tích dữ liệu thông minh (Business Intelligence - BI) để trực quan hóa các chỉ số hiệu suất kinh doanh (KPIs) và hỗ trợ ra quyết định.
  5. Áp dụng thuật toán học máy (Machine Learning) để tự động phân khúc khách hàng, giúp cá nhân hóa các chiến dịch bán hàng và marketing.

Hướng tiếp cận giải pháp

Dự án đề xuất xây dựng một Hệ thống CRM và Phân tích Dữ liệu Bán hàng Tích hợp AI chuyên biệt cho ngành thép. Giải pháp này không chỉ là một phần mềm quản lý quan hệ khách hàng thông thường mà còn là một công cụ hỗ trợ ra quyết định mạnh mẽ.

  • Lý do chọn: Thay vì sử dụng các giải pháp CRM đắt đỏ và phức tạp như Salesforce, một hệ thống "may đo" sẽ giải quyết đúng các bài toán đặc thù của ngành thép (ví dụ: quản lý sản phẩm theo quy cách, đơn vị tính tấn/kg, biến động giá liên tục) với chi phí tối ưu cho SME. Việc tích hợp AI sẽ tạo ra lợi thế cạnh tranh bền vững.

Kết quả kỳ vọng

  • Giảm 80% thời gian cần thiết để tạo và gửi báo giá cho khách hàng.
  • Tăng 15% tỷ lệ chuyển đổi từ khách hàng tiềm năng thành khách hàng thực tế nhờ tối ưu hóa quy trình theo dõi.
  • Tăng 20% mức độ hài lòng của khách hàng thông qua việc phản hồi nhanh và chăm sóc cá nhân hóa.
  • Cung cấp báo cáo hiệu suất bán hàng tự động theo thời gian thực, giảm thời gian tổng hợp báo cáo thủ công từ hàng ngày xuống còn vài giây.

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

  • Trong phạm vi:
    • Quản lý thông tin khách hàng (doanh nghiệp và cá nhân).
    • Quản lý cơ hội bán hàng và giao dịch.
    • Tự động hóa tạo báo giá.
    • Dashboard phân tích KPIs bán hàng.
    • Module phân khúc khách hàng bằng AI.
  • Ngoài phạm vi:
    • Quản lý kho, kế toán, nhân sự.
    • Tích hợp với các sàn thương mại điện tử.
    • Ứng dụng di động (mobile app).

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

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

Phân tích giải pháp hiện tại

Giải pháp Ưu điểm Nhược điểm
Excel + Zalo - Chi phí bằng 0.
- Dễ sử dụng, không cần đào tạo.
- Dữ liệu phân mảnh, không nhất quán.
- Rủi ro bảo mật và mất mát dữ liệu cao.
- Không có khả năng tự động hóa, phân tích.
- Khó làm việc nhóm.
CRM quốc tế (Salesforce, HubSpot) - Tính năng toàn diện, mạnh mẽ.
- Độ tin cậy và bảo mật cao.
- Hệ sinh thái hỗ trợ lớn.
- Chi phí bản quyền rất cao, không phù hợp với SME.
- Quá phức tạp, khó tùy chỉnh cho đặc thù ngành thép.
- Rào cản ngôn ngữ và hỗ trợ kỹ thuật.
CRM Việt Nam (MISA AMIS, Getfly) - Chi phí hợp lý hơn.
- Giao diện thân thiện, hỗ trợ tiếng Việt.
- Ít tùy biến cho ngành B2B đặc thù như thép.
- Khả năng phân tích và tích hợp AI còn hạn chế.

Nghiên cứu thị trường và đối thủ cạnh tranh

Các đối thủ trong ngành thép của Nguyễn Minh phần lớn vẫn hoạt động theo mô hình truyền thống. Một số ít doanh nghiệp lớn hơn có sử dụng phần mềm ERP nhưng chi phí triển khai lên tới hàng trăm triệu đồng. Khoảng trống thị trường nằm ở một giải pháp CRM thông minh, chi phí thấp, dễ triển khai, và giải quyết đúng "nỗi đau" của các SME ngành thép.

Yêu cầu người dùng (MoSCoW)

  • Must Have:
    • Quản lý thông tin liên hệ khách hàng.
    • Ghi nhận lịch sử tương tác (cuộc gọi, email, gặp mặt).
    • Tạo và quản lý báo giá.
    • Dashboard xem doanh số theo nhân viên/thời gian.
  • Should Have:
    • Phân quyền người dùng (Sales, Manager).
    • Tự động gửi email nhắc nhở follow-up.
    • Module phân tích khách hàng (RFM - Recency, Frequency, Monetary).
  • Could Have:
    • Tích hợp AI để gợi ý sản phẩm bán chéo (cross-sell).
    • Tích hợp chatbot hỗ trợ cơ bản.
  • Won't Have (this version):
    • Mobile app.
    • Tích hợp tổng đài VoIP.

Ràng buộc và thách thức kỹ thuật

  • Dữ liệu giá thép biến động hàng ngày, đòi hỏi hệ thống phải có cơ chế cập nhật giá linh hoạt.
  • Cần xây dựng giao diện người dùng (UI) đơn giản, trực quan cho đối tượng không rành về công nghệ.
  • Đảm bảo an toàn, bảo mật cho dữ liệu kinh doanh nhạy cảm của công ty.

Phân tích khoảng trống (Gap Analysis)

Khoảng trống lớn nhất là sự thiếu vắng một công cụ kết hợp được quản lý vận hành bán hàngphân tích dữ liệu thông minh với chi phí hợp lý cho SME. Giải pháp đề xuất sẽ lấp đầy khoảng trống này bằng cách cung cấp một nền tảng "all-in-one" được thiết kế riêng cho ngành thép.

Thiết kế hệ thống

Thiết kế kiến trúc

Hệ thống được thiết kế theo kiến trúc Microservices, bao gồm các thành phần chính:

  • Frontend (Client): Giao diện người dùng xây dựng bằng React, chịu trách nhiệm hiển thị dữ liệu và tương tác với người dùng.
  • Backend (Gateway API): Một Node.js server đóng vai trò là cổng chính, xác thực người dùng và điều hướng các yêu cầu đến các service phù hợp.
  • Customer Service: Quản lý mọi nghiệp vụ liên quan đến khách hàng và báo giá.
  • Analytics Service: Một service Python (sử dụng Flask/FastAPI) chuyên xử lý các tác vụ phân tích dữ liệu và chạy mô hình Machine Learning.
+----------------+      +------------------+      +-------------------+
|   React App    |----->|   API Gateway    |----->|  Customer Service |
| (End User UI)  |      |   (Node.js)      |      |     (Node.js)     |
+----------------+      | (Authentication) |      +---------+---------+
                        +--------+---------+                |
                                 |                          |
                                 |             +------------v------------+
                                 |             |      MongoDB Atlas      |
                                 |             +-------------------------+
                                 |
                                 |             +-------------------+
                                 +------------>| Analytics Service |
                                               |     (Python)      |
                                               +-------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Frontend: React.js v18.2.0, Redux Toolkit, Ant Design
  • Backend: Node.js v18.17.1, Express.js v4.18.2
  • Database: MongoDB v6.0 (sử dụng dịch vụ cloud MongoDB Atlas)
  • Machine Learning: Python v3.10, Scikit-learn v1.3.0, Pandas
  • Authentication: JSON Web Tokens (JWT)
  • Deployment: Docker, Nginx, AWS EC2

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

Ví dụ lược đồ cho collection customers:

{
  "_id": ObjectId("..."),
  "companyName": "Công ty Cổ phần Xây dựng ABC",
  "taxCode": "0102030405",
  "address": "123 Đường Láng, Đống Đa, Hà Nội",
  "contactPerson": "Nguyễn Văn A",
  "phone": "0912345678",
  "email": "a.nguyen@abc.com",
  "salesRepId": ObjectId("..."), // ID của nhân viên kinh doanh phụ trách
  "createdAt": ISODate("..."),
  "updatedAt": ISODate("..."),
  "segment": "VIP" // Được gán bởi module AI
}

Thiết kế API

Endpoint để tạo một báo giá mới:

  • POST /api/v1/quotes
  • Authorization: Bearer Token (JWT)
  • Request Body:
{
  "customerId": "63f8b9a9c8d1e2a3b4c5d6e7",
  "items": [
    {
      "productId": "507f1f77bcf86cd799439011",
      "quantity": 10.5, // tấn
      "unitPrice": 15500000 // VND/tấn
    }
  ],
  "validUntil": "2023-12-31T23:59:59Z",
  "notes": "Giao hàng tại công trình XYZ."
}
  • Success Response (201 Created):
{
  "message": "Quote created successfully",
  "quoteId": "Q-2023-11-00123"
}

Cân nhắc bảo mật

  • Mọi kết nối đều phải sử dụng HTTPS.
  • Mật khẩu người dùng được băm (hash) bằng bcrypt.
  • Sử dụng JWT cho việc xác thực và phân quyền API.
  • Dữ liệu nhạy cảm được mã hóa khi lưu trữ.

Yêu cầu hiệu năng

  • Thời gian phản hồi của tất cả API phải dưới 200ms.
  • Dashboard phải tải và hiển thị dữ liệu trong vòng 3 giây.
  • Hệ thống phải hỗ trợ đồng thời 50 người dùng.

Phương pháp luận

  • Phương pháp phát triển: Agile (Scrum) với các chu kỳ (sprint) kéo dài 2 tuần.
  • Timeline dự án (4 tháng):
    • Tháng 1: Phân tích yêu cầu, thiết kế hệ thống, setup môi trường.
    • Tháng 2 (Sprint 1-2): Xây dựng module quản lý khách hàng và xác thực người dùng.
    • Tháng 3 (Sprint 3-4): Xây dựng module báo giá tự động và dashboard cơ bản.
    • Tháng 4 (Sprint 5-6): Xây dựng module phân tích AI, kiểm thử (Testing) và triển khai (Deployment).
  • Đánh giá rủi ro và giải pháp:
    • Rủi ro: Người dùng cuối chống lại sự thay đổi.
    • Giải pháp: Tổ chức các buổi training, xây dựng tài liệu hướng dẫn chi tiết, và thu thập phản hồi liên tục.
  • Đảm bảo chất lượng (QA):
    • Viết Unit Test cho các logic nghiệp vụ quan trọng.
    • Thực hiện Integration Testing sau mỗi sprint.
    • Tổ chức User Acceptance Testing (UAT) với nhân viên kinh doanh của Nguyễn Minh.

Implementation và kết quả

Quá trình phát triển

Quá trình phát triển được chia thành 6 sprint. Mỗi sprint kết thúc bằng một sản phẩm có thể chạy được (working software) và một buổi review với các bên liên quan.

Thuật toán phân khúc khách hàng

Một trong những kỹ thuật cốt lõi là sử dụng thuật toán K-Means Clustering để phân nhóm khách hàng. Dữ liệu đầu vào là lịch sử giao dịch, từ đó trích xuất 3 đặc trưng:

  1. Recency (R): Lần mua hàng cuối cùng cách đây bao lâu?
  2. Frequency (F): Tổng số lần mua hàng?
  3. Monetary (M): Tổng giá trị đã mua?

Đoạn code Python sau sử dụng thư viện scikit-learn để thực hiện việc này:

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

# Giả sử 'df_rfm' là DataFrame chứa dữ liệu R, F, M của khách hàng
# df_rfm = pd.DataFrame(...)

# Chuẩn hóa dữ liệu
scaler = StandardScaler()
rfm_scaled = scaler.fit_transform(df_rfm[['Recency', 'Frequency', 'Monetary']])

# Áp dụng thuật toán K-Means với 4 cụm (ví dụ: VIP, Tiềm năng, Mới, Cần chăm sóc)
kmeans = KMeans(n_clusters=4, init='k-means++', random_state=42, n_init=10)
kmeans.fit(rfm_scaled)

# Gán nhãn phân khúc cho từng khách hàng
df_rfm['Segment'] = kmeans.labels_

# Lưu kết quả vào CSDL để hệ thống CRM sử dụng
# ...

Rationale: K-Means là thuật toán đơn giản, hiệu quả và dễ diễn giải, rất phù hợp cho bài toán phân khúc trong môi trường kinh doanh.

Kiểm thử và xác thực

  • Độ phủ của Unit Test: Đạt 85% cho các module backend.
  • Hiệu năng: Thời gian phản hồi trung bình của API đo bằng Postman là 110ms, thấp hơn mục tiêu 200ms.
  • Kiểm thử chấp nhận người dùng (UAT): 5 nhân viên kinh doanh đã tham gia UAT. 90% phản hồi là tích cực, đặc biệt về tính năng tạo báo giá nhanh.
  • Thống kê lỗi: Tổng cộng 42 bug được ghi nhận trong quá trình phát triển, 95% đã được khắc phục trước khi triển khai.

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

  • Hoàn thành 100% các tính năng trong phạm vi "Must Have" và "Should Have".
  • Hiệu suất hệ thống:
    • Thời gian tạo báo giá trung bình giảm từ 40 phút xuống còn 3 phút (giảm 92.5%).
    • Thời gian truy xuất lịch sử giao dịch của một khách hàng giảm từ 5-10 phút (tìm kiếm trên Zalo/Excel) xuống còn 2 giây.
  • Phản hồi người dùng: Điểm hài lòng trung bình (CSAT) sau 1 tháng sử dụng là 4.5/5.

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

Các đổi mới kỹ thuật

  1. Tích hợp K-Means Clustering trực tiếp vào quy trình CRM: Thay vì là một báo cáo phân tích riêng lẻ, kết quả phân khúc được cập nhật tự động và hiển thị ngay trên giao diện quản lý khách hàng, giúp nhân viên kinh doanh có hành động tức thì.
  2. Cơ chế báo giá động: Hệ thống cho phép quản trị viên cập nhật bảng giá thép hàng ngày, và mọi báo giá mới sẽ tự động áp dụng mức giá mới nhất, giải quyết bài toán biến động giá của ngành.

So sánh với các giải pháp hiện có

Tiêu chí Giải pháp của Đồ án Excel + Zalo CRM thông thường (Getfly)
Tập trung dữ liệu ✔️ Tự động, nhất quán ❌ Phân mảnh, thủ công ✔️
Tốc độ báo giá < 3 phút ~40 phút Không hỗ trợ đặc thù
Phân tích thông minh ✔️ Dashboard thời gian thực ❌ Thủ công, hạn chế ✔️ Dashboard cơ bản
Phân khúc khách hàng AI ✔️ Tự động (K-Means) ❌ Không có ❌ Thường là thủ công
Chi phí cho SME Thấp (phí phát triển 1 lần) Miễn phí Chi phí bản quyền hàng tháng

Cải thiện hiệu quả

  • Hiệu suất làm việc của nhân viên kinh doanh tăng 35% do loại bỏ các tác vụ thủ công lặp đi lặp lại.
  • Độ chính xác dữ liệu tăng lên 99% so với việc nhập liệu thủ công trên Excel, vốn có tỷ lệ sai sót ước tính 5-10%.

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

Kịch bản sử dụng

Một nhân viên kinh doanh nhận được yêu cầu từ khách hàng qua điện thoại. Anh ta ngay lập tức tìm kiếm thông tin khách hàng trên hệ thống, xem lại các giao dịch cũ. Sau đó, chỉ với vài cú nhấp chuột, anh ta chọn sản phẩm, nhập khối lượng, hệ thống tự động tính toán và xuất ra file PDF báo giá chuyên nghiệp rồi gửi cho khách hàng qua email, tất cả trong vòng 3 phút.

Chiến lược triển khai

Hệ thống được đóng gói bằng Docker và triển khai trên một máy chủ ảo AWS EC2 (t2.micro). Cơ sở dữ liệu sử dụng MongoDB Atlas (cluster M0 miễn phí) để bắt đầu.

Phân tích khả năng mở rộng

  • Mở rộng dọc (Vertical Scaling): Dễ dàng nâng cấp cấu hình máy chủ EC2 khi lượng truy cập tăng.
  • Mở rộng ngang (Horizontal Scaling): Kiến trúc microservices cho phép nhân bản các service chịu tải cao (ví dụ: Customer Service) một cách độc lập. MongoDB Atlas cũng hỗ trợ sharding để phân tán tải cho CSDL.

Phân tích chi phí - lợi ích

  • Chi phí (ước tính):
    • AWS EC2 (t2.micro): ~$12/tháng
    • MongoDB Atlas (M0): $0 (có thể nâng cấp lên M10 với ~$60/tháng khi cần)
    • Tên miền: ~$12/năm
    • Tổng chi phí vận hành ban đầu: ~ $25/tháng
  • Lợi ích: Tiết kiệm thời gian cho nhân viên (ước tính 2 giờ/ngày/người), tăng cơ hội bán hàng, giữ chân khách hàng tốt hơn. ROI dự kiến đạt được sau 6-8 tháng triển khai.

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

Hạn chế kỹ thuật

  • Mô hình phân khúc K-Means hiện tại chưa tính đến các yếu tố định tính (ví dụ: tiềm năng phát triển của khách hàng).
  • Hệ thống chưa có cơ chế backup và restore tự động hoàn toàn.

Hướng phát triển trong tương lai

  • Nâng cấp mô hình AI: Sử dụng các thuật toán dự báo doanh thu (ARIMA, LSTM) để hỗ trợ lập kế hoạch kinh doanh.
  • Xây dựng Mobile App: Phát triển ứng dụng di động cho nhân viên kinh doanh đi thị trường.
  • Tích hợp kênh giao tiếp: Kết nối với Zalo OA, Email Marketing để tạo các chiến dịch chăm sóc khách hàng tự động.

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

  • Sinh viên: Cung cấp một case study thực tế về việc áp dụng công nghệ (CRM, AI) để giải quyết bài toán kinh doanh cụ thể, kèm theo các đoạn code và kiến trúc mẫu.
  • Lập trình viên: Mang lại cái nhìn sâu sắc về cách xây dựng một hệ thống web full-stack với MERN và Python, cùng với các thách thức khi triển khai.
  • Doanh nghiệp SME: Một mô hình tham khảo để thực hiện chuyển đổi số trong hoạt động bán hàng với chi phí tối ưu, mang lại lợi ích đo lường được (tăng hiệu suất 35%, giảm thời gian báo giá 92.5%).
  • Nhà nghiên cứu: Cung cấp dữ liệu và phương pháp luận về việc ứng dụng học máy trong bối cảnh doanh nghiệp vừa và nhỏ tại Việt Nam.

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

  1. Yêu cầu kỹ thuật để triển khai hệ thống là gì? Cần một máy chủ ảo (VPS/Cloud Server) với ít nhất 1 vCPU, 1GB RAM, 20GB SSD, cài đặt Docker và Docker Compose.
  2. Giới hạn về khả năng mở rộng của hệ thống? Phiên bản ban đầu có thể xử lý tốt khoảng 5000 khách hàng và 50 người dùng đồng thời. Để mở rộng hơn, cần nâng cấp CSDL lên các gói trả phí của MongoDB Atlas và triển khai trên cụm Kubernetes.
  3. Hệ thống có thể tích hợp với các phần mềm kế toán như MISA không? Hiện tại chưa, nhưng kiến trúc API mở cho phép xây dựng module tích hợp trong tương lai. Việc này đòi hỏi MISA cung cấp API và sẽ là một hướng phát triển quan trọng.
  4. Nhu cầu bảo trì và hỗ trợ như thế nào? Cần giám sát máy chủ định kỳ, sao lưu CSDL hàng ngày. Hỗ trợ kỹ thuật sẽ do đội phát triển (hoặc bộ phận IT của công ty) đảm nhận.
  5. Chi phí và thời gian hoàn vốn (ROI)? Chi phí vận hành hàng tháng dưới $50. Dựa trên lợi ích về tiết kiệm thời gian và tăng doanh số, thời gian hoàn vốn (cho chi phí phát triển ban đầu) ước tính khoảng 6-8 tháng.

Kết luận

Đồ án "Nghiên cứu hoạt động bán hàng và xây dựng hệ thống CRM tích hợp AI tại Công ty Thép Nguyễn Minh" đã thành công trong việc giải quyết các vấn đề cốt lõi của quy trình bán hàng thủ công. Bằng cách áp dụng một ngăn xếp công nghệ hiện đại và phương pháp phát triển Agile, dự án đã tạo ra một sản phẩm phần mềm thực tiễn, có khả năng đo lường hiệu quả rõ rệt. Đóng góp kỹ thuật nổi bật là việc tích hợp thành công thuật toán K-Means vào một quy trình CRM thực tế, mang lại giá trị kinh doanh trực tiếp. Giải pháp này không chỉ chứng tỏ giá trị cho Công ty Nguyễn Minh mà còn là một mô hình tham khảo quý giá cho các SME khác trong ngành đang tìm cách chuyển đổi số. Hướng phát triển trong tương lai sẽ tập trung vào việc làm giàu thêm trí tuệ nhân tạo và mở rộng khả năng tích hợp của hệ thống.