1 Reply Latest reply on Sep 17, 2018 10:29 AM by Jonathan.Schmidt

    Calculation of SLA Compliance "Actual" Value

    pappast Apprentice

      Does anyone have any information on the actual formula used to calculate the Actual SLA Compliance Target?



      We have an SLP defined with the following:

      • SLP Target = 90.00%
      • ResponseSLT = 95.00% within this SLP
      • ResolutionSLT = 95.00% within this SLP
      • DeliverySLT = 95.00% within this SLP


      Let's say we had 100 Incidents resolved and 200 SRs fulfilled since the Start Date of the SLP.

      • 95 of 100 Incidents met their ResponseSLT
      • 75 of 100 Incidents met their ResolutionSLT
      • 170 of 200 SRs met their DeliverySLT


      I am guessing here, but I imagine the formula would be something like:

      ((95+75+170) / (100+100+200)) * 100 = 85.00%



        • 1. Re: Calculation of SLA Compliance "Actual" Value
          Jonathan.Schmidt SupportEmployee

          Hi pappast,


          This calculation is done on the SQL level.  I've copied the view setup query below with the segment you are particularly interested in bold/italic/underline.



          CREATE VIEW [dbo].[SLAComplianceView] AS


          ISNULL(SLMMetricsView.Name2,'') + ISNULL(SLMMetricsView.Title,'') AS RecId,

          ISNULL(SLMMetricsView.Name2,'') AS Service,

          ISNULL(SLMMetricsView.Name2_de,'') AS Service_de,

          ISNULL(SLMMetricsView.Name2_fr,'') AS Service_fr,

          ISNULL(SLMMetricsView.Title,'') AS SLATitle,

          MAX(ISNULL(SLMMetricsView.ComplianceTarget1,0)) AS Target,

          (Sum(CASE WHEN ISNULL(SLMMetricsView.BreachPassed,0) = '' then 1 else 0 END) * 100.0)/(Count(*)) AS Actual

          FROM SLMMetricsView

          WHERE (SLMMetricsView.Name2 NOT LIKE '') AND (SLMMetricsView.Name2 is not null )

          GROUP BY ISNULL(SLMMetricsView.Name2,''), ISNULL(SLMMetricsView.Name2_de,''), ISNULL(SLMMetricsView.Name2_fr,''), ISNULL(SLMMetricsView.Title,'')




          There's a second view involved here also, SLMMetricsView, that is referenced by the first view.  It's create script is below:




          CREATE VIEW [dbo].[SLMMetricsView] AS SELECT ServiceAgreement.Title Title, ServiceLevelTarget1.ComplianceTarget ComplianceTarget, OrganizationalUnit2.Name Name, ServiceLevelTarget1.ServiceLevelTargetType ServiceLevelTargetType, ServiceLevelTarget1.Name Name1, ServiceAgreement.Status Status,


          CI3.Name Name2, CI3.Name_de Name2_de, CI3.Name_fr Name2_fr, CI3.Owner Owner, ServiceAgreement.ComplianceTarget ComplianceTarget1, ServiceAgreement.RecId RecId1, Frs_data_escalation_watch5.BreachDateTime BreachDateTime, Frs_data_escalation_watch5.BreachPassed BreachPassed, Frs_data_escalation_watch5.CreatedDateTime CreatedDateTime, Frs_data_escalation_watch5.RecId RecId

          FROM dbo.ServiceAgreement JOIN dbo.ServiceLevelTarget ServiceLevelTarget1 ON (ServiceAgreement.RecId = ServiceLevelTarget1.ParentLink_RecID) JOIN dbo.OrganizationalUnit OrganizationalUnit2 ON (ServiceAgreement.OrgUnitLink_RecID = OrganizationalUnit2.RecId) JOIN dbo.CI CI3 ON (ServiceAgreement.ServiceLink_RecID = CI3.RecId AND CI3.CIType = 'Service')

          JOIN dbo.Frs_def_escalation_schedule Frs_def_escalation_schedule4 ON (ServiceLevelTarget1.RecId = Frs_def_escalation_schedule4.SLTRecId) JOIN dbo.Frs_data_escalation_watch Frs_data_escalation_watch5 ON (Frs_def_escalation_schedule4.RecId = Frs_data_escalation_watch5.EscalationScheduleLi_RecID)

          WHERE (ServiceAgreement.ServiceAgreementType = 'SLA')



          I hope this clarifies how this is set up to calculate the "actual" value that's displayed in the UI.