Intelligent Call Routing: Optimizing Contact Center Throughput Abbas Raza Ali Business Analytics Center of Competency IBM United Kingdom
[email protected]
ABSTRACT In recent years, most companies now interact with their customers for businesses purposes through contact or call centers. Substantially, customers now perceive a company through their interaction with Customer Services Representatives (CSR’s) in their centers. The CSR has become the key role and channel in maintaining brand reputation and ensuring customer retention. Explicitly, in a contact center environment Customer and CSR are the two main transactional entities, and business development depends on their interaction. Contact center management routinely adopts numerous processes to enhance centre services by training their CSRs, call recording for quality monitoring, acquiring customer feedback after the call, and assessing similar factors. However, these factors are often inadequate in advancing the customer experience, due to operational scale and being exclusively focused on the telephone as the medium for interaction. Every contact center strives to maximize its value through, improved customer satisfaction, retention and first call resolution; and minimized communication expenditures, for example, call handling time or talk time. Smart call routing can manage these improvements to enhance overall customer experience, leading to sales and maintained quality of service. The CSR to Customer call-outcome is the critical success factor (CSF) to improvement and optimization. This paper considers a new operational model for achieving significantly improved calloutcomes. A call outcome in contact center environment is most typically random, like flipping a coin, to tell whether a call achieves a sale or not. This random outcome can be made more certain if predicted and optimized by exploiting personal chemistry as a critical factor. Fortunately contact centers are more controlled environments within which to gain psychographic and demographic insights to gauge customer/CSR chemistry. This paper proposes that descriptive, predictive and prescriptive analytical techniques can be applied to psychographic and demographic insights; to find the ideal mapping between them. By using those techniques, the model shows a ten to fifteen
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MDMKDD’11, August 21, 2011, San Diego, CA, USA. Copyright 2011 ACM 978-1-4503-0841-0…$10.00.
percent improvement in call-outcomes.
Keywords Artificial Intelligence, Contact Center, Critical Success Factor, Customer Service Representatives, Demographic, Inbound, Machine Learning, Predictive Analytics, Optimization Theory, Psychographic, Skill Based Routing (SBR).
1. INTRODUCTION Contact centers have become the heart of every business, providing information, after sale services and, marketing to both existing and potential customers. Centers usually operates in two modes; inbound, where contact center receives call from customer for product support, information inquiry etc; and outbound, where outgoing calls are made by the contact center CSR for telemarketing, debt collection or similar purposes. Inbound contact centers are labor-intensive, with the cost of CSRs accounting for 70% of the overall operating budget [8]. According to a detailed study on inbound contact center staffing in 2008, the USA has 47,000 call centers and 2.7 million CSRs; Europe, Middle East, and Africa together have 45,000 call centers and 2.1 million CSRs; Canada and Latin America have an estimated 305,500 and 730,000 CSRs respectively. India has over one million CSRs and that market continues to grow rapidly [15]. With this rapid growth contact centers can operate under tough conditions due to the low call contention ratios for customers and CSRs to expensive telephony infrastructure and skilled human resources. An optimized contact center can accomplish its key operations with minimum operating cost yet give a maximum of throughput [5]. Contact centers usually provide services to their customers according to demographics, customer and CSR interest, opinion, activities, accent, and similar. A constraint remains though as it’s not possible to train every CSR to handle every type of call. Typically contact centers divide their CSRs’ into groups by their specialized skills, and route calls to them based on those skills. This is known as skill based routing (SBR). The operational complexities and challenges of SBR are well described in [12]. A solution to reduce these complexities, improve customer satisfaction and increase overall revenue is proposed in this paper. The intelligent call routing technique usually exists in two main states. First, where CSRs are available and the routing technique chooses between one incoming call and more than one available CSR (n-CSR:1-Customers), with the disadvantage of underutilizing CSRs. In second state, callers waiting in queue and routing technique chooses between one CSR who becomes
available (1-CSR:n-Customers), which creates annoyance to callers. Contact centers try to manage the boundary between these two states; not too many CSRs’ available nor too many callers in queue. Customer retention maximization is strongly related to the way existing customers are serviced for their product, becoming loyal advocates of that product or brand; which in turn attracts new customers [12]. The model proposed can significantly increase sales, improves customer satisfaction, and reduces average call handle time. It provides optimization based on underlying Customer and CSR demographics, psychographics, and historical performance information. By mapping hundreds of features and using advanced analytics, intelligent call routing helps in boosting overall contact center throughput. The Intelligent call routing system is comprised of two core modules: Switch and Mapper. When calls arrive from a telephony switch via the Switch module, it invokes the Mapper and responds by returning the optimized CSR-Customer pair mappings. The Switch modules plays intermediary function between PBX/ACD and Mapper, there is no direct interface between them. The main roles of introducing the Switch layer is to provide translated messages to Mapper that Switch received from PBX/ACD and perform operations like call queuing and routing based on the scores returned from Mapper. By involving Switch module in the system, the core module - Mapper becomes generic and all the message interpretation of most of the telephony switches like Genesis, Cisco, Rockwell, etc. is done in Switch Module. Highlevel architecture of the system is shown in Figure 1.
When the Switch module gets any event from PBX/ACD, it invokes Mapper and passes call related information to it, including available CSRs and customers’ list that are waiting in queue. Mapper generates all the possible combinations of those CSRs and customers’ features, apply necessary preprocessing, and pass it to predictor. Predictor scores all the combinations by setting ‘sale’ as the desired outcome and sending data for sales scoring, set talk time outcome and pass it for cost scoring, and set satisfaction level outcome and send the data for satisfaction level scoring. After scoring three lists based on their outcomes, they pass to the optimizer module which generates a single most optimal list containing unique and most optimal mappings of CSRs and customers. That optimal mapping will be the mixture of revenue and satisfaction maximization as well as cost minimization. The optimal CSR-Customer pairs then returned to Switch module for call routing purpose.
2. BACKGROUND The core component of intelligent call routing system, known as Mapper, is based on the principles of Artificial Intelligence. It is integrated with descriptive, predictive and prescriptive analytics which provides the core basis deriving optimal CSR-Customer pairing. It gets input from a telephony switch which contains customers billing telephone numbers (BTNs) and list of available CSRs. Following are some background of those components which is required to understand the system.
2.1 Switch To make Mapper generic and simple a layer between the telephony switch interface and Mapper is introduced known as the Switch. It provides an interface and compatibility of the system with multiple modern, and legacy telephony switches, such as Genesis, Cisco, Rockwell, etc. It transcribes telephony switch messages to a Mapper understandable format and expects optimal mapping returned from it for call routing purpose.
2.2 Advanced Analytics The Advanced Analytics discipline is a mixture of Statistics, Machines Learning, Data Mining, Information Theory and Retrieval, Operations Research, Visualization and many are considered. Advanced Analytics can be further divided into three main groups; descriptive, predictive, and prescriptive. Descriptive analytics used here for statistical analysis of the dataset, regression analysis to find interactions between CSR and Customer, visual description of the distribution of data as well as cluster the data into more homogeneous groups. The refined dataset and CSR-Customer interactions are then used in predictive modeling to score all the possible combination of customers waiting in queue and CSRs available to take call. These scorings are used to find most optimal mapping out of the all possible combinations and all three outcomes including Sale, Cost, and Satisfaction level. The above three analysis tools are used to optimize overall contact center operations.
3. DATA
Figure 1. Highly level architecture of intelligent call routing system.
Intelligent call routing problem can be best solved by supervised machine learning algorithm. This type of learning algorithms classifies data based on an outcome feature of the dataset. So to gather demographics, psychographics, and outcome features of customers and CSRs three different data-sources are used. Customer data is gathered from two sources, Acxiom’s Customer Data Integration (CDI) and Census, and known as ‘Customer
for data modeling purpose. The final model is stored in database in Predictive Modeling Markup Language (PMML) format. The above procedures are executed offline and know as offline training process.
Information’ in context of current system. Customer Information uses BTN or their telephone exchange as primary key to invoke customer features for an incoming call. Other features include gender, age, marital status, education, income, race, and ethnicity
Table 1. Raw datasets of CSRs, Customers and call history databases CSR Information Extension
MBTI
GENDER
20032
INFP
1
1
20198
ESTJ
1
20003
INTP
2
20008
ESTP
20015
ESTJ
Customer Information
RACE_WHITE RACE_BLACK
GENDER_FEMAL
History Data AGE Extension
BTN
GENDER_MALE
0
2317860126
1
0
25
20032 2317860126
1
3.15
0
1
2347865940
0
1
31
20198 2347865940
0
4.65
2
0
1
2677862799
0
1
34
20003 2677862799
1
2.30
3
1
1
0
4557894619
1
0
29
20008 4557894619
1
5.76
5
2
0
1
4787893176
1
0
21
20015 4787893176
0
6.43
1
in the form of individual or area wise percentages. CSRs data is gathered in the form of surveys, known as ‘CSR Information’. In this dataset, CSR extension is considered to be unique feature and used to invoke CSRs features on availability. Other features include gender, age, education, math-ability, language-ability, Myers-Briggs Type Indicator (MBTI), interests, and race. The MBTI is the most trusted and widely used assessment for understanding individual personality differences [13]. These two datasets are needed to be updated on regular basis to ensure the accuracy of the data. The outcome and CSR performance features are gathered from another data-source known as ‘historical data’. This data contains logs of telephony switch, it tells some vital information of the Customer and CSR interaction about call. Every instance of the data contains extension of the CSR who received the call, BTN of the customer who dialed the call, and outcome of the call in the form of sale or not sale, for how much time Customer and CSR communicated can get from call start and end time, and satisfaction level outcome marked by customer based on the services CSR provided.
4. METHODOLOGY The intelligent call routing system is consisted of two main parts; Switch and Mapper. Switch is working as middle layer between telephony switch and Mapper. There are two main purposes of introducing this layer: 1. to separate out core analytics functionality, which is written in Mapper, from other tasks like customers call queues, agents status track, transcription of telephony switch messages in Mapper readable format, manage optimal scores returned by Mapper for call routing, maintain CSR and customer call detail including outcome, etc. 2. to provide compatibility of the system with most of the famous telephony switches. Switch layer translates telephony messages and passes two features to Mapper on every call arrival event - available CSR extensions and customer BTN who are waiting in queue. These events are originated from telephony switch. Mapper fetches remaining features of CSR and customer based on their extension and BTN, from their relevant databases and creates two datasets. Call history data is also used to get outcome features which is the requirement of supervised learning algorithm. Raw dataset of CSRs, customers, and call history are shown in Table 1. These datasets are then merged to form a single training-set and passes
E
BTN
SALE
COST SATISFACTION 4
The data model is then loaded by the real-time or online scoring process in memory and waits for customer calls. Whenever a call arrives it gets information of available agents and customers waiting in queue from the Switch layer and does the same process as of training process. But in this process data modeling is performed to score data, rather than modeling, by setting sale, cost, and satisfaction as outcome one after the other. Predictor generates three separate lists of scores, one for each outcome, representing the best mapping of CSR and customer based on their features. These lists pass to optimizer to generate single globally optimized list of CSR and customer pairing which maximizes the sale, and satisfaction, as well as minimizes cost. This single list then returned to Switch layer for call routing purpose. Mapper works as brain of the system and integrated with advance analytics capabilities. It is divided into the following components and processes: 1. Predictor a. Offline training process b. Online scoring process 2. Optimizer
4.1 Predictor Predictor component scores the available CSRs against customers in queue. It is further divided into two independent processes offline training and online scoring process. These processes are separated from each other just because of their execution type like training process is offline and scoring is a real-time process, otherwise both does data modeling. The training process generates training model on updated call history data on regular basis. The model is stored in PMML format in a common database accessible by both training and scoring processes. Scoring process, on the other side, loads that updated model, on monthly basis, in the memory and scores real-time CSR and customer data. These processes are discussed in detail as follows:
4.1.1 Offline training process In this process, three data-sources are used for training purpose CSRs and customer information, and call history data. The call history or historical data provides five features from CSR and customer past communication records. Those includes extension of the CSR who received the call, BTN of the customer who dialed the call, and outcome of the revenue, talk time, and
numbers like extension and BTN.
satisfaction level outcome marked by customer based on the services CSR provided. The satisfaction input is collected from the customer after every call with the help of interactive voice response system. The CSRs and customers features are fetched from their respective databases with their unique identification
Public Switched Telephone Network (PSTN)
The final training dataset passed to preprocessing module for some data manipulation and quantitative analysis. Data manipulation includes elimination of sparseness in data by introducing a very small value for unknown fields, scaling,
Private Branch Exchange (PBX) / Automatics Call Distributor (ACD)
Switch
Historical Data
Training Data
1. Eliminate Sparseness 2. Scaling 3. Dimensionality Reduction 4. Elimination of Uncorrelated Features 5. Elimination of Outliers 6. Transformations
CSR Information
1. Supervised Learning Algorithms 2. Analytical Processing Algorithms
Data Models of each outcome with maximum accuracy
Data Modeling Data Model Conversion to PMML format
Preprocessing
Customer Information
Offline Training Process Load Data Model
Data Model Conversion from PMML format
Load Customers in Queue Data Load Available CSRs Data
Preprocessing
Construct Dataset for scoring
Data Modeling to score every combination of
Online Scoring Process
Predictor
Optimization of outcome percentages
R%, C%, S%
R% x Revenue + C% x Cost + S% x Satisfaction
pairing that maximizes overall outcome Optimizer Contact Center
Call Routing Information
Data Integration / Real Time Monitoring Mapper
Optimal Pairing of
Figure 2. Detailed architecture of intelligent call routing system.
Switch
dimensionality reduction by removing features with least variation, and data transformation by merging or expanding some features. The quantitative analysis includes regression to populate interactions between CRS and customers, elimination of uncorrelated features, and elimination of outliers.
waiting in queue. It communicates with offline training process only through ‘data models’ database. The training process keep updating the models in that database on monthly basis and this process loads it in the memory from there. The model update scheduler enhances overall prediction accuracy. This process
Table 2. Training data format extracted from CSRs, Customers and call history databases Extension
BTN
CSR CUSTOMER CUSTOMER CUSTOMER CUSTOMER CSR CSR MBTI SALE COST SATISFACTION ESTJ GENDER_FEMALE GENDER_MALE RACE_BLACK GENDER_FEMALE GENDER_MALE AGE_15-24 AGE_25-34
20032 2317860126
0
0
1
0
0
1
0
1
1
3.15
4
20198 2347865940
1
0
1
1
1
0
0
1
0
4.65
2
20003 2677862799
0
1
0
1
1
0
0
1
1
2.30
3
20008 4557894619
0
0
1
0
0
1
0
1
1
5.76
5
20015 4787893176
1
1
0
1
0
1
1
0
0
6.43
1
After analysis and augmentation, data is passed to modeling process and all available and well known supervised learning algorithms are applied on it to find the best algorithm for the data. The algorithms used in data processing module are generalized linear model, neural network, support vector machines, and random forest. The overall performance of the system is measured in terms of area under the curve (AUC). The algorithm which gives maximum AUC is converted in PMML format and stored in the database. The trained model is converted to PMML format for generalization purpose, and to become training and scoring processes independent of each other. Neural network trained data model is converted in PMML format shown in Figure 4. The data modeling process run all algorithms on same dataset with sales, cost and satisfaction outcomes separately and stores three models in database including their preprocessing information. The data modeling is based on interactions between CSR and customer. An interactive model is used here rather than entire dataset is passed to learning algorithms for modeling. Figure 3 is showing interactions of CSR and customers demographics and psychographics interactions.
almost does the same tasks as training process but with little variations. In online process, CSRs and customers data come from real-time environment rather than call history database and other variation is that the learning algorithms predict outcome rather than train model. As it is mentioned that this is a real-time process so with accuracy, efficient scoring also becomes key factor. To make the process efficient it is further divided into two phases: 1. Initialization 2. Prediction
4.1.2.1 Initialization The initialization phase executes only whenever it finds updated model in the database and loads it in memory. CSRs data is also loaded in the memory and updates on monthly basis with data model. Mapper loads CSR data in its process memory, but customers data cannot be loaded in the memory because it contains millions of instances and about 30 features. So, few features of customer data has to be loaded from database and preprocessed whenever this process will be invoked by Switch layer. Customer data processing usually takes about 4-6
Figure 3. Sample interactive model. The offline training process is scheduled on monthly basis to keep model updated with new historical data. It is necessary because, in some cases, new CSRs joined contact center their historical data should be updated otherwise for these CSR who has no record in CSR information database, their features will be predicted with average values and they were not part of training model as well. Other purpose of scheduling of training process is, if at any stage data pattern changes and some other algorithm giving more accuracy than current one, then the new algorithm giving maximum accuracy will be replace the existing one, otherwise scheduler will just update model of existing algorithm.
4.1.2 Online scoring process This process is invoked by the Switch layer whenever a customer call is arrived in real-time environment. It receives two features extensions of available CSRs and updated list of customer BTN
milliseconds for up to 100 instances. But in initialization phase its query based on features required by data model, is prepared. And in prediction phase that query fetch only relevant records rather than entire features of the customers to save processing time. This phase reduces overall processing time of online process.
4.1.2.2 Prediction This phase fetches information of customers waiting in queue from the database, based on the query prepared in initialization phase. That information is preprocess and merged with preprocessed in-memory CSRs information, done by initialization phase. The merged dataset contains all combinations of CSRs and customers information. For example, if at any stage there are 10 available CSRs and 15 customers are waiting in queue, then the combined dataset will contain 10 x 15 = 150 instances. This dataset passes to learning algorithm for scoring purpose based on all three outcome features one after the other. The predicted
scores of three outcomes then passed to optimizer to get single and unique pairing of CSR and customers maximizes revenue and satisfaction as well as minimizes average call handle time from the provided lists.
4.2 Optimizer Optimization theory is a mathematical technique for determining the most optimal choice out of a set of alternatives. It is applied here to determine the most optimal mapping of CSRs and customer from three lists optimized locally for three different outcomes. This component gets three list from Mapper component contains CSR extension, customer BTN, score of combination and outcome for which it is optimized. By applying objective function and constraint, shown in Figure 5, a single CSR-Customer unique and most optimal mapping is determined and returned to switch layer for call routing purpose. Optimizer also stores optimal routing information in call routing database for data integration and real-time reporting purpose.
Figure 5. Object function and constraint which optimizes revenue, cost, and customer satisfaction level.
5. EXPERIMENTS For real-world noisy data, it could be more difficult to select an algorithm capable of generating a classifier with the best classification accuracy using random/default parameter selection. In this case, it is possible drawback of getting worse results. Some experimentation has been done on data to find the positive impact of parameter tuning and enhancing overall classifier’s performance. The analysis is based on three supervised learning algorithms Neural Network, Random Forest, and Support Vector Machines, their algorithms, observations, and benchmarking are discussed in this section of the paper.
5.1 Neural Network Feed-forward neural network with a single hidden layer network is used. Neural network’s algorithm exposes many parameter of the algorithm, but an important parameter which can create significant difference in overall performance, is number of units in hidden layer. To find optimal network size structural adaptation approach is used, in which, many different network architectures have to try, train them all on the same training-set but with different samplings of training and validation-set and choose one that generalizes best to the validation-set. Following is the tuning algorithm in R language and ‘nnet’ library is used after that for network training on calculated optimal parameters. 1. nRows = nrow(dataset) 2. for (i in 1:maxFolds) { 3. split = sample(1:nRows, size = floor(0.9 * nRows), replace = F) 4. for (j in 1:maxHiddenUnits) { 5. model = nnet(target ~ interactions, data = dataset[split, ],
Figure 4. Sample data model in PMML format.
size = j, …) predictions = predict(model, dataset[-split, ], type = "class") errorMat[i, j] = sum(predictions != dataset[-splitSize, “target”]) 8. } 9. } 6. 7.
10. bestSize = which.min(colMeans(errorMat)) 11. bestModel = nnet(target ~ interactions, data = trainingset, size =
bestSize, …) 12. predictions = predict(bestModel, validationset, type = "raw")
5.2 Random Forest Random Forests are a combination of tree predictors such that each tree depends on the values of a random vector sampled independently and with the same distribution for all trees in the forest. It grows many classification trees. To classify a new object from an input vector, the input vector is placed under each of the trees in the forest. In random forest algorithm a parameter tells about how many number of variables randomly sampled as candidates at each split. The optimal selection of that parameter can generate significant accuracy. ‘RandomForest’ library of R provides a tuning function to calculate the most optimal value of the parameter; its procedure is given below: 1. tuneModel = tuneRF(x = trainingset, y = validationset, mtryStart
= 1, stepFactor = 2, ntreeTry = 500, improve = 0.01, …) 2. bestMTry = tuneModel[tuneModel[, 2] == min(tuneModel[, 2]),
Table 3. Comparison of random and optimal parameter selection Optimal Random Parameter Parameter Algorithms Selection (in Selection (in AUC) AUC) Neural Network Support Machines
Vector
Random Forest
58.7
63.4
57.6
61.2
59.2
63.0
6. RESULTS Three different datasets are used for comprehensive benchmarking of the system. These datasets contains information from different industries providing services to their customers through contact centers. Raw datasets are passed to the offline training process and prediction accuracies (AUCs) are recorded in Table 4.
1] 3. bestModel
= randomForest(disposition~interactions, data = trainingset, mtry = bestmtry, …) 4. prediction = predict(bestModel, validationset, type = "response")
Table 4. Benchmarking of three different data-sources Source
5.3 Support Vector Machines It is observed from experiments that cost and gamma parameters can boost overall accuracy of support vector machine algorithm. Cost parameter in SVM is a regularization term, which provides a way to control over-fitting. If this parameter becomes large enough, it is unattractive to not respect the data at the cost of reducing margins. On contrary to this by setting small value, it is easy to account for some data points with the use of slack variables and to have a fat margin placed so it models the bulk of the data. Slack variable are attached with every data point and these are zero for correctly classified points, and greater than zero for data-points which crosses the margin. ‘SVM’ library of R provides a tuning function to find most optimal value of cost and gamma parameters based on the training data. The procedure is given below: 1. tuneModel = tune.svm(target ~ interactions, data = trainingset) 2. bestGamma = tuneModel$best.parameters[[1]] 3. bestCost = tune$best.parameters[[2]] 4. model = svm(target ~ interactions, data = trainingset, gamma =
bestGamma, cost = bestCost, …) 5. bestModel = model$best.model 6. prediction = predict(bestModel,
validationset,
type
=
"probabilities")
5.4 Benchmarking To prove impact of the above mentioned parameters of random noisy data some experimentation has been performed and results are shown in Table 2. Multiple iterations are executed on each algorithm and same dataset but with random sampling to find stable AUC.
Dataset 1
Dataset 2
Dataset 3
Algorithm Generalize Linear Model
Sale Cost Satisfaction 57.9 55.3 53.0
Neural Network
64.9 63.0
59.6
Support Vector Machines
62.4 67.2
57.6
Random Forest
59.5 57.8
59.2
GLM
56.6 59.3
54.8
Neural Network
63.4 68.1
58.6
Support Vector Machines
61.2 63.9
59.1
Random Forest
63.0 62.4
62.6
Generalize Linear Model
52.1 58.1
53.9
Neural Network
55.8 62.0
56.2
Support Vector Machines
60.1 62.4
57.1
Random Forest
58.3 57.9
60.7
The above table shows training model accuracies and predicting about 10 to 15 percent boost in overall performance which is a significant value. In online scoring process this boost is verified by running the system in epochs, calls are passed through Mapper in alternative epochs. In call routing information database, it is marked with every call that it is randomly routed call or optimally. That information is used to calculate overall boost by applying following:
Revenueboost calculation : No. of sales in optimallyrouted calls O= Total optimallyrouted call No. of sales in randomlyrouted calls R= Total randomlyrouted call
Average Call Hande Time boost calculation : Sum of talk time in optimally routed calls O= Total optimally routed call Sum of talk time in randomly routed calls R= Total randomly routed call Satisfaction - level boost calculation : Sum of satisfaction - level in optimally routed calls Total optimally routed call Sum of satisfaction - level in randomly routed calls R= Total randomly routed call
O=
O+R R negative boost if O > R Q in case of average call handle time positive boost if O ≤ R Benchmarking of real - time data =
The graph shown in Figure 6 is the area under the curve plot by modeling Dataset 1 to optimize satisfaction-level using neural network algorithm. The AUC value is 59.6 means the model is better than chance and gained 9.6% boost. The blue diagonal line is showing that a model is not better than chance and its AUC value 50 means zero boost.
achieved by scheduling offline training process after a specific period of time with updated historical data. During a typical update cycle, if the previously selected algorithm keeps on giving maximum value of AUC for a campaign, its relevant data model will undergo refinements. This will prove as an indication that for a certain contact center there is a Machine Learning algorithm which is best suitable. However, the proposed Mapper architecture is capable of switching to a different algorithm if it proves to be giving a higher AUC value than the current one, which helps in keep maintaining better accuracy of the system.
8. FUTURE WORK Analytic Network Processing (ANP) algorithm will apply on the same demographic, psychographic and historical performance dataset to find interaction and feedback within and between clusters of features. It will give inner and outer dependency between the features and can model effects of interactions. From some preliminary studies and experimentations, it is expected to get notable improvements in systems accuracy.
9. ACKNOWLEDGMENTS The author wishes to thank Kenneth N. Tombs, Percipience JV, for subject discussion on the Analytic Network Process, and review of the paper.
10. REFERENCES [1] Tang, M., Pellom, B., and Hacioglu, K. 2003. Call-type classification and unsupervised training for the call center domain. In Proceedings of IEEE Workshop on Automatic Speech Recognition and Understanding, pp. 204-208. [2] Nauck, D., Ruta, D., Spott, M., and Azvine, B. 2006. A Tool for Intelligent Customer Analytics. In Proceedings of 3rd International IEEE Conferences on Intelligent Systems, London, pp. 518-521. [3] Cooper, R. B. 1997. Introduction to Queuing Theory. New York, 2nd edition. [4] Franzese, L. A. G., Fioroni, M. M., Botter, R. C., and de Freitas Filho, P. J. 2009. Comparison of Call Center Models. In Proceedings of the Winter Simulation Conference, Texas, pp. 2963-2970.
Figure 6. Area Under the Curve (AUC) plot by modeling Dataset 1 to optimize satisfaction using neural network algorithm.
7. CONCLUSION Industry research consistently shows that the central driver of customer satisfaction is the degree to which CSR and client establishes a rapport over the course of their interaction. In turns what drives rapport and engagement, is the degree to which CSR and Customer personalities coincide. Intelligent call routing system is a further extension to this concept for contact centers to deliver best services to the valued customers. Applying machine learning algorithms that are able to recognize data patterns through repeated learning techniques and effectively developing matching strategy between Customer and CSR will prove beneficial in maximizing overall contact center throughput. Another distinctive feature of the system is the means by which the predictor is capable of automatically updating and refining itself against a specific machine learning algorithm. This is
[5] Mehrotra, V., and Fama, J. 2003. Call center simulations: call center simulation modeling: methods, challenges, and opportunities. In Proceedings of the 35th Conference on Winter Simulation: Driving innovation, Louisiana, pp. 135143. [6] Koole, G. 2004. The Calculus of Call Center: Server Level Definitions and computations. In proceedings of MSON Conference, Amsterdam. [7] Chuchual, P., Chongpravatisakul, N., Kusolmanomai, T., and Komolavanij, S. 2010. Inbound and outbound calls assignment for an efficient call center. In Proceedings of 7th International Conference on Service Systems and Service Management, Tokyo, pp.1-4. [8] Aksin, Z., Armony, M., and Mehrotra, V. 2007. The Modern Call-Center: A Multi-Disciplinary Perspective on Operations Management Research. In Production and Operations Management, vol. 16, no. 6, pp. 655-688. [9] Jing, L., and Min, G. 2010. Predicting Call Center Service Grade with Improved Neural Network Algorithm. In
Proceedings of Intelligent Systems and Applications, Wuhan, pp. 1–4. [10] Lawrence, R., Perlich, R. C., Rosset, S., Arroyo, J., Callahan, M., Collins, J. M., Ershov, A., Feinzig, S., Khabibrakhmanov, I., Mahatma, I., Niemaszyk, M., and Weiss, S. M. 2007. Analytics-driven solutions for customer targeting and sales-force allocation. IBM System Journal, vol. 46, no. 4, New Jersey, pp. 797-816. [11] Wang, C., Lu, Y., and Tong, H. 2008. Study on Customer Psychology Satisfaction Alarm System. In Proceedings of Wireless Communications, Networking and Mobile Computing, Dalian, 2008, pp.1-4. [12] Wallace, R. B. and Whitt, W. 2005. A staffing algorithm for call centers with skill-based routing. In Journal of Manufacturing and Service Operations Management, 2005, Vol. 7, No. 4, 2005, pp. 276-294.
[13] Cunningham, P. B. 2000. Improved communication and teamwork through use of Myers-Briggs type indicator. In Proceedings of the 1st Austin Workshop in Engineering Management in Technology-Based Organizations, Austin, 2000, pp. 31-36. [14] Peyravi, F. and Keshavarzi, A. 2009. CSR Based Model for Call Centers Using Knowledge Management. In Proceeding of 3rd Asia International Conference on Modeling & Simulation, Bali, pp. 51–56. [15] Etham, A. 2004. Introduction to Machine Learning. The MIT Press, 2nd edition. [16] Incoming Call Management Institute (ICMI). (2008). Available: www.incoming.com/statistics/demographics.aspx