Friday, July 10, 2015

"Call Scheduling Algorithms" = Call Scheduling Algoritms + Staffing

We think about call scheduling algorithms as a set of rules about when cases should be called. However, staffing is the other half of the problem. For the rules to be implemented, the staff making the calls need to be there. And, there can also be issues if the staff is too large. The rules need to account for both of these situations.

Probably the more difficult problem is a staff that is too large. For example, imagine that all active cases have been called. There is an appointment in 45 minutes. The interviewer can wait, or call cases that have already been called on this shift. Calling cases again would be inefficient and a violation of a rule of the algorithm. Still, it seems bad to not make he calls.

I wrote a paper on a call scheduling algorithm. I assigned a preferred calling window to each case. These windows changed over time as calls were placed and the results of previous calls were used to inform the assignment of preferred window. I spent a lot of time analyzing data to see how often calls were placed in the preferred window.

This issue comes up in the paper by Greenberg and Stokes. Their algorithm recommended placing 30% of the calls on the first night of the study. This is likely infeasible as a scheduling problem.

In any event, call scheduling is a complicated problem. The complications, I think, stem in part from the difficulty of implementing staffing that will match the rules of the calling. And extending results across organizations with different approaches to staffing is difficult. In evaluating these algorithms, we need to know the rules, the violations of the rules, and the results.