# Contact center KPI definitions and calculation

Canonical: https://warmtransfer.net/knowledge/contact-center-kpis

Last verified: 2026-09-24

Across platforms, contact center key performance indicators evaluate contact handling, queue latency, agent occupancy, and service quality[^58][^2][^25]. Systems calculate these metrics through explicit formulas, queue-level thresholds, and distinct aggregation rules[^59][^8][^38].

## Average Handle Time and Contact Duration

In Webex Contact Center Analyzer stock reports, Average Handle Time (AHT) is calculated as (Sum of Hold Duration + Sum of Connected Duration + Sum of Wrapup Duration) divided by Count of Contact Session ID[^58]. Analyzer stock reports also calculate Contacts Handled as the Sum of Outdial Connected Count plus the Sum of Connected Count[^59]. Specific Analyzer reports and KPI cards calculate handle time using distinct formulas:[^44][^45][^46][^49]

* The Agent Details report calculates Inbound Average Handle Time as (Sum of Connected Duration + Sum of Wrapup Duration) / Sum of Connected Count[^44].
* The Agent Statistics report calculates Avg Handle Time as (Sum of Hold Duration + Sum of Connected Duration + Sum of Wrapup Duration) / count of contact sessions with Termination Type = Normal[^45].
* The Agent Summary Report (ASR) calculates Average Handle Time as Total Handle Time / Calls Handled[^46].
* The Webex Contact Center Average Handle Time KPI card presents a real-time average that includes connected time and wrap-up time[^49].
* The Webex Contact Center Total Contacts Handled KPI card includes active connections, terminated connections, and sudden disconnects, defined as terminations within a set threshold of connection[^50].

WarmTransfer's reading of the sources is that contact-level KPIs should count session records (CSR) rather than activity records (CAR), because a CSR represents the entire customer workflow while a CAR represents a single step within it, consistent with the stock AHT formula dividing by the count of contact session IDs[^60].

In Amazon Connect, the GetMetricData API reports `HANDLE_TIME` in SECONDS with the statistic AVG, which maps to the UI metric Average handle time[^3]. Average contact duration is calculated as the per-contact DisconnectTimestamp minus InitiationTimestamp, averaged over contact records containing an initiation timestamp[^11]. Amazon Connect Average after contact work time averages `Agent.AfterContactWorkDuration`, inputs 0 for contacts connected to an agent with no ACW, and excludes agent interaction time and customer hold time[^10].

In Dynamics 365, the Conversation dashboard in Omnichannel historical analytics defines Avg. handle time as the average total conversation active time across engaged conversations[^27].

## Abandonment and Short Calls

Calculation rules for abandoned contacts depend on the platform and reporting configuration:[^2][^18][^57][^33][^26]

* **Amazon Connect**: Calculates Abandonment rate as (Contacts abandoned / Contacts queued) x 100, where an abandoned contact represents a customer disconnection while in queue prior to connecting with an agent[^2]. Contacts queued for callback are not counted as abandoned[^12].
* **Genesys Cloud**: Calculates Abandon % as (Abandoned count / Offered count) x 100, counting end users abandoning an interaction in a queue[^18]. Genesys Cloud includes short abandons in the abandon rate[^23]. The short abandon threshold defaults to less than 10 seconds and can be adjusted by administrators in contact center analytics options[^22]. Flow-outs, which encompass transfers to voicemail, callbacks, system transfers to external parties or other queues, and IVR exits, are not counted as abandons[^20].
* **Webex Contact Center**: The Analyzer stock-report definition of Total Abandoned Contacts counts contacts abandoned across channels, including interactions where customers leave in the IVR, wait in queue, or disconnect before an agent receives the contact[^57]. The Analyzer Abandoned Contacts dashboard records an abandoned contact when it ends in the IVR, during sequential or parallel queue waiting time, or when an agent does not receive the call[^42]. Conversely, the Total Contacts Abandoned KPI card tracks contacts terminated in queue before connecting to an agent, regardless of handling in earlier queues, and excludes short calls[^48].
* **Cisco Unified Contact Center Enterprise (Unified CCE)**: Tracks abandons separately for calls abandoned at the VRU, in queue, and while ringing at or en route to an agent[^33]. If a call abandons before the peripheral's Abandon Call Wait Time, it increments calls offered but not CallsAbandon, excluding it from abandon tallies[^35]. Leaving the peripheral's Abandon Wait Time blank disables abandoned short calls[^34]. An answered short call increments skill group ShortCalls fields while still counting as handled, with its timer starting upon agent answer[^36].
* **Dynamics 365**: The Conversation dashboard defines Abandon rate as the percentage of conversations not engaged by service representatives[^26].

