ErlangC
|
Computes the number of positions required to attend a number of transactions in a queue system based on erlangc.rst. |
|
Returns the probability of waiting in the queue |
|
Returns the expected service level given a number of positions |
|
Returns the expected occupancy of positions |
|
Computes the requirements using erlangc.rst |
- class pyworkforce.queuing.ErlangC(transactions: float, aht: float, asa: float, interval: int, shrinkage=0.0, **kwargs)[source]
Computes the number of positions required to attend a number of transactions in a queue system based on erlangc.rst. Implementation inspired on: https://lucidmanager.org/data-science/call-centre-workforce-planning-erlang-c-in-r/
- Parameters
- transactions: float,
The number of total transactions that comes in an interval.
- aht: float,
Average handling time of a transaction (minutes).
- asa: float,
The required average speed of answer (minutes).
- interval: int,
Interval length (minutes) where the transactions come in
- shrinkage: float,
Percentage 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
- scale_positions: bool, default=False
Set it to True if the positions were calculated using shrinkage.
- required_positions(service_level: float, max_occupancy: float = 1.0)[source]
Computes the requirements using erlangc.rst
- Parameters
- service_level: float,
Target service level
- max_occupancy: float,
The maximum fraction of time that a transaction can occupy a position
- Returns
- raw_positions: int,
The required positions assuming shrinkage = 0
- positions: int,
The number of positions needed to ensure the required service level
- service_level: float,
The fraction of transactions that are expected to be assigned to a position, before the asa time
- occupancy: float,
The expected occupancy of positions
- waiting_probability: float,
The probability of a transaction waiting in the queue
- service_level(positions: int, scale_positions: bool = False)[source]
Returns the expected service level given a number of positions
- Parameters
- positions: int,
The number of positions attending.
- scale_positions: bool, default = False
Set it to True if the positions were calculated using shrinkage.
- waiting_probability(positions: int, scale_positions: bool = False)[source]
Returns the probability of waiting in the queue
- Parameters
- positions: int,
The number of positions to attend the transactions.
- scale_positions: bool, default=False
Set it to True if the positions were calculated using shrinkage.