Optimize schedule

The optimization of the schedule reallocates days off and work shifts to make the staffing levels match the forecast as closely as possible. The optimization often needs to be run more than once for an optimal result.

There are seven optimization steps focusing on different aspects. Only run the ones that are relevant for your business. See About the optimization steps for more information on what is done in each step.

You can run the optimization steps together or one step at a time. The benefit of running for example the days off step first is to be able to check the result and if needed run that step again, before continuing with the next step. If you do decide to run the steps separately, it is often most efficient to run them in the order that they are listed.

Prerequisites

  • You have the Schedules > Automatic scheduling permission.
  • You have the Global functions > View schedules permission.
  • You have the Global functions > Modify schedules permission and the underlying Modify assignment permission.
  • You have the Global functions > View unpublished schedules permission to optimize unpublished periods.

Page location

Client > Schedules > Open schedule

Procedures

Select agents and period and open the optimization options

  1. If needed, lock any days in the schedule to prevent them from being changed. See Lock schedule days.

    Absences are never changed by the optimization.

  2. Select the agents and the dates to optimize schedule.

    • Click in the schedule view and select Ctrl+A keys to select all agents and all dates in this view.
    • Click and drag to select consecutive dates or agents.
    • Click the week header to select all agents for that week.
    • Click the agent name to select the full period for that agent.
  3. Click the arrow next to Schedule and select Optimize.
  4. If needed, select a schedule tag in the Tag changes with menu. The selected tag is applied to all days where the schedule is changed in this automatic optimization.
  5. Continue to go through the optimization options. See the details described in the procedures below.
  6. When you have selected everything that you want to consider when optimizing the schedule, click OK to run the optimization.

    NOTE   The selected settings are stored for your user. When you open the optimization options, the options are always set as the previous time you ran the optimization.

  7. Continue to evaluate the result of the optimization. See Review optimization result

Select optimization steps to run

Select which optimization steps to run. See About the optimization steps for more information on what is done in each step.

  1. In the optimization options, select the General tab.
  2. Select the check boxes for the optimization steps to run.

    • Days off—Optimizes the positions of the days off. Use the settings on the Days off tab to control how the days off are placed.
    • Time between days—Optimizes the length of the shifts to use the resources where they are needed the most.
    • Shifts for flexible work time—Uses the target tolerance on the agents' contracts to optimize the schedule period target contract time.
    • Days off for flexible work time—Uses the day off tolerance on the agents' contracts to optimize the number of days off in the schedule period.
    • Shifts within day—Optimizes the shifts used for each day by for example changing the start time and moving breaks.
    • Intra interval balance—Optimizes the placement of activities within each interval.
    • Fairness—Optimizes to achieve fairness between agents, either by trying to schedule the same number of shifts of the different shift categories on the agents, or by scheduling the preferred shifts on agents with a higher seniority.

Select which restrictions to consider

Select which restrictions to consider while optimizing the schedule, and to what percentage those restrictions must be fulfilled. This is only possible if the restriction was considered during scheduling.

NOTE   The optimization can not raise the fulfillment percentage, only lower it. Also, if you are not sure what percentage you should use, start with a high percentage in the first optimization run. If needed, lower the percentage and run the optimization again.

  1. In the optimization options, select the General tab.
  2. In the Fulfill restrictions section, select the check boxes for the restrictions to consider.

    • Preferences—Ensures that the defined percentage of the agents' preferences are fulfilled after the optimization.
    • Must haves— Ensures that the defined percentage of the agents' selected must have preferences are fulfilled after the optimization.
    • Rotations— Ensures that the defined percentage of the agents' rotation patterns are fulfilled after the optimization.
    • Availability— Ensures that the defined percentage of the agents' availability patterns are fulfilled after the optimization.
    • Hourly availability— Ensures that the defined percentage of the agents' entered hourly availabilities are fulfilled after the optimization.
    • Shift category limitations— Ensures that the agents' defined shift category limitations are fulfilled after the optimization.

Define how to handle days off

Define how the days off can be placed within the schedule period.

