Guest

Cisco Unified Contact Center Express

Historical Reports Query Designs

 Feedback

Table of Contents

Historical Reports Query Designs
Conventions Used in this Chapter
Abandoned Call Detail Activity Report
Agent Detail Report
Agent Login Logout Activity Report
Agent State Summary Report (by Agent) and
Agent State Summary Report (by Interval)

Agent Summary Report
Call Custom Variables Report
Called Number Summary Activity Report
Contact Service Queue Activity Report
Contact Service Queue Activity Report (by CSQ) and Contact Service Queue Activity Report (by Interval)
Contact Service Queue Service Level Report
Detailed Call by Call CCDR Report
IVR Application Performance Analysis Report
IVR Traffic Analysis Report
Priority Summary Activity Report
Skill Routing Activity Report

Historical Reports Query Designs


This chapter explains how the information in each field in the Cisco CRA historical reports is obtained or calculated. It also describes how the filter parameters for a report obtain data.

This chapter includes the following topics:

Conventions Used in this Chapter

The following conventions are used in this chapter.

  • Database table names—Explanations of report fields in this chapter refer to various Cisco CRA database tables. In some cases, these explanations use abbreviations for database table names. Table 2-1 lists the database tables that this chapter refers to and shows the abbreviations that are used.

For detailed information about the Cisco CRA database tables, refer to Cisco Customer Response Applications Database Schema.

Table 2-1   Cisco CRA Database Tables

Database Table Name  Abbreviation Used in this Chapter 

AgentConnectionDetail

ACD

AgentStateDetail

ASD

ContactCallDetail

CCD

ContactRoutingDetail

CRD

ContactServiceQueue

CSQU

Resource

ResourceGroup

RG

ResourceSkillMapping

RSM

Skill

SkillGroup

SG

  • Database table fields—Explanations in this chapter specify fields in the Cisco CRA database tables as follows:

table.field

where table is the name or abbreviation of the database table (see Table 2-1) and field is the name of the field. For example,

    • CSQU.skillGroupID means the skillGroupID field in the ContactServiceQueue table
    • Resource.resourceID means the resourceID field in the Resource table
  • Report field names—In an explanation of a report field, a report field name in bold type indicates that field in the same report.

Abandoned Call Detail Activity Report

The Abandoned Call Detail Activity Report contains one row per abandoned call. An abandoned call is a call for which CCD.contactDisposition is set to 1 (abandoned).

Table 2-2 shows how the information in the Abandoned Call Detail Activity Report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-2   Abandoned Call Detail Activity Report Query Design

Field  Explanation 

Call Start Time

Obtained from CCD.startDateTime.

Called Number

Obtained from CCD.calledNumber.

Call ANI

Obtained from CCD.originatorDN for ICD and for non-ICD calls.

If a non-ICD call is an internal call between agents, CCD.originatorDN is set to the ICD extension of the originating agent as follows:

Join CCD.originatorID with Resource.resourceID to obtain the value in Resource.extension.

Initial Call Priority

Join CCD and CRD on sessionID and sessionSeqNum to include only records with CCD.contactDisposition set to 1 (abandoned). Obtain the value in CRD.origPriority.

Note A call may be abandoned without being assigned a call priority. In this case, CRD.origPriority will be blank and this Initial Call Priority field will be blank.

Call Routed CSQ

Join CCD and CRD on sessionID and sessionSeqNum to include only records with CCD.contactDisposition set to 1 (abandoned). When a call is presented to a CSQ, the record ID of the CSQ is stored in CRD.csd1, CRD.csd2, or CRD.csd3, depending on whether the call is presented to multiple CSQs and the order in which it is presented. Join CRD.csd1 (or CRD.csd2, or CRD.csd3) with CSQU.recordID to obtain the name of the CSQ to which the call was routed, which is stored in CSQU.csqName.

Note A call may be abandoned without being presented to any CSQ. In this case, this Call Routed CSQ field will be blank.

Agent Name

Join CCD and ACD on sessionID and sessionSeqNum to include only calls with CCD.contactDisposition set to 1 (abandoned). Join ACD and Resource on resourceID to obtain the name of the agent who was presented with the call, which is stored in Resource.resourceName.

Note A call may be abandoned without being presented to any agent. In this case, this Agent Name field will be blank.

Call Skills

This field shows the list of skills that belong to the CSQ shown in Call Routed CSQ.

Join CRD.csd1 (or CRD.csd2 or CRD.csd3) with CSQU.recordID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of call skills, which is stored in Skill.skillName.

Note This Call Skills field will be blank for a call that is abandoned without being presented to a CSQ and for a call that is abandoned after it is presented a resource-based CSQ.

Final Call Priority

Join CCD and CRD on sessionID and sessionSeqNum to include only records with CCD.contactDisposition set to 1 (abandoned). Obtain the value in CRD.finalPriority.

Note A call may be abandoned without being assigned a call priority. In this case, CRD.finalPriority will be blank and this Final Call Priority field will be blank.

Call Abandon Time

Obtained from CCD.endDateTime.

Agent Detail Report

The Agent Detail Report contains detailed information for calls received and calls made by an agent. The report contains one row per call and includes ICD and non-ICD calls.

For ICD calls, the ACD table records all the calls handled by an agent.

For non-ICD calls, the CCD table records all the calls made by or received by an agent. If an agent makes a non-ICD call, the agent's resource ID appears in CCD.originatorID. If the agent receives a non-ICD call, the agent's resource ID appears in CCD.destinationID.

Table 2-3 shows how the information in the Agent Detail Report is obtained or calculated.

Table 2-4 explains how the Agent Detail Report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-3   Agent Detail Report Query Design

Field  Explanation 

Agent Name

Join Resource.resourceID with ACD.resourceID to obtain the value stored in Resource.resourceName.

Extension

Join Resource.resourceID with ACD.resourceID to obtain the value stored in Resource.extension.

Call Start Time

Obtained from CCD.startDateTime.

Call End Time

Obtained from CCD.endDateTime.

Duration

Calculated as follows:

CCD.endDateTime - CCD.startDateTime

Called Number

Obtained from CCD.calledNumber (for ICD and for non-ICD calls).

Call ANI

Obtained from CCD.originatorDN (for ICD and for non-ICD calls).

If a non-ICD call is an internal call between agents, CCD.originatorDN is set to the ICD extension of the originating agent as follows:

Join CCD.originatorID with Resource.resourceID to obtain the value in Resource.extension.

Call Routed CSQ

For ICD calls, the record ID of the CSQ that handled the call is stored in CRD.primaryCSD. Join CRD.primaryCSD with CSQU.recordID to obtain the name of the CSQ, which is stored in CSQU.csqName.

Blank for non-ICD calls.

First 3 CSQs

