BPMN Mining
VI EN
Đăng nhập Đăng ký miễn phí
Tài liệu / Khái niệm

Xác suất nhánh

Khai báo thế nào, chuẩn hoá ra sao khi bỏ trống.

Ở mỗi cổng loại trừ, hồ sơ đi theo đúng một nhánh. Tỉ lệ đi vào mỗi nhánh là thứ biến một sơ đồ tĩnh thành một mô hình định lượng được.

Khai báo ở đâu

Tab Luồng trong bộ chỉnh sửa, cột Xác suất %. Hoặc ghi sẵn trong nhãn luồng khi vẽ: đạt 70%.

Chuẩn hoá khi bỏ trống

Công cụ luôn đảm bảo tổng xác suất tại một cổng bằng 1, theo thứ tự ưu tiên:

  1. Không nhánh nào khai báo → chia đều. Hai nhánh thành 50/50.
  2. Một số nhánh khai báo, số còn lại trống → phần còn thiếu chia đều cho các nhánh trống. Khai 70% cho một nhánh, hai nhánh còn lại mỗi nhánh 15%.
  3. Tất cả đều khai nhưng tổng ≠ 100% → chuẩn hoá theo tỉ lệ. Khai 30/90 thành 25%/75%.
Quy tắc chuẩn hoá xác suất
def branch_probabilities(self, node_id):
    outgoing = [e for e in self.edges if e.source == node_id]
    if len(outgoing) == 1:
        return {outgoing[0].target: 1.0}

    declared = {e.target: e.probability for e in outgoing if e.probability is not None}
    undeclared = [e.target for e in outgoing if e.target not in declared]

    remaining = max(0.0, 1.0 - sum(declared.values()))
    share = remaining / len(undeclared) if undeclared else 0
    result = {**declared, **{t: share for t in undeclared}}

    total = sum(result.values())                       # luôn chuẩn hoá về 1
    return {t: v / total for t, v in result.items()}

Lấy số ở đâu ra

NguồnĐộ tin cậyGhi chú
Log hệ thống (ERP, ticket, workflow)Cao nhất Đếm số hồ sơ đi mỗi nhánh trong 3–6 tháng
Báo cáo vận hành sẵn cóKháTỉ lệ từ chối, tỉ lệ trả về đã có sẵn
Ước lượng của người làm trực tiếpTạm được Hỏi “100 hồ sơ thì bao nhiêu cái bị trả về?” dễ trả lời hơn hỏi phần trăm
💡
Không có số liệu thì làm sao
Cứ điền con số bạn tin nhất, rồi thử đổi nó xem kết quả nhạy tới đâu. Nếu đổi tỉ lệ rework từ 20% sang 30% mà tổng thời gian nhảy 15%, thì đo cho chính xác con số đó chính là việc đáng làm tiếp theo. Đó cũng là một kết quả phân tích có giá trị.

Cổng phức hợp

BPMN có một loại cổng nữa gọi là phức hợp (complex gateway), nơi người vẽ tự viết một biểu thức để định nghĩa khi nào đi nhánh nào. Công cụ không đoán được biểu thức đó, nên nó tính tạm như cổng loại trừ và báo rõ trên màn hình rằng con số đang là phỏng đoán. Cách sửa: đổi thành cổng loại trừ, song song hay bao gồm cho đúng ý bạn.

Ba loại luồng, và loại nào có xác suất

Cột Loại ở thẻ Luồng có ba giá trị, và chúng không giống nhau về cách tính:

  • Luồng thường — hồ sơ đi theo nó. Khai xác suất ở đây; để trống thì các nhánh cùng một cổng chia đều. Luồng quay lui (rework) cũng là luồng thường, cũng khai xác suất ở đây.
  • Thông điệp — trao đổi giữa hai bên tham gia. Hồ sơ không đi theo nó, nên nó không có xác suất; ô nhập bị khoá. Coi nó như luồng thường thì số lần chạy của mọi bước phía sau sai hết.
  • Ngoại lệ — nhánh thoát ra từ một sự kiện biên gắn trên bước. Xác suất của nó được trừ ra trước, rồi phần còn lại mới chia cho các nhánh thường.

Quy trình con sự kiện

Một quy trình con sự kiện là khối viền chấm nằm rời trên sơ đồ, không có mũi tên nào nối vào. Nó không nằm trên luồng chính: nó tự kích hoạt khi có chuyện xảy ra ở bất kỳ đâu trong quy trình — khách khiếu nại, kiểm toán vào, hệ thống báo lỗi. Nhánh này rất hay bị bỏ quên vì trên sơ đồ nó trông như một khối lạc.

Khai xác suất của nó ở chính cột Xác suất % của bảng Luồng, trên dòng loại ngoại lệ trỏ tới khối đó — giống hệt mọi xác suất khác. Ba cột Nguồn/Đích/Loại của dòng đó bị khoá, vì chuẩn BPMN không cho khối này có luồng vào. Để trống xác suất thì nó được tính là không bao giờ xảy ra.

Ô Ngắt cả quy trình trong hộp chi tiết bước quyết định cách cộng, và nó đổi con số khá nhiều:

  • Không — quy trình vẫn chạy tiếp, khối này chạy song song. Thời gian trôi qua lấy giá trị lớn hơn giữa hai bên, nên nếu khối ngắn hơn phần còn lại thì tổng thời gian không đổi — chỉ công sức và chi phí tăng thêm.
  • Có — quy trình đang chạy bị huỷ, khối này chạy thay. Thời gian cộng nối tiếp.

Với loại “có ngắt”, công cụ coi như quy trình bị huỷ ở phút cuối, nên con số là cận trên. Chọn cận dưới sẽ khiến thêm một nhánh ngoại lệ làm quy trình ngắn đi — kiểu sai khó phát hiện hơn nhiều.

Xác suất của một kịch bản

Xác suất một đường đi cụ thể xảy ra là tích xác suất các nhánh nó đi qua. Danh sách kịch bản hiển thị con số này, và tổng của chúng cho biết bạn đã bao phủ bao nhiêu phần trăm khả năng — dưới 100% nghĩa là còn kịch bản bị cắt do vòng lặp.

P(kịch bản)=∑i ∈ nhánh đã chọnpi

(ở đây ∏ là tích — công cụ nhân dồn xác suất của từng lựa chọn trên đường đi)

Chỗ nào khó hiểu hoặc còn thiếu?