The Customer Jail- “1917-Erlang calculations” are a jail for our Customers

By Niels Kjellerup on April 2016, senior partner of Resource International.

When the IT-Telephony experts had to sell us the new customer focused systems we adopted the Erlang-formulas and his calculation were from 1917. The real KPIs to observe if we treated the customers correctly were the telephony statistic calculated by the IT-Telephony systems. Now the KPIs could determine both the wait time, the burden on the telephony systems, and could tell us how many customers hung up and how many were caught in the system.

Hurray, we had the best calculations to specify how our customer service met our project goals and expectations!

Ever since the days in start of 1980 we have held our customers to us by using the Erlang 1917 calculations (you can read more about Adser Erlang below). The Customers disappeared from our KPIs and we only measured telephony traffic.

In our Customer Service we had no KPIs telling us how the Customer experienced our Service. Our desperation was found in the many very expensive Customer analyses, which didn’t help us to keep our customers.

The American TARP-analyses show us, year after year, that 68% of the customers that leave us, do so because the Customer Service didn’t give them the attention and help they expected. Remember it is not PRICE (9%) nor Lack of Quality (14%) as the most important reason- no it’s the lack of Customer Service that is the key determinator.

Give the customer happiness to be a one of your customers!!

It does sound simple, but in reality is quiet difficult; the customers are as different as we are and the happiness we would like them to feel as our customer come from a wide variety of sources. As one the GE’s customer experts explained “it’s not a question who can tell the best jokes”. How do we bring our customers happiness?

In the USA where ’The Ultimate Question’ to measure customer satisfaction is furthest we have seen how the customers experience is brought to life by asking:” Would you recommend your friends, family and your business relations to become our customer” Please give us a rating from 0-10.

For me it’s interesting that despite the Net Promotor Score-movement is growing rapidly the companies with the best results are not well known outside the USA.

USAA is a large bank-insurance organisation where 92% of its customers would recommend the company by giving it a 9 or 10. Any bank I know of is happy above 20%. But USAA developed its own Model and has kept it.

Do you know the company Enterprise? I didn’t know Enterprise today is the world’s largest car-rental company, bigger than HERZ and AVIS. Developed in 1980 a measurement system, which for each and every customer measures the customers’ happiness in renting a car – please note each customer, no exceptions.

Maybe you know Zappos? It’s noteworthy that Zappos primary job is to create happiness with every customer.

Intuit created the internet based accounting system, but the founder was more interested in how his customers reacted to the service they got, and today Intuit is very high in customer retention and happiness.

We could talk about LEGO, where I spent a day in 2003 going through and critisising their two Customer Service Center – one in the US and one in London. Hard critic of using ONLY 1917-Erlang traffic measurements. Later in 2010 the LEGO London center won the best service call centre in Europe. The change was spectacular- at LEGO now they only measure if the customer will recommend LEGO to others.

So it is possible to develop Key Value (Performance) Indicators, focused on the Customer; but it necessitates a change in the organisations view and a willingness to ensure that the customer is first priority.


Copyright 2015-16.











Agner Krarup Erlang


Agner Krarup Erlang (1 January 1878 – 3 February 1929) was a Danish mathematician,statistician and engineer, who invented the fields of traffic engineering and queueing theory.

By the time of his relatively early death at the age of 51, Erlang created the field of telephone networks analysis. His early work in scrutinizing the use of local, exchange and trunk telephone line usage in a small community to understand the theoretical requirements of an efficient network led to the creation of the Erlang formula, which became a foundational element of present day telecommunication network studies.

Life. Erlang was born at Lønborg, near Tarm, in Jutland. He was the son of a schoolmaster, and a descendant of Thomas Fincke on his mother's side. At age 14, he passed the Preliminary Examination of the University of Copenhagen with distinction, after receiving dispensation to take it because he was younger than the usual minimum age. For the next two years he taught alongside his father.

A distant relative provided free board and lodging, and Erlang prepared for and took the University of Copenhagen entrance examination in 1896, and passed with distinction. He won a scholarship to the University and majored in mathematics, and also studied astronomyphysics and chemistry. He graduated in 1901 with an MA and over the next 7 years taught at several schools. He maintained his interest in mathematics, and received an award for a paper that he submitted to the University of Copenhagen.

He was a member of the Danish Mathematicians' Association (TBMI) and through this met amateur mathematician Johan Jensen, the Chief Engineer of the Copenhagen Telephone Company (KTAS in Danish), an offshoot of the International Bell Telephone Company. Erlang worked for the CTC (KTAS) from 1908 for almost 20 years, until his death in Copenhagen after an abdominal operation.

