Call Center Scheduling ProblemFederal Reserve Bank
United States Treasury
May 6, 2009
Morgan Brunz Brittany McCluskey
Background of Problem Situation
• Every month the U.S. Treasury sends out 11 million checks for Social Security and other government payments
• Cost = $1 per check every month
• To eliminate cost –> Switch over to direct deposit
• Two methods of contacting the FED– Call Center - 70% Usage Rate– Website - 30% Usage Rate 70%
30%
Phone callWeb site
Background of Problem Situation
• Call center can receive between 9,000 to 1,000 calls per day• Call center has 23 permanent employees and hires between 100 to
5 temporary agents per day• FED must determine how many temporary employees should be
hired per day
• Call Center Hours– 7am - 7pm, Monday - Friday
• 4 Shifts – 7am, 8am, 9am, 10:15am– Lunch - 45 minutes – Two Breaks– 15 minutes
7:30
AM
10:3
0AM
1:30
PM
4:30
PM
7:30
PM0
100
200
300
400
500
High Vol-ume - 8521Low Volume - 1919
Problem Objective
• Optimization functionalities– Minimize cost by not over hiring temporary workers– Maximize customer service by eliminating dropped
calls
• Our analysis focused on 2nd, 3rd, and 4th weeks– Most checks delivered in the 1st week of the month
• Highest call volume demands
Two Model Approach
• 1. Waiting Line System– Arrival rate of calls per 15 minutes– Service rate per 15 minutes– Use number of agents needed for each 15-minute time interval
for second model
• 2. Integer Programming Model– Variables – Possible employee schedules– Equation – Each 15-minute period
• Number of Agents working >= Number of Agents needed
Integer Programming Model Example
7am 7:30 4:457:15 7:45 5:004:30
# agents ≥ # needed for
response time this interval
1st shift: on at 7, off at 4:30
2nd shift: on at 7:15, off at 4:45
3rd shift: on at 7:30, off at 5
Waiting Line System
Technical Description – Waiting Line System
• Service Rate– Average Call = 4 minutes 20 seconds – 15 min / 4.33 min = 3.46 calls per 15-minute interval
• Arrival Rate– Given past 3 months of call volume by 30-minute intervals– Added call volume received across all days for each 30-minute
interval– Averaged and divided by 2 to get 15-minute intervals
• Obtained employees needed per 15-minute interval by dividing average arrival rates by service rate of 3.46
Technical Description – Integer Programming Model
• Used programming language AMPL/CPLEX
• Created 2 text files for model– FedAmpl– FedFile
• 24 variables = possible temporary agents schedules currently used by FED– A Matrix
• Row T = 15-minute interval• Column S = Possible schedules
x1 x2 x3 x4
7-715 1 1 1 1
715-730 1 1 1 1
730-745 1 1 1 1
745-8 1 1 1 1
8-815 0 0 1 1
815-830 1 1 0 1
830-845 1 1 1 0
845-9 1 1 1 1
9-915 1 1 1 1
915-930 1 1 1 1
930-945 1 1 1 1
945-10 1 1 1 1
10-1015 1 1 1 1
1015-1030 1 1 1 1
Technical Description – Integer Programming Model
• Constraints– One constraint generated 48 = one per 15-minute time period– Agents Working >= Agents Needed (RHS)
• RightHandSide– Represents the employees needed per 15-minute time period– 48 RHS values– Total Employees – Permanent Employees Working
= Temporary Agents Needed per 15-minute Interval
15 Minute Interval
Number of Agents Needed
Permanent Employees
Agents Needed - Permanents = RHS
7-715 3 1 2715-730 3 1 2730-745 5 1 4
Analysis and Interpretation – Solution Model 1
• Found number of temporary employees and their schedules• Kept permanent employees’ schedules as they are currently• Objective Function = 9 Temporary Employees• For Example:
Schedule 4: need 1 temporary employee to come in at 7:00 to 3:45, breaks 8:30 and 1:45, and lunch at 10:30
CPLEX Output
CPLEX 11.2.0: optimal integer solution; objective 9
6 MIP simplex iterations
x [*] :=
1 0 4 1 7 0 10 0 13 0 16 0 19 0 22 0
2 0 5 0 8 3 11 0 14 0 17 0 20 0 23 0
3 0 6 3 9 0 12 0 15 0 18 1 21 0 24 1;
Analysis and Interpretation – Solution Model 2
• Changed the RHS by taking out the permanent employees • Models temporary and permanent employees• Objective Function = 21 Total Employees• Does not take into account that permanent employees answer the phones
only 80% of their day
CPLEX Output
CPLEX 11.2.0: optimal integer solution; objective 21
16 MIP simplex iterations
x [*] :=
1 0 4 0 7 2 10 0 13 0 16 4 19 0 22 0
2 2 5 0 8 0 11 0 14 0 17 0 20 2 23 1
3 2 6 1 9 3 12 0 15 0 18 0 21 0 24 4
Analysis and Interpretation – Solution Model 3
• Factored in the fact that the permanent employees only answer the phone 80% of their day
• Increased the RHS by multiplying by 1.2 and rounding up• Objective Function = 25 Total Employees• Next model we will add additional schedules
CPLEX Output
CPLEX 11.2.0: optimal integer solution; objective 25
18 MIP simplex iterations
x [*] :=
1 0 4 0 7 2 10 1 13 0 16 4 19 0 22 0
2 3 5 0 8 0 11 0 14 0 17 0 20 3 23 1
3 2 6 2 9 3 12 0 15 0 18 0 21 0 24 4
Analysis and Interpretation – Solution Model 4
• Added 10 more possible schedules with start times staggered every 15 minutes, and breaks and lunches systematically staggered
• 9 employees used new schedules• Objective Function = 24 Total Employees
– Objective improved by 1
CPLEX Output
CPLEX 11.2.0: optimal integer solution; objective 24
34 MIP simplex iterations
x [*] :=
1 0 5 1 9 2 13 0 17 0 21 3 25 0 29 0 33 0
2 0 6 2 10 1 14 2 18 0 22 0 26 2 30 2 34 2
3 1 7 0 11 0 15 0 19 0 23 2 27 0 31 0
4 1 8 0 12 0 16 0 20 0 24 0 28 2 32 1
Analysis and Interpretation – Solution Model 5
• Adjusted RHS by subtracting permanent employees• Determined temporary employees needed and their schedules using all
possible schedules, including 10 new schedules• Objective Function = 9 Temporary Employees• Additional schedules did not reduce temporary employees needed
CPLEX Output
CPLEX 11.2.0: optimal integer solution; objective 9
7 MIP simplex iterations
x [*] :=
1 0 5 0 9 0 13 0 17 0 21 0 25 0 29 0 33 0
2 0 6 3 10 0 14 0 18 1 22 0 26 1 30 0 34 0
3 0 7 0 11 0 15 0 19 0 23 1 27 3 31 0
4 0 8 0 12 0 16 0 20 0 24 0 28 0 32 0
15 Minute Interval
Agents Needed - Permanents
15 Minute Interval
Agents Needed - Permanents
7-715 2 1-115 6715-730 2 115-130 4730-745 4 130-145 1745-8 4 145-2 28-815 4 2-215 1
815-830 4 215-230 1830-845 4 230-245 3845-9 3 245-3 29-915 3 3-315 0
915-930 5 315-330 0930-945 4 330-345 0945-10 4 345-4 -110-1015 4 4-415 -4
1015-1030 1 415-430 -41030-1045 1 430-445 -51045-11 0 445-5 -111-1115 1 5-515 0
1115-1130 1 515-530 -11130-1145 3 530-545 01145-12 3 545-6 112-1215 2 6-615 0
1215-1230 4 615-630 01230-1245 6 630-645 -11245-1 9 645-7 -1
Conclusions
• Analysis of employees needed per 15-minute interval– Too many permanent
employees are starting late in the day
– More employees need to begin earlier in the day
Conclusions
• Best Solution = Model 4 – Models permanent and temporary employee schedules– Total Employees = 24
7-71
574
5-8
830-
845
915-
930
10-1
015
1045
-11
1130
-114
5
1215
-123
01-
115
145-
2
230-
245
315-
330
4-41
544
5-5
530-
545
615-
630
0
5
10
15
20
25
30
Model 4 - Total Employees Working
Conclusions
• Alternative Solution = Model 1– Models temporary employee schedules – Permanent employee schedules are kept as they are currently– Temporary Employees = 9
7-71
574
5-8
830-
845
915-
930
10-1
015
1045
-11
1130
-114
5
1215
-123
01-
115
145-
2
230-
245
315-
330
4-41
544
5-5
530-
545
615-
630
02468
10
Model 1- Temporary Employees Working
Conclusions
• Realistic Recommendation– Add two to three employees to CPLEX output
• Break and Lunch Schedule Recommendation– Limit lunches between 12:15 to 1:15 due to high call volume
• Additional Suggestions– Part-Time Employee Schedules
• Additional shifts from 10:00 – 2:00– 4 Day Work Week
• Go Green
Q&A
Top Related