AWS Contact Center

Optimize routing using queues and proficiencies in Amazon Connect

Contact volumes and agent staffing in contact centers vary during the day. When there are more contacts than available agents, a queue holds contacts waiting to be answered by agents. A single queue to handle all incoming contacts maximizes service levels, and minimizes wait times. This is only possible when each agent can handle all types of incoming contacts. Complex environments make it impractical for agents to be proficient in handling all contact types effectively. In such scenarios, contact center administrators segment incoming contacts into multiple queues. Languages, lines of business, products, features, hours of operations, customer prioritization are examples of criteria used to segment queues.

New hires in contact centers go through iterative training paths over weeks or months, and improve multiple proficiencies to service incoming contacts. Businesses struggle between reducing the time required before the agent is productive with handling contacts vs. completing their full new-hire curriculum. From an operations manager viewpoint, the queues need fine granularity so agents can start answering simpler contact types earlier during their onboarding. At the same time, over specialized queues create silos that result in routing and operational inefficiencies resulting from volume fluctuations across contact types. High number of queues also result in complicating the contact segmentation rules and logic upfront in the IVR. These rules drift over time and introduce contact misdirects leading to unnecessary transfers within the contact center.

Amazon Connect provides the ability to configure queues (at a contact center level) and proficiencies (at an agent level). In Amazon Connect, queues provide a way to route contacts based on the type of contact. Proficiencies further route the contact to an agent whose skills best match the business need for the contact within that queue. This blog post provides best practices to design and configure queues and proficiencies in Amazon Connect to balance routing requirements and operational efficiencies.

Overview

This following diagram covers routing related entities in Amazon Connect and their relationships:Routing entities overview

  1. Queue is a waiting area for contacts until an agent answers. Businesses set service level goals and objectives at queue level.
  2. A Routing profile encapsulates the list of queues that an agent is configured to handle contacts from.
    1. An agent can have one routing profile.
    2. Each queue in the routing profile has a priority (1 to 99) indicating the order in which this agent will serve the queues. For example, an agent A2 will match with an earlier contact in Billing queue Q1 (priority 2) over a more recent contact in Tech Support queue Q2 (priority 3).
  3. Proficiency indicates the expertise of an agent in handling contacts with a particular attribute. A proficiency consists of a predefined attribute name, its value, and a proficiency level. After you have created a predefined attribute, you can assign one or more proficiencies to an agent.
  4. For each value of the predefined attribute, the agent has a proficiency level that represents their level of expertise (1 to 5) in this proficiency. Agents may have to complete a specific learning path in order to achieve a proficiency, and the progression of the learning path could result in the proficiency level.
  5. Routing criteria encapsulates rules to target agents based on combination of one or more proficiency requirements.

While using queues is required to route a contact to agents, using proficiencies is optional. Routing using agent proficiencies is set up in four steps:

  1. Define routing relevant predefined attributes
  2. Assign proficiencies to agents
  3. Set routing criteria in the contact flow to define how the contact should be routed within its queue
  4. Transfer to queue

Solution walkthrough

A business partner outsourcing (BPO) company (AnyCompany) supports two customers as part of one omni-channel Amazon Connect instance. Each customer has different service level agreements (SLA), and penalties for not meeting the SLA. They have aggressive expansion plans to serve more customers across the globe. Agents can support multiple customers to drive efficiencies of scale. They do not train agents on new languages, and hire agents with their existing language fluencies. They meet the consumers on their channel of choice – voice or chat. Like most BPOs, AnyCompany has a high agent turnover rate, and spends significant budget on training and onboarding new agents. They have lower customer satisfaction scores as agents take time to develop higher levels of expertise to handle complex contact types or high value customers.

Both customers (AnyManufacturer-1 and AnyManufacturer-2) specialize in audio equipment of four types (speakers, receivers, sound bars, wireless). To be productive for each manufacturer, agents go through a 4-day training for each equipment type, and a 4-day training to know service procedures at each manufacturer. This adds 4 weeks training to be productive for each manufacturer.

Contacts for AnyManufacturer-1 arrive from consumers in two North American countries (US and Canada) and agents have to speak in one of two languages (English and French). BPO agents support AnyManufcturer-1 during the North American business hours.

