132 lines
6.8 KiB
Plaintext
132 lines
6.8 KiB
Plaintext
PREDICTIVE Summary and Overview 2006-08-29
|
|
|
|
*** PREDICTIVE OUTBOUND CALLING FUNCTIONALITY WAS ADDED IN THE 2.0.1 RELEASE ***
|
|
|
|
This will outline the methods used to predictively dial outbound calling
|
|
campaigns in VICIDIAL with the ADAPT dial methods. This is a description of the
|
|
first versions of the Predictive/Adaptive dialing algorithms used in VICIDIAL.
|
|
As the need arises we will create more versions of different algorithms in the
|
|
future.
|
|
|
|
|
|
The gathering of data to analyze:
|
|
|
|
In order to properly analyze calling trends and adapt to the current list that
|
|
is being called we need to first gather a lot of data to analyze.
|
|
|
|
The first set of data we want to gather is the recent queue and agent statistics
|
|
for each campaign. This information is gathered by the AST_VDauto_dial.pl script
|
|
as it runs through each loop every 2.5-3.0 seconds. This data is used only for
|
|
Blended CLOSER campaigns doing Predictive dialing and for the timeonVDADall
|
|
realtime campaign reports. The data gathered in this script are all averages of
|
|
the last 60 seconds of agent and queue activity:
|
|
1. The average number of agents that are logged into the campaign across
|
|
one minute
|
|
2. The average number of calls waiting to be transferred to an agent
|
|
across one minute
|
|
3. The average number of agents waiting for calls across one minute
|
|
4. The difference between the waiting calls and ready agents across one
|
|
minute
|
|
This number if positive means that on average more agents were
|
|
waiting for calls than calls waiting for agents in the last
|
|
minute for that campaign.
|
|
|
|
The second set of data to gather is dropped call information across several
|
|
intervals as well as faster agent and queue call statistics. This information
|
|
will be gathered by the actual AST_VDadapt.pl script that will also be the
|
|
script actually changing the dial level when the predictive/adaptive dial method
|
|
is activated.
|
|
Once a second this script will gather:
|
|
1. The average number of agents that are logged into the campaign for
|
|
the last 15 seconds
|
|
2. The average number of calls waiting to be transferred to an agent for
|
|
the last 15 seconds
|
|
3. The average number of agents waiting for calls for the last 15
|
|
seconds
|
|
4. The difference between the waiting calls and ready agents for the
|
|
last 15 seconds
|
|
Once every 15 seconds this script will:
|
|
1. Calculate the average dial level differential for the last 15 seconds
|
|
2. Apply the campaign's adaptive_dl_diff_target
|
|
3. Apply the campaign's adaptive_intensity setting
|
|
4. Calculate the new desired dial_level
|
|
5. Check the drop rate cap method(HARD_LIMIT, TAPERED, AVERAGE)
|
|
6. If drop rate is over the limit the proper equation is used to figure
|
|
out new dial_level difference.
|
|
7. Change the dial level for the campaign to the new suggested dial
|
|
level
|
|
Once a minute this script will gather:
|
|
1. Total drops and total calls for the campaign since midnight
|
|
2. Total drops and total calls for the campaign in the past hour
|
|
3. Total drops and total calls for the campaign in the past half hour
|
|
4. Total drops and total calls for the campaign in the past five minutes
|
|
5. Total drops and total calls for the campaign in the past one minute
|
|
Also, the drop percentage is calculated and stored in the
|
|
vicidial_campaign_stats table.
|
|
|
|
|
|
The settings in the campaign detail screen:
|
|
|
|
Dial Method - This field is the way to define how dialing is to take place. If
|
|
MANUAL then the auto_dial_level will be locked at 0 unless Dial Method is
|
|
changed. If RATIO then the normal dialing a number of lines for Active agents.
|
|
ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then
|
|
not allow aggressive dialing once the drop limit is reached until the percentage
|
|
goes down again. ADAPT_TAPERED allows for running over the dropped percentage in
|
|
the first half of the shift(as defined by call_time selected for campaign) and
|
|
gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an
|
|
average or the dropped percentage not imposing hard limits as aggressively as
|
|
the other two methods.
|
|
|
|
Auto Dial Level - This is where you set how many lines VICIDIAL should use per
|
|
active agent. zero 0 means auto dialing is off and the agents will click to dial
|
|
each number. Otherwise VICIDIAL will keep dialing lines equal to active agents
|
|
multiplied by the dial level to arrive at how many lines this campaign on each
|
|
server should allow.
|
|
|
|
Available Only Tally - This field if set to Y will leave out INCALL and QUEUE
|
|
status agents when calculating the number of calls to dial when not in MANUAL
|
|
dial mode. Default is N.
|
|
|
|
Drop Percentage Limit - This field is where you set the limit of the percentage
|
|
of dropped calls you would like while using an adaptive-predictive dial method,
|
|
not MANUAL or RATIO.
|
|
|
|
Maximum Adapt Dial Level - This field is where you set the limit of the limit to
|
|
the numbr of lines you would like dialed per agent while using an
|
|
adaptive-predictive dial method, not MANUAL or RATIO. This number can be higher
|
|
than the Auto Dial Level if your hardware will support it. Value must be a
|
|
positive number greater than one and can have decimal places Default 3.0.
|
|
|
|
Latest Server Time - This field is only used by the ADAPT_TAPERED dial method.
|
|
You should enter in the hour and minute that you will stop calling on this
|
|
campaign, 2100 would mean that you will stop dialing this campaign at 9PM server
|
|
time. This allows the Tapered algorithm to decide how aggressively to dial by
|
|
how long you have until you will be finished calling.
|
|
|
|
Adapt Intensity Modifier - This field is used to adjust the predictive intensity
|
|
either higher or lower. The higher a positive number you select, the greater the
|
|
dialer will increase the call pacing when it goes up and the slower the dialer
|
|
will decrease the call pacing when it goes down. The lower the negative number
|
|
you select here, the slower the dialer will increase the call pacing and the
|
|
faster the dialer will lower the call pacing when it goes down. Default is 0.
|
|
This field is not used by the MANUAL or RATIO dial methods.
|
|
|
|
Dial Level Difference Target - This field is used to define whether you want to
|
|
target having a specific number of agents waiting for calls or calls waiting for
|
|
agents. For example if you would always like to have on average one agent free
|
|
to take calls immediately you would set this to -1, if you would like to target
|
|
always having one call on hold waiting for an agent you would set this to 1.
|
|
Default is 0. This field is not used by the MANUAL or RATIO dial methods.
|
|
|
|
|
|
|
|
To use adaptive dialing you must have the ADMIN keepaliveAST_VDadapt.pl script
|
|
in your crontab running every minute:
|
|
### keepalive script for VICIDIAL predictive script
|
|
* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_VDadapt.pl
|
|
|
|
|
|
NOTE: With Predictive dialing the dial_level will never drop below 1.0.
|
|
|