[QUOTE=Pasta]
First I’ll describe the system. Then I’ll describe what I’d like a market to do for me.
Each day is divided into three shifts: night (midnight-8am), day (8am-4pm), evening (4pm-midnight). There is a pool of about 100 workers to fill these shifts (one worker per shift), but shift-filling is not their actual job. Filling these shifts is sort of obligatory volunteer work, if you will, on top of their normal daily activities. But everybody’s got to pitch in and take shifts, or the world ends. Participation is enforced via sufficiently strong stink-eye from co-workers and bosses.
It’s harder to get people to fill weekend shifts and night shifts then it is to get them to fill evening shifts. Day shifts are less popular than evening shifts because there is more to do (interacting with outside companies, etc.) The point is: each person has their favorite shifts and their least favorite shifts. It is not a good assumption that everyone has the same preference space. (Night owls like night shifts. 60-year-olds like day shifts (since they’re up early anyway), etc.)
Assume that Monday-Thursday evening shifts are the most popular, generally. These get signed up for quickly and well in advance. For less popular shifts, it tougher to get people to take them. One solution is to make the shifts “worth” different amounts (with regard to the weight you’re pulling.) That is, you could make a night shift worth twice as much as an evening shift, so that taking one gets you twice the street cred. You could optimize the credit you receive for the different shifts such that all shifts become equally popular, given a particular pool of workers. If you asked everyone to deliver to you their preference space, you could even solve for an optimal set of credit values.
My question: Is there a way to set up a market system to achieve this dynamically (namely, to make each shift as equally fillable as possible).
I don’t know if this market would have the concept of money, or if there would be actual real-time trading, or if you could have “shift debt”, or if you could profit from transactions, etc. But, I feel like one could construct a dynamic system wherein people are automatically maximizing personal and global utility through the action of the market. I haven’t yet come up with anything that actually works, though. (Inflation is a cute outcome of everything I’ve tried.)
This is quite possible very underspecified, partly because many of the details don’t matter, so long as it becomes equally easy to get any given shift filled. But, it may become obvious that I have to set additional requirements for us to get anywhere, in which case I will.
[/QUOTE]
There may be some mathematical approach, but I doubt it. I have spent my entire career in shift work (Emergency Department) and observed with some amusement the various strategies. I’m a Doc and not an academician, so I can’t help with the math, but here are my observations from real life that you might want to try mathemetizing:
I assume there is a total pool of money–a budget–to fill every shift. There is therefore an average wage/shift. Let’s call it $1,000/shift to make it easy. (I’m an ED Doc, remember…) So if there are 100 shifts/month, your total budget is $100k/month.
The simplest practical approach is to pay a differential which entices people to trade the nuisance of working more hours for the nuisance of working less desirable shifts (assuming everyone is targeting the same total yearly salary). The worker preferences decide this, and not mathematics. On average, weekday day shifts are preferred; for the sake of simplicity let’s say 40% of shifts (Grp 1) are great times, 40% are less-preferred (Grp2) and 20% are least preferred (Grp3). The first strategy is to assign shift differentials that smooth out the natural tendency to work only the most desirable shifts. Let’s pay Grp 1 shifts $700, Grp 2 $900 and Grp 3 $1200. We’ll keep back $12,000/month for bonus pay…(you will need to check all my arithmetic).
The manager’s problem is to get all the shifts covered. Generally the two approaches are to either assign them all equally and let the employees trade among themselves, or let the employees assign themselves. The latter method requires that some sort of structure be put in place. This can be a group meeting or a seniority preference or whatever, but there must be a fairly complicated structure since those who choose first constrain the choices of those who choose next.
At the end of the first round of assignments, there will be odd shifts left over. Use the $12,000 to assign bonuses for working those shifts. In my opinion bidding for shifts (which has become popular at my Hospital) works well for covering the odd shifts, but you can’t really use it to generate the entire schedule. You have to have a fairly automatic mechanism for that.
There are so many complexities around this it would take me all day to elaborate on them. In the end, you need a system which assigns most of the shifts in a fairly orderly fashion and pays extra for the least desirable shifts. Note that in the typical real world, each category of shift usually has its own set of workers. Most ordinary employees work only days or only evenings, or whatever. Docs are unusual in rotating through all shifts. Your OP seems to suggest that all employees can be assigned to any shift. Although this was true with my group it is most definitely NOT true with any other of the groups who work in the ED (RNs, Techs, Admins…)
It is not that case that you will be able to find some sort of mathematical formula to fill a blank schedule. There are many shift-assignment programs which are on the market. I do feel that the more flexibility a manager is given in wage assignments, the easier it is to get all the shifts assigned. I used to tell my Director that he would have no problem covering Christmas if he paid that shift an entire year’s wages. Somewhere between $1,000 and $250,000 is the right amount to pay an ED Doc to work Christmas day if you never want to have problems covering the shift. (I think we ended up paying double to cover the most popular Holidays…)