Erlang Distribution

The Erlang distribution, also known as the Erlang-k distribution, models the waiting time until the nth event occurs in a Poisson process. It is fundamental in queueing theory and telecommunications engineering.

Definition

The Erlang distribution has parameters n (shape) and θ (scale). Its probability density function (PDF) is:

f(x)=xn1ex/θθn(n1)!,x>0

The cumulative distribution function (CDF) is:

F(x)=1i=0n11i!(xθ)iex/θ

Parameter constraints: nN+ and θR+

Applications

The Erlang distribution finds widespread use in many practical applications:

  • In call centers, it models both customer waiting times and service durations in multi-server queuing systems.

  • Reliability engineers use it to analyze the time until system failure when multiple components or stages are involved.

  • In computer networks, it helps predict packet transmission delays across multiple network nodes.

  • Insurance companies apply it to model the total processing time of claims that go through multiple stages of review.

Properties

Meannθ
Variancenθ2
Skewness2n
Excess Kurtosis6n
Mode(n1)θ for n1
MGF(1θt)n for t<1θ

Relationships to Other Distributions

The Erlang distribution has several important mathematical relationships with other probability distributions:

  • The Erlang distribution is a special case of the Gamma distribution, where the shape parameter is constrained to be a positive integer.

  • When you sum n independent random variables that each follow an Exponential(θ) distribution, the resulting sum follows an Erlang(n,θ) distribution.

  • In the special case where n=1, the Erlang distribution is identical to the exponential distribution with the same scale parameter.

The ErlangDistribution Class

The Erlang distribution is implemented by the ErlangDistribution class. It has one constructor which takes the number of occurrences and the waiting time (or the shape and scale parameters) as arguments. The first argument must be an integer. The following constructs an Erlang distribution with n = 10 and waiting time 7.6:

C#
var erlang = new ErlangDistribution(10, 7.6);

The ErlangDistribution class has two specific properties, ShapeParameter, which returns the shape parameter of the distribution, and ScaleParameter, which returns the scale parameter.

ErlangDistribution has one static (Shared in Visual Basic) method, Sample, which generates a random sample using a user-supplied uniform random number generator.

C#
var random = new Pcg32();
double sample = ErlangDistribution.Sample(random, 10, 7.6);

The above example uses the Pcg32 to generate uniform random numbers.

References

For more information on the Erlang distribution, refer to the following sources:

  • Johnson, N. L., Kotz, S., & Balakrishnan, N. (1994). "Continuous Univariate Distributions, Volume 1", Chapter 17. Wiley Series in Probability and Statistics.

  • Forbes, C., Evans, M., Hastings, N., & Peacock, B. (2011). "Statistical Distributions", Chapter 15. Wiley Series in Probability and Statistics.

See Also