Contacts for AnyManufacturer-2 can arrive from consumers in three European countries (UK, Spain, France) and specialists have to speak in one of three languages (English, Spanish, French). BPO agents support AnyManufcturer-1 during the European business hours.

The routing solution with a queue-based design without proficiencies can be as follows:

  1. Contact segmentation across 20 queues based on combinations of <manufacturer>-<language>-<equipment>.
    1. Each queue has its own service level (SL) targets, and real time and historical contact volume measurements.
    2. AnyManufacturer-1: Two languages * four equipment types = 8 queues.
    3. AnyManufacturer-2: Three languages * four equipment types = 12 queues.
  2. Agent segmentation across five routing profiles based on combinations of <manufacturer>-<language>.
    1. Two languages for AnyManufacturer-1 and three languages for AnyManufacturer-2 = 5 routing profiles.
    2. This business decision requires AnyCompany to train each agent on all equipment types for a manufacturer before they handle their first contact. This results in a higher time to productivity.
  3. With an aggressive growth plan to onboard new manufacturers and support additional languages, AnyCompany will need additional queues and routing profiles in future.

An optimal routing solution using agent proficiencies can be as follows:

  1. Proficiency is built using a predefined attribute and values.
    1. The predefined attribute refers to a specialized fluency category (such as Language), and the value encapsulates the list of different languages supported (for example, English, Spanish, French).
    2. Agents are assigned proficiencies, and a level for each proficiency. The proficiency level depicts the expertise of the agent for each proficiency (1–5, five being the highest).
  2. Languages and equipment are now proficiencies because these are areas of knowledge and expertise that the agents either have, or learn on the job.

The following table captures the proficiencies for AnyCompany:

Predefined Attribute Value Type
connect:Language connect:English, connect:Spanish, connect:French System-defined
Manufacturer AnyManufacturer-1, AnyManufacturer-2 User-defined
EquipmentType speakers, receivers, sound bars, wireless User-defined
connect:Subtype connect:Chat, connect:SMS, connect: Telephony System-defined

The following is a view of how to configure proficiencies in the Amazon Connect console:Proficiency configuration in console

By introducing proficiencies, AnyCompany can accomplish the following improvements:

  1. New hires can start handling contacts as soon as they are trained on one equipment type. This helps reduce agent time to productivity, while also enabling the agent to put theory into practice earlier during the onboarding process.
  2. Some of the queue granularity moves to proficiencies. Contact segmentation is now across two queues, one for each manufacturer so that AnyCompany can continue to maintain separate service levels across each of its customers. This is a 10x reduction in the number of queues from 20 down to 2.
  3. Agent segmentation across one routing profile. This is a 5x reduction in the number of routing profiles. For a large complex customer, this can simplify configuration, and management overhead costs.

Next, we will look at two use cases for routing at AnyCompany.

Use case 1

An English-speaking customer is calling from the US to request a repair for their AnyManufacturer-1 speakers. The customer should be routed to agents with the highest proficiency levels for each fluency. Next, agents with a proficiency level of 3 or greater should be targeted. Finally, all agents with any experience with that manufacturer can be targeted.

The requirements for agent targeting are captured in the following routing criteria using the Set routing criteria block in the contact flows.

Step 1 {connect:Language} connect:English >= 5 AND
{connect:subType} connect:Telephony >= 5 AND
{Manufacturer} AnyManufacturer-1 >= 5 AND
{EquipmentType} speakers >= 5
Expire in 5 seconds
Step 2 {connect:Language} connect:English >= 3 AND
{connect:subType} connect:Telephony >= 3 AND
{Manufacturer} AnyManufacturer-1 >= 3 AND
{EquipmentType} speakers >= 3
Expire in 5 seconds
Step 3 {connect:Language} connect:English >= 1 AND
{connect:subType} connect:Telephony >= 1 AND
{Manufacturer} AnyManufacturer-1 >= 1

Routing criteria in console

The routing criteria in this use case is configured within the Set routing criteria block. Note the final step 3 does not have a timer, so contacts will wait until the routing criteria in Step 3 are met.

Use case 2

