A Sopchak. A Self-Assigned Call System With Open Market Adjusted Value. The Internet Journal of Anesthesiology. 2006 Volume 14 Number 2.
This paper seeks to provide a solution to the problem of how best to assign anesthesiology attendings to calls in an academic department. It describes a system for the formation of a "call market" where open bidding sets the value of each call. This is done using a custom written application for online scheduling.
A Self-Assigned Call System With Open Market Adjusted Value
This paper seeks to provide a solution to the problem of how best to assign anesthesiology attendings to calls in an academic department. The impetus to creating such a system was driven by a decree that at least a portion of each person's compensation should be incentive based. It was easy to determine a way to levy a tax so that resources are available to provide for incentive to do more cases. However, a system for rewarding those “doing more work” seems to be very ambiguous, at best.
Simultaneously with this decree, work on an online scheduling system had started. In developing this system there are a number of specific problems I wished to resolve. The ideal system should seek to provide the following benefits:
This system is composed of two pieces: a fair and equitable way to tax salaries, and a fair and equitable way to return that pay for incentivised work done. Both of these pieces are highly dependent upon a very structured compensation system. In the remainder of the paper I will assume an equitable and fairly apportioned compensation structure.
I will cover the easier of the two pieces first: the source of funding for the incentives offered. In order to make an incentive plan work, funding to provide something to work for must be provided. Obviously there is a fixed amount of money entering department coffers, and the incentives must come from those monies. Assuming that most, if not all, money collected is used to pay expenses and salaries, then a fair and equitable way to levy the tax on salaries for providing the incentive program must be found. Since everyone does not have the same salary, there is a problem in how to levy this tax. Those at the lower end of the pay range will prefer that everyone put in an equal percentage of their salary. On the other hand, those that are at the high end of the salary range will want their to be a fixed amount. Unfortunately neither of these methods will work for everyone. In addition, as we shall see, the amount of money that needs to be withheld is not fixed and can fluctuate month to month. The most equitable way to levy the tax in this case is half of the money is collected as an equal amount from each member of the department (appropriately adjusted for those that are only part-time), and half of the money is collected as an equal percentage of each individual's salary. Any method that does not include both a fixed portion and a variable proportion will not be acceptable to all.
The following formulas will serve best to calculate the appropriate collections:
F = D / (2N)
Where F is the fixed amount to be withheld from each FTE (full time equivalent), D is the total amount that needs to be collected, and N is the total number of FTE's.
P = D / (2T)
Where T is the total of all salaries.
Further, D can consist of two parts. These are the incentives for call (IC), and the incentives for all other services (IO) which it is determined to incentivize. So then D = IC + IO.
In the next section we shall lay out the framework for how an open market might set the prices such that we can arrive at IC. All the other incentives (IO) can be determined in a number of ways, including vote, distinct items that can be placed into a separate market or chairman's discretion.
Open Market Pricing to Drive Call Self-Assignment
This call assignment system is driven by a continuously increasing price bid for someone to take the particular call in question as the time to that call grows nearer. Ideally, all calls will be filled at least one month ahead of time so that everyone knows who is doing what and can plan accordingly. Likewise, the price of the calls is continually driven downward by offers from the participants in the system to do the calls. It is in the group's best interest to fill the calls at the lowest possible price while it is in each individual's interest to be paid the most that he can get for each call. These offsetting forces will balance at the optimal price, given sufficient liquidity.
An immediate objection to this system, which I myself considered, was that everyone (or key groups) will wait for the price to go insanely high before offering to take the calls. This could happen, and this can be classified as a problem in market liquidity. Certainly, if there were only five participants in the system, there may be days where the price becomes insanely high due to lack of liquidity – no one wants the particular call. This is a limitation of this system: it cannot work with small numbers of people. There must be a sufficient number of people such that there is always someone who will take the call that looks like it starts getting overbid. I know that a group of 5 or 10 would suffer from extreme lack of liquidity at times. Likewise a group of 100 would have no problem whatsoever to cover calls. My feeling is that with 20 or more there would be sufficient liquidity in the market to prevent anything more than the occasional overbid call. When a call is significantly overbid (relative to its average value over time), someone will come forward and take that call at the overbid price. Everyone else will be paying this individual to take an apparently undesirable call. On the other hand some calls may be highly coveted, such as Thursday calls and be offered down to lower values. In this case the group is paying very little for call coverage for that particular day.
The best way to describe the way this market may function is through example and formula. We will start with some looks into what the market actually looks like and discuss some formulas as we go. Remember that everything seen here is only a snapshot view. When a user is accessing the system he will see a picture of what is available to take and at what price, which is accurate up to the moment of accessing that page. Also, I cannot stress enough the importance of each member of the call system being aware that if
In the table below we see a snapshot of the market for the first week of its existence. Keep in mind that initially 13 weeks will be started and look identical to this table. As each week passes another week is opened 13 weeks out.
As data is gathered on just how much each particular call is worth, the number of open weeks will be extended, perhaps up to 52. As we shall see, the creation of each new week will depend on the moving averages and standard deviation of all of the assigned calls in the currently open market.
Since we don't know how much each call will really be worth to start with, I have selected arbitrarily low values. These will be bid up until they are taken. I have arbitrarily chosen a period of 60 days over which the prices should be bid up to a level that assures me that they will be taken. Each day the bid values will be increased by 5%. This continues until all the calls are taken.
In the next table we see the market for the same week being scheduled, but this time it is 2 weeks later. At this point we see that there are offers but no calls are yet assigned since no bids have matched the offered values.
Let's move out one more week and see what has happened as bids continue to increase and offers continue to push prices lower:
As we can see, six of the calls have now been assigned and the matching bid and offer prices are shown. The number in parentheses after the best offer is the number of people who have made an offer on that date. Notice that for the Saturday second call another person has made an offer but is not any lower than the previous offer. In this situation the first to make the offer would receive the call. In the actual system the spaces where “assigned” is shown, there is the option of displaying the name of the individual who is assigned to that slot.
Let's move out now further and see what this picture looks like after all calls are assigned:
All of the calls have now been assigned for a total of 12,300 for the week. This would be the amount of salary tax for this week that would be required to cover call. In addition, as previously mentioned, an additional amount may be levied to add incentive to other necessary department functions, such as research, lectures and so forth.
Please bear in mind that the numbers in the above scenario are made up by myself. I think they are close to what might really happen, but they may be substantially different.
Determination of Opening Bids and Increments
All of the days assigned will be categorized into the following groups: holiday (call on the holiday), weekday pre-holiday (day before a holiday other than a Saturday or Sunday), weekend pre-holiday (day before a holiday which is a Saturday or Sunday), and all others will be categorized by their day of week (e.g. Monday, Tuesday, to Sunday). They will of course also be categorized according to type of call, e.g. first call, second call.
Initially bids will be set at some arbitrarily low level. As the market begins to function, moving statistics will be kept on each category of day, including the mean and standard deviation. All assigned calls for the 13-week period prior to the new week will be used to generate these statistics. The bids for the next new week to open will be set at the mean for that category of day minus 2 standard deviations. This may be revised over time as appropriate for a higher efficiency market. The increment will be adjusted such that the bid price moves toward 2 standard deviations above the mean, in equal daily percentage increases. It should reach that level 2 months ahead to assure timely schedule assignments.
The user of the system should be able to generate and look at various reports. Among these would be a monthly calendar with the days color-coded so that days with open calls would be easily identified. In addition, days which are, for example, bid at 1 standard deviation above the mean but unfilled would show as orange, those at 1.5 or greater would show as red, those filled would show as maybe a light blue or green. This would make it easy for the user to jump to a particular week that had calls that were not being taken so they might offer to take them.
There should be reports detailing all the means and standard deviations for all of the particular categories of days. This will give the user a better idea of what to offer to do calls at.
It is well realized by myself that there are some who will not be interested in frequently following the changes in the call market. The concerns of the person that simply says “tell me when I need to take my calls and leave me alone” must be answered. Is it possible to let some have virtually no interaction with the system and yet let them decide how much and what type of call they want, don't want or prefer? The answer is yes. By creating a software agent that can watch the market for you and place offers and get you those calls you have a greater preference for. This is be done by allowing each participant to specify various criteria under which they will allow themselves to be automatically assigned to a particular call. For example, I may say that at any time if a Sunday second call is bid up to 1.25 standard deviations above the mean, you can assign me to that call. Or, I may like Sunday second calls because I am first to go on Monday, so if any Sunday second call gets bid to 400 assign me to it. Other criteria may include items such as maximum or minimum number of calls over a specified period and so forth. It is conceivable that most participants could automate their participation, with only infrequent, perhaps every few weeks or even months, modifications to their preferences.
This complex system may require some form of testing prior to actual implementation. One way to do this is to scale into the system one small piece at a time. In this way one may pick, for example, Saturday night calls. We can implement the system for those days as a test to see how this system functions. Then the entire system can be put into effect if it is accepted and working as expected.
One alternative to the scaling in method described above is to simply start with the full system active. Then, after a prescribed period of say two or three months of this system being active and making schedule assignments, its overall function can be graded by the faculty. Any problems that turn up can be corrected. In the case where there is strong opposition and dislike for this system, one can simply give credit to those that have done their assigned calls and ‘undo' the system, and presumably revert back to the system in place prior without any overall effect.
We are unsure of which way we will be implementing this system yet. Once our scheduling software is completed and our implementation proceeds, our results will be reported.