Is there any equivalent or trick to returning 'fractionalagents'?
AGENTS(w, t, y, z) will always return a whole number.
My stakeholders are interested in both whole/fractional agent calculations.
Fun question.
Anaplan will not return a decimal point because the solution is on a continuous probability curve. It would require iterations. Plus, Erlang-C uses factorials which require whole numbers. Anaplan solves for the discrete headcount needed to satisfy the service level. Once that's met, it returns the whole number headcount that just satisfies the service level. So your fractional headcount will be between the result your given and 1 less than that.
An Idea for you:
Just some thoughts.
Hey @JaredDolich ,
Thanks a lot for this great reply. It was extremely helpful.
The team is actually coming from using an excel/gsheet add in and VBA to calculate the fractional agents. It was pretty slow when having to run through the iterations you mentioned but it's definitely something we can look at if accuracy becomes an issue.
In the meantime I calculated the fractional agents using linear estimation like you suggested. After comparing this to the output of the erlang add-in, it appears to be more than close enough.
For anyone coming after me... I calculated two versions of SLA, one with the full amount of agents and one with (agents -1), these amounts should straddle the teams' SLA target. I understood the difference between the two to represent the incremental amount 'added' by the last agent. I then calculated the fractional headcount to add to (agents -1). This fraction is relative to the proportion of that incremental SLA % we need to hit the SLA target exactly.
It is possible to do this entirely within Anaplan using the existing AGENTS and SLA functions. The popular FractionalAgents Excel addin function from T&C Limited is a linear interpolation between AGENTS and AGENTS-1 based on the SLA for each, as follows.
Line Item | Formula |
agents | AGENTS(sla, serviceTime, callsPerSecond, duration) |
nextSLA | SLA(agents - 1, serviceTime, callsPerSecond, duration) |
previousSLA | SLA(agents, serviceTime, callsPerSecond, duration) |
fractionalAgents | agents - (nextSla - sla) / (nextSla - previousSla) |
To answer the concern about accuracy, the answer in Anaplan is more accurate than the one in Excel. The Excel add-in FractionalAgents function uses single precision floating point numbers, whereas Anaplan uses double precision. If you change the Excel implementation to use double precision then the answers agree to about the 15th decimal place, which is considerably less than a mote of dust from the skin of one of your agents.