BẢNG QUYẾT ĐỊNH
(Decision Table)
Nguyễn Văn Chức – chuc1803@gmail.com
1. Giới thiệu về bảng quyết định
Bảng quyết định (Decision Table) là công cụ hỗ trợ ra quyết định khi có nhiều lựa chọn được đưa ra và có nhiều điều kiện tác động lên lựa chọn. Bảng quyết định được sử dụng phổ biến trong rất nhiều lĩnh vực như phân tích kinh doanh, quản lý, chăm sóc khách hàng… bởi tính đơn giản và hiệu quả. Một bảng quyết định gồm 4 phần như sau:
Condition statements |
Condition entries |
Action statements |
Action entries |
Condition statements: Các điều kiện (nguyên nhân - Cause)
Condition entries: Các kết hợp (combination) giữa các Condition statements còn gọi là các luật (rules)
Action statements: Các hành động (kết quả mong muốn- Effect)
Action entries: Mối liên hệ giữa Condition statements và Action statements, cho biết hành động nào sẽ được thực hiện khi các điều kiện tương ứng thỏa mãn.
Ví dụ về Decision Table:
Để hỗ trợ cho khách hàng xử lý các sự cố máy in qua điện thoại, bộ phận kỹ thuật xây dựng một Decision Table với 3 conditions và 5 actions như sau:
2. Các bước để xây dựng Decision Table
- Xác định tất cả các điều kiện
- Xác định tất cả các hành động
- Tính số kết hợp giữa các điều kiện
- Điền các kết hợp (rule) vào bảng
- Loại bỏ các kết không cần thiết (hợp xung đột hoặc dư thừa)
- Điền các hành động (action) vào bảng tương ứng với các kết hợp
Bảng quyết định có nhiều loại, trong đó phổ biến và đơn giản nhất là bảng quyết định giới hạn (Limited Entry Table). Với bảng quyết định loại này, điều kiện (condition) được thỏa mãn một cách đầy đủ và hành động (action) được thực hiện một cách trọn vẹn. Các ký hiệu sau đây dùng để mô tả trong bảng quyết định này:
Y : Điều kiện thỏa mãn
N :Điều kiện không thỏa mãn
- : Điều kiện hoặc hành động không áp dụng
X : Hành động được thực hiện
Ví dụ: Ngân hàng sử dụng các nguyên tắc sau đây để phân loại tài khoản ngân hàng mới mở:
a. Nếu người gởi tiền có tuổi >=21 và số tiền gởi >=100 thì đó là TK loại A
b. Nếu người gởi tiền có tuổi <21 số tiền gởi >=100 thì đó là TK loại B
c. Nếu người gởi tiền có tuổi >=21 và số tiền gởi <100 thì đó là TK loại C
d. Nếu người gởi tiền có tuổi <21 số tiền gởi <100 thì không mở tài khoản
Để giải quyết bài toán này, nhân viên ngân hàng xây dựng bảng quyết định như sau:
Xác định các điều kiện: Có 2 điều kiện
C1: Age>=21
C2: Deposit>=100
Xác định hành động:
Phân loại các tài khoản mới mở là A,B,C hoặc không mở TK
Xác định các kết hợp (Rules): Có 2 điều kiện và mỗi điều kiện có 2 giá trị (Y/N) nên có tất cả là 4 kết hợp.
Ta có bảng quyết định như sau:
3. Xây dựng bảng quyết định với phần mềm
Để xây dựng Decision Table, ta có thể thực hiện bằng MS Excel hay các phần mềm bảng tính (Spreadsheets) khác. Tuy nhiên, việc xây dựng bảng quyết định trên các phần mềm này phải thực hiện thủ công nên rất khó hiệu chỉnh bảng quyết định khi phải thêm hay xóa các điều kiện, hành động hay các kết hợp. Trong bài viết này, tôi sẽ phân tích để xây dựng bảng quyết định cho một tình huống đơn giản và triển khai bảng quyết định trên phần mềm chuyên nghiệp là Agilian Enterprise.
Tình huống: Một cửa hàng muốn triển khai một chiến lược giảm giá (discount) để hấp dẫn khách hàng mới. Người chủ cửa hàng quyết định các mức chiết khấu khác nhau dựa vào các điều kiện sau:
C1: Khách hàng trẻ (tuổi <18)
C2: Khách hàng là thành viên (member) của cửa hàng. Biết rằng, thành viên của cửa hàng phải có tuổi >=18
C3: Giao dịch >$1,000
Tuy nhiên, người chủ cửa hàng chưa biết các mức chiết khấu đưa ra là bao nhiêu cho từng trường hợp, anh ta tìm câu trả lời bằng cách xây dựng một bảng quyết định và tích hợp vào hệ thống quản lý đặt hàng của cửa hàng.
Sử dụng phần mềm Agilian xây dựng bảng quyết định như sau:
Khởi động Aligian, trong mục Business chọn Decision Table
Thêm 3 điều kiện (condition) là: Youth customer (Age < 18), Customer is a member, Transaction > $1,000.
Thêm các hành động (actions):
Ở đây hành động là xác định đối tượng nào sẽ được nhận chiết khấu (discount) và mức chiết khấu là bao nhiêu, A1: Offer discounts
Giả sử bên cạnh việc đề ra các mức chiết khấu để hấp dẫn khách hàng, cửa hàng còn muốn xác định khách hàng tiềm năng để mời họ trở thành thành viên (member) đối với các khách hàng có giao dịch >$1,000. Vì vậy, có thêm hành động là đề nghị là thành viên trong tương lai, A2: Suggest membership
Thêm các kết hợp (rules) đối với các conditions.
Có 3 điều kiện, mỗi điều kiện có 2 giá trị (Y/N) nên có 8 kết hợp. Thêm 8 cột trong bảng quyết định bằng cách bấm vào nút (+) bên phải thanh Rule. Điền giá trị cho các Rules như sau:
Sau khi liệt kê hết các Rules, ta phân tích để loại bỏ các rule không cần thiết (xung đột, loại trừ nhau, dư thừa). Theo chính sách của cửa hàng, muốn là thành viên của cửa hàng thì tuổi phải >=18. Vì vậy, một khách hàng không thể đồng thời là trẻ (youth) và là thành viên (member) của cửa hàng được. Do đó, kết hợp được phản ánh bởi Rule 1 và Rule 2 loại trừ lẫn nhau. Xóa Rule 1 và Rule 2. Còn lại 6 Rules như sau:
Bây giờ nghiên cứu đề xuất mức chiết khấu (discount) cho từng kết hợp một (giả sử như sau) và đề nghị làm thành viên theo chính sách đã đề ra.
Đến đây thì bảng quyết định về cơ bản đã hoàn thành, kiểm tra xem có kết hợp nào không hợp lê hoặc bị thừa hay không. Nếu có thì loại ra khỏi bảng quyết định.
Trong ví dụ này, ta thấy rule 3 và rule 4 có thể kết hợp lại vì khối lượng giao dịch không ảnh hưởng đến hành động (action). Kết hợp Rule 3 và 4 và thay thế lựa chọn Transaction>$1,000 bằng dấu gạch ngang (-) có nghĩa là điều kiện có là Y hoặc N thì hành động cũng sẽ xảy ra.
Cuối cùng có bảng quyết định như sau:
Sau khi xây dựng xong bảng quyết định, ta có thể xuất ra rất nhiều định dạng như XLS, XML, PDF, HTML, DOC để báo cáo, lưu trữ hoặc chia sẻ qua internet hoặc tích hợp vào các hệ thống quản lý của đơn vị.