Development of AI Automatic Shift Scheduling System for Operators
Shift planning in a contact center with 100+ operators is an NP-hard combinatorial optimization problem. You must consider SLA requirements, labor code, operator skills, their preferences and cost limitations. Manual schedule creation for a week takes 8-16 hours. AI system does it in 5-15 minutes.
Scheduler Input Data
From Load Forecast:
- Operator requirements by 15-30-minute intervals
- Distribution by channels (calls, chat, email)
- Distribution by skills (languages, product specialization)
From HR System:
- Operator contracts (full-time/part-time, max hours per week)
- Already scheduled vacations and sick leave
- Certified skills of each operator
- Shift preferences (preferred/unpreferred)
Constraints:
- Labor code: minimum 11 hours between shifts, minimum 2 days off per week
- Breaks: 15 min every 2 hours, 30-45 min lunch in middle of shift
- Maximum shift length: 8-10 hours
- Minimum staffing: X operators of skill Y in each interval
Optimization Methods
Integer Linear Programming (ILP): Classic approach for shift scheduling. Variables: $x_{ij} = 1$ if operator $i$ works shift $j$. Objective function: minimize schedule cost. Constraints: SLA, labor code, skills.
Solver: CBC (open source), Gurobi (commercial, 5-10× faster). For 200 operators × 1000 possible shifts, ILP solves in 1-5 minutes.
Constraint Programming: Google's OR-Tools CP-SAT — best modern solver for scheduling tasks with hard constraints. Advantage over ILP: easier to model complex constraints (shift alternation, fairness).
RL for Adaptive Scheduling: With frequent changes (unexpected sick leave, load changes), RL agent adapts schedules faster than rerunning ILP. RL horizon: 24-48 hours, actions — swap shifts between operators.
Fairness and Preferences
Technical solution for fair scheduling is non-trivial:
- Equal distribution: each operator gets ±5% night shifts, days off, holidays relative to average
- Preference satisfaction rate: % of fulfilled shift preferences (target > 70%)
- Bidding system: operators bid on preferred shifts, scheduler maximizes total satisfaction with SLA constraints
Preference satisfaction vs. cost minimization — this is a multi-objective problem. Pareto frontier: dashboard shows tradeoff schedules with different balance points.
Schedule Creation Process
Horizon: typically 1-4 weeks ahead.
Pipeline:
- Import load forecast from WFM system
- Load current HR data (vacations, skills, contracts)
- Generate set of possible shifts (shift patterns)
- CP-SAT optimization with hard and soft constraints
- Post-processing: fairness check, preference balancing
- Publish schedule to WFM / mobile app
Intraday Adjustments: If operator is absent — automatic replacement search via RL agent. Considers: replacement skill match, accumulated overtime, current load on others.
Mobile App for Operators
Operators see their schedule and can:
- Request shift swap with colleague (automatic constraint check)
- Submit day-off request (system checks staffing impact)
- Receive push notifications of changes
This reduces supervisor administrative load by 60-70%.
Metrics
- Schedule generation time: < 10 min for 200 operators
- SLA coverage: > 98% intervals within ±10% of target staffing
- Overtime cost: 15-25% reduction vs. manual schedule
- Preference satisfaction: > 65%
- Schedule stability: < 15% changes 48 hours before start
Implementation Timeline: basic scheduler with ILP/CP-SAT for one site — 6-8 weeks. Full system with mobile app, fairness module and intraday adjustments — 4-5 months.







