Over this past week I had to make two separate trips: one to deliver a presentation to the Association of Finance Professional’s Annual Conference and one to participate in an Advisory Board panel for a financial institution.
Traveling through airports can be quite an ordeal, but much of the experience can be analyzed using “queuing models”, a concept we briefly discussed in our last Treasury Café post “How Cloud Computing is an Example of Finance Principles”. Since at times it is a necessary evil, we might as well go ahead and make the most of our journey!
Queuing Models
· Number of queues in the system
· Number of servers in the system
· Arrival rate of “customers” into the queue per time period
· Service rate of the servers per time period
The number of queues and servers may vary. At the airport ticket counter, there is usually a single line that is formed, and once we make it through the line we go to the next ticket agent that is open (single queue, multiple servers). Conversely, at many fast food restaurants there are multiple lines formed, one for each cash register that is open (multiple queues, multiple servers). Depending on the situation, there can be many possible combinations of these two factors. Figure A visualizes the single and multiple queue types.
The arrival rate of customers per time period is often calculated assuming a Poisson distribution. This distribution is linked in mathematical ways to our binomial distribution that we looked at in “How Cloud Computing is an Example of Finance Principles”. Figure B shows the probability function of the Poisson process, where the Greek letter l indicates the arrivals per unit of time.
Figure B |
Figure C shows the results of the Poisson equation assuming people arrive at an airline ticket counter line at the rate of 2 per minute ( l = 2). Reading the first line in the results, the probability that no people show up in the next minute is about 13.5%. The probabilities that 1 or 2 people show up in the next minute are both about 27%, and so on.
Figure C |
Service rates can be modeled in different ways. They may be static with no variance at all, they might range equally between a minimum and maximum value, or they can take the form of any number of statistical distributions. A distribution that appears often in queuing model literature is the exponential distribution (the probability function for which is shown in Figure D).
In order to simulate an exponential distribution, we can use two methods:
Figure D |
· Use a statistical program that has the capability of generating exponentially distributed variables once the inputs are supplied. For example, in R this is accomplished by the rexp() function.
The Simulated Airport Ordeal
Let’s say that customers arrive at the ticket line at the rate of 2 per minute ( l=2). There are 4 ticket agents and it takes them 2 minutes to check a passenger in, print their boarding pass, check their luggage, etc. (so rate per minute is µ=0.5). We will further assume that the service times match an exponential distribution.
The passenger arrivals-per-time-period follows a Poisson distribution. One of the characteristics of the Poisson distribution is that the times between the arrivals (called the inter-arrival time) follows an exponential distribution. Because of this, we can simulate the passenger arrival process using an exponential distribution discussed above just as we can the service times.
This example is established to maximize the ticket agent’s utilization. Using the utilization equation from our last post (l/sµ) we can calculate utilization to be 100% (2/(4*.5)). Intuitively, if 2 passengers arrive every minute, and it takes each agent 2 minutes to process a passenger, then in 2 minutes time 4 passengers will have arrived on average, and thus all 4 agents will be busy processing passenger requests.
Figure F shows two rows of R output from this simulation process for the first and second customers arriving into the system. Tying this calculation back to our discussion above, the simulated values (a_rand and s_rand) are between 0 and 1, as specified in our uniform distribution. The next two columns, s_ia and s_st, are the values created using the equation in Figure E. Figure G shows the specific calculation for s_ia in the 2nd row of data.
Figure F |
Figure G |
· Waiting time – average, minimum, maximum
· Service time – average, minimum, maximum
· Line – average, minimum and maximum number of customers in line
Figure H |
While the average waiting time is 20 minutes across all passengers, the individual simulation paths illustrate the variability that occurs. One of the black lines touches 0 on several occasions, indicating that it is within the realm of possibility that no line is encountered upon arrival at the ticketing booth. However, one of the other black lines indicates that hour long waits are also within the realm of possibility.
Figure I |
Fulfilling the Partnering Role
We have covered the Treasury Vision in a number of posts (see the “Labels” sidebar on this post), most recently “Triangulating Vision and Mission Using Mind Maps”, where we identified that one of the main components of our activity is fulfilling “with people” functions.
Since the Queuing Model is a robust means of analyzing processes, especially production and customer facing ones, adding this model to our “Analytics Toolkit” provides Finance and Treasury with another potential means of working with our operating units in a meaningful and value-added way.
Furthermore, by leveraging the analytic capabilities of the finance function in the creation of models such as this, finance is placed in a role where we can assist our business unit partners with decisions in the operations, marketing, and service areas, such as:
· What staffing levels need to be maintained to make the average waiting time x?
· What is the cost of our current operations in terms of future lost customer revenue? How does this compare to our service costs?
· How does our customer experience compare to our competitors?
· What is the best route to improve performance – reducing service time or adding agents?
Figure J |
This information can then be utilized by the business unit’s management to determine whether this represents a feasible area of improvement, an indication as to the extent of the improvement, and how much it might cost.
Closer to Home
We can use these models to assess parts of the CFO organization’s processes as well.
Suppose we have 50 subsidiaries for which financial statements must be developed. This information then needs to be consolidated in order to produce our firm’s overall financial statements.
Figure K |
Completed financial information arrives into this area at the rate of 1 every two hours after month’s end, and follows a Poisson distribution with respect to this arrival rate (l=0.5). Let’s assume that they can process a subsidiary’s financial information in 4 hours, and this processing exhibits an exponential distribution (µ=0.25).
By changing the structure of the process, can we improve the “time to close”?
If we switch to a single queue, multiple server process this might reduce our time to close through the “pooling principle” we discussed in the last post.
However, since each staff member processes the same subsidiaries month after month, there might be a “learning curve” benefit to their work.
Figure K shows the R output for three separate simulation runs. The current multi-queue, multi-server model is the current state. The simple switch to single queue, multi-server is then shown next. As predicted, the “pooling principle” provides significant improvement. Assuming 8 hour workdays, the books can be closed about 2 days sooner! However, if we adjust the service time from µ=.25 to µ=.2 (i.e. 5 hours to process instead of 4) due to loss of “learning curve” benefits, the results still show improvement though not as much.
What You Can Do
The queuing model is an
analytical tool that can be productively applied within your organization. In
order to do so, consider the following:
· Review processes within your particular function. Where do queues form? Are there other departments or
units requiring information or process activities from your group (i.e.
internal customers)? Do any of your process inputs begin with queues or batches
that arrive from other areas (either internal or external)? Are there queues or
batches that form as part of your process activities? Can any of these be made
more efficient by changing the configuration from multiple queue to single
queue, taking advantage of the pooling principle? Can learning curve or
specialization benefits be realized by changing a single queue to a multiple
queue setup?
· Look at other units or functions within your company
where queues are a fact of life.
Approach those business areas or functions and learn how they are configured to
process these queues, and what estimation methods they use to make staffing
decisions, predict workflow, and optimize service utilization and efficiency. If
they are not already doing so, inquire as to their interest in using a queuing
model to provide another perspective on their operations. If they are doing so,
learn how they are currently employing this model and whether they are willing
to allow you to participate in the modeling activity going forward.
· Develop your queue modeling “chops”. Create some “ready to go” queuing models in Excel,
R, or another statistical program in use by your firm. Simply “googling” the
term “Queue Model Examples” or something similar will pull up a number of
articles that you can use to calibrate the information and solutions generated by
the models you develop (see this one as an example). This practice prepares you
to be in a “ready-state” when an opportunity arises to deploy a queuing model
analysis.
Key Takeaways
Queuing Models are a useful tool that can be applied by Finance and Treasury for use internally and as a method of providing decision support functionality to its business unit partners.
Questions
· Where is a Queuing Model applicable in your organization?
Add to the discussion with your thoughts, comments, questions and feedback! Please share Treasury Café with others. Thank you!