Skip to main content

Guide to the Intraday Solver

How to optimize intraday activity scheduling

Olaf Jacobson avatar
Written by Olaf Jacobson
Updated yesterday

The Intraday Solver is your optimization engine for building fair, efficient, and balanced daily schedules for your team. Instead of manually assigning activities and breaks, a process that can take hours, the solver analyzes thousands of combinations to create the best possible schedule that respects all your rules and requirements.

Before you can use the Intraday Solver you need to have people and activites, see Intraday Solver prerequisites for more details.

πŸš€ How It Works: The 5-Step Workflow

Think of the solver as an iterative process. You add rules, see the result, and refine until the schedule is perfect.

  1. Access the Solver: Click the Magic Wand icon to open the Intraday Solver panel.
    ​

  2. Add an Activity: Start with your most important activity (e.g., "Breaks" or "Chat").
    ​

  3. Add Constraints (Rules): Define the rules for that activity. (e.g., "Breaks must be 30 minutes long" or "Need 10 people on Chat at 9:00 AM").
    ​

  4. Click Solve: The solver will generate a schedule based on the rules you've added so far.
    ​

  5. Iterate and Refine: Review the result. Then, add your next activity (e.g., "Email") with its own rules and click Solve again. Continue this process, building your schedule layer by layer.


Rules of the Engine: Understanding Constraints

Constraints are the rules you give the solver to follow. Here are the most common types and how to use them.

  • Staffing Requirements:

    • What it is: Defines the exact number of people you need on an activity at specific times. This is essential for live channels like chat or phones.

    • Example: Use a forecast to set a requirement of 10 people on "Chat" from 9:00 AM - 11:00 AM, ramping down to 5 people in the afternoon.
      ​

  • Time Required (Total):

    • What it is: Sets the total number of hours your entire team needs to spend on an activity for the day.

    • Example: The team must complete a total of 20 hours of "Email" by the end of the day.
      ​

  • Time per User:

    • What it is: Sets the minimum or maximum time a single person can spend on an activity.

    • Example: Each person should spend at least 2 hours but no more than 3 hours on "Email."
      ​

  • Consecutive Time:

    • What it is: Defines the length of a single, uninterrupted block of an activity. This is key to preventing fragmented schedules.

    • Example: "Breaks" must be exactly 30 minutes long. "Email" blocks must be at least 2 hours long.
      ​

  • Time Window (Relative or Absolute):

    • What it is: Restricts when an activity can be scheduled.

    • Example (Relative): "Breaks" must be scheduled 3.5 to 5 hours after a user's shift starts.

    • Example (Absolute): "Team Meeting" must happen between 10:00 AM and 11:00 AM.
      ​

  • Occurrence:

    • What it is: Limits how many times an activity can be assigned to a user or the whole team.

    • Example: Each user must get exactly one "Break" per day.
      ​

  • Concurrency:

    • What it is: Limits how many people can be on an activity at the same time.

    • Example: No more than 30% of the team can be on "Break" simultaneously.
      ​

  • User Assignment (Skills):

    • What it is: Restricts an activity to specific users or user groups.

    • Example: The "French Chat" activity can only be assigned to users in the "French Speakers" user group.


πŸ’‘ Pro-Tips for a Perfect Schedule

  • Save Checkpoints: As you build your rules, save your configuration as a Checkpoint. If you add a rule that breaks the schedule (or you just want to go back), you can easily load your checkpoint instead of starting from scratch.
    ​

  • Use Soft vs. Hard Constraints:

    • Hard Constraint (Default): A rule that must be followed. If the solver can't satisfy all hard constraints, it will return "No solution found."

    • Soft Constraint: A rule the solver will try to follow but can break if necessary. This gives the solver flexibility.

    • Tip: Use this for preferences. For example, a soft constraint of "Max 30% concurrency on breaks" is better than a hard one, as it allows the solver to find a solution even if it has to briefly put 31% of staff on break.
      ​

  • Set Priorities: You can drag activities up or down in the solver list to set their priority. The solver will try to schedule high-priority activities (like "Chat" or "Breaks") first.
    ​

  • Add "Filler" Activities: If you see gaps in the schedule, add a general, low-priority activity like "Tickets" or "Back-office" with very few rules. The solver will use this to fill any remaining time.
    ​

  • Adjust Solver Time: In the Settings menu, you can change the optimization time.

    • Fastest: Good for quick checks as you build rules.

    • Optimal: Gives the solver more time (e.g., 30-60 seconds) to run more combinations and find a more optimal solution. Use this when you're finalizing your schedule.

πŸ“Ί Video Tutorial & Index

For a full, step-by-step walkthrough, you can watch our training video.

Using the Intraday Solver for Scheduling

1. Introduction to the Intraday Solver 0:00

  • Overview of the intraday solver as an optimization engine.

  • Purpose: To save time in scheduling daily activities for the team.

2. Accessing the Solver 0:21

  • Locate the solver using the magic wand icon.

  • Click 'solve' to begin scheduling.

3. Understanding the Optimization Process 0:33

  • The solver analyzes thousands of combinations to optimize the schedule.

  • Ensures all rules are respected during scheduling.

4. Starting from Scratch 1:47

  • Begin with a clean slate to build the schedule.

  • Add activities and set rules as needed.

5. Adding Activities and Rules 2:02

  • Example: Start with an email activity.

  • Set total hours required for the activity.

6. Setting Time Constraints 3:03

  • Define minimum and maximum working hours for activities.

  • Ensure a balanced distribution of tasks.

7. Creating Checkpoints 4:07

  • Save configurations as checkpoints to avoid starting over.

  • Use checkpoints to revert to previous settings if needed.

8. Adding Breaks 5:04

  • Schedule breaks with specific time windows.

  • Set minimum and maximum durations for breaks.

9. Managing Break Concurrency 8:08

  • Limit the number of people taking breaks simultaneously.

  • Use soft constraints to optimize break scheduling.

10. Assigning Activities Based on Skills 10:26

  • Filter activities based on team members' skills (e.g., language proficiency).

  • Use user groups for easier assignment.

11. Setting Staffing Requirements 15:02

  • Define how many people are needed at specific times (e.g., for chat support).

  • Use simple or forecast-based staffing requirements.

12. Finalizing the Schedule 19:49

  • Review the complete schedule and make adjustments as necessary.

  • Save the final configuration for future use.

13. Adjusting Solver Settings 23:12

  • Change settings for optimization time to improve results.

  • Use soft constraints to allow flexibility in scheduling.

14. Conclusion and Support 24:19

  • Recap of the scheduling process using the intraday solver.

  • Encourage reaching out for help with configurations or rules.

Did this answer your question?