Fouten in Erlang97

De Erlang97 Excel add-in module1 wordt veel gebruikt voor het uitvoeren van capaciteitsberekeningen in call centers. In enkele van de functies zitten echter conceptuele fouten. In dit artikel doen we ze uit de doeken.

Service level berekeningen

Bij Erlang berekeningen van het benodigd aantal agents of service level wordt meestal uitgegaan van een geheel aantal agents. Neem bijvoorbeeld een call center met 100 calls per uur, een average handling time van 180 seconden, en een gewenst service level van 80% binnen 20 seconden. De Agents functie van de Erlang97 module vertelt ons dan dat er 8 agents nodig zijn: =Agents(0.8,20,100,180) levert als resultaat 8 op. Dit is het minimaal aantal agents dat nodig is, want SLA(8,20,100,180)=88% en SLA(7,20,100,180)=74%. Merk op dat in de Erlang97 module de average handling time en de "ServiceTime" (de 20 van 80/20) beide in seconden gegeven worden, de forecast in aantal calls per uur.

Soms is het echter logisch een gebroken aantal te gebruiken. Dat is bijvoorbeeld het geval als we met shrinkage gaan rekenen. Stel dat in een gegeven kwartier 22 agents geroosteerd zijn en dat er sprake is van 30% shrinkage. Dan verwacht men netto gemiddeld 70% van 22 is 15,4 agents. Het zou een foute voorstelling van zaken zijn nu af te ronden naar 15 of 16 agents. De Erlang97 module is bedoeld om om te gaan met gebroken aantallen agents. De wijze waarop dit is geïmplementeerd is echter foutief. We illustreren dit met een voorbeeld.

Stel we hebben een call center waar gemiddeld 50 calls per uur arriveren en waarbij de average handling time (AHT) 300 seconden is. Het call center wil een 80/20 service level halen, wat inhoudt dat 80% van de bellers binnen 20 seconden iemand aan te lijn heeft. Met behulp van de functie FractionalAgents kan het fractioneel aantal agents berekend worden dat nodig is om op het gestelde service level uit te komen; deze functie komt uit op 6,57 agents. Dit resultaat gebruiken we vervolgens om opnieuw het service level te berekenen met behulp van de functie SLA. Echter, deze functie komt nu uit op een service level van 75% en niet op het gestelde service level van 80%!

De fout bevindt zich in de SLA functie, en komt alleen naar voren indien er gerekend wordt met een fractioneel aantal agents. In een deel van de berekening wordt er verder gerekend met het naar beneden afgeronde aantal agents, terwijl er op andere plaatsen wel gerekend wordt met het fractionele aantal agents. De volgende interpretatie van het fractionele aantal agents zou echter gebruikt moeten worden. Indien er zoals in bovenstaand voorbeeld 6,57 agents ingezet moeten worden, dan kan dit gezien worden als dat in 57% van de tijd er 7 agents en in 43% van de tijd 6 agents ingezet worden. Niet alleen in de functie SLA wordt dit principe niet toegepast, maar ook in de functies Abandon, ASA, Queued, QueueSize, ServiceTime en Trunks zou dit principe toegepast moeten worden. Om die reden is het onverstandig om de Erlang97 module te gebruiken met een fractioneel aantal agenten.

De Abandon functie

Een andere foutieve berekening wordt gedaan in de functie Abandon. Deze is bedoeld om het percentage afhakers te berekenen. Op het moment dat er sprake is van afhakers is het belangrijk te weten hoeveel geduld bellers hebben voor ze afhaken. Echter, analyse van call center data laat zien dat er altijd spreiding is van geduld2: er zijn bellers met veel en bellers met weinig geduld. Met name de laatsten zullen afhaken. Daarnaast is een belangrijk aspect van afhakers dat zij de wachttijd verkorten voor andere bellers. Beide aspecten worden niet meegenomen in de Abandon functie van de Erlang97 module. Om dit duidelijk te maken rekenen we een voorbeeld door met weer 50 calls per uur, een AHT van 300 seconden, 6 agents, en een "AbandonTime" van 120 seconden. Volgens de Abandon functie haakt 15,7% af, en wordt dus 84,3% van de calls afgehandeld. Dit is echter precies het service level (SL) in het Erlang C model bij een "ServiceTime" van 120 seconden: SLA(6,120,50,300). Het service level bij 20 seconden is 71,1%.

Een juiste berekening houdt rekening met spreiding in geduld en de consequenties van afhakers op andere calls. De Erlang X formule van de CCmath Erlang module3 maakt een dergelijke berekening. Deze voorspelt met dezelfde parameters veel betere prestaties: 7,9% afhakers en 83,8% geholpen binnen 20 seconden. Als we een agent minder inzetten komen we dichter in de buurt van de voorspelling van de Erlang97: 14,8% afhakers en 71.8% beantwoord binnen 20 seconden. Een aanzienlijk verschil die er toe leidt dat er bij gebruik van de Erlang X module minder agenten worden ingezet.

Referenties

  1. Erlang97 Excel add-in module, te downloaden van http://www.erlang.co.uk/excel.htm
  2. Ger Koole. Call Center Optimization. MG books, Amsterdam, 2013.
  3. http://www.ccmath.com/en/calculators.html