Shameless plea for work advice (capacity models, supply/demand)

Coco

Rotating while Russian!
Messages
14,118
Ratings
7,587
Let me first say that I'm a lawyer, and all this finance stuff is greek to me.

I'll spare you my personal feelings about being asked to find out how many (if any) of my friends should get laid off, but here we go:

My team produces four kinds of widgets. The quality control team has to review widget A zero times, widgets B & C one time and widget D three times.

We know how long each widget takes either team to complete/review. Based on the volume of demand for each of the four widgets, we can see how many people we need.

However, the demand for the widgets fluctuates a lot. One day, no one needs any, then another day, people need 14. We can't get this to smooth out and be more even, and we can't control how much notice we get, or the day we need to complete the widget.

Soooo....what model do I use to show how many people we need to accommodate those heavy demand days?

I should also add that while we know the average time each widget takes to complete / review, there is MASSIVE fluctuation in the range of time required to complete / review each widget.

There it is...the most boring post in the history of FSU...my apologies to those of you who are still reading it!
 

jeffisjeff

Well-Known Member
Messages
15,681
Ratings
4,902
There are a number of approaches you could use, depending on how sophisticated you want to be. If I understand the situation you are describing, an M/M/C queuing model might make sense, at least for a quick first analysis, but that requires some strong assumptions, and I have no way of knowing whether they would hold. Anyway, this model assumes random arrivals (widgets in your case), to a system with C parallel servers (workers in your case), where a random time is needed to process each widget. The base assumption is infinite buffer (as many widgets as needed can be waiting to be processed), but you can add a buffer limit of size K if you use an M/M/C/K model. We often teach the M/M/C model to advanced undergrads and MBA students, so it isn't too complex. And, there are M/M/C calculators available online that will give you performance measures such as average number of units in queue and average waiting time for given average arrival rate, average service time and number of workers (which is C). The results are steady state only (long run average), but you can use trial and error to find the value of C to get the level of performance you want. Then start firing your friends until you get down to C workers! (Just kidding and sorry.)

You also need to think about the performance objectives you want to achieve. With all that uncertainty/randomness, you won't be able to say "If I have C workers, I will always be able to fill all demand with no delay." So you will need to think about measures such average waiting time to process a widget, or % of widgets processed in under X hours, or % of time the workers are idle.

In any case, before jumping in with a specific model, you'd be better off starting by collecting data and analyzing that data. From the sound of it, you need to know more than just the averages. I'd collect data for as many days as you can on both demand and time to review each widget. I'd then use the data to make an empirical distribution (basically, a histogram that shows the % of days in which each value occurred). If you have the ability to vary the number of workers (say by the hour), then you'd want to collect/analyze more detailed data (hourly).
 

Coco

Rotating while Russian!
Messages
14,118
Ratings
7,587
Thank you!!! I'm so far out of my 'alley' that I don't even know what to google. This is a huge help.
 

Aceon6

Hit ball, find ball, hit it again.
Messages
14,675
Ratings
13,248
Once you have your data and smooth it to figure out the optimal staffing level, do a separate analysis of the unstaffed work on your peak (top 20 %) days. We had this situation at an old job and were unable to find a lower staffing model that made up for the revenue and goodwill lost from being unable to handle peak demand. Since it was a high skill area, we couldn’t consider temps or per diems. The solution was to staff the “extra” position, but cross train him in a completely different area of the business so he’d have something to do if there wasn’t enough work in his primary area.
 

Coco

Rotating while Russian!
Messages
14,118
Ratings
7,587
LOL @AxelAnnie , sigh....my team is a subset of a subset of a subset of a department that doesn't generate sales. We don't have a ton of extra resources.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top