BPMN Mining
VI EN
Log in Sign up free
Docs / Concepts

Critical path

The chain of steps that decides total time, and how the tool finds it.

The critical path is the chain of steps that decides total time. Shorten a step that is off the critical path and the total time is unchanged — this is why so many improvement efforts produce no measurable result.

How the tool determines it

  1. Enumerate every execution scenario and sort them by time.
  2. Take the slowest scenario.
  3. Within that scenario, keep only the slowest branch at each parallel block — because only that branch decides the time of the block.
How the deciding branch is kept
branch_time = max((segment.time for segment in combo), default=0.0)
slowest = max(combo, key=lambda s: s.time)      # nhánh dài nhất

merged = _Segment(
    time=branch_time + tail.time,               # thời gian: chỉ nhánh chậm nhất
    ids=branch_ids | tail.ids,                  # mọi bước đã chạy
    critical=slowest.critical | tail.critical,  # nhưng đường găng chỉ đi qua nhánh chậm
)
🧮 Parallel branches of 20 and 40 minutes

Both branches run, so both are counted in the cost. But the critical path only goes through the 40-minute branch. In the interface, the 20-minute step keeps its original colour while the 40-minute step is outlined in pink.

Cut the 20-minute branch down to 5 minutes: total time is unchanged. Cut the 40-minute branch down to 25 minutes: total time drops by 15 minutes.

Where to see the critical path

  • Both diagrams outline the steps on the critical path in pink and thicken the flows connecting them.
  • The per-step metrics table adds a critical path label.
  • The formulas tab marks the slowest scenario.
  • Turn it off and on with the Highlight critical path switch if it feels cluttered.

The critical path can move

⚠
After you shorten the branch that was the critical path, another branch becomes the new critical path. Process improvement is iterative: edit → recompute → see where the new critical path is. Use the Duplicate button to keep the current-state version to compare against.

Telling it apart from “the heaviest step”

A step can take a great deal of time and still not be on the critical path (it runs in parallel with an even longer branch). Conversely, a short step that sits on the main sequential chain always belongs to the critical path. The Analysis charts tab shows both points of view at once: circle size is weight, pink outline is the critical path.

Anything unclear or missing?