## Speed to Answer and Service Level

Platforms calculate speed to answer and service level metrics using distinct formulas, thresholds, and handling rules:[^5][^19][^28][^8][^25][^38][^55]

| Metric / Platform | Formula / Logic | Exclusions / Behaviors |
|:--- |:--- |:--- |
| **Amazon Connect ASA** | UI metric Average queue answer time maps to API `QUEUE_ANSWER_TIME` (reported in SECONDS, statistic AVG)[^5]. | Connects to the metric other vendors term ASA[^5]. |
| **Genesys Cloud ASA** | Interactions waiting in queue before agent answer: tAnswered sum / answered count[^19]. | Excludes interactions that no agent answered[^19]. |
| **Dynamics 365 ASA** | In Omnichannel historical analytics, Dynamics 365 Avg. speed to answer is the average queue wait time prior to connecting to a service representative (time to acceptance)[^28]. | Considers engaged and closed conversations[^28]. In the Conversation summary table, Dynamics 365 Avg. wait time differs by including wait time from every session in a conversation[^29]. |

Service level calculation models vary across vendors:[^8][^25][^38][^55]

* **Amazon Connect**: The GetMetricData `SERVICE_LEVEL` metric requires a `ThresholdValue` set to a whole number of seconds between 1 and 604800 inclusive, using the `LT` (less than) comparison[^8]. Up to 20 `SERVICE_LEVEL` metrics with unique thresholds can be included per request, reported in PERCENT with statistic AVG[^7]. The GetMetricData API reference documentation labels the UI name of `SERVICE_LEVEL` as "Average queue abandon time", matching the label given to `ABANDON_TIME`[^6].
* **Genesys Cloud**: Service level is calculated as conversations answered within the target divided by the conversations included[^25]. In Genesys Cloud, 3 organization-level toggles control the inclusion of abandons, short abandons, and flowouts; when included, abandons and flowouts count as missing the service level target[^25]. Genesys Cloud reports service level in the interval when a conversation is answered rather than when it entered queue, and does not evaluate operating hours[^24].
* **Unified CCE**: In Unified CCE, service level with abandoned calls ignored is ServiceLevelCalls / (ServiceLevelCallsOffered - ServiceLevelAband)[^38]. Service level with abandoned calls counted negatively is ServiceLevelCalls / ServiceLevelCallsOffered[^39]. Service level with abandoned calls counted positively is (ServiceLevelCalls + ServiceLevelAband) / ServiceLevelCallsOffered[^40]. A skill group's service level threshold defaults to the peripheral's default value and can be adjusted in Configuration Manager[^41]. Calls encountering error conditions or routed to non-monitored devices via label nodes within the threshold do not affect service level[^37].
* **Webex Contact Center**: The Average Service Level KPI card tracks contacts that connected, opted out of queue, dequeued, or terminated in queue within the SLA timeframe[^51]. Cisco technote 215136 (2020) defines Analyzer Service Level % as calls answered within the queue threshold divided by total calls including abandoned calls, multiplied by 100[^55]. While the 2020 technote stated thresholds were configured in milliseconds at the queue level[^56], current queue configuration defines Service Level Threshold in seconds[^52]. Service Level Threshold cannot be configured for social-channel queues[^54].

## Agent Occupancy and Workflow Metrics

In Webex Contact Center Analyzer, the Agent Details report calculates Occupancy as inbound plus outdial (connected + wrap-up) durations divided by the difference between maximum logout timestamp and minimum login timestamp[^47]. In Amazon Connect, GetMetricData reports `OCCUPANCY` in PERCENT with statistic AVG[^4]. For agent performance tracking, Amazon Connect maps `CONTACTS_MISSED` as a SUM count to the UI metric Agent non-response[^13].