He was an associate of the British Institution of Electrical Engineers.

Contributions. While working for the CTC, Erlang was presented with the classic problem of determining how many circuits were needed to provide an acceptable telephone service. His thinking went further by finding how many telephone operators were needed to handle a given volume of calls. Most telephone exchanges then used human operators and cord boards to switch telephone calls by means of jack plugs.

Out of necessity, Erlang was a hands-on researcher. He would conduct measurements and was prepared to climb into street manholes to do so. He was also an expert in the history and calculation of the numerical tables of mathematical functions, particularly logarithms. He devised new calculation methods for certain forms of tables.

He developed his theory of telephone traffic over several years. His significant publications include:

These and other notable papers were translated into English, French and German. His papers were prepared in a very brief style and can be difficult to understand without a background in the field. One researcher from Bell Telephone Laboratories is said to have learned Danish to study them.

The British Post Office accepted his formula as the basis for calculating circuit facilities.

A unit of measurement, statistical distribution and programming language listed below has been named in his honour.

Bibliography. Angus, Ian. An Introduction to Erlang B and Erlang C (PDF Document - Has terms and formulae plus biography)




Erlang-formulas, if anyone is interested:

Erlang (unit): The erlang (symbol E[1]) is a dimensionless unit that is used in telephony as a measure of offered load or carried load on service-providing elements such as telephone circuits or telephone switching equipment. For example, a single cord circuit has the capacity to be used for 60 minutes in one hour. If one hundred six-minute calls are received on a group of such circuits, then the total traffic in that hour is six hundred minutes or 10 erlangs.[2]

In 1946, the CCITT named the international unit of telephone traffic the erlang in honor of Agner Krarup Erlang.[3]

Traffic measurements of a telephone circuit

When used to represent carried traffic, a value (which can be a non-integer such as 43.5) followed by “erlangs” represents the average number of concurrent calls carried by the circuits (or other service-providing elements), where that average is calculated over some reasonable period of time. The period over which the average is calculated is often one hour, but shorter periods (e.g., 15 minutes) may be used where it is known that there are short spurts of demand and a traffic measurement is desired that does not mask these spurts. One erlang of carried traffic refers to a single resource being in continuous use, or two channels each being in use fifty percent of the time, and so on. For example, if an office has two telephone operators who are both busy all the time, that would represent two erlangs (2 E) of traffic; or a radio channel that is occupied for one hour continuously is said to have a load of 1 erlang.

When used to describe offered traffic, a value followed by “erlangs” represents the average number of concurrent calls that would have been carried if there were an unlimited number of circuits (that is, if the call-attempts that were made when all circuits were in use had not been rejected). The relationship between offered traffic and carried traffic depends on the design of the system and user behavior. Three common models are (a) callers whose call-attempts are rejected go away and never come back, (b) callers whose call-attempts are rejected try again within a fairly short space of time, and (c) the system allows users to wait in queue until a circuit becomes available.

A third measurement of traffic is instantaneous traffic, expressed as a certain number of erlangs, meaning the exact number of calls taking place at a point in time. In this case the number is an integer. Traffic-level-recording devices, such as moving-pen recorders, plot instantaneous traffic.

The concepts and mathematics introduced by Agner Krarup Erlang have broad applicability beyond telephony. They apply wherever users arrive more or less at random to receive exclusive service from any one of a group of service-providing elements without prior reservation, for example, where the service-providing elements are ticket-sales windows, toilets on an airplane, or motel rooms. (Erlang’s models do not apply where the server-providing elements are shared between several concurrent users or different amounts of service are consumed by different users, for instance, on circuits carrying data traffic.)

Offered traffic (in erlangs) is related to the call arrival rate, λ, and the average call-holding timeh, by:

 E = \lambda h

provided that h and λ are expressed using the same units of time (seconds and calls per second, or minutes and calls per minute).

The practical measurement of traffic is typically based on continuous observations over several days or weeks, during which the instantaneous traffic is recorded at regular, short intervals (such as every few seconds). These measurements are then used to calculate a single result, most commonly the busy hour traffic (in erlangs). This is the average number of concurrent calls during a given one-hour period of the day, where that period is selected to give the highest result. (This result is called the time-consistent busy hour traffic). An alternative is to calculate a busy hour traffic value separately for each day (which may correspond to slightly different times each day) and take the average of these values. This generally gives a slightly higher value than the time-consistent busy hour value.

The goal of Erlang’s traffic theory is to determine exactly how many service-providing elements should be provided in order to satisfy users, without wasteful over-provisioning. To do this, a target is set for the grade of service (GoS) or quality of service (QoS). For example, in a system where there is no queuing, the GoS may be that no more than 1 call in 100 is blocked (i.e., rejected) due to all circuits being in use (a GoS of 0.01), which becomes the target probability of call blocking, Pb, when using the Erlang B formula.

