AWS Contact Center

Implementing multi-skill forecasting and scheduling in Amazon Connect

Overview

Amazon Connect now offers multi-skill forecasting and scheduling for contact centers. This approach segments demand based on specialized agent skills instead of treating agents as interchangeable. Amazon Connect eliminates costly staffing imbalances while ensuring specialized agents handle high-value interactions. Manual scheduling overhead is thus reduced through AI-driven deployment based on real-time demand patterns. For example, bilingual agents can cover peak periods for high-value French language queues while handling general inquiries during off-peak times. This delivers measurable business value by matching agent capabilities to demand patterns effectively. Service level agreements are consistently met through strategic, skill-based scheduling decisions.

This blog post guides contact center administrators and workforce schedulers through implementing multi-skill forecasting and scheduling with step-by-step examples, ensuring they can effectively match agent capabilities to demand patterns and consistently meet service level agreements.

Business challenge

Consider a global bank that provides customer services in English, French, and Spanish across two business lines: Mortgages and Credit Cards. While agents are trained in both product areas, they have varying language proficiencies. Contact center supervisors face the challenge of:

  1. Accurately forecasting demand by language: adding more granularity to the forecasting so scheduling can be more effective
  2. Matching agent skills to language-specific demand
  3. Avoiding overstaffing (increased costs) or understaffing (poor customer experience)
  4. Meeting service level agreements (SLAs) such as “80% of English phone contacts must be handled within 30 seconds”

Traditional staffing approaches that assign equal numbers of agents to all languages result in inefficiencies due to uneven contact volumes across languages. Businesses need a forecasting and staffing mechanism that recognizes that their agents have varying proficiencies and specialized skills.

Amazon Connect solution

Multi-skill forecasting and scheduling introduces a skill-aware approach that recognizes real-world contact center complexity. By segmenting demand based on specialized skills, providing independent forecasting for each requirement, and strategically deploying multi-skilled agents using AI while adapting dynamically to maintain service level goals, multi-skill forecasting allowing agents with specialized skills to be use effectively

As part of this post, we dive deep into Amazon Connect Multi Skill Forecasting and Scheduling, to understand how it can provide a mechanism to forecast and schedule staff based on their specialized skills. The core elements of this solution are:

  1. Demand groups (DG): Distinct subsets of work within forecast groups that represent specific workloads requiring specialized agent skills. Each demand group is independently forecasted and mapped to specific queues.
  2. Skill-based segmentation: Demand is segmented based on the specialized skills required (e.g., language proficiency, product expertise, technical capabilities) rather than just volume.
  3. Priority-based scheduling: Agents are scheduled based on their skill proficiency levels across different demand groups, with priority assignments indicating where they’re most effective.
  4. Staffing groups: Teams of agents organized by their skill sets, with priority assignments for different demand groups. NOTE: Staffing groups already exist within Amazon Connect (see here for details). They have been updated as part of this capability and hence, are noted here for continuity.

Prerequisites

This blog post assumes operational knowledge of the following:

  1. Amazon Connect administration
  2. Forecasting, Capacity Planning, and Scheduling (FCS) concepts
  3. Contact center workforce management principles

For detailed FCS capabilities overview, refer to the Amazon Connect FCS workshop documentation.

Deep dive: workflow

