Está en la página 1de 11

1

Efrn Chaves Villalobos



Erlang C
Con el propsito de estimar la cantidad de
agentes necesarios para alcanzar cierto nivel de
servicio en un centro de llamadas, se utiliza la
conocida formula Erlang C. Esta frmula fue
desarrollada por Agner Krarupt Erlang en 1917
cuando este trabajaba para una empresa de
telefona en Copenhague.
Con tal de aplicar esta frmula se va a necesitar las siguientes variables:
Definicin: Se le llamar incidente a cada entrada que ingresa al sistema.
ARRIVALS: Numero de incidentes durante un periodo determinado. Lo vamos a denotar
por .
PERIODO: Periodo de tiempo durante el cual ingresan cierta cantidad de incidentes, los
cuales denominamos ARRIVALS. Esta variable la vamos a denotar con .
ARRIVAL RATE: Corresponde a la media la cantidad de incidentes por unidad de tiempo.
Se denota por , y viene dada por


AHT: (Average Handle Time) es el tiempo medio que se espera dura un incidente desde que
es atendido hasta que sale del sistema. La unidad correspondiente seria tiempo entre
incidentes.
SERVERS: Es la cantidad de servidores o terminales que tenemos sea atendiendo un
incidente o disponible para atender incidentes. Vamos a denominar esta variable , y
pertenece al campo de los enteros positivos.
Figure 1Tomado de http://owenduffy.net/traffic/erlangc.gif
2
Efrn Chaves Villalobos

Dada la situacin que se requiera conocer la cantidad de SERVERS requeridos para dar
cierto nivel de servicio, y conociendo todas las otras variables, se juega con esta a prueba y
error hasta obtener los resultados requeridos.
TRAFIC INTENCITY: Corresponde al volumen de llegadas capaces de soportar el sistema, se
mide en Erlangs. Vamos a denotar esta variable con , y esta viene dada por

OCCUPANCY: Esta variable determina la utilizacin de Erlangs por SERVER. Se denota por
, y viene dada por,


ERLANG PROBABILITY: Calcula la probabilidad que un incidente no sea atendido
inmediatamente y tenga que esperar. Se denotar por

, y viene dada por,


Multiplicando tanto el numerador como el denominador por

, tenemos,


Por otro lado, la funcin,


Es conocida como la distribucin de Poisson (No Acumulativa). Y,


Es conocida como la distribucin de Poisson (Acumulativa).
3
Efrn Chaves Villalobos

Sin embargo, no hay que alarmarse, ya que una hoja de clculo simplifica el modelaje
matemtico y en efecto simplifica la utilizacin de esta frmula. Esto se ver en el ejemplo,
al final.
Service Level (SLA)
Definicin. El nivel de servicio es la porcin de incidentes que se requiere sean contestados
antes de un fuera del total de incidentes.
Definicin. El tiempo medio de espera es el tiempo mximo que se requiere dure un
incidente espera.
PROBABILIDAD DE ESPERA: La probabilidad que un incidente entre al sistema y tenga que
esperar , viene dada por


Lo cual corresponde al Service Level esperado dadas las condiciones de incidentes por
unidad de tiempo, con una duracin de por incidente, una cantidad esperada de
SERVERS, y un tiempo deseado de espera no ms de
Average Speed of Answer (ASA)
Definicin. El tiempo promedio que un incidente espera dadas ciertas condiciones iniciales.
Se denota por , y viene dada por






4
Efrn Chaves Villalobos

Erlang C en una hoja de Clculo.
Ejemplo. Se necesita determinar la cantidad ptima de agentes para obtener un Service
Level de un . Se sabe que en promedio durante un intervalo de minutos
ingresan 68 llamadas. Adems, la duracin promedio por llamada es de minutos.
Solucin.
Identifiquemos los datos y las variables que tenemos.


Vamos a trabajar todos los tiempos en segundos, por conveniencia.
Dado que el nivel de servicio requerido es , esto quiere decir que el de las
llamadas se conteste en menos de segundos, por lo tanto,


Por otro lado, dado que nos estn solicitando la cantidad ptima de agentes, entonces,
vamos a tomar como parmetro inicial 14 agentes.





5
Efrn Chaves Villalobos

Utilizando una hoja de clculo
vamos a especificar nuestras
variables, como muestra la
siguiente figura.
En la celda C6 vamos a tener la
cantidad de llamadas; en la
celda C7, el periodo de tiempo;
en la celda C8, el AHT; en la celda C9, la cantidad estimada de agentes; y en la celda C10, el
tiempo mximo que se requiere.
Por otro lado en la columna E, vamos a ingresar las funciones correspondientes para
determinar los valores que necesitamos.
E6=B6/B7
E7=E6*B8
E8=E7/B9
Nota: MS Excel ya incluye una frmula para la distribucin de Poisson, la cual viene dada
por,
No acumulativa: Poisson([],[ ],FALSE)
Acumulativa: Poisson([],[ ],TRUE)
E9= POISSON(B9,E7,FALSE)/(POISSON(B9,E7,FALSE)+(1-E8)*(POISSON(B9-1
,E7,TRUE)))
E10= 1-E9*EXP(-(B9-E7)*(B10/B8))
La funcin EXP corresponde al nmero . A la celda E10 se le puede dar formato de
porcentaje, o se multiplica por 100, para obtener el SLA%.
B11= (E9*B8)/(B9*(1-E8))

