Machine Learning Algorithm Use case scenario - Load Balancing

Hello All,

I have an Use case scenario which needs to be solved using Machine Learning.

Use Case Scenario Description:

Consider a help desk Support Ticket Dataset which is available. We need to build a Machine Learning Model for assigning the support tickets to the help desk agents. The Tickets assigned to Help Desk agents should be like every day a minimum threshold and maximum threshold should be set to the help desk agents so that all the help desk agents will have equal amounts tickets assigned to them and not any one agent will need to work on more tickets so that there workload is also equal. It will be helpful if some one suggest me the correct algorithm for solving this use case and also the technical workflow.

Why do you say “needs to be solved using machine learning”?
What simpler methods have you tried and why were they insufficient?
My first reaction is this is operations research/linear programming/scheduling problem, not ML.

Why would it not simply be an exactly even distribution of tickets, but some people can get a maximum and some minimum? Is having equal number of tickets not as important as spending same total time on tickets? If time is an important issue, how to judge the difficulty level of a ticket and how much time will be spent on it? This could turn out to be a topic classification problem.

Do help desk agents have unequal skills and speed, such that the same issue presented to 2 different agents result in 2 different results? Are you trying to optimize staff utilization, and in turn reduce total time spent on all tickets in a day?

Is there a non-quantitative aspect to this issue? Could it be possible people who want to learn more are motivated to take on more tickets and giving them less actually makes them bored?

1 Like

number of ticket = t
number of agents = a

solution = t/a

I guess that my solution is naive, but this is how I understand your post!

1 Like


In fact, machine training will only help you with part of your task.
Classification of tickets. Because you want your agents to work on as similar ticks as possible. You first have to define which clusters you have (the closest and most similar tasks) so that your system can classify new tickets in the future.

I’m not sure it’s a good idea to balance the load on agents with an equal number of tasks. Even similar tickets may require more time to solve in some cases. So perhaps you should consider a variant of a queue that sequentially gives tasks to the first free agent who handles the tasks of this class.

In any case, this task requires a rather global approach to the construction of work processes. Machine learning will not be a silver bullet that will solve all problems.