The following schematic (FIG 1) outlines the workflow used to deliver multi skill forecasting and scheduling.
Segment demand: We are introducing a concept called Demand Groups (DG) which are a distinct subsets of work within forecast groups, where each demand group represents specific workloads that are independently forecasted and require specialized agent skills. A forecast is generated per DG, existing capabilities such as filtering by queues, channels, etc., can still continue to be used.
Link supply: In this section, we will group agents into Staff Groups and link the appropriate DG with each staff group to highlight the type of contacts handled by a given staff group, and their associated priority.
Manage schedule: We will leverage the demand forecast and the staffing group setup above to then generate and publish a calendar based on agent skills. Metrics viewed in the calendar can help with intraday administration and help drive the decision for future changes.
In summary, for our scenario, the bank can establish three distinct demand groups: one dedicated to English queues; one dedicated to Spanish queues; and the last one dedicated to French queues. The bank can then independently forecast contact volumes for each. These demand groups are mapped to agents with the corresponding language skills. Amazon Connect schedules each demand group autonomously, ensuring that agent work schedules and break periods align with coverage requirements. Amazon Connect utilizes artificial intelligence to strategically deploy trilingual agents, addressing staffing imbalances between queues while maintaining the required service level agreement (SLA). The high level workflow is shown in FIG 1 below.

FIG 1: Multi-skill forecasting workflow

The following sections dive deeper into these areas.

Segment demand

Context: To forecast future demand for which agents need to be scheduled, forecasters can create Forecast Groups that aggregate all the demand within a specific line of business. When creating a forecast group, forecasters now have a new option to “create demand groups”. This feature enables multi-skilling capabilities. Our build assumes that the following queues have been created within Amazon Connect (see here on how to create queues in Amazon Connect), and have been servicing contacts for the past six-to-eight months.

TABLE 1: Amazon Connect Queues

Demand Groups can be setup to forecast contact volume per language, as shown in the schematic chart in FIG 2.

FIG 2: Forecast group vs Demand group vs queues

Note that Queues cannot be shared across Demand Groups: a given queue can only be placed within one DG. This is an example of one-to-one mapping.

Amazon Connect requires historical contact volume and average contact handle times as inputs, in order to generate demand forecast. The output of forecasting is either a long term (64 weeks) or short term (18 weeks) contact volume and average contact handle forecast. This is shown schematically in FIG 3 below.

FIG 3: Forecasting, inputs and outputs

Console setup:
Action 1: Activate demand groups

Step 1: Log into your Amazon Connect instance
Step 2: Navigate to the admin console
Step 3: Open the Forecasting section
Step 4: Navigate the the ‘Forecast Groups’ area
Step 5: Create a forecast group called “Retail Banking Forecast Group”
Step 6: Click on Activate demand groups (See FIG 4 below)

FIG 4: Creating a Forecast Group, enabling Demand Groups

Action 2: Create Demand Groups
Next, create the three language groups:

  1. EnglishQueueGroup
  2. FrenchQueueGroup
  3. SpanishQueueGroup

as shown in FIG 5 below. Click Save once the groups have been entered.

FIG 5: Creating Demand Groups, associating them to queues

NOTE:
The example presented assumes that agents across all languages—English, Spanish, and French—possess equivalent capabilities when handling Credit Card and Mortgage phone calls. Demand is segmented by language preference. The dimension used for demand segmentation should align with business priorities. For instance, a Business Process Outsourcing (BPO) organization might choose to segment demand by client portfolios, rather than language capabilities.

Action 3: Generate your forecast with demand groups
Forecasting requires additional configurations, including time zone selection, establishment of an interval of granularity (15/30 minutes), and importing of historical data (if there is no historical data in your Amazon Connect instance).

Once these settings are enabled, forecasters can generate both long term (64 weeks) and short term (18 weeks) forecasts for the forecast group. Please visit this page for details on how to configure these settings and generate your forecast. You can view both contact volume and average handle time forecasts at interval level detail. You may examine forecasts for individual demand groups (EnglishQueueGroup, SpanishQueueGroup, and FrenchQueueGroup) to assess peak and lull period variations.

Publish the forecast by clicking on Publish forecast once you ensure that the displayed forecast meets your goals. FIG 6 shows a completed forecast.

FIG 6: Forecasts and Demand Groups

Link supply

In this section, we will examine how to link the supply of agents with the demand forecast generated in the previous steps.

Context: Continuing with our Mortgage and Credit Card examples, consider a team of English, Spanish and French skilled agents who need to be staffed, as classified in TABLE 2 below:

