How the Simulation Engine Works
Understand the mechanics behind ProcessMind's discrete event simulation engine and how it models your process.
In process simulation, resources represent anything with limited capacity that activities must compete for. Resources are what create realistic bottlenecks, queues, and waiting times in your simulation.
| Category | Examples |
|---|---|
| People | Customer service agents, loan officers, managers, specialists |
| Equipment | Machines, workstations, testing equipment |
| Systems | Software licenses, server capacity, API rate limits |
| Facilities | Meeting rooms, production lines, inspection stations |
Without resource constraints, simulation assumes unlimited capacity—every case processes immediately with no waiting. This is unrealistic for most processes.
Modeling resources enables:
Resources in ProcessMind are organized into pools of interchangeable units.
| Property | Description |
|---|---|
| Name | Identifier for the resource (e.g., “Approval Staff”, “Loan Processor”) |
| Capacity | Number of available units in the pool |
Capacity defines how many activities can use this resource simultaneously:
Example: If your approval department has 3 staff members who can each handle one approval at a time, set capacity to 3.
Each activity in your process can declare what resources it requires:
| Setting | Description |
|---|---|
| Resource Pool | Which resource pool to draw from |
| Quantity | How many units of that resource are needed |
Most activities need one unit of one resource:
Some activities need multiple units:
When a case reaches an activity that requires resources, the simulation follows this process:
ProcessMind supports multiple queue strategies that determine how waiting cases are prioritized when resources become available:
| Strategy | Description |
|---|---|
| FIFO | First In, First Out—cases are processed in arrival order (default) |
| LIFO | Last In, First Out—most recently arrived cases are processed first |
| Random | Cases are selected randomly from the waiting queue |
You can configure the queue strategy per activity in the element settings.
Choosing a Queue Strategy
FIFO is the most common and fairest strategy. Use LIFO when recent cases have higher priority (e.g., urgent escalations). Random can be useful for simulating unpredictable service patterns.
If required resources are busy:
This queuing behavior is where realistic waiting times come from in your simulation.
Resources aren’t always available at the same capacity. Use periodicity to model varying availability.
| Periodicity | Capacity |
|---|---|
| Each Weekday 09:00-17:00 | 5 agents |
| Each Weekday 17:00-21:00 | 2 agents |
| Each Weekend Day 10:00-16:00 | 1 agent |
| Default | 0 agents |
| Periodicity | Capacity |
|---|---|
| Each Day 06:00-14:00 (Morning) | 5 operators |
| Each Day 14:00-22:00 (Evening) | 3 operators |
| Each Day 22:00-06:00 (Night) | 1 operator |
| Periodicity | Capacity |
|---|---|
| Each Year Nov 15 - Dec 31 (Peak) | 20 staff |
| Default | 12 staff |
Utilization measures how busy your resources are:
Utilization = (Time Busy ÷ Total Available Time) × 100%
| Utilization Level | What It Means |
|---|---|
| Below 50% | Underutilized—may have excess capacity |
| 50-70% | Healthy balance—good capacity for variation |
| 70-85% | Busy—limited slack for peaks |
| 85-95% | High utilization—likely causing delays |
| Above 95% | Bottleneck—queues building |
Don't Target 100% Utilization
High utilization seems efficient but creates problems. Even small demand variations cause queues to grow exponentially near 100% utilization. Target 70-80% for stable, responsive processes.
Consider a simple example:
Near 100% utilization, any random variation (a few extra arrivals, a slightly longer task) causes queues to build faster than they can drain.
One resource pool can serve multiple activities. This is common and realistic:
The “Customer Service Team” (capacity: 5) handles:
All three activities draw from the same pool. If 4 phone calls are being handled, only 1 agent is available for email or chat.
Some activities require multiple different resources simultaneously:
| Resource Pool | Quantity Needed |
|---|---|
| Senior Designer | 2 |
| Meeting Room | 1 |
| Design Lead | 1 |
Important: The activity can only start when all required resources are available simultaneously. If designers are free but no meeting room is available, the case waits.
One of the most valuable uses of resource simulation is capacity planning.
How many resources do I need?
Run simulations with different capacity levels:
| Capacity | Avg Wait Time | Utilization | Throughput |
|---|---|---|---|
| 2 staff | 45 min | 95% | 150/week |
| 3 staff | 12 min | 78% | 150/week |
| 4 staff | 3 min | 58% | 150/week |
Insight: Adding a 3rd staff member dramatically reduces wait times. The 4th provides marginal improvement.
Where are my bottlenecks?
Compare utilization across all resources:
| Resource | Utilization |
|---|---|
| Front Desk | 65% |
| Underwriters | 92% |
| Legal Review | 48% |
| Closing Team | 71% |
Insight: Underwriters are the bottleneck. Adding front desk staff won’t help—work will just pile up at underwriting faster.
What if demand increases?
Run scenarios with higher arrival rates:
| Demand | Current Staff | Queue Growth |
|---|---|---|
| Current | 5 | Stable |
| +20% | 5 | Growing slowly |
| +50% | 5 | Unsustainable |
Insight: Current capacity can handle ~20% growth. Beyond that, you need to add resources.
Begin with a few key resources that represent real constraints:
Base your capacity on actual staffing:
Real resources aren’t 100% available:
Model realistic available time, not theoretical maximum.
Compare simulated utilization with actual observations:
If not, refine your resource model.
Remember that people aren’t machines:
We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies.