Benchmarks are intended to provide targets for measuring Business Processes.

Common Usage Pattern

Benchmarks support monitoring the status of process execution against conditions such as:

For example, passport processing time is five days. After submitting a passport application, the passport should be delivered within five business days from the date of submission. Here you can specify benchmark condition as Business date(process start time) + 5 days offset. Specifying a benchmark on such a process would ensure the timely execution of the process.

Benchmarks or Criticality - Our Recommendation

In some scenarios, you might have to decide whether to use benchmarks or criticality. The criticality feature simply provides automatic aging of the activity. It gives an ordered list of activities that is used as assembly line. For details on Criticality, please refer to the chapter Activity Criticality.

Benchmarks can be seen as an extension of the existing Criticality concept for a more flexible criticality calculation. Also, using benchmarks provide additional views to monitor these extended criticality values.

The Benchmark feature has business data driven calculation. Calculation of the process execution time is based on process data and/or business date. The user can define the exact time of process execution. Based on specified condition, you can get an overview of how many process instances exist at a given time for:

Hence, to measure the accurate time of process execution, we recommend you to use both the features together. For more information on how to define the benchmarks, please refer to the chapter Managing Benchmark Definitions of the Enduser Handbook.

Benchmark/Model Association and Storage

Benchmarks are defined against the currently active models. Association between Benchmarks and Processes/Activities is purely based on (fully qualified) IDs.

Benchmarks are stored in the default document repository. For more information, please refer to the section benchmark-definitions of the chapter Viewing and Managing Document Repository Resources. Benchmarks are assigned against the combination of a process and an activity. So, for example, a daily checklist will have a different benchmark than a monthly checklist.

Behavior of Benchmark for Transient Processes

Process instances in transient mode cannot have benchmarks associated with it as no process data is stored in the AuditTrail.

Deletion of Benchmarks

When you delete a benchmark, the following checks are applied to it before deletion.

Benchmarks get deleted if you perform Cleanup Audit Trail and Model Database operation. However, note that benchmarks do not get deleted on Cleanup Audit Trail Database operation.

Benchmark Daemon

The Benchmark Daemon performs benchmark calculations at scheduled intervals.

Additional Activity recalculation options can be set on the Benchmark Configuration Panel, including:

Note that all the recalculation options are enabled by default. For more information, please refer to the chapter Configuring Benchmark Settings.

Process instance benchmarks are recalculated only when the daemon runs. For more information about daemons, please refer to the chapter Daemons.

Avoiding Timeouts when using the Benchmark Daemon

Timeouts when you are using the Benchmark daemon might happen due to low batch size values. In that case increase the timeout value of the daemon queue via the property benchmark.daemon.BatchSize in your server-side file.

Additionally make sure that the default transaction timeout for your Daemon queue is at least equal to the value of property benchmark.daemon.Periodicity.

Please find details on properties benchmark.daemon.Periodicity and benchmark.daemon.BatchSize in section Daemon of chapter Server Side Properties.

Benchmark Calculations

Once the process instance and activity instance is complete, the associated benchmark is not updated. The Infinity Process Platform Portal displays the last updated state (before the process instance or activity instance completed) in the various tables, dashboards, and reports.

Business Days Calculations

Benchmark calculations are generally against business days rather than calendar days. Business day calculations require an association of a benchmark and a business calendar.

The business calendar must be a Time-Off calendar defined in the Calendar perspective. For more information, please refer to the Working with Calendars handbook.

Calendar association is implicit for process instances started via calendars but for other start channels manual start, manual start using business object instances, and APIs a default calendar should be specified in the Benchmark Definition view.

The business calendar can be specified when starting via the business object instance manual start view. If a business calendar is not available, calculations are reverted to calendar days. Business days calculations should start from the business date.

Business Date

To support Benchmark calculations, a predefined Business Date primitive data of type Date and Time plus Time Zone is provided. The business date is set to the process start date when a process instance is started unless the business date is externally injected. It can be specified for Checklists started via Business Object Manual Starts. For more information, please refer to the chapter Starting a Process of the Model & Go! handbook.

Working Days / Non-Working Days

The business calendar(s) defining the business days must specify the event time for non-working days (for example, Time Off Events) as either All Day or with Start Time / End Time of 12:00am - 11:59pm. Business Days calculations consider days with Time Off Events that cover the entire 24 hour time range as non-working days.