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/datascience/callcentreworkforceplanningerlangcinr/
 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.