TABLE 2: Agent language profile

Amazon Connect now allows for a Staffing Group (SG) to utilize a Demand Group (DG), and supports priority assignment for each DG within the SG. This functionality is available when the Forecast Group (FG) linked to an SG includes one or more DGs. Using our banking scenario, we could configure two SGs as shown in TABLE 3:

TABLE 3: Agent staffing groups

During a scheduling run, Amazon Connect ensures Agents are scheduled exclusively for their allocated DGs, ensuring that their unique skills are leveraged when needed at most.

Console setup: Currently, schedule generation requires a published forecast. Before generating your schedules, establish your shift structure, which comprises shift activities, shift profiles, and shift rotation patterns. Shift activities encompass productive work (such as customer contact handling), non-productive tasks (including breaks and team meetings), and time off. Shift profiles allow you to create constraints that apply to schedules, such as working hours and number of shifts per week. You can create multiple shift profiles to accommodate teams across different time zones. You can also create shift rotation patterns to rotate agents through various shift profiles over extended periods. Please refer this page for detailed instructions on how to generate a schedule.

Action 1: Create agent staffing groups and link them to demand groups and assign priorities
We use Staffing Groups to organize agents into teams. Currently, each Staffing Group can accommodates up to 250 agents. A given agent can only be assigned to one staffing group, while supervisors can be assigned to multiple groups. There is no present limit on the number of supervisors per staffing group.

A staffing group can only be assigned to a single forecast group, but it can be associated with multiple demand groups within it. FIG 7 illustrates this.

FIG 7: Staffing Group in relation to Forecast Group and Shift Profile

When demand groups are linked to a staffing group, the scheduling engine allocates agents exclusively to those specified demand groups. For multilingual use-cases, you may require multiple staffing groups. In this example, we will focus on multilingual agents capable of supporting all three languages.

Create a staffing group called TrilingualExpertTeam, link it to the Retail Banking Forecast Group forecast group and an existing shift profile (see here on how to create a shift profile), and configure this staffing group to use the DGs created earlier.

You can specify the priority levels for each of the demand groups. A high priority indicates that these agents are best suited (or most skilled) for the corresponding demand group. For this example, let us assume that the agents in the TrilingualExpertTeam are most fluent in French, followed by Spanish, and then English.

You can implement the following priority sequence:

  1. FrenchQueueGroup (highest priority)
  2. SpanishQueueGroup (medium priority)
  3. EnglishQueueGroup (low priority)

Agents in the TrilingualExpertTeam will receive priority scheduling for French queues before other agents. This setup is shown in the screenshot below (FIG 8). Once completed, click the Save button at the bottom of the page to save the staffing group.

FIG 8: Adding demand groups and priority within staffing groups

Action 2: Overriding the behavior set within staffing group
Agent skills evolve over time due to experience or additional training. Individual skill proficiencies can be updated via the ‘Staff Rules’ page, allowing for customization when agents develop additional skills, or when teams consist of members with varied capabilities. Consider an agent “John Smith,” whose language skills need to be updated. This is accomplished as follows:

  1. Navigate to the Staff rules tab
  2. Search for the agent whose DG’s need to be modified. In the screenshot below, we have selected agent John Smith as an example.
  3. Once an agent is selected, select Demand segmentation in the Select fields to edit combo box on the right, against the agent name (FIG 9(a)).
  4. Update the agents’ demand groups as shown in FIG 9(b). Click Save to implement the changes.

FIG 9(a): Update the demand group for a given agent (1 of 2)

FIG 9(b): Update the demand group for a given agent (2 of 2)

Action 3 (optional): Default based on routing settings (as required)
You can also default the demand group associations based on routing configurations. The system suggests demand groups and priorities according to agent routing profiles. These recommendations are available for download in CSV format, and can be bulk uploaded for agents.

