Call Center Functions: Agents must return whole number?


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. 


  • @BPifer 

    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:

    • Read this article which shows how to calculate the headcount using Erlang-C in Excel.
    • Download the Excel Add-In from the Anaplan Extensions Page ( adding @MagaliP so she can see a possible use case for Excel Add In).
    • Refine the calculation so you can approximate the headcount down to decimal places. Easiest way is to use a linear estimation. If the service level is met to 80% of the target then take 0.8 headcount. We know it's not linear, but this is just a quick way to estimate. Pretty close though.
    • Export your data from Anaplan to Excel and process the information. 
    • Import the results back to Anaplan
    • For a high degree of accuracy, you'll most likely have to use VBA to iterate. Or you will have to use a non-linear curve to estimate the fraction.

    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 ItemFormula
    agentsAGENTS(sla, serviceTime, callsPerSecond, duration)
    nextSLASLA(agents - 1, serviceTime, callsPerSecond, duration)
    previousSLASLA(agents, serviceTime, callsPerSecond, duration)
    fractionalAgentsagents - (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.