Call Center Scheduling Problem Federal Reserve Bank United States Treasury May 6, 2009 Morgan Brunz...
-
Upload
zayne-jacques -
Category
Documents
-
view
214 -
download
0
Transcript of Call Center Scheduling Problem Federal Reserve Bank United States Treasury May 6, 2009 Morgan Brunz...
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