Features discussion - Status code for maximum attempts

Discussions about new features or changes in existing features

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Features discussion - Status code for maximum attempts

Postby dspaan » Fri Jun 17, 2011 12:37 am

So, i have spent some time thinking about these features over the last few months and the goal of this topic is to discuss these features and hopefully let them end up in the Projects forum as bounties so we can fund the development together.

I have been working with outbound mainly so once i get some more inbound experience you can bet i will make a topic about that too :wink: .

In my opinion right now the most important missing features for Outbound VICIdial are:

1.Reliably manage disconnected numbers
2.Status code for maximum attempts<--this topic
3.Manager friendly Reports
4.(Realtime) Sales report
5.Import and export leads templates

Since it would become a mess to discuss all of these subject in one thread i made a thread for each of them. I know that for some of these subjects there have been discussions about them in the past. I will try to reference these older threads as far as i can.

Status code for maximum attempts


See the issue tracker: http://www.vicidial.org/VICIDIALmantis/view.php?id=481

Basically the feature i'm looking for and has been requested by many of our customers is described in this topic: http://www.vicidial.org/VICIDIALforum/v ... hp?t=13647 [^]

What i think the feature should look like is this:

-On the campaign modify screen add a field where the maximum attempts can be set for the primairy and alternate phone number.
-Add a (non-removable?) system status called 'Maximum attempts reached'

When a record has reached called count for both the primariy and alternate phone number it changes the status of the lead to the Maximum attempts reached status. This will show up in the report calls export and outbound calling report.

See further discussion about this feature in the issue tracker. Who else thinks this is a good idea and maybe we can turn this into a Bounty?

I know i keep wondering what i'm going to do with those NA calls which have been called 15 times now. Sure i can use a filter, but in the reports it will still show as thousands of NA calls.
Regards, Dennis

Vicibox 9.0.1
Version: 2.14b0.5
SVN Version: 3199
DB Schema Version: 1588
Build: 200310-1801
dspaan
 
Posts: 1377
Joined: Fri Aug 21, 2009 1:40 pm
Location: The Netherlands

Postby williamconley » Fri Jun 17, 2011 6:52 pm