For ICD calls, the record IDs of the first three CSQs for which the call was queued are stored in CRD.CSD1, CRD.CSD2 and CRD.CSD3. Join CRD.CSD1 with CSQU.recordID to obtain the name of the first CSQ for which the call was queued, which is stored in CSQU.csqName.

Join CRD.CSD2 with CSQU.recordID to obtain the name of the second CSQ for which the call was queued, which is stored in CSQU.csqName.

Join CRD.CSD3 with CSQU.recordID to obtain the name of the third CSQ for which the call was queued, which is stored in CSQU.csqName.

Blank for non-ICD calls.

Call Skills

For ICD calls, join CRD.primaryCSD with CSQU.recordID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which is stored in Skill.skillName.

Blank for non-ICD calls and for calls that queue only to resource-based CSQs.

Talk Time

For ICD calls, obtained from ACD.talkTime.

For handled non-ICD calls (CCD.contactDisposition is 2), calculated as CCD.endDateTime - CCD.startDateTime.

For abandoned non-ICD calls and for all abandoned agent-initiated calls (CCD.contactDisposition is 1 in both cases), this value is zero.

Hold Time

For ICD calls, obtained from ACD.holdTime.

Blank for non-ICD calls.

Work Time

For ICD calls, obtained from ACD.workTime.

Blank for non-ICD calls.

Table 2-4   Agent Detail Report Filter Parameters

Filter Parameter  Explanation 

All defined agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs as follows:

Search the Resource table for records with resourceType set to 1 (agent). Resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call-related data.

 

 

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs as follows:

Obtain the list of resource group name(s) from the user selection for this parameter. Find the corresponding RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to determine agents who belong to the selected resource group(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs as follows:

Obtain the list of agent names from the user selection for this parameter. Find the corresponding Resource.resourceID(s).

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Skill Names

To report on agents who possess a specific skill or skills, obtain the list of resource IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill.skillID with RSM.skillID and join RSM.resourceSkillMapID with Resource.resourceSkillMapID to find the agents who possess the selected skill(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Agent Login Logout Activity Report

The Agent Login Logout Activity Report contains detailed information about the login and logout activities of agents. The login and logout information is stored in the ASD table.

Table 2-5 shows how the information in the Agent Login Logout Activity Report is obtained or calculated.

Table 2-6 explains how the Agent Login Logout Activity Report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-5   Agent Login Logout Activity Report Query Design

Field  Explanation 

Agent Name

Join ASD.agentID with Resource.resourceID to obtain the agent name, which is stored in Resource.resourceName.

Login Time

Obtained from ASD.eventDateTime where eventType is set to 1 (log in).

Logout Time

Obtained from ASD.eventDateTime where eventType is set to 7 (log out).

Logged-In Duration

Calculated as (Logout Time - Login Time).

Table 2-6   Agent Login Logout Activity Report Filter Parameters

Filter Parameter  Explanation 

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs as follows:

Search the Resource table for records with resourceType set to 1 (agent). Resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs as follows:

Obtain the list of resource group name(s) from the user selection for this parameter. Find the corresponding RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to find agents belonging to the selected resource group(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs as follows:

Obtain the list of agent names from the user selection for this parameter. Find the corresponding Resource.resourceID(s).

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Skill Names

To report on agents who possess a specific skill or skills, obtain the list of resource IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill.skillID with RSM.skillID, RSM.resourceSkillMapID with Resource.resourceSkillMapID to find the agents who possess the selected skill(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Agent State Summary Report (by Agent) and
Agent State Summary Report (by Interval)

The Agent State Summary Report (by Agent) and the Agent State Summary Report (by Interval) show the length and percentage of time that each agent spent in each of the following agent states: Not Ready, Ready, Reserved, Talk and Work. These reports also show the total length of time that each agent was logged in.

In the Agent State Summary Report (by Agent), information presented is sorted first by agent, then by interval.

In the Agent State Summary Report (by Interval), information presented is sorted first by interval, then by agent.

Table 2-7 shows how the information in the Agent State Summary Reports is obtained or calculated.

Table 2-8 explains how the Agent State Summary Reports filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-7   Agent State Summary Reports Query Design

Field  Explanation 

Agent Name

Join ASD.agentID with Resource.resourceID to obtain the agent name, which is stored in Resource.resourceName.

Extension

Join ASD.agentID with Resource.resourceID to obtain the agent extension, which is stored in Resource.extension.

Interval Start Time

Beginning of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Interval End Time

End of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Total Logged-in Time

Login time is stored in ASD.eventDateTime with eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with eventType set to 7 (log out).

The calculation of the logged-in time for a single session depends on the agent activity, as follows:

  • An agent logs in and logs out during the interval:

Total Logged-in Time = logout time - login time

  • An agent logs in before the interval and logs out after the interval:

Total Logged-in Time = Interval End Time - Interval Start Time

  • An agent logs in before the interval and logs out during the interval:

Total Logged-in Time = logout time - Interval Start Time

  • An agent logs in during the interval and logs out after the interval:

Total Logged-in Time = Interval End Time - login time

If an agent has multiple login sessions during the interval, this field displays the sum of the time spent in each login session.

Not Ready Time

Total time that an agent spent in Not Ready state during the interval, and the percentage of total logged-in time that an agent spent in Not Ready State.

The time that an agent goes to Not Ready state is stored in ASD.eventDateTime with eventType set to 2. The time spent in Not Ready state depends on the agent activity, as follows:

  • An agent goes in to and out of Not Ready state during the interval:

Total Not Ready Time = time out of Not Ready state - time in to Not Ready State

  • An agent goes in to Not Ready state before the interval and goes out of Not Ready state after the interval:

Total Not Ready Time = Interval End Time - Interval Start Time

  • An agent goes in to Not Ready state before the interval and goes out of Not Ready state during the interval:

Total Not Ready Time = time out of Not Ready state - Interval Start Time

  • An agent goes in to Not Ready state during the interval and goes out of Not Ready state after the interval:

Total Not Ready Time = Interval End Time - time in to Not Ready State

If an agent goes to Not Ready state multiple times during the interval, this field displays the sum of the time spent in each Not Ready state.

The percentage is calculated as:

(Not Ready Time / Total Logged-in Time) * 100%

Ready Time

Total time that an agent spent in Ready state during the interval, and the percentage of total logged-in time that an agent spent in Ready state.

The time that an agent goes to the Ready state is stored in ASD.eventDateTime with eventType set to 3. The time spent in Ready state depends on the agent activity, as follows:

  • An agent goes in to and out of Ready state during the interval:

Total Ready Time = time out of Ready state - time in to Ready State

  • An agent goes in to Ready state before the interval and goes out of Ready state after the interval:

Total Ready Time = Interval End Time - Interval Start Time

  • An agent goes in to Ready state before the interval and goes out of Ready state during the interval:

Total Ready Time = time out of Ready state - Interval Start Time

  • An agent goes in to Ready state during the interval and goes out of Ready state after the interval:

Total Ready Time = Interval End Time - time in to Ready State

If an agent goes to Ready state multiple times during the interval, this field displays the sum of the time spent in each Ready state.

The percentage is calculated as:

(Ready Time / Total Logged-in Time) * 100%

Reserved Time

Total time an agent spent in the Reserved state during the interval, and the percentage total logged-in time that an agent spent in Reserved state.

The time that an agent goes to the Reserved state is stored in ASD.eventDateTime with eventType set to 4. The time spent in Reserved state depends on the agent activity, as follows:

  • An agent goes in to and out of Reserved state during the interval:

Total Reserved Time = time out of Reserved state - time in to Reserved State

  • An agent goes in to Reserved state before the interval and goes out of Reserved state after the interval:

Total Reserved Time = Interval End Time - Interval Start Time

  • An agent goes in to Reserved state before the interval and goes out of Reserved state during the interval:

Total Reserved Time = time out of Reserved state - Interval Start Time

  • An agent goes in to Reserved state during the interval and goes out of Reserved state after the interval:

Total Reserved Time = Interval End Time - time in to Reserved State

If an agent goes to the Reserved state multiple times during the interval, this field displays the sum of the time spent in each Reserved state.

The percentage is calculated as:

(Reserved Time / Total Logged-in Time) * 100%

Talk Time

Total time an agent spent in the Talk state during the interval, and the percentage of total logged-in time that an agent spent in Talk state.

The time that an agent goes to the Talk state is stored in ASD.eventDateTime with eventType set to 5. The time spent in Talk state depends on the agent activity, as follows:

  • An agent goes in to and out of Talk state during the interval:

Total Talk Time = time out of Talk state - time in to Talk State

  • An agent goes in to Talk state before the interval and goes out of Talk state after the interval:

Total Talk Time = Interval End Time - Interval Start Time

  • An agent goes in to Talk state before the interval and goes out of Talk state during the interval:

Total Talk Time = time out of Talk state - Interval Start Time

  • An agent goes in to Talk state during the interval and goes out of Talk state after the interval:

Total Talk Time = Interval End Time - time in to Talk State

If an agent goes to the Talk state multiple times during the interval, this field displays the sum of the time spent in each Talk state.

The percentage is calculated as:

(Talk Time / Total Logged-in Time) * 100%

Work Time

Total time an agent spent in the Work state during the interval, and the percentage of total logged-in time that an agent spent in Work state.

The time that an agent goes to the Work state is stored in ASD.eventDateTime with eventType set to 6. The time spent in Work state depends on the agent activity, as follows:

  • An agent goes in to and out of Work state during the interval:

Total Work Time = time out of Work state - time in to Work State

  • An agent goes in to Work state before the interval and goes out of Work state after the interval:

Total Work Time = Interval End Time - Interval Start Time

  • An agent goes in to Work state before the interval and goes out of Work state during the interval:

Total Work Time = time out of Work state - Interval Start Time

  • An agent goes in to Work state during the interval and goes out of Work state after the interval:

Total Work Time = Interval End Time - time in to Work State

If an agent goes to the Work state multiple times during the interval, this field displays the sum of the time spent in each Work state.

The percentage is calculated as:

(Work Time / Total Logged-in Time) * 100%

Table 2-8   Agent State Summary Reports Filter Parameters

Filter Parameter  Explanation 

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs as follows:

Search the Resource table for records with resourceType set to 1 (agent). Resource ID is stored in the Resource.resourceID field.

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Interval Length

Options are entire report period (default), 30 minutes, 60 minutes.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs as follows:

Obtain the list of resource group name(s) from the user selection for this parameter.Find the corresponding RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to find agents belonging to the selected resource group(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs as follows:

Obtain the list of agent names from the user selection for this parameter. Find the corresponding Resource.resourceID(s).

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Skill Names

To report on agents who possess a specific skill or skills, obtain the list of resource IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill.skillID with RSM.skillID and join RSM.resourceSkillMapID with Resource.resourceSkillMapID to find the agents who possess the selected skill(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call related data.

Agent Summary Report

The Agent Summary Report contains one row per agent. Each row contains a summary of the activities of an agent.

The ACD table contains information of the agents who handled ICD calls. This table provides the basic data for the Agent Summary Report.

Table 2-9 shows how the information in the Agent Summary Report is obtained or calculated.

Table 2-10 explains how the Agent Summary Report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-9   Agent Summary Report Query Design

Field  Explanation 

Agent Name

Join Resource.resourceID with ACD.resourceID to obtain the value stored in Resource.resourceName.

Extension

Join Resource.resourceID with ACD.resourceID to obtain the value stored in Resource.extension.

Avg Logged-In Time

The ASD provides the times that each agent logs in and logs out. The length of time between log in and log out is the agent logged-in time. Login time is stored in ASD.eventDateTime with eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with eventType set to 7 (log out).

The calculation of the average logged-in time depends on the agent activity, as follows. In these calculations, t1 is the report start time and t2 is the report end time.

  • An agent logs in before t1 and logs out between t1 and t2:

Logged-in duration = logout time - t1

  • An agent logs in between t1 and t2 and logs out after t2:

Logged-in duration = t2 - login time

  • An agent logs in between t1 and t2 and logs out between t1 and t2:

Logged-in duration = logout time - login time

  • An agent logs in before t1 and logs out after t2:

Logged-in duration = t2 - t1

The average logged-in time for an agent is calculated as follows:

Calculate the total logged-in time for an agent during the report period and divide by the number of logged-in sessions.

Calls Handled

Join ACD and CCD on sessionID and sessionSeqNum. For each agent, count the number of unique CCD.sessionID that meet the following criteria:

  • CCD.startDateTime is in the report period
  • CCD.contactDisposition is 2 (handled)
  • ACD.talkTime is greater than zero

Calls Presented

Join ACD and CCD on sessionID and sessionSeqNum. For each agent, count the number of unique CCD.sessionID with CCD.startDateTime falling within the report period.

Handle Ratio

Call Handled divided by Calls Presented.

Handle Time—Avg

Each call handled by an agent has an ACD record. The handle time of a call is calculated as follows:

ACD.talkTime + ACD.holdTime + ACD.workTime

The average handle time is the sum of the handle times of all the calls handled by the agent within the report period divided by the number of calls handled within the report period.

Handle Time—Max

Each call handled by an agent has an ACD record. The handle time of a call is calculated as follows

ACD.talkTime + ACD.holdTime + ACD.workTime

The maximum handle time for an agent is the longest handle time of all calls handled by the agent within the report period.

Talk Time—Avg

Talk time of a call is obtained from ACD.talkTime.

The average talk time for an agent is the sum of talk times of all calls handled by the agent within the report period divided by the number of calls handled within the report period.

Talk Time—Max

Talk time of a call is obtained from ACD.talkTime.

Maximum talk time for an agent is the longest talk time of all the calls handled by the agent within the report period.

Hold Time—Avg

Hold time of a call is obtained from ACD.holdTime.

Average hold time for an agent is the sum of the hold times of all calls handled by the agent within the report period divided by the number of calls handled calls within the report period.

Hold Time—Max

Hold time of a call is obtained from ACD.holdTime.

The maximum hold time for an agent is the longest hold time of all calls handled by the agent within the report period.

Work Time—Avg

Work time of a call is obtained from ACD.workTime.

The average work time for an agent is the sum of work times of all calls handled by the agent within the report period divided by the number of calls handled within the report period.

Work Time—Max

Work time of a call is obtained from ACD.workTime.

The maximum work time for an agent is the longest work time of all the calls handled by the agent within the report period.

Idle Time—Avg

The ASD records the date and time that an agent goes to a specific state. Idle time is the time spent in the Not Ready state (2). While in the Not Ready state (2), an agent can go to Ready state (3), Reserved state (4), or Logout state (7).

An idle session begins when an agent goes to Not Ready state and ends when the agent goes to the next state (Ready, Reserved, or Logout). The length of time that the agent spends in Not Ready State is the duration of an idle session.

The average idle time for an agent is the sum of the durations of all of an agent's idle sessions within the report period divided by the number of idle sessions within the report period.

Idle Time—Max

The ASD records the date and time that an agent goes to a specific state. Idle time is the time spent in the Not Ready state (2). While in the Not Ready state (2), an agent can go to Ready state (3), Reserved state (4), or Logout state (7).

An idle session begins when an agent goes to Not Ready state and ends when the agent goes to the next state (Ready, Reserved, or Logout). The length of time that the agent spends in Not Ready State is the duration of an idle session.

The maximum idle time for an agent is the longest duration of the idle sessions within the report period.

Table 2-10   Agent Summary Report Filter Parameters

Filter Parameter  Explanation 

All agents (default, no filtering parameters)

To report on all agents, obtain the list of resource IDs as follows:

Search the Resource table for records with resourceType set to 1 (agent). Resource ID is stored in the resourceID field.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs as follows:

Obtain the list of resource group name(s) from the user selection for this parameter. Find the corresponding RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to find agents belonging to the selected resource group(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs as follows:

Obtain the list of agent names from the user selection for this parameter. Find the corresponding Resource.resourceID(s).

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Skill Names

To report on agents who possess a specific skill or skills, obtain the list of resource IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill.skillID with RSM.skillID and join RSM.resourceSkillMapID with Resource.resourceSkillMapID to find the agents who possess the selected skill(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Top N Calls Handled/Presented Ratio

To report on N agents who rank highest in the calls handled/presented ratio, obtain the list of resource IDs as follows:

Rank the agents by the calls handled/presented ratio in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Bottom N Calls Handled/Presented Ratio

To report on N agents who rank lowest in the calls handled/presented ratio, obtain the list of resource IDs as follows:

Rank the agents by the calls handled/presented ratio in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Top N Avg Hold Time

To report on N agents who rank highest in average hold time, obtain the list of resource IDs as follows:

Rank the agents by average hold time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Bottom N Avg Hold Time

To report on N agents who rank lowest in average hold time, obtain the list of resource IDs as follows:

Rank the agents by average hold time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Top N Avg Talk Time

To report on N agents who rank highest in average talk time, obtain the list of resource IDs as follows:

Rank the agents by average talk time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Bottom N Avg Talk Time

To report on N agents who rank lowest in average talk time, obtain the list of resource IDs as follows:

Rank the agents by average talk time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Top N Avg Work Time

To report on N agents who rank highest in average work time, obtain the list of resource IDs as follows:

Rank the agents by average work time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Bottom N Avg Work Time

To report on N agents who rank lowest in average work time, obtain the list of resource IDs as follows:

Rank the agents by average work time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Top N Avg Handle Time

To report on N agents who rank highest in average handle time, obtain the list of resource IDs as follows:

Rank the agents by average handle time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Bottom N Avg Handle Time

To report on N agents who rank lowest in average handle time, obtain the list of resource IDs as follows:

Rank the agents by average handle time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID to obtain other call related data.

Call Custom Variables Report

The Call Custom Variables Report shows information about custom variables that are set by the Set Session Info step in the workflow that the Cisco ICD or IVR application associated with a call invoked. This information comes from the CCD table.

Table 2-11 shows how the information in the Call Custom Variables Report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-11   Call Custom Variables Report Query Design

Field  Explanation 

Session ID

Obtained from CCD.sessionID.

Sequence No.

Obtained from CCD.sessionSeqNum.

Start Time

Obtained from CCD.startDateTime.

End Time

Obtained from CCD.endDateTime.

Contact Disposition

Obtained from CCD.contactDisposition.

Agent Name

Join CCD and ACD on sessionID and sessionSeqNum to obtain the resource ID of the agent who handled the call, which is stored in ACD.resourceID. Join ACD.resourceID with Resource.resourceID to obtain the agent name, which is stored in Resource.resourceName.

Blank for a call that was not handled by an agent and for a call to an IVR application.

Application Name

Obtained from CCD.applicationName.

Custom Variable 1

Obtained from CCD.customVariable1.

Custom Variable 2

Obtained from CCD.customVariable2.

Custom Variable 3

Obtained from CCD.customVariable3.

Custom Variable 4

Obtained from CCD.customVariable4.

Custom Variable 5

Obtained from CCD.customVariable5.

Called Number Summary Activity Report

The Called Number Summary Activity Report contains one row per called number. The called number is stored in CCD.origCalledNumber.

Outgoing calls are not included in this report.

Table 2-12 shows how the information in the Called Number Summary Activity Report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-12   Called Number Summary Activity Report Query Design

Field  Explanation 

Called Number

Obtained from CCD.origCalledNumber.

Call Type

Obtained from CCD.destinationType. The value 1 (agent) indicates a non-ICD call. The value 2 (device) indicates an ICD call. The value 3 (unknown) indicates an outgoing call or a call to an IVR application and is not reported.

Total Calls

For each unique CCD.origCalledNumber, count the number of CCDRs with a unique sessionID and sequence number.

Avg Calls

Total calls divided by the number of days in the report period.

The number of days in the report period is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time - report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Avg Call Duration

Duration of a call is obtained from CCD.connectTime. Average call duration of a called number is calculated by the sum of CCD.connectTime of all calls for that called number, divided by the number of calls to that number.

Contact Service Queue Activity Report

The Contact Service Queue Activity Report shows one line for each contact service queue (CSQ) that is configured in the Cisco CRA. A CSQ can be configured based on resource group or based on resource skill.

Table 2-13 shows how the information in the Contact Service Queue Activity Report is obtained or calculated.

Table 2-14 explains how the Contact Service Queue Activity Report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-13   Contact Service Queue Activity Report Query Design

Field  Explanation 

CSQ Name

Obtained from CSQU.csqName.

Call Skills

Join CRD.primaryCSD with CSQU.recordID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which is stored in Skill.skillName.

Calls Presented

If a call is presented to one CSQ, the record ID of the CSQ is stored in CRD.csd1. If a call is presented to two CSQs, the record IDs of the CSQs are stored in CRD.csd1 and in CRD.csd2. If a call is presented to three CSQs, the record IDs of the CSQs are stored in CRD.csd1, in CRD.csd2, and in CRD.csd3.

To calculate the number of calls presented to each CSQ, count the number of CRD records with unique sessionIDs that contain the record ID of the CSQ in csd1, csd2, or csd3.

Wait Time—Avg

Wait time of a call is obtained from CRD.queueTime. Average wait time for a CSQ is the sum of CRD.queueTime for all calls presented divided by the number of calls presented.

Wait Time—Max

Wait time of a call is obtained from CRD.queueTime. Maximum wait time of a CSQ is the longest CRD.queueTime for all the calls presented in the report period.

Calls Handled

To calculate calls handled by each CSQ, count the number of CRD records with unique sessionID that contain the record ID of the CSQ in the primaryCSD field. In addition, join CRD and ACD on sessionID and sessionSeqNum to only include calls with non-zero ACD.talkTime. Then join CRD and CCD on sessionID and sessionSeqNum to only include calls with CCD.contactDisposition set to 2 (handled).

Handle Time—Avg

Handle time of a single call is calculated as (ACD.talkTime + ACD.holdTime + ACD.workTime).

Average handle time for a CSQ is the sum of handle times of all the calls handled by the CSQ divided by the number of calls handled.

Handle Time—Max

Handle time of a single call is calculated as (ACD.talkTime + ACD.holdTime + ACD.workTime).

Maximum handle time for a CSQ is the longest handle time of all calls handled in the report period.

Calls Abandoned—
Total

When a call is queued for a CSQ and then abandoned, CRD.csd1 (or CRD.csd2, or CRD.csd3, depending on the order in which the call was queued) stores the record ID of the CSQ. In addition, CRD.primaryCSD is -1.

To calculate the total number of calls abandoned from a CSQ, count the number of CRD records with a unique sessionID that contain the record ID of the CSQ in csd1, csd2, or csd3. Only include the CRD records with primaryCSD set to -1. In addition, join CRD with CCD on sessionID and sessionSeqNum to only include the records with CCD.contactDisposition set to 1 (abandoned).

Calls Abandoned—
Avg

Total number of calls abandoned divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time - report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Calls Abandoned—
Max

For each CSQ, calculate the total number of calls abandoned on each day in the report period. Maximum calls abandoned is the largest of these numbers.

Calls Abandoned—
AW

For an abandoned call, CRD.primaryCSD is set to -1 and CCD.contactDisposition is set to 1. Join CRD and CCD on sessionID and sessionSeqNum to find CRD records that meet these criteria.

Average wait time for calls abandoned is the sum of queueTime for these CRD records divided by the total number of calls abandoned.

Total Number of Calls by Priority (Pri. 1 through Pri. 10)

Call priority is stored in CRD.finalPriority. When a call is presented to a CSQ, the record ID of the CSQ is stored in CRD.csd1, or CRD.csd2, or CRD.csd3, depending on whether the call is presented to multiple CSQs and the order in which it is queued.

For each CSQ and each call priority, count the number of CRD records.

Average Number of Calls by Priority (Pri. 1 through Pri. 10)

Total number of calls by priority divided by the number of days in the report period, rounded up to the next integer. For example, if the report start time and the report end time are on the same day, the number of days is 1.

Table 2-14   Contact Service Queue Activity Report Filter Parameter

Filter Parameter  Explanation 

Contact Service Queue

To report on a specific CSQ or CSQs, obtain the list of the CSQ names from the user selection for this parameter. Find the corresponding CSQU.recordID(s). Query the CRD table to only include the selected CSQ(s).

Contact Service Queue Activity Report (by CSQ) and Contact Service Queue Activity Report (by Interval)

The Contact Service Queue Activity Report (by CSQ) and the Contact Service Queue Activity Report (by Interval) show information about service levels, and about the number and percentage of calls presented, handled, abandoned, and dequeued.

In the Contact Service Queue Activity Report (by CSQ), information presented is sorted first by CSQ, then by interval.

In the Contact Service Queue Activity Report (by Interval), information presented is sorted first by interval, then by CSQ.

Table 2-15 shows how the information in the Contact Service Queue Activity Reports is obtained or calculated.

Table 2-16 explains how the Contact Service Queue Activity Reports filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-15   Contact Service Queue Activity Reports Query Design

Field  Explanation 

CSQ Name

Obtained from CSQU.csqName.

Call Skills

Join CRD.primaryCSD with CSQU.recordID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which is stored in Skill.skillName.

Interval Start Time

Beginning of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Interval End Time

End of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Service Level (sec)

Obtained from CSQU.serviceLevel.

Calls Hand < SL

To calculate number of calls handled within service level, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, and count the number of CRD records with unique sessionID and with the metServiceLevel field set to 1.

Calls Aband < SL

To calculate number of calls handled within the service level, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 1 (abandoned), and count the number of CRD records with unique sessionIDs and with the metServiceLevel field set to 1.

Percentage of Service Level Met— Only Handled

Considers calls handled only, regardless of whether they were handled within the service level. This value does not consider calls abandoned.

This value is calculated as follows:

(number of calls handled within service level / number of calls handled) * 100%

Percentage of Service Level Met— Without Abandon

Does not include information for calls that were abandoned within the service level.

This value is calculated as follows:

(number of calls handled within service level / (number of calls presented - number of calls abandoned within service level)) * 100%.

Percentage of Service Level Met— Positive Abandon

Considers calls abandoned within the service level as meeting the service level.

This value is calculated as follows:

((number of calls handled within service level + number of calls abandoned within service level) / number of calls presented) * 100%

Percentage of Service Level Met— Negative Abandon

Considers calls abandoned within the service level as not meeting the service level.

This value is calculated as follows:

(number of calls handled within service level / number of calls presented) * 100%

Calls Presented

If a call is presented to one CSQ, the record ID of the CSQ is stored in CRD.csd1. If a call is presented to two CSQs, the record IDs of the CSQs are stored in CRD.csd1 and in CRD.csd2. If a call is presented to three CSQs, the record IDs of the CSQs are stored in CRD.csd1, in CRD.csd2, and in CRD.csd3.

To calculate the number of calls presented to each CSQ, count the number of CRD records with unique sessionIDs that contain the record ID of the CSQ in csd1, csd2, or csd3.

Calls Handled

Number of calls handled by an agent, and the percentage of calls presented that were handled by the agent.

To calculate calls handled by each CSQ, count the number of CRD records with a unique sessionID that contains the record ID of the CSQ in the primaryCSD field. In addition, join CRD and ACD on sessionID and sessionSeqNum to only include calls with non-zero ACD.talkTime. Then join CRD and CCD on sessionID and sessionSeqNum to only include calls with CCD.contactDisposition set to 2 (handled).

The percentage is calculated as follows:

(calls handled / calls presented) * 100%

Calls Abandoned

Number of calls abandoned, and the percentage of calls presented that were abandoned.

When a call is queued for a CSQ and then abandoned, CRD.csd1 (or CRD.csd2, CRD.csd3, depending on the order in which the call was queued) stores the record ID of the CSQ and CRD.primaryCSD is -1.

To calculate total number of calls abandoned from a CSQ, count the number of CRD records with a unique sessionID that contain the record ID of the CSQ in csd1, csd2, or csd3. Only include the CRD records with primaryCSD set to -1. In addition, join CRD with CCD on sessionID and sessionSeqNum to only include the records with CCD.contactDisposition set to 1 (abandoned).

The percentage is calculated as follows:

(calls abandoned / calls presented) * 100%

Calls Dequeued

Number of calls dequeued, and the percentage of calls presented that were dequeued.

The record ID of the CSQ that handled the call is stored in CRD.primaryCSD. The csd1, csd2 and csd3 fields of the CRD store the record IDs of the CSQs that the call was queued for. When the value in one of these fields is different than the value in crd.primaryCSD, the call is considered to be dequeued from the CSQ identified by csd1, csd2, or cds3.

To calculate calls dequeued from each CSQ, join CRD and CCD on sessionID and sessionSeqNum to only include calls with CCD.contactDisposition set to 2 (handled), and count the number of CRD records with unique sessionID and with a value in csd1, csd2, or csd3 that is different than the value in primaryCSD.

The percentage is calculated as follows:

(calls dequeued / calls presented) * 100%

Table 2-16   Contact Service Queue Activity Reports Filter Parameters

Filter Parameter  Explanation 

Interval Length

Options are entire report period (default), 30 minutes, 60 minutes.

CSQ Name

To report on a specific CSQ or CSQs, obtain the list of the CSQ names from the user selection for this parameter. Find the corresponding CSQU.recordID(s). Query the CRD table to only include the selected CSQs.

Contact Service Queue Service Level Report

The Contact Service Queue Service Level Report provides information about the service level provided to calls that are handled by each contact service queue (CSQ). It contains one row per CSQ.

Table 2-17 shows how the information in the Contact Service Queue Service Level Report is obtained or calculated.

Table 2-18 explains how the Contact Service Queue Service Level Report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-17   Contact Service Queue Service Level Report Query Design

Field  Explanation 

Contact Service Queue Name

Obtained from CSQU.csqName.

Call Skills

Join CRD.primaryCSD with CSQU.recordID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which is stored in Skill.skillName.

Calls Handled

To calculate calls handled by each CSQ, join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), and count the number of CRD records with unique sessionIDs that contain the record ID of the CSQ in the primaryCSD field.

Avg Wait

Wait time of a call is obtained from CRD.queueTime. Average wait time of a CSQ is calculated as the sum of CRD.queueTime for all calls handled divided by the number of calls handled.

Max Wait

Wait time of a call is obtained from CRD.queueTime. Maximum wait time of a CSQ is the longest queueTime for all the calls handled in the report period.

Avg Speed to Answer

Calculated as the sum of ACD.ringTime for all calls handled by the CSQ divided by the number of calls handled.

Service Level

Obtained from CSQU.serviceLevel.

Met Service Level

Number of calls that were handled within service level, and the percentage of total calls handled that were handled within service level.

To calculate the number of calls handled within service level, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, and count the number of CRD records with unique sessionID and with the metServiceLevel field set to 1.

The percentage is calculated as follows:

(calls handled within service level / Calls Handled) * 100%

Pri. 1 through Pri. 10

Number of calls that were handled within the service level in each call priority, and the percentage of total calls handled in each call priority that were handled within service level.

Call priority is stored in CRD.finalPriority.

To calculate the number of calls handled within service level in a particular call priority, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime. Then count the number of CRD records with unique sessionID, with the metServiceLevel field set to 1, and with the value in the finalPriority field matching the call priority.

Total calls handled in a particular call priority (whether or not handled within the service level) is calculated the same as calls handled within service level for a call priority, except that CRD.metServiceLevel can be 0 or 1.

The percentage is calculated as follows:

(calls handled within service level in the call priority / total calls handled in that call priority) * 100%

<=n sec

Number of calls handled within n seconds queue time, and the percentage of total calls handled that were handled within n seconds of queue time. (By default, n = 15 seconds, but users can change this value.)

To calculate the number of calls handled within n seconds queue time, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, and count the number of CRD records with unique sessionIDs and with the value in the queueTime field less than or equal to n seconds.

The percentage is calculated as follows:

(calls handled within n seconds queue time / Call Handled) * 100%

(n + 1) through (2n) sec

Number of calls handled with queue time between n and 2n seconds, and the percentage of total calls handled that were handled between n and 2n seconds of queue time. (By default, n = 15 seconds, but users can change this value.)

To calculate the number of calls handled with queue time between n and 2n seconds, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, and count the number of CRD records with unique sessionIDs, and with the value in the queueTime field greater than n seconds and less than or equal to 2n seconds.

The percentage is calculated as follows:

(calls handled between n +1 and 2n seconds / Calls Handled) * 100%

(2n + 1) through (3n) sec

Number of calls handled with queue time between 2n and 3n seconds, and the percentage of total calls handled that were handled between 2n and 3n seconds of queue time. (By default, n = 15 seconds, but users can change this value.)

To calculate the number of calls handled within queue time between 2n and 3n seconds, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, and count the number of CRD records with unique sessionIDs and with the value in the queueTime field greater than 2n seconds and less than or equal to 3n seconds.

The percentage is calculated as follows:

(calls handled with queue time between (2n+1) and 3n seconds / Calls Handled) * 100%

>3n sec

Number of calls handled with queue time greater than 3n seconds, and percentage of total calls handled that were handled after 3n seconds of queue time. (By default, n = 15 seconds, but users can change this value.)

To calculate number of calls handled with queue time greater than 3n seconds, join CRD and CCD on sessionID and sessionSeqNum to include records with CCD.contactDisposition set to 2 (handled), join CRD and ACD on sessionID and sessionSeqNum to include records with non-zero ACD.talkTime, and count the number of CRD records with unique sessionIDs and with the value in the queueTime field greater than 3n seconds.

The percentage is calculated as follows:

(calls handled with queue time greater than 3n seconds / Calls Handled) * 100%



Table 2-18   Contact Service Queue Service Level Report Filter Parameters

Filter Parameter  Explanation 

Contact Service Queue Names

To report on a specific CSQ or CSQs, obtain the list of CSQ names from the user selection for this parameter. Find the corresponding CSQU.recordID(s). Query the CRD table to only include the selected CSQs.

Time Interval for Service Level Metric

Value used for n in the four time interval fields in the Contact Service Queue Service Level Report. The default value is 15 seconds.

Detailed Call by Call CCDR Report

The Detailed Call by Call CCDR Report shows most of the information that is contained in the CCD table. This report also includes information from the CRD and the ACD tables. The report contains one row per call leg (a call transfer or redirect initiates a new call leg).

Table 2-19 shows how the information in the Detailed Call by Call CCDR Report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-19   Detailed Call by Call CCDR Report Query Design

Field  Explanation 

Session ID

Obtained from CCD.sessionID.

Sequence No.

Obtained from CCD.sessionSeqNum.

Start Time

Obtained from CCD.startDateTime.

End Time

Obtained from CCD.endDateTime.

Contact Type

Obtained from CCD.contactType.

Contact Disposition

Obtained from CCD.contactDisposition.

Originator Type

Obtained from CCD.originatorType.

Originator ID

Obtained from CCD.originatorID.

If originator type is 1 (agent), CCD.originatorID is a resource ID. Join CCD.originatorID with Resource.resourceID to display the agent login ID, which is stored in Resource.resourceLoginID.

Originator DN1

If CCD.originatorType is Device (2) or Unknown (3), obtained from CCD.originatorDN.

If CCD.originatorType is Agent (1), join CCD.OriginatorID with Resource.resourceID and obtain Resource.extension.

Destination Type

Obtained from CCD.destinationType.

Destination ID

Obtained from CCD.destinationID.

If destination type is 1 (agent), CCD.destinationID is a resource ID. Join CCD.destinationID with Resource.resourceID to display the agent login ID, which is stored in Resource.resourceLoginID.

Destination DN

If CCD.destinationType is Device (2) or Unknown (3), obtained from CCD.destinationDN.

If CCD.destinationType is Agent (1), join CCD.destinationID with Resource.resourceID and obtain Resource.extension.

Called Number

Obtained from CCD.calledNumber.

Original Called No.

Obtained from CCD.origCalledNumber.

Application Name

Obtained from CCD.applicationName.

Queue Time

Join CCD and CRD on sessionID and sessionSeqNum to obtain the value in CRD.queueTime.

Blank for non-ICD calls.

Talk Time

For ICD calls, join CCD and ACD on sessionID and sessionSeqNum to obtain the value in ACD.talkTime.

For non-ICD calls, there is no ACD record. Talk time of handled non-ICD calls (where CCD.contactDisposition set to 2) is calculated as (CCD.endDateTime - CCD.startDateTime). For abandoned non-ICD calls (where CCD.contactDisposition set to 1), talk time is zero.

Hold Time

For ICD calls, join CCD and ACD on sessionID and sessionSeqNum to obtain the value in ACD.holdTime.

Blank for non-ICD calls.

Work Time

For ICD calls, join CCD and ACD on sessionID and sessionSeqNum to obtain the value in ACD.workTime.

Blank for non-ICD calls.

DN = directory number

IVR Application Performance Analysis Report

The IVR Application Performance Analysis Report shows information about calls received by each Cisco ICD or IVR application. It contains one row per call application. The information is stored in the CCD table.

Table 2-20 shows how the information in the IVR Application Performance Analysis Report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-20   IVR Application Performance Analysis Report Query Design

Field  Explanation 

Application ID

Obtained from CCD.applicationID.

Application Name

Obtained from CCD.applicationName.

Total Incoming Calls

For each application, count the number of CCD records with unique sessionIDs and with the contactType field set to 1 (incoming).

Calls Handled

For each application, count the number of CCD records with unique sessionIDs and with the contactType field set to 1 (incoming) and contactDisposition set to 2 (handled).

Calls Abandoned

For each application, count the number of CCD records with unique sessionIDs and with the contactType field set to 1 (incoming) and contactDisposition set to 1 (abandoned).

Abandon Rate

Calculated as follows:

Calls Abandoned / number of hours within the report period

Avg Call Duration

Call duration is stored in CCD.connectTime. Average call duration of an application is calculated as the sum of CCD.connectTime for all calls in that application, divided by the number of calls.

IVR Traffic Analysis Report

The IVR Traffic Analysis Report shows information about incoming calls to the Cisco CRA system. It contains one row per day.

Table 2-21 shows how the information in the IVR Traffic Analysis Report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-21   IVR Traffic Analysis Report Query Design

Field  Explanation 

Date

Date of each day in the report period.

Total Incoming Calls

For each day, count the number of CCD records with unique sessionID with the contactType field set to 1 (incoming).

Avg Calls

Calculated as total incoming calls divided by the number of hours in the day.

The first day or the last day of the report period may be a partial day, depending on the start time and the end time selected by the user. Any other day within the report period has 24 hours.

Peak Calls

Divide each day into one-hour intervals. The number of incoming calls within each interval is determined by counting the number of CCD records with unique sessionIDs in the interval. The peak hour is the interval with the largest number of incoming calls. This field displays the number of calls in the peak hour.

Peak Hour Start

Divide each day into one-hour intervals. The number of incoming calls within each interval is determined by counting the number of CCD records with unique sessionIDs in the interval. The peak hour is the interval with the largest number of incoming calls. This field displays the start time of the peak hour.

Peak Hour End

Divide each day into one-hour intervals. The number of incoming calls within each interval is determined by counting the number of CCD records with unique sessionIDs in the interval. The peak hour is the interval with the largest number of incoming calls. This field displays the end time of the peak hour.

Avg Call Duration

A call may have multiple call legs. The call duration for a call is calculated as sum of CCD.connectTime for all the call legs.

Average call duration for a day is calculated as the sum of call durations for all incoming calls on that day divided by the number of incoming calls on that day.

Min Call Duration

A call may have multiple call legs. The call duration for a call is calculated as sum of CCD.connectTime for all the call legs.

Minimum call duration for a day is the shortest call duration of all incoming calls for that day.

Max Call Duration

A call may have multiple call legs. The call duration for a call is calculated as sum of CCD.connectTime for all the call legs.

Maximum call duration for a day is the longest call duration of all incoming calls for that day.

Priority Summary Activity Report

The Priority Summary Activity Report contains one row per call priority.

Table 2-22 shows how the information in the Priority Summary Activity Report is obtained or calculated.

Table 2-23 explains how the Priority Summary Activity Report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-22   Priority Summary Activity Report Query Design

Field  Explanation 

Call Priority

Obtained from CRD.finalPriority. It is a value from 1 through 10.

Total Calls

For each call priority, count the number of CRD records with unique sessionID.

Avg Calls

Total calls divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time - report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Total Number of Calls with Different Original and Final Priorities

Original call priority is stored in CRD.origPriority and final call priority in CRD.finalPriority. Count the number of CRD records with CRD.finalPriority different than CRD.origPriority in the report period.

Average Number of Calls (Per Day) with Different Original and Final Priorities

Total number of calls with different original and final call priorities divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time - report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Maximum Difference Between Original and Final Priorities Experienced by All Calls

Original call priority is stored in CRD.origPriority and final call priority in CRD.finalPriority. For a single call, the difference between original and final priorities is calculated as the absolute value of (CRD.finalPriority - CRD.origPriority)

This field shows the largest number of all calls in the report period.

Average Difference (Per Call) Between Original and Final Priorities Experienced by All Calls

Original call priority is stored in CRD.origPriority and final call priority in CRD.finalPriority. For a single call, the difference between original and final priorities is calculated as the absolute value of (CRD.finalPriority - CRD.origPriority).

This field is calculated as sum of the difference (absolute value) for all calls in the report period, divided by the number of calls.

Table 2-23   Priority Summary Activity Report Filter Parameter

Filter Parameter  Explanation 

Call Priority Levels

To report on a specific call priority or priorities, obtain the list of call priorities from the user selection for this parameter. Query the CRD table to only include the selected call priority or priorities.

Skill Routing Activity Report

The Skill Routing Activity Report contains one row for each skill group. A skill group is a contact service queue (CSQ) that is configured based on resource skills instead of resource groups.

Table 2-24 shows how the information in the Skill Routing Activity Report is obtained or calculated.

Table 2-25 explains how the Skill Routing Activity Report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the "Conventions Used in this Chapter" section.

Table 2-24   Skill Routing Activity Report Query Design

Field  Explanation 

Skill Group

Join CRD.primaryCSD with CSQU.recordID. The name of the skill group is stored in CSQU.csqName.

Call Skills

Join CRD.primaryCSD with CSQU.recordID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which is stored in Skill.skillName.

Calls Presented

If a call is presented to one CSQ, the record ID of the CSQ is stored in CRD.csd1. If a call is presented to two CSQs, the record IDs of the CSQs are stored in CRD.csd1 and in CRD.csd2. If a call is presented to three CSQs, the record IDs of the CSQs are stored in CRD.csd1, in CRD.csd2, and in CRD.csd3.

To calculate the number of calls presented to each CSQ, count the number of CRD records with unique sessionIDs that contain the record ID of the CSQ in csd1, csd2, or csd3.

Wait Time—Avg

Wait time of a call is obtained from CRD.queueTime. Average wait time for a CSQ is calculated as the sum of CRD.queueTime for all calls presented divided by the number of calls presented.

Wait Time—Max

Wait time of a call is obtained from CRD.queueTime. Maximum wait time for a CSQ is the longest queueTime for all the calls presented in the report period.

Calls Handled

To calculate calls handled by each CSQ, count the number of CRD records with unique sessionIDs that contain the record ID of the CSQ in the primaryCSD field. In addition, join CRD and ACD on sessionID and sessionSeqNum to only include calls with non-zero ACD.talkTime. Then join CRD and CCD on sessionID and sessionSeqNum to only include calls with CCD.contactDisposition set to 2 (handled).

Handle Time—Avg

Handle time for a single call is calculated as follows:

ACD.talkTime + ACD.holdTime + ACD.workTime

Average handle time for a CSQ is calculated as the sum of handle time of all calls handled by the CSQ divided by the number of calls handled.

Handle Time—Max

Handle time of a single call is calculated follows:

ACD.talkTime + ACD.holdTime + ACD.workTime

Maximum handle time for a CSQ is the longest handle time of all calls handled in the report period.

Calls Abandoned— Total

When a call is queued for a CSQ and is then abandoned, CRD.csd1 (or CRD.csd2, CRD.csd3, depending on the order in which the call is queued) stores the record ID of the CSQ and CRD.primaryCSD is -1.

To calculate total number of calls abandoned from a CSQ, count the number of CRD records with a unique sessionID and sessionSeqNum that contain the record ID of the CSQ in csd1, csd2, or csd3. Only include the CRD records with primaryCSD set to -1. In addition, join CRD with CCD on sessionID and sessionSeqNum to only include the records with CCD.contactDisposition set to 1 (abandoned).

Calls Abandoned— Avg

Total number of calls abandoned divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time - report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Calls Abandoned— Max

For each CSQ, calculate the total number of calls abandoned on each day of the report period. Maximum calls abandoned is the largest number.

Calls Abandoned—
AW

An abandoned call has CRD.primaryCSD set to -1 and CCD.contactDisposition set to 1 (abandoned). Join CRD and CCD on sessionID and sessionSeqNum to find CRD records which meet these criteria. The average wait time for calls abandoned is calculated as the sum of queueTime for these CRD records divided by the total number of calls abandoned.

Total Number of Calls by Priority (Pri. 1 through Pri. 10)

Call priority is stored in CRD.finalPriority. When a call is presented to CSQs, the record ID of the CSQ is stored in CRD.csd1, CRD.csd2, or CRD.csd3, depending on whether the call is presented to multiple CSQs and the order in which it is queued.

For each CSQ and each call priority, count the number of CRD records with unique sessionIDs.

Average Number of Calls by Priority (Pri. 1 through Pri. 10)

Total number of calls by priority divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time - report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Table 2-25   Skill Routing Activity Report Filter Parameter

Filter Parameter  Explanation 

Skill name(s)

To report on CSQs with a specific skill or skills, obtain the skill name(s) from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill and SG on skillID to obtain SG.skillGroupID. Join SG and CSQ on skillGroupID to obtain the record IDs of the CSQs that have the specified skills. The record ID is stored in CSQU.recordID.

An end-user can select AND or OR for the skill names. Selecting AND reports on CSQs that are configured with all of the skills selected. Selecting OR reports on CSQs that are configured with any of the skills selected.