In Omnichannel historical analytics, Dynamics 365 Incoming conversations counts customer-initiated conversations that can be presented to a service representative, excluding AI agent conversations[^31]. The Conversation summary table defines Dynamics 365 Transfer rate as the percentage of conversations transferred to another service representative or queue[^32]. By default, the Dynamics 365 Conversation dashboard displays KPIs across all channels, queues, and service representatives over the past month, maintaining persistent filters across dashboards[^30].

## API Metric Retrieval Windows

Historical metrics in Amazon Connect are retrieved through specific API operations:[^14][^15]

* **GetMetricData (v1)**: Retrieves metrics exclusively for the preceding 24 hours, requiring start and end timestamps that fall on 5-minute boundaries and span less than 24 hours[^14].
* **GetMetricDataV2**: Retrieves data spanning the preceding 3 months across configurable intervals, supporting filtering and grouping by queue, routing profile, channel, agent, and agent hierarchy, but does not support agent queues[^15]. When calculations cannot be executed due to insufficient data or divide-by-zero conditions, GetMetricDataV2 returns null metric values; it returns an empty `MetricResult` list when no records are located[^17].

## See also

* [Webex Contact Center Analyzer and reporting model](https://warmtransfer.net/knowledge/webex-cc-analyzer)
* [Amazon Connect contact records and streams](https://warmtransfer.net/knowledge/amazon-connect-data)
* [What the Customer Session Record carries](https://warmtransfer.net/knowledge/wxcc-customer-session-record-fields)
* [What the Analyzer stock reports publish](https://warmtransfer.net/knowledge/wxcc-analyzer-stock-reports)

## Applicability

Applies to: Cisco Webex Contact Center, Amazon Web Services Amazon Connect, Genesys Cloud, Cisco Unified CCE, Cisco Webex Contact Center Analyzer, and Microsoft Dynamics 365 Customer Service. Deployments: on-premises and multi-tenant. Sources checked 2026-09-24. The peripheral service level threshold and short call behaviors apply to Unified CCE configuration[^41][^34]. Cisco technote 215136 definitions apply to Analyzer Service Level % configuration[^55][^56]. Amazon Connect historical metrics apply to GetMetricData and GetMetricDataV2 operations[^14][^15].

## What remains uncertain

Whether Dynamics 365 or Unified CCE formulas apply identically across non-voice digital messaging channels is not covered by the sources below.

## Sources

[^1]: Abandon rate denominators differ by vendor: Amazon Connect divides by contacts queued, Genesys Cloud by offered, and Dynamics 365 uses the share of conversations not engaged. The same traffic can therefore produce different abandon rates (inferred). Source: [Metrics definitions in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html), Abandonment rate > Calculation logic, compared with the Genesys and Microsoft definitions. Checked 2026-09-24.
[^2]: Amazon Connect calculates Abandonment rate as (Contacts abandoned / Contacts queued) x 100, where an abandoned contact is one the customer disconnected while in queue before being connected to an agent. Source: [Metrics definitions in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html), Abandonment rate > Calculation logic. Checked 2026-09-24.
[^3]: In the Amazon Connect GetMetricData API, HANDLE_TIME is reported in SECONDS with statistic AVG and maps to the UI metric Average handle time. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > HANDLE_TIME. Checked 2026-09-24.
[^4]: In the Amazon Connect GetMetricData API, OCCUPANCY is reported in PERCENT with statistic AVG. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > OCCUPANCY. Checked 2026-09-24.
[^5]: In the Amazon Connect GetMetricData API, QUEUE_ANSWER_TIME is reported in SECONDS with statistic AVG and maps to the UI metric Average queue answer time, Amazon Connect's name for the metric other vendors call ASA. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > QUEUE_ANSWER_TIME. Checked 2026-09-24.
[^6]: The GetMetricData API reference labels the UI name of SERVICE_LEVEL as 'Average queue abandon time', the same label it gives ABANDON_TIME. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > SERVICE_LEVEL > UI name. Checked 2026-09-24.
[^7]: A single GetMetricData request can include up to 20 SERVICE_LEVEL metrics, each with its own threshold, reported in PERCENT with statistic AVG. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > SERVICE_LEVEL. Checked 2026-09-24.
[^8]: For the GetMetricData SERVICE_LEVEL metric, ThresholdValue must be a whole number of seconds from 1 to 604800 inclusive, and Comparison must be LT (less than). Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > SERVICE_LEVEL > Threshold. Checked 2026-09-24.
[^9]: Amazon Connect Average active time is made up of agent interaction time, customer hold time and after contact work time. Source: [Metrics definitions (real-time metrics URL)](https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html), Average active time. Checked 2026-09-24.
[^10]: Amazon Connect Average after contact work time averages Agent.AfterContactWorkDuration, counts 0 for contacts connected to an agent with no ACW, and excludes agent interaction time and customer hold time. Source: [Metrics definitions in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html), Average after contact work time > Calculation logic and Includes/Excludes. Checked 2026-09-24.
[^11]: Amazon Connect Average contact duration is the per-contact DisconnectTimestamp minus InitiationTimestamp, averaged over contact records that have an initiation timestamp. Source: [Metrics definitions in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html), Average contact duration > Calculation logic. Checked 2026-09-24.
[^12]: Amazon Connect does not count contacts queued for callback as abandoned. Source: [Metrics definitions in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html), Abandonment rate > definition note. Checked 2026-09-24.
[^13]: In GetMetricData, CONTACTS_MISSED is a SUM count whose UI name is Agent non-response. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > HistoricalMetrics > CONTACTS_MISSED. Checked 2026-09-24.
[^14]: GetMetricData (v1) returns historical metrics only for the last 24 hours. Start and end times must fall on 5-minute boundaries and be less than 24 hours apart. Source: [GetMetricData - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html), Request Body > StartTime and EndTime. Checked 2026-09-24.
[^15]: GetMetricDataV2 retrieves historical data for the last 3 months at varying intervals, can filter and group by channel, queue, routing profile, agent and hierarchy, and does not support agent queues. Source: [GetMetricDataV2 - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html), Introduction (first paragraph). Checked 2026-09-24.
[^16]: Amazon Connect documentation states that Agent idle time is used in occupancy calculations. Source: [Metrics definitions (real-time metrics URL)](https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html), Agent idle time > note. Checked 2026-09-24.
[^17]: GetMetricDataV2 returns a null metric value when the calculation cannot be performed because of divide-by-zero or insufficient data, and an empty MetricResult list when no data is found. Source: [GetMetricDataV2 - Amazon Connect API Reference](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html), Introduction > Note on metric values. Checked 2026-09-24.
[^18]: Genesys Cloud Abandon % is (Abandoned count / Offered count) x 100, where Abandon counts end users abandoning an interaction in a queue. Source: [Metric definitions](https://help.genesys.cloud/articles/metric-definitions/), Conversation metrics > Abandon / Abandon %. Checked 2026-09-24.
[^19]: Genesys Cloud ASA is the average time an interaction waits in queue before an agent answers (tAnswered sum / answered count), and excludes interactions no agent answered. Source: [Metric definitions](https://help.genesys.cloud/articles/metric-definitions/), Conversation metrics > tAnswered / ASA. Checked 2026-09-24.
[^20]: Genesys Cloud does not count flow-outs (transfers to voicemail, callbacks, system transfers to another queue or external party, or exits back to IVR) as abandons. Source: [What type of situations do abandons include in Genesys Cloud?](https://help.genesys.cloud/faqs/what-do-abandons-include-in-genesys-cloud/), FAQ answer > flow-outs. Checked 2026-09-24.
[^21]: Genesys Cloud Handle (AHT) sums talk, hold and after-call work, plus dialing and contacting time for outbound, divided by the number of interactions handled. Source: [Metric definitions](https://help.genesys.cloud/articles/metric-definitions/), tHandle / Handle definition (reported under Workitems metrics section). Checked 2026-09-24.
[^22]: The Genesys Cloud short abandon threshold defaults to less than 10 seconds and can be set by administrators in contact center analytics options. Source: [Configure contact center analytics options](https://help.genesys.cloud/articles/configure-contact-center-analytics-options/), Short abandon threshold section. Checked 2026-09-24.
[^23]: Genesys Cloud includes short abandons in the abandon rate. Source: [What type of situations do abandons include in Genesys Cloud?](https://help.genesys.cloud/faqs/what-do-abandons-include-in-genesys-cloud/), FAQ answer > short abandons note. Checked 2026-09-24.
[^24]: Genesys Cloud reports service level in the interval when a conversation is answered, not when it entered the queue, and operating hours are not considered. Source: [service level (glossary)](https://help.genesys.cloud/glossary/service-level/), service level glossary entry > note. Checked 2026-09-24.
[^25]: Genesys Cloud service level is conversations answered within the target divided by the conversations included, and three org-level toggles control inclusion: abandons, short abandons and flowouts. Included abandons and flowouts count as missing the target. Source: [service level (glossary)](https://help.genesys.cloud/glossary/service-level/), service level glossary entry > configuration options. Checked 2026-09-24.
[^26]: The Dynamics 365 Conversation dashboard defines Abandon rate as the percentage of conversations not engaged by service representatives. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Report details > KPI table > Abandon rate. Checked 2026-09-24.
[^27]: Dynamics 365 Avg. handle time is the average total conversation active time across engaged conversations. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Conversation summary table > Avg. handle time (min). Checked 2026-09-24.
[^28]: Dynamics 365 Avg. speed to answer is the average time customers waited in queue before connecting to a service representative (time to acceptance), and considers engaged and closed conversations. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Report details > KPI table > Avg. speed to answer (seconds). Checked 2026-09-24.
[^29]: Dynamics 365 Avg. wait time differs from Avg. speed to answer because it includes the wait time from every session within a conversation. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Conversation summary table > Avg. wait time (sec). Checked 2026-09-24.
[^30]: By default, the Dynamics 365 Conversation dashboard shows KPIs for the past month across all channels, queues and service representatives, and filters persist across dashboards. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Introduction paragraphs and Note. Checked 2026-09-24.
[^31]: Dynamics 365 Incoming conversations counts customer-initiated conversations that can be presented to a service representative, and excludes AI agent conversations. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Report details > KPI table > Incoming conversations (Derivation). Checked 2026-09-24.
[^32]: Dynamics 365 Transfer rate is the percentage of conversations transferred to another service representative or queue. Source: [Conversation dashboard in Omnichannel historical analytics](https://learn.microsoft.com/en-us/dynamics365/customer-service/use/oc-conversation-dashboard), Conversation summary table > Transfer rate. Checked 2026-09-24.
[^33]: Unified CCE tracks abandons separately for calls abandoned at the VRU, in queue, and while ringing at the agent or en route to the agent. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Short Calls, Abandoned Calls, and Overflow Calls](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/short-calls-_abandoned-calls_and-overflow-calls.html), Abandoned Calls. Checked 2026-09-24.
[^34]: In Unified CCE, leaving the peripheral's Abandon Wait Time field blank disables abandoned short calls. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Short Calls, Abandoned Calls, and Overflow Calls](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/short-calls-_abandoned-calls_and-overflow-calls.html), Short Calls > configuration. Checked 2026-09-24.
[^35]: In Unified CCE, a call abandoned before the peripheral's Abandon Call Wait Time increments calls offered but not CallsAbandon, so it does not count as an abandon. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Short Calls, Abandoned Calls, and Overflow Calls](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/short-calls-_abandoned-calls_and-overflow-calls.html), Short Calls > Abandoned Short Calls. Checked 2026-09-24.
[^36]: In Unified CCE, an answered short call (answered, then disconnected quickly) still counts as handled and also increments the skill group ShortCalls fields. Its timer starts when the agent answers. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Short Calls, Abandoned Calls, and Overflow Calls](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/short-calls-_abandoned-calls_and-overflow-calls.html), Short Calls > Answered Short Calls. Checked 2026-09-24.
[^37]: In Unified CCE, calls that hit an error condition or are sent to non-monitored devices via a label node within the service level threshold do not affect service level. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Service Levels](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/service-levels.html), About Service Levels / Service Level at Call Type. Checked 2026-09-24.
[^38]: In Unified CCE, service level with abandoned calls ignored is ServiceLevelCalls / (ServiceLevelCallsOffered - ServiceLevelAband). Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Service Levels](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/service-levels.html), Service Level Type. Checked 2026-09-24.
[^39]: In Unified CCE, service level with abandoned calls counted negatively is ServiceLevelCalls / ServiceLevelCallsOffered. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Service Levels](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/service-levels.html), Service Level Type. Checked 2026-09-24.
[^40]: In Unified CCE, service level with abandoned calls counted positively is (ServiceLevelCalls + ServiceLevelAband) / ServiceLevelCallsOffered. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Service Levels](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/service-levels.html), Service Level Type. Checked 2026-09-24.
[^41]: In Unified CCE, a skill group's service level threshold defaults to its peripheral's default value and can be changed in Configuration Manager. Source: [Reporting Concepts for Cisco Unified ICM/Contact Center Enterprise, Release 12.6(1) - Service Levels](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/User/guide/reporting-concepts-for-cisco-unified-icm-contact-center-enterprise-release-12-6-1/service-levels.html), Service Level Threshold. Checked 2026-09-24.
[^42]: The Webex Contact Center Analyzer Abandoned Contacts dashboard counts a contact as abandoned when it ends in IVR, during queue waiting time (including sequential or parallel queue waiting), or when an agent does not receive the call. Source: [Webex Contact Center Analyzer Stock Reports](https://help.webex.com/en-us/article/t137o3/Webex-Contact-Center-Analyzer-Stock-Reports), Business Metrics > Abandoned Contacts dashboard scenarios. Checked 2026-09-24.
[^43]: Webex Contact Center Analyzer stock reports can show different AHT values for the same agent and interval, because Agent Details divides by connected count without hold while Agent Statistics adds hold and divides by normal-termination sessions (inferred). Source: [Cisco Webex Contact Center Analyzer User Guide](https://help.webex.com/en-us/article/tajemk/Cisco-Webex-Contact-Center-Analyzer-User-Guide), Agent Details, Agent Statistics and Agent Summary Report AHT rows compared. Checked 2026-09-24.
[^44]: The Analyzer Agent Details report calculates Inbound Average Handle Time as (Sum of Connected Duration + Sum of Wrapup Duration) / Sum of Connected Count. Source: [Cisco Webex Contact Center Analyzer User Guide](https://help.webex.com/en-us/article/tajemk/Cisco-Webex-Contact-Center-Analyzer-User-Guide), Agent Details > Inbound Average Handle Time row. Checked 2026-09-24.
[^45]: The Analyzer Agent Statistics report calculates Avg Handle Time as (Sum of Hold Duration + Sum of Connected Duration + Sum of Wrapup Duration) / count of contact sessions with Termination Type = Normal. Source: [Cisco Webex Contact Center Analyzer User Guide](https://help.webex.com/en-us/article/tajemk/Cisco-Webex-Contact-Center-Analyzer-User-Guide), Agent Statistics > Avg Handle Time row. Checked 2026-09-24.
[^46]: The Analyzer Agent Summary Report (ASR) calculates Average Handle Time as Total Handle Time / Calls Handled. Source: [Cisco Webex Contact Center Analyzer User Guide](https://help.webex.com/en-us/article/tajemk/Cisco-Webex-Contact-Center-Analyzer-User-Guide), Agent Summary Report - ASR > Average Handle Time row. Checked 2026-09-24.
[^47]: The Webex Contact Center Analyzer Agent Details report calculates Occupancy as inbound plus outdial (connected + wrap-up) durations divided by (maximum logout timestamp minus minimum login timestamp). Source: [Cisco Webex Contact Center Analyzer User Guide](https://help.webex.com/en-us/article/tajemk/Cisco-Webex-Contact-Center-Analyzer-User-Guide), Agent Details > Occupancy row. Checked 2026-09-24.
[^48]: The Webex Contact Center Total Contacts Abandoned KPI card counts contacts terminated in queue before connecting to an agent, regardless of handling in earlier queues, and excludes short calls. Source: [View your contact center KPI cards](https://help.webex.com/en-us/article/63s0bj/View-your-contact-center-KPI-cards), KPI card table > Total Contacts Abandoned. Checked 2026-09-24.
[^49]: The Webex Contact Center Average Handle Time KPI card is a real-time average that includes connected time and wrap-up time. Source: [View your contact center KPI cards](https://help.webex.com/en-us/article/63s0bj/View-your-contact-center-KPI-cards), KPI card table > Average Handle Time. Checked 2026-09-24.
[^50]: The Webex Contact Center Total Contacts Handled KPI card includes active connections, terminated connections and sudden disconnects (terminations within a set threshold of connection). Source: [View your contact center KPI cards](https://help.webex.com/en-us/article/63s0bj/View-your-contact-center-KPI-cards), KPI card table > Total Contacts Handled. Checked 2026-09-24.
[^51]: The Webex Contact Center Average Service Level KPI card counts contacts that were connected, opted out of the queue, were dequeued, or terminated in the queue, all within the SLA timeframe. Source: [View your contact center KPI cards](https://help.webex.com/en-us/article/63s0bj/View-your-contact-center-KPI-cards), KPI card table > Average Service Level. Checked 2026-09-24.
[^52]: In current Webex Contact Center queue configuration, Service Level Threshold is the time in seconds a request can wait in queue before the system flags it as outside the service level. Source: [Create queues and configure routing patterns](https://help.webex.com/en-us/article/ubg5qd/Create-queues-and-configure-routing-patterns), Create a queue > Service Level Threshold field. Checked 2026-09-24.
[^53]: Cisco's own documentation disagrees on how Webex Contact Center service level treats contacts abandoned within the threshold. The 2020 technote counts them only as failures in the denominator, while the 2026 KPI card definition counts contacts terminated in queue within the SLA toward the level (disputed). Source: [View your contact center KPI cards](https://help.webex.com/en-us/article/63s0bj/View-your-contact-center-KPI-cards), KPI card table > Average Service Level, compared with technote 215136 formula paragraph. Checked 2026-09-24.
[^54]: Service Level Threshold cannot be configured for social-channel queues in Webex Contact Center. Source: [Create queues and configure routing patterns](https://help.webex.com/en-us/article/ubg5qd/Create-queues-and-configure-routing-patterns), Create a queue > Service Level Threshold field note. Checked 2026-09-24.
[^55]: Cisco technote 215136 (2020) defines Analyzer Service Level % as calls answered within the queue's Service Level threshold divided by total calls including abandoned calls, times 100. Source: [Create Analyzer Service Level Percentage Report](https://www.cisco.com/c/en/us/support/docs/contact-center/webex-contact-center/215136-create-analyzer-service-level-report.html), Service Level % formula paragraph. Checked 2026-09-24.
[^56]: The 2020 Cisco technote says the Webex Contact Center Service Level Threshold is set at queue level and specified in milliseconds. Source: [Create Analyzer Service Level Percentage Report](https://www.cisco.com/c/en/us/support/docs/contact-center/webex-contact-center/215136-create-analyzer-service-level-report.html), Service Level threshold configuration section. Checked 2026-09-24.
[^57]: The Analyzer stock-report definition of Contacts Abandoned counts contacts abandoned across channels, including customers who leave in IVR, while waiting in queue, or before an agent receives the contact. Source: [Webex Contact Center Analyzer Stock Reports](https://help.webex.com/en-us/article/t137o3/Webex-Contact-Center-Analyzer-Stock-Reports), Metric definition 'Contacts Abandoned'. Checked 2026-09-23.
[^58]: In Analyzer stock reports, Average Handle Time is (Sum of Hold Duration + Sum of Connected Duration + Sum of Wrapup Duration) divided by Count of Contact Session ID. Source: [Webex Contact Center Analyzer Stock Reports](https://help.webex.com/en-us/article/t137o3/Webex-Contact-Center-Analyzer-Stock-Reports), Metric definition 'Average Handle Time'. Checked 2026-09-23.
[^59]: In Analyzer stock reports, Contacts Handled is calculated as Sum of Outdial Connected Count plus Sum of Connected Count. Source: [Webex Contact Center Analyzer Stock Reports](https://help.webex.com/en-us/article/t137o3/Webex-Contact-Center-Analyzer-Stock-Reports), Metric definition 'Contacts Handled'. Checked 2026-09-23.
[^60]: Contact-level KPIs should count session records (CSR) rather than activity records (CAR), because a CSR is the whole customer workflow and a CAR is one step in it; the stock AHT formula divides by Count of Contact Session ID in the same way (inferred). Source: [DataDictionary/CSR.md](https://github.com/WebexSamples/webex-contact-center-api-samples/blob/main/reporting-samples/graphql-sample/DataDictionary/CSR.md), Opening definition, read with CAR.md opening definition and the stock-report AHT formula. Checked 2026-09-23.
