Concurrent Activities (Alpha)

The Concurrent Activities calculator identifies activity pairs that run concurrently (overlapping in time) within cases. This is useful for understanding parallelism in your processes and identifying activities that commonly execute simultaneously.

Alpha Feature: This calculator is part of the mindzie Alpha Program. It requires PreRelease to be enabled for your tenant. See Alpha Features for more information.

Overview

This calculator analyzes your event log to find activities that overlap in time within the same case. It produces two outputs:

  1. Concurrent Activities Table - Lists all activity pairs that occur concurrently, with frequency metrics
  2. Concurrency Matrix - A matrix view showing concurrency relationships between activities

How Concurrency is Detected

The detection method depends on whether your event log includes activity start times:

With Start Times Available:

  • True temporal overlap detection
  • Two activities are concurrent if: Activity1.Start < Activity2.End AND Activity2.Start < Activity1.End

Without Start Times:

  • Falls back to same-timestamp detection
  • Activities occurring at the exact same timestamp are considered concurrent

Configuration Options

Case Percent Threshold

Sets the minimum percentage of cases that must contain a concurrent pair for it to be included in the output.

  • Default: 5%
  • Range: 0% to 100%
  • Purpose: Filters out rare concurrency patterns that may be noise

Lower values show more pairs (including rare ones), higher values show only the most common concurrent patterns.

Include Self-Loops

Controls whether the same activity can be concurrent with itself (e.g., two instances of "Review Document" running at the same time).

  • Default: Yes (included)
  • Options: Yes / No

Output Tables

Concurrent Activities Table

Column Description
Activity Pair Combined name showing both activities (e.g., "Activity A <-> Activity B")
Activity1 First activity in the pair
Activity2 Second activity in the pair
Concurrency Count Total number of times this pair occurred concurrently across all cases
Case Count Number of cases where this pair occurred concurrently
Case Percent Percentage of total cases containing this concurrent pair

Results are sorted by Case Count (descending), then by Concurrency Count.

Concurrency Matrix

A square matrix where:

  • Rows and columns represent activities
  • Cell values show the case count where those two activities were concurrent
  • Only activities meeting the threshold are included

Use Cases

Identifying Parallel Work

Find activities that naturally occur in parallel, which may indicate:

  • Parallel approval workflows
  • Concurrent processing streams
  • Multi-tasking patterns

Resource Contention Analysis

When the same resource performs concurrent activities, it may indicate:

  • Workload balancing issues
  • Need for additional resources
  • Process bottlenecks

Process Discovery Validation

Use concurrency data to validate process models:

  • Confirm expected parallel gateways
  • Identify unexpected parallelism
  • Verify process design assumptions

Example

Given a process where "Technical Review" and "Business Review" often happen simultaneously:

Concurrent Activities Table: | Activity Pair | Concurrency Count | Case Count | Case Percent | |---------------|-------------------|------------|--------------| | Technical Review <-> Business Review | 1,247 | 892 | 45.2% | | Data Entry <-> Validation | 534 | 423 | 21.4% |

This shows that Technical Review and Business Review run concurrently in 45.2% of cases.

Tips

  • Start with a higher threshold (e.g., 10-20%) to see the most significant patterns, then lower it to explore less common concurrency
  • Compare with process model - concurrent activities should correspond to parallel gateways in your BPMN
  • Consider resource implications - high concurrency with shared resources may indicate bottlenecks
  • Use with Same Time Pairs calculator for additional perspective on temporal relationships

Technical Details

  • Algorithm: O(n * e^2) where n = cases, e = events per case
  • Memory: Stores unique activity pairs with counts
  • Similar to: PM4PY's pm4py.statistics.concurrent_activities