Wednesday, August 22, 2018

Machine Learning Helps Prioritize Customer Support

Key Challenges

   Extract email content and support history.
   Classify requests into various support categories.
   Determine the user organization hierarchy and email sentiment for prioritization.
   Integrate machine learning (ML) model with Power BI reports.

Business Case

Responding quickly to customer support requests is key to building positive brand value. Many companies use support feedback to improve products and services. But providing excellent customer service is not easy when emails requesting support don’t provide the necessary information.

Traditionally, every support request was deemed urgent. Support tickets were resolved sequentially, based on the order received. When all requests are “urgent,” there is no easy way to prioritize support. Response times varied depending on the complexity of the request. With sequential processing, time-consuming, nonurgent support tickets significantly delayed responses to high-priority tickets. Adding to the problem, tickets were assigned randomly to available engineers without considering the expertise of the engineer responding to the ticket.

To improve customer experience and the efficiency of the support team, we used ML tools to classify, prioritize, and assign support tickets based on the criticality, sentiment, and content of the request.


We used a clustering algorithm to classify support requests and prioritize based on the user hierarchy, sentiment, and ticket category.

Key Highlights

   Created a utility to extract email from the email server and transfer email contents into the database.
   Used Python libraries to preprocess and cleanse data.
   Determined the feature set for the model using a Feature Hashing algorithm.
   Integrated machine learning (ML) model output with Power BI reports.

Figure 1: Support prioritization flowchart
We began by extracting email content from the Exchange server and transferring it to the database. We preprocess the extracted data to remove redundant and stop words. Next, we applied feature hashing techniques to generate a feature list from the cleansed data. We then trained the ML model using a Multi-Class Decision algorithm to sort the user requests into ticket categories.

Next, we trained the ML model to predict the steps required to resolve the support request based on past support requests by using the Decision Forest Regression algorithm. Then, to determine the priority of support request, we extracted the sentiment, user hierarchy, conversation count, and requests age of the ticket. We used these parameters as inputs for the Clustering algorithm to derive the appropriate priority. Finally, we deployed the ML model as a web service for use in Power BI reports.

Business Outcome

Using the Clustering algorithm, we prioritized support requests according to the criticality and sentiment of the request. The prioritization improved overall customer experience and the efficiency of the support ticket process.

Outcome Highlights

   Critical support needs are addressed immediately.
   Prioritized higher seniority customers by addressing the most critical needs first.
   Support tickets are now assigned based on engineer expertise.

Click here to learn more about our AI expertise.