“SLA Breached” and “SLA Achieved” indicators return the same result
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello,
We are experiencing an issue in Platform Analytics where the SLA Breached and SLA Achieved indicators display the same result, even though they should represent different SLA outcomes.
Current behaviour:
Both indicators return identical values for the same reporting period and filter criteria.
Expected behaviour:
- SLA Achieved should count records where the SLA was completed within the target.
- SLA Breached should count records where the SLA exceeded the target.
We have reviewed the indicator filters, breakdowns, and data collection settings, but have not identified the cause.
Has anyone experienced this issue before? Are there specific conditions, scripts, or task SLA fields that should be used to ensure breached and achieved SLAs are calculated separately?
Any guidance would be appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello,
Yes, this is a known configuration issue in Platform Analytics . When the SLA Breached and SLA Achieved indicators return identical values, it typically means both Automated Indicators are using the same Indicator Source but lack the distinct "Additional Conditions" required to separate the records.
Because Platform Analytics does not automatically split a single SLA indicator into "Breached" and "Achieved" categories, you must explicitly define these conditions on the indicators themselves.
How to Fix the Indicator Conditions
To ensure breached and achieved SLAs are calculated separately, you should use the has_breached (boolean) and stage fields on the task_sla table (or the incident_sla database view, depending on your source).
Update the Additional Conditions on your Automated Indicators as follows:
- SLA Breached Indicator:
- Has breached is True
- (Optional but recommended) Stage is not Cancelled
- SLA Achieved (Met) Indicator:
- Has breached is False
- Stage is Completed
- Note: It is crucial to include the Stage = Completed condition here. If you only use Has breached = False, the indicator will incorrectly count SLAs that are still "In Progress".
Additional Troubleshooting Checks
If you apply these conditions and the numbers still look incorrect, check the following:
- Filter out Cancelled SLAs in the Source: Review your base Indicator Source. If a task's priority changes, the old SLA is often marked as "Cancelled" and a new one is attached. If your Indicator Source does not filter out Stage != Cancelled, your counts will be artificially inflated by duplicate SLA records.
- Avoid Boolean Breakdowns: Do not attempt to use the has_breached True/False field as a Breakdown element on a single "Total SLAs" indicator. ServiceNow best practices dictate creating two separate Automated Indicators (as described above) and then using a Formula Indicator if you need to calculate an SLA Performance percentage
- Data Collection Frequency: Ensure both indicators are included in the same Data Collection Job and have the same collection frequency so their snapshots align perfectly.
Let me know if this works for you! If it does, please consider marking this answer as the Accepted Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago - last edited 3 weeks ago
This behavior is usually caused by the indicator source or filter logic rather than Platform Analytics itself.
A few areas to verify:
- Verify the Task SLA conditions
Ensure each indicator is filtering the task_sla table correctly.
SLA Achieved
Stage = Completed
Has breached = False (or has_breached = false)
SLA Breached
Stage = Completed
Has breached = True (or has_breached = true)
Using only Stage = Completed for both indicators will produce identical results because both achieved and breached SLAs eventually reach the Completed stage.
2. Check which field the indicator uses
The recommended field is Has breached (has_breached) rather than relying on Business Duration or Percentage Complete, as those fields may not accurately distinguish completed breached SLAs.
3. Validate the indicator source
Review the indicator source query to ensure the conditions are actually different. Sometimes indicators are cloned and the underlying source or condition is accidentally left unchanged.
4. Verify historical scores
If the indicators were modified after data collection had already occurred, existing historical scores will not automatically change. In that case, delete the incorrect scores (if appropriate) and recollect the indicator data.
5. Test directly on the task_sla table
Run two list queries on task_sla using the same date range as your indicator.
Achieved
Stage = Completed
Has breached = False
Breached
Stage = Completed
Has breached = True
If these list results are different but Platform Analytics still shows identical values, the issue is likely with the indicator source, collection job, or aggregation configuration.
6. Check for customizations
Review whether any custom Business Rules, SLA Engine customizations, or scripts are updating the has_breached field or modifying Task SLA records. Incorrect custom logic can cause all completed SLAs to be marked with the same breach status.
************************************************************************************************************************************
If this response helps, please mark it as Accept as Solution and Helpful.
Doing so helps others in the community and encourages me to keep contributing.
Regards
Vaishali Singh
Servicenow Developer
Linkedin - https://www.linkedin.com/in/vaishali-singh-2273361bb