Routing report
Last Update: Nov 2024 • Est. Read Time: 5 MINThe Routing report lets you see your queues and how well they perform, monitor agent availability, and monitor customer wait time. This report also provides a simple way to see how many agents are online and their current status. You can see how many conversations are queued and waiting for the agent to accept. Here, you can view all your queues rolled up into a single report or on each individual level and easily group individual queues together.
We also report on the wait time of a conversation in a queue, which can be presented to chat users as a means of channel deflection.
Who can access this feature? | |
User types | Managers or users with custom permission set access to reporting can access this feature. |
In this article:
- Current Agent Statuses chart
- Current Conversations Statuses chart
- Routing report metrics
- Historical queue reporting
- Live Dashboards
- Filter results
- Metric calculations
To access the Queue report, select Reporting, and then select Routing.
Current Agent Statuses chart
This chart displays the current status of all agents that are online. If you create custom unavailable statuses they will display by name, but follow the unavailable definition.
The following statuses are available:
- Available - Full Capacity Reached are the users who are available in the queue but have reached their current conversation capacity.
- Available - With Capacity are the users who are available in the queue, and are not yet at their conversation capacity.
- Unavailable are the users who are not available to receive routed conversations from a queue.
- Busy are the users who are available, but in a call.
Current Conversation Statuses chart
This chart shows the status of conversations in the queue. Snoozed conversations are excluded.
The following statuses are available:
- Assigned are conversations that have been routed and assigned to a user.
- In queue are conversations that have been assigned a queue, but not routed yet.
- Wrap-up are conversations that have been assigned, and ended but not marked done.
Routing report metrics
The report shows eight metrics that let you quickly see your queues are performing.
The following metrics are shown:
- Available Agents is the total number of agents in the queue in an available status.
- Unavailable Agents is the total number of agents in the queue in an unavailable or busy status.
- Total Conversations is the total number of conversations in the queue that are not routed or assigned. Snoozed conversations are excluded.
- Conversations Per Available Agent is the total number of assigned conversations currently in an Open or Wrap-up status divided by the total number of agents currently in an Available status.
- The longest Wait is the time that the conversation has been waiting in the queue for the longest time during that current 24-hour day.
- Latest Wait is the wait time of the last conversation to be routed to a user.
- Average Wait is the average of all wait times in the queue for the current 24-hour day.
- Average Handle Time is the average time a conversation routed from a queue was assigned to a user in an open status. This metric includes snoozed time.
Historical Queue reporting
On top of seeing queue performance in real-time, organizations can get a clear historical view of each queue. With this report, you can monitor how long customers wait in a queue to be assigned to an agent and how long it takes an agent to handle their conversation. You can also see how skill-based queues performed by selecting the Skill Metrics tab.
The following metrics are shown:
- Agent Handle Time (Total & Average) is the time an agent is assigned to a conversation from open to close including snoozed.
- Wrap-up Time (Total & Average) is the time a conversation spends in wrap-up status between ending and closing.
- First Routed Response time (Total & Average) is the time from when a work item was accepted to when an agent sends the first reply.
- Total Conversations is the total number of conversations that entered a queue. Snoozed conversations are excluded.
- Max Wait Time (Total & Average) is the longest time a conversation is waiting in a queue.
- Average Queue Time is the time a conversation waits in the queue before being routed to an agent.
Organizations can also track how much time their agents spend in each status while working in queues. The time is broken down in Available, Unavailable, and Busy statuses. You can also see how many conversations were assigned to them in that timeframe.
The following agent metrics are shown:
- Available Time Total is the total amount of time a user spends in an Available Status.
- First Routed Response time (Total & Average) is the time from when a work item was accepted to when an agent sends the first reply.
- Unavailable Time Total is the total amount of time a user spends in any Unavailable Status.
- Busy Time Total is the total amount of time a user spends in the Busy Status (Voice on Call).
- Agent Total Handled Items is the number of conversations assigned to the user.
- Wrap-up Time Total is the total amount of time a conversation assigned to the user was in wrap up.
Live Dashboard
For organizations that make their queue metrics available to their agents via TV or computer monitors, the Live Dashboard can be expanded for everyone to see. Select the [ ] icon from within the Queue report screen to expand the Kustomer interface for a full-screen view.
The Live Dashboard data will refresh every 15 seconds and also includes a "Night Mode" that can be turned on by selecting the icon on the top-left corner.
Note: The Live Dashboard is only available on Ultimate plans.
Filter results
This report offers four attributes in its filter component - Channels, Queues, Teams, Users. It's important to understand how these filters will impact the data displayed.
- Channels will filter to work-items where the selected channel or channels is present.
- Queues will filter to a work-item's most recent queue, as items can move from queue to queue within their lifecycle.
- Teams will filter to data whose Team relationship is the value selected, not to data where the assigned team is equal to the value selected.
- Users will filter to data where the assigned user is the value selected.
Metric calculations
Below, you'll find descriptions of the calculations for each metric, including the attributes used in their formation. These can be beneficial when rebuilding standard report metrics in your custom reports or referenced when building metrics or performing analysis outside the Kustomer platform with data sourced from our APIs or data services, such as Kinesis.
The Date Anchor is the attribute linked to the date range picker in each report's header that determines whether or not any objects that fit the calculation criteria will appear in your chart or table.
Metric | Calculation | Date Anchor |
Current Agent Statuses | Filtered to work sessions where work_session.signedOutAt is not present, grouped by status Available - Full Capacity Reached: capacityRemaining <= 0, statusId = available Available - Partial Capacity: workItemCount > 0, routable = true Unavailable (and custom unavailable statuses): routable = false | N/A; handled by signedOutAt filter |
Current Conversation Statuses | Filtered to work items where lastRevision.queueId exists, work_item.status is not 'completed', and work_item.paused is not 'true' | work_item.createdAt |
Available Agents | Filtered to work sessions where work_session.signedOutAt is not present, matching either: Available - Full Capacity Reached: capacityRemaining <= 0, statusId = available or Available - Partial Capacity: workItemCount > 0, routable = true | N/A; handled by signedOutAt filter |
Unavailable Agents | Filtered to work sessions where work_session.signedOutAt is not present and routable = false | N/A; handled by signedOutAt filter |
Total Conversations | Filtered to work items where lastRevision.queueId exists, work_item.status is one of 'ivr', 'queued', and work_item.paused is not 'true' | work_item.createdAt |
Conversations Per Available Agent | Distinct work_item.id where work_item.status is one of `assigned`,`wrap-up` divided by distinct work_session.id where statusType = `available` | N/A |
Longest Wait | Max of work_item.lastRevision.queueTime | work_item.lastRevision.acceptedAt |
Latest Wait | First item of work_item.lastRevision.acceptedAt sorted in descending order | work_item.lastRevision.acceptedAt |
Average Wait | Average of work_item.lastRevision.queueTime | work_item.lastRevision.acceptedAt |
Average Handle Time | Average of work_item.handle.businessTime | work_item.lastRevision.acceptedAt |
Queue metrics table | ||
Agent Handle Time Total | Sum of work_item.handle.businessTime grouped by lastRevision.queueId | work_item.handle.completedAt |
Agent Handle Time Average | Average of work_item.handle.businessTime grouped by lastRevision.queueId | work_item.handle.completedAt |
First Routed Response Time Total | Sum of firstRoutedResponse.businessTime, grouped by lastRevision.queueId | work_item.firstRoutedResponse.createdAt |
First Routed Response Time Average | Sum of firstRoutedResponse.businessTime, grouped by lastRevision.queueId | work_item.firstRoutedResponse.createdAt |
Wrap-Up Time Total | Sum of wrapUp.businessTime, grouped by lastRevision.queueId | work_item.wrapUp.enteredAt |
Wrap-Up Time Average | Average of wrapUp.businessTime, grouped by lastRevision.queueId | work_item.wrapUp.enteredAt |
Total Conversations | Distinct work_item.id with resourceType: 'conversation', grouped by lastRevision.queueId | work_item.firstEnterQueueAt |
Max Wait Time | Max of lastRevision.queueBusinessTime, grouped by lastRevision.queueId | work_item.lastRevision.acceptedAt |
Average Queue Time | Average of lastRevision.queueBusinessTime, grouped by lastRevision.queueId | work_item.lastRevision.acceptedAt |
Agent Total Handled Items | handledItemCount, grouped by lastRevision.queueId | work_item.handle.completedAt |
Agent Metrics Table | ||
Agent Total Handled Items | handledItemCount, grouped by userId | work_item.handle.completedAt |
Agent Handle Time Average | Average of work_item.handle.businessTime grouped by userId | work_item.handle.completedAt |
Agent Handle Time Total | Sum of work_item.handle.businessTime grouped by userId | work_item.handle.completedAt |
First Routed Response Time Total | Sum of work_item.firstRoutedResponse.businessTime grouped by userId | work_item.firstRoutedResponse.createdAt |
First Routed Response Time Average | Average of work_item.firstRoutedResponse.businessTime grouped by userId | work_item.firstRoutedResponse.createdAt |
Wrap-Up Time Total | Sum of work_session.wrapUp.businessTime grouped by userId | work_session.wrapUp.enteredAt |
Available Time Total | Sum of work_session.totalAvailable.businessTime grouped by userId | work_session.totalAvailable.statusAt |
Unavailable Time Total | Sum of work_session.totalUnavailable.businessTime grouped by userId | work_session.totalUnavailable.statusAt |
Busy Time Total | Sum of work_item.totalBusy.businessTime grouped by userId | work_session.totalBusy.statusAt |