" /> How do you identify a plateau vs a peak in call volumes through IRD/URS - Genesys CTI User Forum

Author Topic: How do you identify a plateau vs a peak in call volumes through IRD/URS  (Read 2575 times)

Offline vmc

  • Full Member
  • ***
  • Posts: 112
  • Karma: 0
Advertisement
What methods have you all used to identify if an inbound call centre is in the middle of a plateau vs a peak in call volumes. 

To clarify what I mean by plateau, if the BAU inbound call volumes are about 100 per minute, if suddenly there were 200 coming in that would be a peak.  If however there were 200 calls coming in per minute for the next 10 minutes, that would be a plateau.

For a peak obviously I can create a statistic for the past 1 minute type thing and set some type of threshold based on a business rule as to what they would consider a peak, but how can I tell if that peak has been ongoing resulting in a plateau or even an ever-rising peak?



Adam G

  • Guest
Interesting question.  Basically you are asking if IRD programming can predict the future.  It can't.  I guess it would be feasible to compare some stats, as you've outlined - but how would (any) system know what comes next?

I think the closest you will get is "near real-time" - not actual real-time.  You mention "the past 1-minute" - extrapolate that into a series based on the last 10 x 1-minute segments, take the average of all ten and compare it with the current minute - then you will likely have something which is either growing - or it is a plateau.  I'm pretty sure you can work on this concept - but the idea is there.


Offline vmc

  • Full Member
  • ***
  • Posts: 112
  • Karma: 0
Thanks Adam.  That was the direction I was heading.

Sent from my Redmi Note 3 using Tapatalk


Adam G

  • Guest
...it certainly beats the "it can't be done" scenario! Please let me know how you get on with this - and if you arrive at a suitable solution.

Thanks

Offline victor

  • Administrator
  • Hero Member
  • *****
  • Posts: 1419
  • Karma: 18
This is actually a very good question, and there are several ways to handle it.  Genesys has a lot of stats for it, but they do not give us what we needed so we moved on to the methods described below:

The easiest way is to do the derivative of the data to identify direction of the growth, and second derivative to find the acceleration / deceleration. 

To do this:

1. collect call volume over the last 30 minutes with 1 minute granularity and save it into DB
2.  calculate first finite derivative of your data.  (In other words, (volume2-volume1)/(t2-t1). This is very one sides, since it only takes into account one side of the change. It is always better to do it over several points and get an average. Lazy man's: (v3-v1)/(t3-t1) would give you a better estimate at t2. Having a minute granularity means that your algorithm is lagging by a minute, but it should be ok. This would tell you if your call number is increasing or decreasing. But you want to also know if the increase/decrease is speeding up or slowing down (in other words, did you plateau or peak?). To do this, you need to take a second derivative of your data. Or for lazy people it is: compare the change at t2 to change at t4 for example, or

((volume5-volume3)/(time5-time3)-(volume3-volume1)/(time3-time1))/(time4-time2)

if value os approaching 0 from positive side, it means you are peaking. If value is approaching from negative side, it means you are plateauing.

After that, we moved into treating your call data as a stock price and apply SMA and SMIs.  We have been doing it for years now, and had even better results.

Over the last 3 months we have migrate to using neural network to forecast it and I have been a very happy camper. We trained it on historical data, and it is doing amazing forecasts for us. I think maybe this is something we should disclose for everyone here. Pretty simple once you train the model.


Offline vmc

  • Full Member
  • ***
  • Posts: 112
  • Karma: 0
Thanks Victor.  Will look at this next week.

Sent from my Redmi Note 3 using Tapatalk