ErlangC
|
Computes the number of positions required to handle transactions in an Erlang C queue system. |
|
Returns the probability that a transaction waits in queue. |
|
Returns the expected service level for a number of positions. |
|
Returns the expected occupancy of positions. |
|
Computes the required positions for a target service level. |
- class pyworkforce.queuing.ErlangC(transactions: float, aht: float, asa: float, interval: int, shrinkage=0.0, **kwargs)[source]
Computes the number of positions required to handle transactions in an Erlang C queue system. Implementation inspired by: https://lucidmanager.org/data-science/call-centre-workforce-planning-erlang-c-in-r/
- Parameters:
- transactions: float,
Total number of transactions arriving in the interval.
- aht: float,
Average handling time of a transaction (minutes).
- asa: float,
The required average speed of answer (minutes).
- interval: int,
Interval length, in minutes.
- shrinkage: float,
Fraction of time that an operator unit is not available.
- achieved_occupancy(positions: int, scale_positions: bool = False)[source]
Returns the expected occupancy of positions.
- Parameters:
- positions: int,
The number of raw positions. Productive positions must be greater than traffic intensity.
- scale_positions: bool, default=False
Set to True when
positionsincludes shrinkage.
- required_positions(service_level: float, max_occupancy: float = 1.0)[source]
Computes the required positions for a target service level.
- Parameters:
- service_level: float,
Target service level.
- max_occupancy: float,
The maximum fraction of time that a transaction can occupy a position. Must be greater than 0 and less than or equal to 1.
- Returns:
- raw_positions: int,
Required positions before applying shrinkage.
- positions: int,
Positions needed after applying shrinkage.
- service_level: float,
Fraction of transactions expected to reach a position before the target ASA.
- occupancy: float,
Expected occupancy of positions.
- waiting_probability: float,
Probability that a transaction waits in queue.
- service_level(positions: int, scale_positions: bool = False)[source]
Returns the expected service level for a number of positions.
- Parameters:
- positions: int,
The number of positions available to handle transactions. Productive positions must be greater than traffic intensity.
- scale_positions: bool, default = False
Set to True when
positionsincludes shrinkage.
- waiting_probability(positions: int, scale_positions: bool = False)[source]
Returns the probability that a transaction waits in queue.
- Parameters:
- positions: int,
The number of positions available to handle transactions. Productive positions must be greater than traffic intensity.
- scale_positions: bool, default=False
Set to True when
positionsincludes shrinkage.