There are several Erlang formulae, including Erlang B, Erlang C and the related Engset formula, based on different models of user behavior and system operation. These are discussed below, and may each be derived by means of a special case of continuous-time Markov processes known as a birth-death process.

Where the existing busy-hour carried traffic, Ec, is measured on an already-overloaded system, with a significant level of blocking, it is necessary to take account of the blocked calls in estimating the busy-hour offered traffic Eo (which is the traffic value to be used in the Erlang formula). The offered traffic can be estimated by Eo = Ec/(1 − Pb). For this purpose, where the system includes a means of counting blocked calls and successful calls, Pb can be estimated directly from the proportion of calls that are blocked. Failing that, Pbcan be estimated by using Ec in place of Eo in the Erlang formula and the resulting estimate of Pb can then be used in Eo = Ec/(1 − Pb) to estimate Eo. Another method of estimating Eo in an overloaded system is to measure the busy-hour call arrival rate, λ (counting successful calls and blocked calls), and the average call-holding time (for successful calls), h, and then estimate Eo using the formula Eλh.

For a situation where the traffic to be handled is completely new traffic, the only choice is to try to model expected user behavior, estimating active user population, N, expected level of use, U (number of calls/transactions per user per day), busy-hour concentration factor, C (proportion of daily activity that will fall in the busy hour), and average holding time/service time, h (expressed in minutes). A projection of busy-hour offered traffic would then be Eo = (NUC/60)h erlangs. (The division by 60 translates the busy-hour call/transaction arrival rate into a per-minute value, to match the units in which h is expressed.)

Erlang B formula[edit]

Erlang-B (sometimes also written without the hyphen Erlang B), also known as the Erlang loss formula, is a formula for the blocking probability that describes the probability of call losses for a group of identical parallel resources (telephone lines, circuits, traffic channels, or equivalent), sometimes referred to as an M/M/c/c queue[4] It is, for example, used to dimension a telephone network's links. The formula was derived by Agner Krarup Erlang and is not limited to telephone networks, since it describes a probability in a queuing system (albeit a special case with a number of servers but no queueing space for incoming calls to wait for a free server). Hence, the formula is also used in certain inventory systems with lost sales.

The formula applies under the condition that an unsuccessful call, because the line is busy, is not queued or retried, but instead really vanishes forever. It is assumed that call attempts arrive following a Poisson process, so call arrival instants are independent. Further, it is assumed that the message lengths (holding times) are exponentially distributed (Markovian system), although the formula turns out to apply under general holding time distributions.

The Erlang B formula assumes an infinite population of sources (such as telephone subscribers), which jointly offer traffic to N servers (such as telephone lines). The rate expressing the frequency at that new calls arrive, λ, (birth rate, traffic intensity, etc.) is constant, and does not depend on the number of active sources. The total number of sources is assumed to be infinite. The Erlang B formula calculates the blocking probability of a buffer-less loss system, where a request that is not served immediately is aborted, causing that no requests become queued. Blocking occurs when a new request arrives at a time where all available servers are currently busy. The formula also assumes that blocked traffic is cleared and does not return.

The formula provides the GoS (grade of service) which is the probability Pb that a new call arriving to the resources group is rejected because all resources (servers, lines, circuits) are busy: B(Em) where E is the total offered traffic in Erlang, offered to m identical parallel resources (servers, communication channels, traffic lanes).

P_b = B(E,m) = \frac{\frac{E^m}{m!}} { \sum_{i=0}^m \frac{E^i}{i!}}


Note: The Erlang is a dimensionless load unit calculated as the mean arrival rate, λ, multiplied by the mean call holding time, h. SeeLittle's law to prove that the Erlang unit has to be dimensionless for Little's Law to be dimensionally sane.

This may be expressed recursively[5] as follows, in a form that is used to simplify the calculation of tables of the Erlang B formula:

B(E,0) = 1. \,

B(E,j) = \frac{E B(E,j - 1)}{E B(E,j - 1) + j} \ \forall{j} = 1,2,\ldots,m.

Typically, instead of B(Em) the inverse 1/B(Em) is calculated in numerical computation in order to ensure numerical stability:

\frac{1}{B(E,0)} = 1

\frac{1}{B(E,j)} = 1 + \frac{j}{E}\frac{1}{B(E,j - 1)} \ \forall{j} = 1,2,\ldots,m.

Function ErlangB (E As Double, m As Integer) As Double