6
Efrn Chaves Villalobos

Al final debemos obtener una tabla similar a esta,

Por lo tanto, con 14 agentes tendramos un SLA de 72.68%, lo cual no es lo requerido. Si
incrementamos la cantidad de agentes, tenemos,



De lo anterior se puede identificar la diferencia que en realidad hace incrementar un agente
en un periodo dado. Y la cantidad ptima de agentes para obtener el SLA requerido es de
17.
Qu sucede si incrementamos un agente ms?
Para 18 agentes, se obtiene un SLA de 97.55%, sin embargo, est muy por encima de los
requerimientos de dar un nivel de servicio aceptable, entonces est de ms, y esto
significara un gasto innecesario. Adems, la ocupacin disminuye, lo que significa que se
va a tener mayor nmero de agentes con largos periodos de tiempo sin estar ocupados.

7
Efrn Chaves Villalobos

Programando Erlang C en VBA
Ahora vamos a crear nuestra propia formula en Excel para calcular la el SLA dadas ciertas
condiciones iniciales, igual que en el ejemplo anterior.
Vamos a iniciar el diseador de VBA de MS Excel.
Creamos un nuevo Modulo.

Declaramos nuestra funcin, las variables.
Function SLA(Offered As Integer, Interval As Double, AHT As Double, Agents As Integer,
AWT As Double)
End Function
Variable Tipo
Offered Integer
Interval Double
AHT Double
Agents Integer
AWT Double

Variables Calculables Tipo
ARRIVAL_RATE Double
TRAFIC_INTENCITY Double
OCCUPANCY Double
ERLANG_PROBABILITY Double
Poisson_NONCumulative Double
Poisson_Cumulative Double
8
Efrn Chaves Villalobos


Variables Calculables Funcin
ARRIVAL_RATE Offered / Period
TRAFIC_INTENCITY ARRIVAL_RATE * AHT
OCCUPANCY TRAFIC_INTENCITY / Agents
Poisson_NONCumulative Application.WorksheetFunction.Poisson(Agents,
TRAFIC_INTENCITY, False)
Poisson_Cumulative Application.WorksheetFunction.Poisson(Agents - 1,
TRAFIC_INTENCITY, True)
ERLANG_PROBABILITY Poisson_NONCumulative / (Poisson_NONCumulative + (1 -
OCCUPANCY) * Poisson_Cumulative)
SLA SLA = 1 - ERLANG_PROBABILITY * Exp(-(Agents -
TRAFIC_INTENCITY) * (AWT / AHT))

Despus de esto, la funcin debe verse de la siguiente forma,
Function SLA(Offered As Integer, Period As Double, AHT As Double, Agents As Integer,
AWT As Double)
Dim ARRIVAL_RATE As Double
Dim TRAFIC_INTENCITY As Double
Dim OCCUPANCY As Double
Dim ERLANG_PROBABILITY As Double
Dim Poisson_NONCumulative As Double
Dim Poisson_Cumulative As Double



9
Efrn Chaves Villalobos

ARRIVAL_RATE = Offered / Period
TRAFIC_INTENCITY = ARRIVAL_RATE * AHT
OCCUPANCY = TRAFIC_INTENCITY / Agents
Poisson_NONCumulative = Application.WorksheetFunction.Poisson(Agents,
TRAFIC_INTENCITY, False)
Poisson_Cumulative = Application.WorksheetFunction.Poisson(Agents - 1,
TRAFIC_INTENCITY, True)

ERLANG_PROBABILITY = Poisson_NONCumulative / (Poisson_NONCumulative + (1 -
OCCUPANCY) * Poisson_Cumulative)

SLA = 1 - ERLANG_PROBABILITY * Exp(-(Agents - TRAFIC_INTENCITY) * (AWT / AHT))
End Function
******
Y en Excel, podemos simplemente ingresar la formula,
= SLA(Offered, Period, AHT, Agents, AWT)






10
Efrn Chaves Villalobos

Para nuestro ejemplo, si nos posicionamos sobre F9 e ingresamos =SLA(B6,B7,B8,B9,B10)
Vamos a obtener el mismo dato que tenamos antes =95.27%.

11
Efrn Chaves Villalobos

Referencias
The Erlang-C Formula, http://www.mitan.co.uk/erlang/elgcspsh.htm
Richard, L. Estadstica para administracin y economa,
http://books.google.co.cr/books?id=0KVtr8EBZIQC&pg=PA202&lpg=PA202&dq=distrib
ucion+de+poisson&source=bl&ots=jrGx5Nn4JO&sig=LBDPL9DBu8e_7WVgzZQhKJeCpCI
&hl=es-419#v=onepage&q=distribucion%20de%20poisson&f=false