A spanish-speaking customer is chatting from Spain to check on the service status of their AnyManufacturer-2 receiver. The customer should be routed to agents with the highest proficiency levels for each fluency (AnyManufacturer-2, receivers, and Spanish). After 15 seconds, agents with a proficiency level of 3 or greater on any receivers or speakers should be targeted. After 20 additional seconds, all agents with a proficiency level of 2 or greater on written channels (text or SMS) on any manufacturer can be targeted. After 30 additional seconds, any agent in this queue should be targeted.

The requirements for agent targeting are captured in the following routing criteria using the Set routing criteria block in the contact flows.

Step 1 {Manufacturer} anyManufacturer-2>= 5 AND
{EquipmentType} receivers >= 5 AND
{Language} Spanish >= 5
Expire in 15 seconds
Step 2 {EquipmentType} receivers >= 3 OR
{EquipmentType} speakers >= 3
Expire in 20 seconds
Step 3 {connect:subType} connect:Chat >= 3 OR
{connect:subType} connect:SMS >= 3
Expire in 30 seconds

Routing criteria in console

Amazon Connect supports creating dynamic routing criteria externally using AWS Lambda. In this case, the Lambda function returns a JSON object encapsulating the routing criteria. The preceding figure shows a dynamic routing criteria configuration linking to an external JSON object . Unlike the prior use case, the final step 3 in this use case has a timer. On timer expiry, contacts will be routed to any available agent with this queue in their routing profile. Routing criteria can be generated at runtime for contact centers with more complex needs. The criteria rules could be output from an enterprise rules engine, or a data store. These criteria can also be generated based on real time values of contact center metrics obtained from Amazon Connect API.

Best practices

Best practices while using queues:

  1. Consider configuring new queues for requirements that are unique to each queue like service level targets, hours of operations.
  2. Do not create a queue if the goal is to report only contacts for a particular contact type.
  3. Be aware of the measurable cost of adding more queues to operations due to capacity planning, scheduling, and reporting on the backend.
  4. Use priorities and delays in routing profiles to load balance contacts among a group of agents.

Best practices while using proficiencies:

  1. Use proficiencies to introduce additional control to target specific agents within a queue.
  2. Use proficiencies when there is a need to bring in agents with higher expertise earlier, followed by other agents to support the same contact type.
  3. Routing criteria steps can be set up using timers. This allows for a tiered agent selection approach. Timers are optional for the final step. If the final step timer expires, any agent who has this queue in their routing profile becomes a target. If the final step is configured without a timer, the contact will wait until the routing criteria are met.
  4. Do not change proficiency level to impact routing. Proficiencies should be changed only if there is a material reason to increase or reduce the expertise of the agent.
  5. Consider proficiencies as a way for agents to demonstrate their ability by learning and developing experience handling contacts of certain type. Consider auto setting proficiencies based on learning path progress to motivate and reward agents.

Conclusion

In this post, we demonstrated how administrators of a fictitious company, AnyCompany, can configure queues, proficiencies, and routing criteria for their two customers with different routing requirements in the same Amazon Connect instance. We first detailed the queueing structure without proficiencies. Then we introduced proficiencies into the design, and highlighted how proficiencies allow for additional control to target specific agents within a queue. We listed some considerations and best practices on the mental model for using queues and proficiencies. You can use this post to simplify your queueing design, reduce routing errors/misdirects, and develop agent selection approaches to balance routing to the best agent with contact center efficiencies.

With Amazon Connect, you pay for what you use. There are no upfront payments, long-term commitments, or minimum monthly fees. Should you need help with setting this up, you can get assistance from AWS Professional Services. You can also seek assistance from Amazon Connect partners available worldwide.

Ready to transform your customer service experience with Amazon Connect? Contact us.

Meet the Authors

Parind Poi is a Senior Practice Leader at AWS Professional Services. He leads a specialized practice with deep expertise in customer experience (CX) on AWS. Parind is passionate about helping customers modernize their customer engagement workloads on cloud.
Prashant Desai is a Principal Consultant at AWS Professional Services, experienced in designing and migrating large contact centers to the cloud. With over 25 years in contact centers, legacy and cloud. Prashant constantly seeks innovative ways to modernize customer workloads and simplify customer experience.
Author Balkrishna Nadkarni Balkrishna Nadkarni is a Principal Product Manager, Technical at Amazon Connect. He helps build Amazon Connect routing solutions to improve the lives of Amazon Connect customers.