How is Estimated wait time calculated?
Estimated wait time in queue can be announced to the caller when he/she arrives in the queue and/or when he/she has been waiting in queue for a while. Estimated wait time can also be used in IF - THEN statements which use certain variables to decide what messages/music to play for the caller in waiting in queue.
We recommend that Estimated wait time, which are in seconds, should be rounded to whole minutes.The Puzzel service logic for the queue may contain something like this:
IF Estimated wait time is available and is > 1 minute,
THEN play Estimated wait time is approximately <estimated wait time> minutes
If Estimated wait time should be announced to the caller after he/she already has spent at least 1 minute in the queue, the remaining estimated wait time is (Estimated wait time - time spent in queue so far).
The Puzzel algorithm for calculation of Estimated wait time in queue is quite simple, but it should give a good estimate in a multi-channel/multi-skilled agent environment. The algorithm is based on the fact the actual wait time for the last answered call on a queue, hereafter LCWT (Last Calls Wait Time), is assumed to be close to the real wait time on the queue right now. LCWT will dominate (50%) in an average calculation for Estimated wait time, and sometimes LCWT will be used alone as the Estimated wait time.
The Estimated wait time variable (wait_by_last_calls) for a queue has at any time a value (x seconds), which is updated every time a call is answered on this queue. When the Estimated wait time value is updated, the new value is normally set to (old value + Last Call Wait time) / 2
As you can see, the Last Calls Wait Time is most important. Example: If the existing value for Estimated wait time is 180 sec. and a call was now answered after 160 seconds in queue, the new Estimated wait time is (180+160) / 2 = 170 seconds.
VIP callers
If some callers are given (lots of) VIP-points when they arrive in queue, this results in a (very) high SLA score immediately, which means that VIP callers will experience (significantly) shorter wait time in queue than ordinary callers. The more VIP callers relative to ordinary callers and the more VIP points given, the more wrong the estimate will be for both VIP callers and ordinary callers. If only every 50th caller is VIP and you have lots of agents and short AHT, the estimates should be ok, but if every 10th caller is VIP, the AHT is long and you have few agents, the estimate given to ordinary callers will be (far) too optimistic.
When no/little queue time
When a call is answered from queue, and this calls wait time is shorter than the time span back to the last time the Estimated wait time variable was updated (=when the previous call was answered), this new calls wait time alone becomes the new estimated wait time.
Example: A call is answered 10:12:00 and has wait time=30 seconds. The Estimated wait time (now 20 sec) was updated last time at 10:11:25 (35 seconds earlier). The new value for estimated wait time will be 30 seconds (not (20+30)/2=25) since it's more than 30 seconds since the previous update of the value.
Please note, in order to get a best possible estimated wait time, some calls will be ignored, that is, they will not update the value for estimated wait time:
- Calls with a reserved agent (since they often have shorter wait time than other calls)
- Call-back in queue calls that were answered on the 2nd or 3rd call attempt
The first calls each morning
When a call arrives in a queue and the Estimated wait time value is older than 1 hour, the value will not be given to the Puzzel service logic to avoid giving callers very old estimates that are not relevant/not good. This means that Estimated wait time is not available for the first call(s) each morning.