Dim InvB As Double

Dim j As Integer


  InvB = 1.0

  For j = 1 To m

    InvB = 1.0 + InvB * j / E

  Next j

  ErlangB = 1.0 / InvB

End Function

The Erlang B formula is decreasing and convex in m.[6] It requires that call arrivals can be modeled by a Poisson process, which not always is a good match, but it is valid for any statistical distribution of call holding times with finite mean. It applies to traffic transmission systems that do not buffer traffic. More modern examples compared to POTS where Erlang B is still applicable, are optical burst switching (OBS) and several current approaches to optical packet switching (OPS). Erlang B was developed as a trunk sizing tool for telephone networks with holding times in the minutes range, but being a mathematical equation it applies on any time-scale.

Extended Erlang B[edit]

Extended Erlang B is an iterative calculation, rather than a formula, that adds an extra parameter, the Recall Factor, which defines the recall attempts.[7]

The steps in the process are as follows:[8]

1. Calculate

P_b = B(E,m)\,

as above for Erlang B.

2. Calculate the probable number of blocked calls

B_e = EP_b\,

3. Calculate the number of recalls, R assuming a Recall Factor, R_f:

R = B_e R_f\,

4. Calculate the new offered traffic


where E_{0} is the initial (baseline) level of traffic.

5. Return to step 1 and iterate until a stable value of E is obtained.

Erlang C formula[edit]

The Erlang C formula expresses the probability that an arriving customer will need to queue (as opposed to immediately being served).[9] Just as the Erlang B formula, Erlang C assumes an infinite population of sources, which jointly offer traffic of A erlangs to Nservers. However, if all the servers are busy when a request arrives from a source, the request is queued. An unlimited number of requests may be held in the queue in this way simultaneously. This formula calculates the probability of queuing offered traffic, assuming that blocked calls stay in the system until they can be handled. This formula is used to determine the number of agents or customer service representatives needed to staff a call centre, for a specified desired probability of queuing. However, the Erlang C formula assumes that callers never hang up while in queue, that all calls begin and end in the same time period being considered, and that callers never try to call back after having hung up while in queue. These deficiencies make the formula predict that more agents should be used than are really needed to maintain a desired service level. [10])

P_W = {{\frac{A^N}{N!} \frac{N}{N - A}} \over \sum_{i=0}^{N-1} \frac{A^i}{i!} + \frac{A^N}{N!} \frac{N}{N - A}} \,


It is assumed that the call arrivals can be modeled by a Poisson process and that call holding times are described by a negative exponential distribution.

Engset formula[edit]

The Engset calculation is a related formula, named after its developer, T. O. Engset, used to determine the probability of congestion occurring within a telephony circuit group. It deals with a finite population of S sources rather than the infinite population of sources that Erlang assumes. The formula requires that the user knows the expected peak traffic, the number of sources (callers) and the number of circuits in the network.

Example application[edit]

A business installing a PABX needs to know the minimum number of voice circuits it needs to have to and from the telephone network. An approximate approach is to use the Erlang-B formula. However, if the business has a small number of extensions, then it should instead use the more exact Engset calculation, which reflects the fact that extensions already in use will not make additional simultaneous calls. (For a large user population, the Engset and the Erlang-B calculations give the same result.)

Technical details[edit]

Engset's equation is similar to the Erlang-B formula, but has one major difference: Erlang's equation assumes an infinite source of calls, yielding a Poisson arrival process, while Engset specifies a finite number of callers.[11][12] Thus Engset's equation should be used when the source population is small (say less than 200 users, extensions or customers).

P_b(N, A, S) = \frac{A^N
{\left( \begin{array}{c} S \\ N \end{array} \right)}}
{\left( \begin{array}{c} S \\ i \end{array} \right)}}


A = offered traffic intensity in erlangs, from all sources

S = number of sources of traffic

N = number of circuits in group

P(b) = probability of blocking or congestion.

In practice, like Erlang's equations, Engset's formula requires recursion to solve for the blocking or congestion probability. There are several recursions that could be used.[12] One way to determine this probability, is to first determine an initial estimate. This initial estimate is substituted into the equation and the equation then is solved. The answer to this initial calculation is then substituted back into the equation, resulting in a new answer which is again substituted. This iterative process continues until the equation converges to a stable result.[11][13]

Engset's equation:[11]

P(b)=\frac{\left[\frac{\left(S-1\right)!}{N!\cdot\left(S-1-N\right)!}\right]\cdot M^N}{\sum_{X=1}^N\left[\frac{\left(S-1\right)!}{X!\cdot\left(S-1-X\right)!}\right]\cdot M^X}