Files
ViciDialSVN/agc_2-X/trunk/docs/PREDICTIVE.txt
T
mattf 002f05a96b updated docs to get ready for release
git-svn-id: svn://192.168.202.10@444 3d104415-ff17-0410-8863-d5cf3c621b8a
2006-12-22 19:08:39 +00:00

133 lines
7.0 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 15 and 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. Dropped calls percentage is measured out of the total
number of Answered calls for the campaign for the day.
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.