The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom
As the saying goes wisdom is an asset of unmatchable importance, wisdom comes with intelligence. In computers, intelligence comes with extracting meaning out of data using Data Science. A little tinge of intelligence can turn an instruction-taking information system into an instruction-giving thinking machine.
In the previous post we discussed the idea to create an intelligent routing system in Dynamics CRM that can tell which Support Rep is best suited to resolve a customer ticket. If you missed the introductory post and the agenda, I recommend you to read it first to understand the following content better.
Prepare Dynamics CRM to marry Data Science
Before we start training our machine learning engine, we need to prepare our data to suit the data science algorithms better. We will use the following techniques
1. Classification using Support Vector machines : to find out what team/department the ticket belongs to
2. Logistic Regression: to predict the most suitable agent
We will train our Machine learning engine first using a supervised approach based on the existing tickets. In nutshell, it will understand the characteristics of various types of tickets and convert them into mathematical form, then predict by applying mathematical formulas on those characteristics. Some examples of these characteristics can be
- Which Support Rep is better at handling certain kinds of customers
- Which Support Rep generally resolves a ticket earlier than estimated
- What are the traits of a ticket that belongs to certain category e.g. Investment Category
Let us see how our data looks like..
If you recall we are an advisory support organisation that primarily deals with Tax, Investment and Medical queries. Below is the how our historical ticket database looks like
It is all fictitious data. Neither the customers are real nor the Reps. But the ticket contents are realistic.
You cannot train a machine learning system with rubbish content, your samples have to be relevant to the domain for which you are building the ML model.
Data that will used by Data Science
Let me explain the fields
Description – This is email or phone transcript from the customer which contains the queries/questions and problem definition of the ticket
Department – The Department to which the query belonged to. In the past it was manually set by Tier 1 Agent, but now our system will predict it automatically
Type – It is the industry sector / vertical of the Customer. It will used as well in the algorithm, which I will explain the upcoming posts
Support Rep – The Rep who worked on the query
Estimated Time – ETA given by the Support Rep before starting work
Total Time Spent – Actual time taken by the Support rep to perform work before moving to next query
Below is a view of our Intelli-routing engine that shows how the engine will fit inside CRM and integrate with Machine Learning WS
Its self explanatory, basically I will build my engine using Python. It can be deployed in Azure Machine Learning (as it supports Python). But my Azure access has expired so I will use another provider to host my web service.
In the next post we will start building our Intelli-routing model in Python and train the classifier.