How to Subjectively Route Incoming Calls by Predicting their Importance.

Customers hate waiting for live call center agents to respond — and companies need to avoid making their customers wait. But given limited resources, how can companies minimize the negative impact on businesses by responding to important calls faster?

Kunal Sawarkar
Inside Machine learning

--

By predicting the overall importance of the given customer and/or by predicting upcoming call priority in advance, incoming calls to contact centers can be Automatically & Intelligently Routed by a Predictive Call Action System; which can proactively decide how upcoming calls should be handled.

  • Best /Priority Treatment to customers that represent maximum value to the business
  • Avoid waiting time for valuable customers or customers who are calling again for the same issue.
  • Predict Treatment prior to answering the call to customers by agents.

This article will describe the ML architecture & models that will help achieve that.

All Calls Are Not Created Equal

A call center is at the front and center of modern business and the treatment of calls received at a call center may greatly influence the customer relationship. As noted in an article by Mark Smith,“8 out of 10 organizations reported that customer satisfaction is a top-three business issue”. Also as noted by Elena Dobre in an article, the most important metric for call center resolution is “First call resolution Rate”. A call center can be key to many customer interactions but it normally works on a first come first served mechanism or based upon network bandwidth or available resources. This can be a huge challenge since not all customers are deemed equally valuable. With limited resources it becomes a challenging goal to satisfy every customer through a call center. So there is a critical need for ML based solutions to intelligently and automatically route incoming calls.

Tell Me How to Respond?

The biggest challenge is to respond to each incoming customer call in a unique way and in near real-time in a pro-active manner BEFORE the call is answered by the agent. The ML systems needs to be dynamic enough to handle varied customer relationship management (CRM) challenges like….

  • Not All customers are equally important.
  • Not All calls of important customers deserves the same priority every time.
  • Not All customers react the same way while waiting in a queue.
  • Not All call center agents are the same, only a few might be trained well enough to handle high profile customers.
  • Call center traffic volumes vary considerably depending on timing and events.

A customer may be important but their current call may not be a priority or a customer may be deemed as average in value but their current call may be very important. The expected solution needs to take into account all the above factors before deciding on the most appropriate call action.

Prescriptive Modelling

Prescriptive analytics for call routing solutions can help decide the treatment for calls — such as which call should be queued and/or the priority level for queuing out a call. Also it can determine the best treatment to be given for the call before an agent answers it.

Image by Author

The typical outcome using decision optimization systems might be to forward the call to a recorded interactive voice response (IVR) system or give a busy tone or attended to by the call center agent — or if the call is very important it should be responded to by a Personal Relationship Manager.

Call Routing/Proactive Customer Treatment Application examples:

1 — A customer will contact the call center and based on the “importance level” the call will be either routed to the IVR or a call center.

The importance level of incoming calls can be the output of this method. The method should give the importance level of the customer in the business context with a “call priority” as below:

  • Normal
  • Priority
  • Urgent

2 — Inside the call center the call will be routed based on the the skill-set of call center agents. The three kinds of call agents could be:

A. Call center Agent (Level1)

B. Call center Supervisor (Level2)

C. Personal Relationship Manager (Level3)

3 — The possible recommendation for call actions by a Call Routing Analytics system could be(in 1–1 correspondence with the call priority of [1] and [2] above.)

A. Normal call processing (Process call in queue)

B. Refer /escalate call processing (Take call out of queue & respond)

C. Expedited call processing

4 — Depending upon the overall customer importance level and the predicted call priority, the incoming call will be “automatically & intelligently routed” by the “recommended call action” to the agents ranked by their level of specialty in handling customer calls in a pro-active manner.

Machine Learning Models

Image by Author

Overall Call priority is calculated by the equation below which takes into account various deterministic factors and predictive models.

Call Priority = ( ∑Customer Importance Score * ∑ Call Volatility Ratio * Risk Propensity to Leave )

