Understanding and keeping the customer happy is a central tenet of requirements engineering. Strategies to gather, analyze, and negotiate requirements are complemented by efforts to manage customer input after products have been deployed. For the latter, support tickets are key in allowing customers to submit their issues, bug reports, and feature requests. Whenever insufficient attention is given to support issues, however, their escalation to management is time-consuming and expensive, especially for large organizations managing hundreds of customers and thousands of support tickets. Our work provides a step towards simplifying the job of support analysts and managers, particularly in predicting the risk of escalating support tickets.
Project Process and Results
In a field study at our large industrial partner, IBM, we used a design science methodology to characterize the support process and data available to IBM analysts in managing escalations. Through iterative cycles of design and evaluation, we translated our understanding of support analysts’ expert knowledge of their customers into features of a support ticket model to be implemented into a Machine Learning model to predict support ticket escalations. We trained and evaluated our Machine Learning model on over 2.5 million support tickets and 10,000 escalations, obtaining a recall of 79.9% and an 80.8% reduction in the workload for support analysts looking to identify support tickets at risk of escalation. Further on-site evaluations, through a prototype tool we developed to implement our Machine Learning techniques in practice, showed more efficient weekly support-ticket-management meetings. The features we developed in the Support Ticket Model are designed to serve as a starting place for organizations interested in implementing our model to predict support ticket escalations, and for future researchers to build on to advance research in escalation prediction. Questions from our analysis can be found Here.
New research questions that would allow further development of the model:
• What is a meaningful time window for the decay of customer history? (One month, six months, etc.)
• What features would better represent customers within organizations? (Open tickets, number of products owned, etc.) • Would certain subsets of the data (countries, product areas,
product teams, etc.) perform better?
• Would sentiment analysis on conversations with the customer during the escalation process improve the model?
• Could NLP techniques be employed to automatically classify the types of customer problems and would certain type of
problems correlate with high risk of escalations?
• Is there a business impact by using this model and its supporting tools? Are there economic savings?