In this post we will start a new data science case study example on YOU CANalytics. In this case study example, you will learn about some of the key data science activities including business process optimization, linear / integer programming, customer & agent profiling, and real-time analytics. To understand these concepts better we will use a case study example from a call center. In this example we will optimize one of the key metrics, call handle time, to improve the process turn around time. Note that the concepts you will learn in this case study example are applicable to multiple industries, and business situations.
Optimization is an important activity in data science where the idea is to make things as best as possible within the given situation. The following are the three important components of an optimization problem
- Objective / Goal
- Decision Variables
- Constraints (generally resource constraints)
In this call center case study example, we will use optimization and other data science techniques to produce an intelligence that will connect the caller to the right agent based on minimum query resolution time. The following schematic explains how this intelligence (Caller↔Agent connector) works.
Before we get into mathematical constructs of optimization and create this intelligence let’s try to understand the nuances of optimization through:
An Optimized Life
You had no past before you were born and will have no future when you are dead. Almost every religion claims otherwise but these claims are without any facts or scientific proof. I think it is safe to assume that we have, on average, 70 years of life on this planet and then we will be as alive as rocks and soil.
Now, the idea is to make the best of this greatest gift nature has given to us called life. This is also an optimization problem on some level. However, I will not refer to the optimization of life as a ‘problem’ again in this blog as no matter what happens, life is fun and not a problem! Let’s try to relate optimization of life to the three essential components of optimization – i.e. goal, decision variable, and constraints.
Objective / Goal – Optimization of Life
Let’s say, the goal of every life is to maximize personal happiness. Happiness is an abstract concept and has a different meaning for everyone. Happiness is a combination of several factors know as decision variables in the optimization problem. Let’s explore this a bit more.
Decision Variables – Optimization of Life
As mentioned earlier, a goal is a combination of decision variables. Let’s assume the following five decision variables are responsible for happiness. Of course, we all know life has many other macro and micro variables but we will keep things simple for this toy example.
- Profession : happiness through work and professional life
- Family : happiness through family and friends
- Money : happiness through money and assets
- Charity : happiness through giving back to the society
- Hobby : happiness through hobbies (painting, reading, music etc.)
As you may have figured out, each of these variables has relationships with other decision variables. For instance, professional life has a relationship with money and assets etc.
Moreover, happiness is a combination of these five decision variables. The goal function will look like:
Happiness = f(Money, Profession, Family, Charity, Hobby)
The idea is to achieve the maximum value for this goal function within the given constraints. Before we jump towards constraints, let us have a look at the relationship between happiness and money. This relationship has no mathematical basis but is created based on utility function often discussed in economics textbooks. Additionally, I believe after a certain point money doesn’t add much to happiness but creates worries in terms of investment strategies, money management, and safety. Hence, there is a decline in happiness toward the right of this curve.
This is a non-linear relationship between money and happiness. Linear programming and integer programming, that we will use in this case study example, are special forms of non-linear optimization with linear relationships between a goal and decision variables. Now let’s come to the final component for an optimization problem i.e. constraints.
Constraints – Life’s Optimization Problem
Every human being has his/her own constraints that can be broadly categorized into internal and external constraints.
- Internal constraint : ability, aptitude, attitude etc.
- External constraints : local economics, access to quality education, family background, inherited assets etc.
However, the biggest constraint that all of us have is time. As mentioned earlier we have limited time on the planet to make best of our lives. If one has infinite time on the planet with some tweaks and experiments one can achieve optimal life. However, like in business problems to optimize output (production) we have limited resources (raw material, infrastructure, workers etc.) in the optimization of life we have limited time.
All the decision variables discussed earlier i.e. money, family, profession, charity, and hobbies have a relationship with time. The more time one spends on one activity will limit her time for other activities. The idea is to spend a right quantity of time on each of them to produce maximum happiness. The constraint equation thus looks like:
Total time spent on (Money + Profession + Family + Charity + Hobby) ≤ 70 years
Additionally, different professions have different curves with respect to happiness. Consider the following curves for some individual for 3 different professions.
Now, if this individual is planning to spend less time on her profession then profession 1 & 2 are fairly same in terms of happiness. However, lots of time on profession 1 will result in much higher happiness than profession 2.
Ouch! This simplified toy example for optimization of life has become quite complicated. Luckily most business optimization problems are not as tricky. Let us address a much simpler optimization problem in our call center case study example.
Call Handle Time Optimization – Call Center Case Study Example
Cut-to-the-Chase is an inbound call center for a digital television network to handle customer complaints and grievance. They receive roughly two hundred thousand calls in a day. They have 2700 agents working in 3 different 8-hour shifts during the day. Call handle time is an important business metric for call centers which is used for resource management. Call handle time is a component of the following
- Hold Time – wait time for customer before getting connected to an agent
- Call Time – call time between the callers and agents
- Post-call work Time – time to wrap up activities related to the call after the call
Cut-to-the-Chase has an average call handle time of 12 minutes with close to 4 minutes of wait time for a customer call. There are IVR (Interactive Voice Response) to collect appropriate information about the nature of the call and also to keep the callers busy during the hold period. However, average 4 minutes is too long a hold period and will test the caller’s patience. This has resulted in high call abandon rate i.e. callers hanging up the calls before reaching an agent. The parent digital television network has received several stinkers from their customers about this issue. This has prompted them to warn Cut-to-the-Chase to get their act together. In turn, Cut-to-the-Chase has hired you as a data science consultant to help them with this problem. You did a back of the envelope calculation to figure out the mismatch between available and required time. This time to save your client’s money you have done the calculation on a real used envelope!
The mismatch between required time and available time is enormous i.e. a little more than 300 thousand minutes. This explains the reason for high abandonment rate since the agents are pressed against time throughout.
The easy solution for your client is to increase the number of agents from 2700. However, this will throw them off their budgets. Increasing the number of hours in a day or reducing the number of calls is not a practical solution. This brings you to the final intelligent but difficult solution of reducing the call handle time (without hold time) from 8 minutes. Bringing the average call handle time down to 5 and a half minutes will create enough time for agents to take coffee and toilet breaks (since you have used up all 8 hours of shift for agents in this calculation).
Objective / Goal – Call Center Problem
The goal for this problem is to minimize call handle time. This is not going to be easy but you know your data science well to embark upon this challenge in the next part of this case study example.
Sign-off Note
While thinking about the factors for happiness in life I thought of so many factors that bring unhappiness like jealousy, animosity, wars, greed, terrorism etc. With a short lifespan of ours, it is hard to explain why we end up spending so much time on factors that are bound to bring grief.
A great way to explain complex thing in simple way.
Very Nice and creative explanation. Eagerly waiting for the next post on this..
Thanks!
Thanks Kishore for the kind words. You could find second and the final part of this case study at : Process Optimization Case Study Example
Hi Roopam,
It was very a nice case study that you have explained.
I am not able to open the next part of this case study.
Could you help me on that?
Thanks & Regards
Vinod Gundeti
http://ucanalytics.com/blogs/business-process-optimization-call-center-case-study-example-part-2/
Cheers
Dear M. Roopam Upadhyay…
after greeting
recently I study your case study example on the call centre, and I want to implement it in matlab, really I want more clarification on how this example works, my question:-
1. in the first step, what’s the type of data in caller profile ??? also the data type of agents in the second step
2. Do you have real data set to apply on this example??
3. in step 3, Are the average time each agent takes to resolve the queries for the caller profile assumed or calculated? if calculated? how?
thank you so much for you helpless