# Thread: Help creating a formula to calculate staffing

1. ## Help creating a formula to calculate staffing

Hi All

I represent a small project team who have been tasked with creating a bespoke IT system to encompass workforce management within a contact centre. We have been able to complete most of this however we are completly stuck with an issue that requires a complicated mathematical solution!

I will try and explain.

We are attempting to create a formula that will calculate the percentage of leave available for our staff based on how many staff are available per each 30 minute slot of the day, how many calls are expected and how many different skill sets they have.

eg:

If we are forecasting the following:

LOB A: 100 calls expected
LOB B: 80 Calls expected
LOB c: 50 Calls expected

Using a simple erlang calculator we can determine how many staff are required to answer the forecasted calls within a certain service level however we are struggling to understand how we choose what staff to allocate to service the calls as they are multi skilled.

Let's say we have 300 staff who are trained as follows:

LOB A&B: 100
LOB A&C: 100
LOB B&C: 100

Is there a formula that will allow us to ratio out the number of staff required to handle the forecasted call volume thus allowing us to safely determine a non call handling percentage that can then be split into non productive time, leave etc?

Hope this makes sense and there is a possible mathematical solution!

2. I cant see a simple formula im afraid. In practice, if the number of jobs and types of employees is small i would seriously consider solving this using trial and error.

If you want a mathematical solution, You could use Linear programming - Wikipedia, the free encyclopedia. Do you know how to implement that? Your linear program would look something like this:

Define:
$i=1,2...n$ Groups of employees. (each group consists of all employees with the same training)
$j=1,2..m$ Jobs to be done (LOB A, LOB B, LOB C)

$N_i$ The total number of employees available in each group
$W_j$ The total number of employees needed to cover job j
$Z_{ij}$ 1 if group i is trained in job j. 0 otherwise
$x_{ij}$The number of people in group i assigned to task j[/tex]

Linear Program
Minimise $\sum_{i,j} x_{ij}$

Subject to: (all work must be done)
$\sum_{i=1}^{n}{x_{i1}Z_{i1}} = W_1$

$\sum_{i=1}^{n}{x_{i2}Z_{i2}} = W_2$
...

$\sum_{i=1}^{n}{x_{im}Z_{im}} = W_m$

Subject to (cant use more than 100% of staff from each group)
$\sum_{j=1}^{m}{x_{1j}} \leq N_1$

$\sum_{j=1}^{m}{x_{2j}} \leq N_2$

$\sum_{j=1}^{m}{x_{3j}} \leq N_3$
...

$\sum_{j=1}^{m}{x_{nj}} \leq N_n$

Subject to (cant allocate negative numbers of people)
$x_{ij} \geq 0$

Once you have solved the linear program, you will have the minimum number of staff you need as $\sum x_{ij}$

One advantage of this method is that it can be easily modified to find the minimum cost allocation of labour if not all your staff are paid the same

3. wait, im a moron. are you asking how many people from each group can be put on leave at any one time? or how many people in total?

4. It would be from each group, splitting up staff required in as fair a way as possible.

Thanks for helping out.