Skip to content

Predictive Durations

Once the Archiving Service has processed the Scheduling data and generated the reporting data, it performs an analysis of the generated reporting data of the Scheduling snapshot. Analysing the reporting data allows to perform 'adaptive scheduling', e.g. to automatically adjust activity durations based on their historical average durations. The activity duration estimate is then used if requested in the data - i.e., if auto_duration_enabled is set to true on the Activity or Activity_Type.

Activity duration estimate generation

An average of the durations of an activity of the same activity type, contract, customer or location (or any combination of these activity's attributes) is calculated. A maximum of three of these attributes are chosen when generating estimates. Location is by either the location_id or a spatial key of the latitude and longitude. The calculated activity duration estimate, is stored in the ARC_Activity_Duration_Estimate table, along with a confidence level of this estimation.

The Archiving Service bases its estimations on actual durations of the activities that are taken from the actual_duration_minutes field of the ARC_Activity_Fact table, which is in turn sourced from the duration field of an Allocation record in the Scheduling Database of an activity that has an activity status of 'Complete' (Activity Status ID = 70).

There is only one ARC_Activity_Duration_Estimate record for each combination of activity type, customer, contract and location. For example, if activities are grouped by their common activity type, a duration is estimated for this grouping and a record is added to the table. Next time an estimation is made - at which point it may or may not be estimating based on an expanded list of actual activity durations - it will simply update the record that corresponds to this activity grouping.

The confidence level is calculated by comparing the activity duration in the input, the actual completed activity duration and the estimated duration. For example, if the estimated duration is closer to the actual than 80% of the input durations then the confidence level will be 80.

Note

The Archiving Service will estimate activity duration regardless of whether there are any 'auto-duration-enabled' activities in the Scheduling system (auto_duration_enabled=true). The estimations are independent of whether auto-duration has been requested or not, hence you will find records in the ARC_Activity_Duration_Estimate table - as long as there are enough samples of actual duration for at least one grouping of activities.

Warning

For an activity duration to be estimated for a group of activities the related parent entities must exist. For example the Activity_Type entity that relates to the activity_type_id must exist in the Scheduling Database. Additionally, activities that have no activity type specified are by default set to be of type 'Default'. These activities are not grouped together by the Archiving Service, i.e. an estimate is not calculated for these activities.

Automatic usage of activity duration estimates

The Input Manager can use the ARC_Activity_Duration_Estimate table to provide estimated durations for activities and activity types.

This can be enabled on an individual Activity or Activity_Type basis providing by setting the auto_duration_enabled field to true on the Activity or Activity_Type in the Scheduling Database. The AutoDurationEnabledByDefault parameter can be set to change the default behaviour when auto_duration_enabled is not specified allowing estimates without needing to alter input data.

The decision to use the estimated duration is influenced by the Input Manager AutoDurationConfidenceLevelThreshold parameter that determines what confidence level is required for the duration to be used. If multiple ARC_Activity_Duration_Estimate records match an Activity / Activity_Type then the estimate with the highest confidence level is chosen.

Note

For more information on how to set up the input data to request for the Activity Duration Estimate to be used see the Scheduling Schema Guide, Activity / Activity_Type tables (auto_duration_enabled and auto_duration fields).

Note

When an automatic duration estimate is being used, this will take precedence over any manually set duration, be it via the activity type, activity or activity status. However, it is possible to use the activity status 'duration_override' attribute to override the automatically estimated value. Please be aware that when a duration override is used, factors such as resource skill proficiency and duration overheads will be disregarded.

The generation and use of activity duration estimates and auto_duration are configurable by the following parameters:

  • MinimumNumberOfSamplesForActivityDurationEstimate (Archiving Service) — allows the user to set the number of minimum number of samples (activity durations) for a particular combination of activity type, contract, customer and location needed for the Archiving Service to estimate a duration.
  • AutoDurationConfidenceLevelThreshold (Input Manager) — the minimum confidence level needed for the SIM to use the duration estimate for auto-duration.
  • AutoDurationEnabledByDefault (Input Manager) — whether auto-duration estimates will be enabled by default and used on activities / activity types where auto_duration_enabled is not specified.
  • AutoDurationReloadEstimatesPeriod (Input Manager) — how often the SIM will reload activity duration estimates from the ARC_Activity_Duration_Estimate table.

Subsections