Call Priority Equation= ( ∑ CIS * ∑ CVR * $RAP )

All the numerator inputs of the equations are normalized in the range of 0–1. The end result of the equation will be normalized in the range 0–1 with 1 indicating utmost urgency of the call and 0 being the lowest priority.

1.Customer Importance Score (CIS)

The “Customer Importance Score” is a metric derived by the predictive models shown below. The weighted average is left for configuration by a business user.

1.1 Customer Satisfaction Model

The customer satisfaction model is a text book concept and its definition varies from company to company. It can be customized by parameters specific to a company. For example, ACSI defines a customer satisfaction index per industry but most companies prefer to construct their own feature vectors to arrive at this matrix.

This is a classification model built upon the customer profile by taking input such as, the net promoter score (NPS) of the customer, customer responses to past offers and the demographics of the customer. The classification method used can be any classification algorithm. (CRT/C5 etc).

1.2 Customer Profitability Model

  • This is a classification model built using a customer’s past payment standing with the company. This may take into account factors such as customer plan, cost to business, profit to business, income level of customer and any past delinquency from the customer. Customer profitability is again a company specific concept as different factors can determine its exact definition. At a very basic level it’s often the gap between cost and revenue and all companies want to maximize it. So we know that this factor needs to be maximized. Many more factors can be used as described in this article.
  • The classification method used can be any appropriate classification algorithm. (C5/CRT).

1.3 LTV (Life Time Value) Model of Customer

This is a Cox regression model built upon the customer profile, to provide the life time value of the customer to the business. The life time value of the customer is the concept widely used in the Telecom sector to determine how much a customer is worth over a long period and the value that one can get over his/her survival lifespan.

Customer Importance Score = Weighted Metric {Customer Satisfaction Score, Profitability Score, Customer Lifetime Value Score}

2. Risk Propensity Score (RAP)

  • Not all customers react same the way to waiting in a queue. Customer behavior for waiting to be attended to is different for each customer. Some may have a higher risk propensity to leave/attrition/churn rate to the business as opposed to others.
  • Based on past customer responses, a call center might predict the risk propensity of a customer to stop doing business if they are not attended to within a given time limit. This can also take into account previous call center logs which may contain information related to this (and other similar) customer. This may lead to customer profiling information that can be used to match current customers with them.
  • The algorithm used can be a Neural Net algorithm to calculate a propensity score as it will need to be adjusted to a number of random variables which may or may not have any correlation between them. The following link describes how neural net can be a good choice for customer profiling based risk prediction.

3. Call Volatility Ratio — CVR

  • Not all calls by all customers (even if they are important customers) are of equal significance each time, few calls need prioritized attention. Predicting individual call priority by anticipating the motive is an important factor.
  • Customers making calls 3 times in the same day or multiple times in same week for the same complaint would be considered a serious call compared to others.
  • The relative age of recent calls with weighted average and time inverse functions need to take into account recent calls made by a given customer in the recent past.

An algorithm for “Finding Frequent Items” which takes into account the relative age of calls can be used. The counter based “Lossy Counting” algorithm is a good candidate for this.

ML Pipeline:

The above models together provide the call priority.

Call Priority Equation= ( ∑ CIS * ∑ CVR * $RAP )

This call priority can then be used with a Decision Optimization system to optimize the contact center queue automatically and route it. For more clarity it can be augmented with specific business rules as applicable to each company. The overall architecture might be as follows:

Image by Author
Image by Author

Based on constraint factors of profitability and queue waiting cost, using decision optimization, an AI system can either leave it in the queue or route it to one of the “specific agents” ranked by their specialty in handling customer calls in a pro-active manner — or perform some other desired action.

I hope you enjoyed this blog post. Your comments are always appreciated.

--

--

Kunal Sawarkar
Inside Machine learning

Distinguished Engg- Gen AI & Chief Data Scientist@IBM. Angel Investor. Author #RockClimbing #Harvard. “We are all just stories in the end, just make a good one"