NOTE   The week and the weekend days used in the day off optimization settings are defined by the Work week starts on setting on the General tab in the People module.

  1. In the optimization options, select the Days off tab.
  2. Select the Keep existing days off check box and define a percentage if you want to ensure that each agent has a certain percentage of days off that stay in the same position as before the optimization.
  3. Select the Days off per week check box to control how many days off that can be schedule for an agent per calendar week. A calendar week is defined as seven days from the specified first day of the work week. Define the Minimum and Maximum number of days off.
  4. Select the Consecutive days off check box to control how many days off that can be scheduled in a row. Define the Minimum and Maximum number of consecutive days off.
  5. Select the Consecutive workdays check box to control how many workdays that can be scheduled in a row. Define the Minimum and Maximum number of consecutive workdays.
  6. Select the Full weekends off check box to ensure full weekends off for the agents during the schedule period. A full weekend off is when days off are placed on both the last two days of the work week. For example, if the first day of the work week is set to Monday, the weekend is Saturday and Sunday. Define the Minimum and Maximum number of full weekends off.

    NOTE   For the optimization to ensure that the full weekend off rules are not broken, the rules need to be fulfilled when starting the optimization. For example, if the agents only have one full weekend off after scheduling, the optimization might not be able to ensure that they have at least two full weekends off after optimization.

  7. Select the Weekend days off check box to control how many of the days off that can be scheduled on the weekend. A weekend day off is a day off on one of the last two days of the work week. Define the Minimum and Maximum number of weekend days off.
  8. Select the Consider the week before check box if you want the rules for Consecutive days off and Consecutive workdays to take the schedule in the last week of the previous schedule period into consideration.

    NOTE   Do not select this check box if there is no schedule in the previous schedule period.

  9. Select the Consider the week after check box if you want the rules for Consecutive days off and Consecutive workdays to take the schedule in the first week of the next schedule period into consideration.

    NOTE   Do not select this check box if there is no schedule in the next schedule period.

Use block scheduling

Ensure that each agent has the same or similar shifts within a block. See About block and team scheduling for more information. This requires that scheduling was done with block scheduling.

  1. In the optimization options, select the Extra tab.
  2. Select to define a block as the workdays Between days off or the whole Schedule period. Ensure to select the same definition of block that you used for scheduling.
  3. Select how similar the shifts within the block must be; Same shift category, Same start time or Same shift. You can select more than one option. Ensure to select the same options that you used for scheduling.

Use team scheduling

Ensure that agents within a team or group page have the same or similar shifts. See About block and team scheduling for more information.

  1. In the optimization options, select the Extra tab.
  2. Select the agents that must have similar shifts. Ensure to select the same team or group page that you used for scheduling.

    • Select Business hierarchy to keep similar shifts for agents in the same team.
    • Select any group page to keep similar shifts for agents who belong to the same group.
  3. Select how similar the shifts within the team or group must be; Same shift category, Same start time, Same end time or Same activity. Same activity means the agents have one selected activity at the same time, for example lunch. You can select more than one option. Ensure to select the same options that you used for scheduling.
  4. If you select Same activity, select the type of activity to schedule at the same time for all agents within the team or group.

Define what must be kept the same

When the schedule is published, you often want to be more careful when optimizing. Select which parts of the shifts that you want the optimization to leave as they are. Define a time period for which part of the day to optimize.

  1. In the optimization options, select the Shifts tab.

    Select the parameters of the shifts that you don't want optimization to change; Shift categories, Start time, End time or Total time of selected activity. You can select more than one option. If you select Total time of selected activity, select the activity to focus on.

  2. Select the Alter between check box to define which time period of the day to optimize. Define a start and end time. The parts of the shifts that are outside of the defined time period are not changed by the optimization.
  3. If there are activities in the shifts that must be kept as they are, select them in the Activities list and use the arrows to move them to the Do not move list.

NOTE   The Fairness optimization step will not consider the settings on the Shifts tab.

Use minimum or maximum staffing limits

If there are limits for the minimum or maximum number of agents to schedule on the skills, ensure to consider those limits when optimizing.

Optimizing with the min and max staffing options cannot ensure that these rules are fulfilled. The optimization process prioritizes shifts that help fulfill these rules, but there might be situations where it is not possible.

  1. In the optimization options, select the Advanced tab.
  2. Select Minimum staffing to consider any limitations on minimum agents on the skills.
  3. Select Maximum staffing to consider any limitations on maximum agents on the skills.
  4. If you have already run the optimization once and it could not fulfill the defined values for minimum and maximum agents, select Use tweaked values to try to achieve a better result. When you use tweaked values, the optimization is based on the adjusted difference values instead of the relative difference values.

Use limitations on number of seats

If there is a limitation on the number of seats for a site, ensure to consider that limit when optimizing the schedule.

  1. In the optimization options, select the Advanced tab.
  2. Select the Maximum seats check box to avoid using more seats than what is defined for the site. The number of seats might be exceeded if needed to build a complete schedule. It the limit is exceeded, this is high-lighted in red on the site tab.
  3. Select the Do not break maximum seats check box to ensure that the maximum seats limit is not exceeded.

    NOTE   When the maximum seats value is reached, there might be a situation where it is not possible to schedule any shift for an agent without exceeding the maximum seats limit. Then that day is left blank, without a shift.

Related topics