Consider a scenario where a department head has recently adjusted routing for five of your highest-scoring French speaking agents. The schedules for those agents should align closely with routing. This can be accomplished by downloading a CSV with demand group recommendations, and bulk uploading the demand group for the corresponding agents. See screenshot (FIG 10) below.

FIG 10: Demand Group – Bulk Upload

Action 4: Generate, review and publish your schedule
Amazon Connect is designed to generate the least number of shifts for agents, based on the forecasted demand pattern and configured constraints to hit the optimization goal. After creating shift activities, shift profiles, staffing groups and staffing group rules, you can generate a schedule up to eighteen weeks out, and optimize for either a service level or average speed of answer. Schedule generation typically requires between thirty minutes and three hours. See here for detailed instructions on generating a schedule.

For this scenario, let’s generate a schedule to optimize for an SLA of 90% of contacts across all channels answered within thirty seconds, as shown in the screenshot (FIG 11) below.

Click on Generate schedule once the configuration is complete.

FIG 11: Generate Schedule

Manage Schedules

Amazon Connect FCS generates a draft schedule that is hidden from agents until it is published. Schedulers can address warnings or failures and regenerate the draft schedule iteratively, before publishing the final version (see details here). The schedule comprises multiple agent shifts, which include designated work periods and breaks. Amazon Connect independently calculates the required agent headcount for each demand group using forecasted contact volumes, then creates agent shifts according to demand group assignments.

The calendar can be filtered by demand groups. Schedulers can view all agent schedules; supervisors can access schedules within their assigned staffing groups; agents can only view their personal calendars. Please refer to this page for more details on these views. After any warnings have been addressed, please publish your calendar as shown in FIG 12 below.

FIG 12: A Published Schedule

Note: In this example, when French language demand peaks at 8:00am, requiring eight agents for the FrenchQueueGroup, Amazon Connect Scheduling assigned eight agents (from the trilingual group and six from the Romulus staffing group) to handle French language queues, providing optimal staffing allocation during peak periods (see FIG 13 below).

Action 1: Generating a partial schedule

New agents can be added to a new staffing group, and associated with the aligned demand group. A partial schedule can then be generated for the specific staffing group, as shown below in FIG 14.

  1. Navigate to the Schedule manager, and select Generate schedule
  2. Provide a name and description for the schedule
  3. Update the Details section by adding the Forecast Group, start date and end date, and schedule optimization goals
  4. Search for the staffing group you created with the new agents. The display should list the agents within this group
  5. Click on Generate schedule to generate a partial schedule

FIG 14: Generate partial schedule

Cleanup

All artefacts setup as part of this blog can be deleted in order to cleanup the environment. However, due to interdependencies, artefacts can be deleted in the following order:

  • Published calendar: Once published, a calendar is available for all associated agents, hence, it cannot be deleted but overwritten by another calendar.
  • Draft (unpublished) schedules: These can be deleted as shown in FIG 1 5 below.

FIG 15: Delete draft schedule

  • Staffing groups: Amazon Connect UI allows deleting staffing groups by clicking the ‘Remove’ button as shown in FIG 16 below.

FIG 16: Delete staffing group

  • Forecasts: Similar to staffing groups, the UI exposes a button to delete any forecasts
  • Demand groups: Same as above, the UI provides a button to delete demand groups

Conclusion

Amazon Connect can forecasts contact volume and handle times for each demand group separately, then strategically deploy agents based on their skill priorities. As shown in this article, trilingual agents might are prioritized for French queues during peak French demand, but can flex to Spanish or English queues as they are staffed to align to that. This approach can maximize workforce utilization by matching skills to demand, avoiding over- and understaffing, to meet service level agreements more efficiently and optimize costs while maintaining a positive customer experience. These features address complex contact center scenarios where agents have varying capabilities and specializations, moving beyond binary routing approaches that assume all agents are equally skilled across all contact types.