but since the "Call Disposition" is set at the END of a call, and Max Calls would happen simultaneously ... (ie: i've called it 10 times, the limit is 10 ... and that call just ended ... ): What do you do with the previous status? Discard it? Or just don't call it when it hits the roof? but that causes the call before to be discarded? so call # 9 would then be pointless unless it resulted in a non-dialable status ... but still, what do you do with the prior status when you change it to "max reached"?

Strange. Would it not be simpler to change it to a different list? Then you would preserve the final status ...

Or we would need to add a field to each lead (yep, like we need ANOTHER field, cuz there aren't enough) for MAX REACHED. But: max reached is per campaign at that point and moving a list to another campaign would invalidate the field. This same problem occurs with changing the status of the lead. Changing the lead to another campaign would change the max and invalidate the status, requiring the reset to the prior status. So now we have to store the status somewhere to recover it ... Hm. Nope.

So we set the max value in the campaign and modify the hopper to check max dials for each lead before calculating and loading. ie: ignore those above without a need for a "filter" to be set on each campaign.

I could see that. But yet another field for the Campaigns (how many are there now?)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Postby dspaan » Sat Jun 18, 2011 8:38 am

William,

With a max dial setting of 10 counts only the 10th call status whould be discarded and overwritten by the new status called 'Maximum Attempts'. I don't see how that 10th callstatus is important. What's important is that it has reached the maximum attempts you agreed upon with your client and that you are not going to dial that lead anymore until it is agreed to change the limit.

Just don't call that last one when it hits the roof is not an option because then it will not show up in the reports and then you could just use a called count filter instead.

Why would call #9 be pointless, i don't understand?

The whole idea is that for as well as the manager as his clients it is clear how many numbers have been called a maximum amount of attempts. Clients often even state this requirement at the start of project.

Modifying the hopper is not necessary as this would be a nightly script. I don't think transferring leads to another campaign is a good solution. I would hate it to see the number of campaigns i have now in the system being doubled, also it would require explaining to your clients again and lots of extra work when exporting results.

Did you read the issue tracker? Also some important stuff discussed there:

Quote Matt:

We have had this requested by several people, but when it comes to the details of how to do it they all get fuzzy.

- What event triggers the setting of that "dead lead" status?
- hangup on Xth call attempt
- crontab timer even that runs every few minutes?
- end of day process?

- What statuses do you want to be changed?
- I assume that SALEs and DNCs that are a result of the Xth attempt you would not want the status changed on, correct?

- What happens if you change this from 20 to 15?
- would the process have to go over the ones you already called that are higher than 15 and make them dead leads too?
- What about the reverse, how would you handle changing from 15 to 20? How would you reactivate those leads and what status would you change them to?


There are a lot more questions than just these, and when we ask them we never seem to get a response to all of them.



Quote me:

-event:
-called count
-contrab with timer once a day would be fine in our case, don't know what the impact is on the system of running it every few minutes

-only change dialstatuses defined in the campaign modify screen, like you said we only want to do this for non-definitive statuses and not for statuses like SALE and DNC.

-Yes i think if change the setting from 20 to 15 then all leads with 15+ attempts should be immediately changed to the max attempts status, so in this case the script should run immediately after changing the setting
-Doing the reverse i think you should change them to a status called 'Recycled'. This is something that actually happens a lot when we are through the leads and still have agents who need to call on a project and there are a lot of leads who have not been reached.

I think the script could even be more advanced in the sense that it not only looks at the called_count but also looks at the last status. For instance if the last status was a callback maybe then it should not change the status. Idea: right now in the statuses there is a checkbox for 'human answer' y/n. I think the script should take this into consideration as well when deciding if it should change the the status or not. So if the max attempts setting is set to 10 and the 10th contact is a callback then script should allow for another extra X attempts. Maybe this could be a setting in the campaign modify screen as well: 'number of additional attempts' (or something like that).

Looking forward to any other questions :-)


Quote Matt:

As a simple crontab process run at night and altering only the Campaign's Dial Statuses this would probably take about 3 hours to complete.

As for triggering the script to run immediately on a change to a lower or higher number, that would add another 2 hours.

As for your more advanced options(another X attempts), we would need to define those more before I could quote time.
Regards, Dennis

Vicibox 9.0.1
Version: 2.14b0.5
SVN Version: 3199
DB Schema Version: 1588
Build: 200310-1801
dspaan
 
Posts: 1377
Joined: Fri Aug 21, 2009 1:40 pm
Location: The Netherlands

Postby dj mondo » Wed Jun 22, 2011 9:02 am

The company i work for is looking for something like that, but its more for callbacks. The policy they have is 7 days, 10 tries. Basically our agent are only allowed to set callbacks for 7 days out max, and with in those 7 days, they have 10 tries to seal the deal. If they don't the number gets taken out of their callback and dumped back into the dialer to be tried by someone else. In this type of situation a max number of attempts would make sense, well here at least. Cause if one agent can't set the deal, then someone else can.

Thank you
Armando Mercado
VERSION: 2.4-309a | BUILD: 110430-1642 | Asterisk Version: 1.4.38-vici | Single Server | No Digium/Sangoma Hardware | No Extra Software After Installation l Built By Vici Group.
dj mondo
 
Posts: 327
Joined: Mon Feb 21, 2011 9:19 am

Postby dspaan » Wed Jun 22, 2011 9:15 am

So you want to use it for callbacks only? Would it be a problem if it changed other statuses as well?

At least this method could provide the functionality you need i think. Once a lead reaches the max attempts your supervisor can reset them to be dialed again by others. Only thing it doesn't take care of in your case is time period.
Regards, Dennis

Vicibox 9.0.1
Version: 2.14b0.5
SVN Version: 3199
DB Schema Version: 1588
Build: 200310-1801
dspaan
 
Posts: 1377
Joined: Fri Aug 21, 2009 1:40 pm
Location: The Netherlands

Postby dj mondo » Wed Jun 22, 2011 9:27 am

What do you mean time period?

The dialer we had before vicidial, had this feature. You can set how far out you can set callbacks, and how many attempts. Once this is met, the dialer would automatically take it out of the agents callback and set (i would guess in this situation and dialer) back to a new lead, and put back into the mix, to be dialed again for someone else to call. The only time the status would change is if the agent met the max attempts or reached the 7 day limit. Management doesn't like it when agents sit on callbacks and get no where with the lead.

Thank you
MoNdO
VERSION: 2.4-309a | BUILD: 110430-1642 | Asterisk Version: 1.4.38-vici | Single Server | No Digium/Sangoma Hardware | No Extra Software After Installation l Built By Vici Group.
dj mondo
 
Posts: 327
Joined: Mon Feb 21, 2011 9:19 am

Postby dspaan » Wed Jun 22, 2011 10:12 am

I meant the 7 day limit. I think this feature i proposed is more general then what you are looking for. Maybe to set a timelimt is a good feature to add. But i think we need to clear some things up.

Example1:
1.Lead is loaded on day 1
2.After 3 days the lead is called for the first time and agent makes a callback for 2 days later
3.After 2 days (5 days since loading and 2 days since first call) the agent call back and is asked to call back on the next day
4.So the next day the agent is absent due to sickness :o
5.Agent gets in the office the day after that (7 days since loading and 4 days since first call) and calls back but the person in question is unavailable again and makes another callback for 4 days later
6.The agent sets the callback in 4 days but this will result in 11 days since loading the lead and 7 days since the first call.

What should happen now in your opinion?

I think this is something different then maximum attempts. I do like the idea of a timelimit. I have also seen leads where different agents had made more then 20 callbacks lol. It's ridiculous.

To be honest i think this is a different feature with a different statuscode: Time Limit Reached. And i think it should be measured since the first attempt.

I don't really understand though why another agent would be able to get more out of a callback that has not been reached by a specific agent in a certain amount of time. That specific agent has had customer contact all the time and now someone else starts calling? Doesn't seem like the best tactic but maybe i'm wrong.

I still think the simple max attempts setting is best. For callbacks as well. Would you want to do 20 callbacks on a lead in 7 days?

Maybe something like this would work well:

A maximum attempts setting within a lime limit. If calls are made within the timelimit since the first call the maximum attempts don't count. If the limelimit is reached the maximum attempts rule will go into effect.

If you want to take both factors into consideration at the same time it would be way more complicated to build but i have no idea how many extra hours, Matt?
Regards, Dennis

Vicibox 9.0.1
Version: 2.14b0.5
SVN Version: 3199
DB Schema Version: 1588
Build: 200310-1801
dspaan
 
Posts: 1377
Joined: Fri Aug 21, 2009 1:40 pm
Location: The Netherlands

Postby williamconley » Sat Jun 25, 2011 11:10 pm

That sounds more like something that would be best handled by a nightly processing script that operates outside vicidial entirely.

If agents have 7 days to seal, on the 7th night the call would "automatically" be changed from that specific agent to "general pool" and the status would be changed from "callbk" to some form of "recycled" or even "new".

A filter would still be necessary to remove the possibility of an agent exceeding the 10 call total limit (in case they are at 9 calls on day 7, and try to call three times that day in a panic trying not to lose the lead because they think they are close).
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)


Return to Features

Who is online

Users browsing this forum: No registered users and 30 guests