Forecast Model to Estimate Customer Service Call Volume and Appropriate Staff
I am working on a project to predict the proper staffing needed for a customer service team using historical data.
I am new to machine learning, and I am not sure if my approach to this problem is the right one. First I saw it as a multiple linear regression, but the more I think of the outcome I want, the more I realize regression is not the solution.
I have a sample historical data with these fields:
- Number of incoming calls per hour/day;
- Total Talking Time per hour/day;
- Abandoned Calls per hour/day -- but I can change that to abandonment rate;
- Average speed of answer per hour/day;
My goal is to build a Python or R model that would allow me to predict:
- the amount of calls customer service may get in the next weeks/months; and
- the ideal personnel to handle the workload.
For example, I would like to be able to see something like this:
Day || Expected Calls || Staff number
10/01/2021 || 200 || 10
There are some call-center related software tools that would determine that. But, I wonder if there is a machine learning model that would lead me to what I want to get. What approach should I take, if there is any?
I usually search for models already built, and try to understand and see how it may apply for my case. So far, I have not been able to see a model that would result in multiple forecast outputs. As I said, I am new to machine learning. So, any ideas on what kind of model I should use for the results I want to get?
EDIT
As I said in the question, I am unsure if my approach to the problem is right. And I think what I was looking for is the ErlangC formula. I only found out about it recently -- and it seems like python has a library pyworkforce that contains the ErlangC function.
After some feedback and brief research, the best way to solve this problem is to break the project in two phases: (1) forecast (2) the staffing estimation.
This is not finalized, but here is what I may end up doing for this project.
(1) First, I will forecast future number of calls based on historical data that I have got.
(2) Second, when I get the forecast, hopefully, I will be able to apply the results into an ErlangC formula and determine the proper customer service personnel number.
I think using ErlangC, I may be able to factor in the goal of talking (or handling) time desired, ring time, and possibly the working hours per customer service agent. All these factors will help me know the number of agents needed for the number of calls load that was forecasted in the first place.
I will keep reading and updating this question if needed.
Topic forecasting machine-learning-model machine-learning
Category Data Science