Page 1 of 1

Agents available per time interval

PostPosted: Wed Oct 10, 2012 9:22 pm
by GaD
Hi guys!

We currently use Vici more for the inbound part than for the outbound. I have a quick question..... Has anybody developed something to check agent availablity, meaning how many agents are available per time interval? My bosses have asked me to get something going to see if the call center is well dimensioned (meaning that they have just about the right ammount of agents for the ammount of calls being received). I don't think this is too complicated to create, but I really SUCK in my development skills, haven't gotten too far from a 'Hello World" PHP script (JAJA!! :D ).

Anyone got any ideas?

Thanks!

Re: Agents available per time interval

PostPosted: Thu Oct 11, 2012 5:46 am
by mflorell
The closest thing we have built in is Max Stats, which will show the maximum number of agents available during the day.

Logging the number of agents available per in-group per interval could generate a lot of records very quickly. We have a client with almost 800 in-groups and over 300 agents, just one day of per-minute counts would create a table with over a million records, and generating a report from that over a period of a week would be a rather intensive query to run on the database.

What you describe is possible, but it would need to be designed right to not crash the system when trying to run reports on it.

Re: Agents available per time interval

PostPosted: Mon Nov 26, 2012 8:32 pm
by williamconley
It would also be best run on a slave server. And it may require the "tabulation" of data during intervals to avoid re-querying history each time the report is run. This creates a lot of unnecessary data on systems not using this report.

However, I am surprised something like QueueMetrics does not have this data available.

In any event, it may be something seriously best done in a system with data exported out of Vicidial (offloaded to another system for processing in some fashion) as long as it need not be "Real Time". If real time is necessary, then tabulation as the times pass (to store the interval data) is really the only way to go. I've seen the bootprints of a few creations like this on some systems, so I know we are not the only ones who have been asked to create them ... but they are (as a rule) specific to certain clients.

Re: Agents available per time interval

PostPosted: Tue Nov 27, 2012 10:38 am
by GaD
Queuemetrics does show that info. That is what I recommended my friend to get going, but it DEFINATELY needs to be in a separate DB. It is incredible the ammount of stuff that is written to the Queuemetrics DB tables! It grows a lot!!
If you'd be designing something to keep track of this inside Vici itself (not through Queuemetrics) I would think that maybe you can keep the data inside the Vici for a day's worth, previous to that you could save the actual numbers (where not much calculation is needed) of available agents per time frame (er..., 15 minutes?). But even so I don't really know how DB intensive that data would be.
Don't know if I explained myself clear this time... ;)

Re: Agents available per time interval

PostPosted: Tue Nov 27, 2012 12:40 pm
by williamconley
If you wanted to create a table with this collected/aggregate information in it and report on that data later (pure data pull, no calculations) without recalculating the data during the report ... that would certainly be viable. The "every hour run a report and store the data in this table" script would not likely take up too much cpu, and the aggregate data could be relatively small for space usage. In that case you would not even need to use a replicated database scenario. As long as the data you are crunching can be crunched hourly (or every 15 minutes) without overtaxing the cpu. And of course avoid running the script when others are already running.