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.