1. Technical Field
The invention relates generally to the field of interactive voice response systems. More specifically, the invention relates to prediction of customer issues in an interactive voice response system based on customer attributes and one or more models of issue probability.
2. Description of the Related Art
Customer service management traditionally includes interaction between a customer and a customer service agency. Interaction between the customer and the customer service agency has traditionally been in the form of a human to human conversation conducted over the phone or in real-time text chat. However, interactive voice response (IVR) systems have become more and more commonplace.
One shortcoming present in existing interactive voice response systems is that customers tend to become annoyed or frustrated with level upon level of questioning from the IVR system to determine the customer's purpose for calling. Customer frustration frequently leads to the customer ending the session early, thereby souring the customer's impression of the products or the company.
Current interactive voice response technologies do not adequately address these shortcomings. Instead, known IVR systems base the options they provide to callers on generalizations and, oftentimes, inaccurate assumptions.
The invention relates to a customer service issue prediction engine that uses customer attributes and one or more models of issue probability to predict customer issues in future IVR interactions. Some embodiments of the invention provide a multi-phase customer issue prediction technique that includes a modeling phase, an application phase, and a learning phase.
In some embodiments of invention, the modeling phase uses historical customer service data to build one or more models of customer service issue probability. The application phase uses in-call customer service input and the one or more models of customer service issue probability to predict why a customer is presently contacting the customer service agency. The learning phase determines whether the prediction was accurate and readjusts the models accordingly.
In the presently preferred embodiments of the invention, the Naïve Bayes algorithm is used to model customer service issue probability.
Some embodiments of the invention use a telephonic interactive voice response (IVR) system to predict customer issues. Some other embodiments use web-based or cellular network-based IVR systems.
A plurality of server-based networking architectures are presented that include an IVR system for carrying out issue prediction. In some embodiments of the invention, an issue prediction engine is employed in a web-accessed customer service response system. According to these embodiments, the web-accessed customer service response system uses a decision engine to determine and predict customer service issues, queries, and problems.
Some embodiments of the invention are extended to other communication channels, such as web-chat, instant messaging, voice over internet protocol (VoIP), mobile device communication formats (i.e. SMS, MMS, etc.), and other communication channels, now known or later developed. In any communication environment, the predictive engine provides the same type of useful information to customer service agencies as in the IVR system.
In the case of web-chat, the predictive engine delivers useful information to a customer service agency for providing web-based issue resolution. In some embodiments of the invention, a proactive chat invitation can pop up if someone is browsing a customer service website and the prediction engine determines that the customer is in need of assistance.
In some embodiments of the invention, the prediction engine delivers a chat invitation to the customer along with providing the customer service agent with tools for resolving predicted customer issues. In some embodiments, the results of this prediction are passed on to the chat customer service agent to help the agent identify the most likely reasons for customer contact, thereby increasing the agent's productivity. In another scenario, the prediction engine provides the customer service agent with pre-scripted resolutions to the predicted issues. In some other embodiments, the prediction results gives customer service agents access to an intelligent knowledge database containing relevant tools to assist the agent in resolving the customer's issues.
The invention relates to prediction of customer issues in an interactive voice response (IVR) system based on one or more models of issue probability.
The IVR prediction engine 104 ingests historical customer data from the database 109 via a modeling module 110. The modeling module 110 processes the historical customer data and creates one or more models of issue probability to predict future customer issues, as explained in greater detail below.
A customer contacts the IVR system with one or more issues and initiates an IVR session. The IVR system collects data from a customer 101 via the voice detection unit 106 during the IVR session. The IVR prediction engine 104 then uses the one or more models of issue probability and the collected customer data to predict what the customer 101 is calling about. The IVR prediction engine 104 makes predictions based on the previously built models of probability. Once a prediction is made about what issue the customer is likely calling about, the IVR prediction engine presents IVR options to the customer via the audio response unit 107.
The IVR system is configured to handle customer service queries, problems, issues, etc. from a variety of sources. For example, in the presently preferred embodiments of the invention, the IVR system is configured to collect queries, problems, issues, etc. from a telephonic IVR platform, a website, and a plurality of mobile devices.
The dynamic IVR architecture 120 comprises an IVR system 121 and a plurality of customer access platforms 122 including a telephonic IVR platform 123, a website 124, and one or more mobile devices 125.
The IVR system 121 uses an identity management system 126 to ingest one or more customer identity attributes from one or more of the customer access platforms 122. The identity management system 126 associates the one or more customer identity attributes with a customer identity identifier. The customer identity identifier is sent along with the one or more customer identity attributes to a decision engine 127. The decision engine 127 processes the one or more attributes, and determines which IVR options are most important to the customer, as explained in greater detail below.
In some embodiments of the invention, the one or more customer access platforms 122 have been previously enabled with a hardware or software decision engine reader application. According to these embodiments, the decision engine reports options to the one or more customer access platforms 122 based on the decision engine's results via an options plug-in 131.
In some embodiments of the invention, the decision engine 127 uses historical customer service transactions for the collective user-base to make its decisions. According to these embodiments, the IVR system 121 includes a collective-user transaction history store 128. In some embodiments of the invention, the decision engine 127 uses user-specific preferences to make decisions. According to these embodiments, the IVR system 121 includes a user-specific preference store 129. The decision engine accesses the user-specific preference store using the customer identity identifier. In some other embodiments of the invention, the decision engine 127 uses historical customer service transactions for the collective user-base and user-specific preferences to make its decisions. According to these embodiments, the IVR system 121 includes both a collective-user transaction history store 128 and a user-specific preference store 129.
In some embodiments of the invention, the IVR system 121 includes a self-serve options wizard 130 to supplement the options plug-in 131 or to create a base level of attributes for the system.
The dynamic IVR architecture 120 can be configured in a plurality of computing environments. For example, in some embodiments of the invention, the IVR system is part of a server-based distributed computer environment.
The first configuration 141 comprises an IVR system 150 coupled with a server 151 and a database 152. The IVR system 150 includes a processor 153, a memory 154 coupled with the processor 153, a network interface 155 coupled with the processor 153, and a prediction engine 156 coupled with the processor 153.
A second configuration 142 comprises server-based IVR system 160. The server-based IVR system includes an IVR processing module 161 coupled with a server-based database 163. The IVR processing module 161 includes a processor 164, a memory 167 coupled with the processor 164, a network interface 165 coupled with the processor 164, and a prediction engine 166 coupled with the processor 164.
A third configuration 143 comprises a server-based IVR system 170. The server-based IVR system includes an IVR processing module 171 coupled with a remote database 173. The IVR processing module 171 includes a processor 174, a memory 177 coupled with the processor 174, a network interface 175 coupled with the processor 174, and a prediction engine 176 coupled with the processor 174.
In the presently preferred embodiments of the invention a multi-phase customer issue prediction method is employed to improve customer satisfaction in an interactive voice response system by predicting customer issues during the interactive voice response session. The multi-phase customer issue prediction method includes a modeling phase, an application phase, and a learning phase.
The method 200 begins in the modeling phase by accessing the modeling module and historical customer records from one or more databases 201. Customer records include, but are not limited to customer-agent interaction data, customer relationship management (CRM) data, customer geographical data, customer demography based information, voice recordings, call quality data, disposition data, verbatim notes, survey data, community data, industry data, customer history, ACSI Index information, a customer loyalty metric such as a Net Promoter Score, a score from J.D. Power and Associates, data from online forums, data from blogs, data from short message format personal media feeds, and combinations thereof.
In some embodiments of the invention, the accessed data is pre-processed 202 into a common format. For example, in some embodiments of the invention, customer-agent voice interaction data is pre-processed with a voice to text application. The pre-processed data is then data-mined 203 to pick out historical issue data asked for by a customer, and historical data relating to that customer's attributes. An example of a historical data relating to a customer service issue is an instance of a caller asking how to operate a smartphone. An example of a historical customer attribute is the fact that that particular customer called using a home phone and voice over internet protocol (VoIP).
The method 200 continues by mapping the historical customer issues to the historical customer attributes 204. Referring to the above example, such mapping would include mapping the smartphone operation issue to the VoIP phone user. Next, one or more models are created 205 to predict what issues future users with a given set of attributes will call an IVR system about.
In some embodiments of the invention, the Naïve Bayes Algorithm is employed to build a prediction model, as explained below. A Bayes classifier is a simple probabilistic classifier based on applying Bayes' theorem (from Bayesian statistics) with strong (naive) independence assumptions. In simple terms, a naive Bayes classifier assumes that the presence (or absence) of a particular feature of a class is unrelated to the presence (or absence) of any other feature.
Depending on the precise nature of the probability model, naive Bayes classifiers can be trained very efficiently in a supervised learning setting. In spite of their naive design and apparently over-simplified assumptions, naive Bayes classifiers have worked quite well in many complex real-world situations. An advantage of the naive Bayes classifier is that it requires a small amount of training data to estimate the parameters (means and variances of the variables) necessary for classification.
In some embodiments of the invention, pluralities of models are created. According to these embodiments, the method 200 includes a step of clustering the plurality of models 206. Once the one or more models of issue probability are built and clustered, the models are made accessible 207 by the prediction engine for use in the application phase.
The application phase begins with a customer contacting the IVR system 208 with one or more customer service issue, problem, query, question, comment, feedback, etc. The IVR system then extracts one or more customer attribute about the customer 209. Using the extracted attributes and the models of probability, the method 200 predicts 210 at least one issue of the current customer. The application phase then presents IVR options to the customer based on the at least one predicted issue 211.
The method of improving customer satisfaction 200 in an interactive voice response system optionally includes a learning phase. The learning phase first determines whether the one or more models of prediction are correct 212. In some embodiments of the invention the determination of whether the issue prediction correctly identified one or more issue of a customer is performed by the interactive voice response system by explicitly asking the customer if the one or more issue prediction was correct during said interactive voice response session.
In some other embodiments of the invention, the determination of whether the issue prediction models correctly identified the issue of the customer is performed implicitly by inferring that the issue prediction was correct when the customer continues the interactive voice response session after being presented with interactive voice response options based on the issue prediction.
If the step of predicting customer issues is deemed to have been made correctly, the method 200 continues by updating the issue probability models 213. In some embodiments, updating the issue probability models 213 comprises re-weighting one or more coefficients in a prediction algorithm.
If the step of predicting customer issues is deemed to have been made incorrectly, the method 200 continues with presenting the customer with an IVR wizard 214 that walks the customer through a plurality of menus 215 for narrowing down what issue the customer is calling about.
The off-line modeling mode begins with accessing one or more database containing historical customer data 301. Next, the method continues as the historical customer data is filtered and pre-processed 302. The filtered and preprocessed data is then mined 303 for issues and attribute, as explained above. The mined data is categorized 304 and the identified customer issues are stored in one or more customer issue database 305.
Next, the customer records are accessed 306 and a plurality of attributes are selected from the customer records 307 that are relevant to the identified customer issues. In some embodiments, the customer attributes are clustered 308. Once the customer attributes are selected, the customer issue data is re-accessed 309 and the customer issues are mapped to the customer attributes to form one or more attribute-issue matrixes 310. Next, one or more issue prediction models are derived using the one or more attribute-issue matrixes and at least one probability algorithm 311.
Once one or more prediction models have been derived, the method 300 is ready for on-line application. The on-line portion of the method 300 begins when a customer makes contact with an IVR system 312. The IVR system extracts one or more customer attribute from the customer's contact. For example, the IVR system can extract information about customers 313 through analyzing their phone number, determining what kind of phone they are calling from, determining who there phone service provider is, determining what kind of calling plan they have, analyzing the time of day that they are calling, etc. Those with ordinary skill in the art having the benefit of this disclosure will readily appreciate that a computer system can learn a wide variety of information about callers explicitly or inductively using a wide range of technologies now known or later developed.
Next, the prediction engine in the IVR system uses the issues predictions models and the customer attributes to make one or more prediction about what issue the customer is calling about 314. Based on the one or more prediction, the IVR system presents the user with IVR options relevant to the predicted issue 315.
The methods and systems explained above create prediction models using historical customer data with probability algorithms to predict future events. The following discussion will analyze how the systems and methods of the invention operate using a particular algorithm and operating in a particular customer service environment.
Specifically, the following discussion is a walkthrough of issue prediction for the caller of a customer service IVR system for a mobile phone carrier company, wherein the prediction models are assembled, at least in part, using the Naïve Bayes algorithm. It will be readily apparent to those with ordinary skill in the art having the benefit of reading this disclosure that a wide variety of probability algorithms can be employed to perform the prediction described herein for any number of customer service environments.
In some embodiments of the invention, a prediction engine is used in the IVR system of mobile phone carrier. As explained above, the prediction engine performs a modeling step to create a prediction model. The modeling steps uses historical data of customer attributes and maps those attributes to common customer service issues.
Table 1 represents a collection of mobile phone customer attribute definition data.
Using the data of Table 1, the prediction engine creates a matrix of historical customer service data for the listed attribute levels. Table 2 represents an example of a matrix of historical customer service data populated with customer attributes and customer service data. Query data in Table 2 is represented by “1” and “0” to indicate if the query had either been present or absent, respectively.
The prediction engine of the IVR system uses the matrix of Table 2 along with a probability algorithm for predicting future issues of customer service. In some embodiments, it is particularly useful to use the Naïve Bayes algorithm for predicting future customer service issues, problems, queries, etc.
P(Q/A1, . . . , An)=p(Q)p(A1/Q)p(A2/Q) . . . p(An/Q) Equation 1
Equation 1 above is used by an appropriately configured processor to calculate the conditional probability, P (Q/A1, . . . , An). The probability of Query Q to be asked by the customer if he possesses the attributes A1, . . . , An. To calculate this probability, we need values of the probabilities shown on the right side of the equation. The probability p (Q) and conditional probabilities p (Ai/Q) can be calculated from the merged data matrix.
In Equation 1, p (Q) is calculated as the ratio of “number of times query Q appears in the matrix” to the “summation of number of times all the queries Q1, . . . Qn occurring”, and p (Ai/Q) is calculated differently for Categorical and Continuous data. Also, the probabilities for all Queries based on the attributes are calculated and top three problems, based on the value of probability are selected.
Using Equation 1, the prediction engine determines probability for incoming categorical data. For example, if a customer calls and it is determined that the customer has attributes (Arizona, Family, Nokia, 230, 120), the probability of an issue being a SIGNAL query can be calculated as follows:
p(Signal/Arizona, Family, Nokia, 230, 120=p(Signal)p(Arizona/Signal)p(Family/Signal)p(Nokia/Signal)p(BznsAge=230/Signal)p(DaysLeft=120/Signal) Equation 2
Therefore, p (Ai/Q) can be calculated as the ratio of “number of times attribute Ai appeared in all the cases when Query Q appeared” to the “number of times Query Q appeared”
Next, the prediction engine references the historical data. For example, the prediction engine looks at the Query Data of Table 2, but it only examines SIGNAL queries. Table 3 is a condensed version of Table 2 in which the prediction engine examines only SIGNAL queries.
The prediction engine uses the SIGNAL queries and consumer attributes of Table 3 with Equation 1 to yield a conditional probability. For example, a SIGNAL query appears seven times while there are a total of seventy-seven queries.
p(SIGNAL)=7/77 Equation 3
The prediction engine then determines how attributes relate to the conditional probability based on how the attributes contribute to the total conditional probability as follows:
p(Arizona/SIGNAL)=1/7 Equation 4
p(Family/SIGNAL)=1/7 Equation 5
p(Nokia/SIGNAL)=2/7 Equation 6
In a similar fashion Table 4 is a condensed version of Table 2, in which only the CANCEL queries are examined.
The prediction engine uses the CANCEL queries and consumer attributes of Table 4 with Equation 1 to yield another conditional probability. The CANCEL query appears ten times while there are a total of seventy-seven queries.
p(CANCEL)=10/77 Equation 7
The prediction engine then determines how attributes relate to the conditional probability based on how the attributes contribute to the total conditional probability as follows:
p(Arizona/CANCEL)=4/10 Equation 8
p(Family/CANCEL)=3/10 Equation 9
p(Nokia/CANCEL)=3/10 Equation 10
The prediction engine then populates these conditional probabilities into a matrix, to be used in final probability calculation. Table 5 is a matrix of conditional probabilities according to this working example.
The cells in Table 5 which contain an asterisk “*” do not have a calculated probability in this document. In an actual calculation these would be populated as well.
The example above considered categorical data. In some embodiments of the invention, the prediction engine determines probability data for continuous numeric data. Assuming that the data is normally distributed, the probability density function is defined as:
Probability at a single point in any continuous distribution is zero. Probability for a small range of a continuous function can be calculated as follows:
Treating this as the probability for a particular value, we can neglect ΔX because this term appears in all the probabilities calculated for each Query/Problem. Hence, we use the density function f(X) as the probability, which we can calculate for a particular numeric value X from its formula.
This mean (μ) and standard (σ) for the assumed normal distribution can be calculated as per the following formulae:
For SIGNAL issues, the mean and the standard deviation for Business Age (BznsAge) can be calculated using the above formulas as follows:
For the CANCEL query, the mean and standard deviation for BznsAge and Days_Left can be calculated in similar fashion as follows:
μBznsAge=248.5
σBznsAge=81.2
p(BznsAge=230/Cancel)=0.018136
μDaysLeft=230.4
σDaysLeft=86.51
p(DaysLeft=120/Cancel)=0.03867
These probabilities are calculated by the prediction engine in real time, with the exact value of the attribute the customer possesses. We can populate a matrix with the Mean and a Standard Deviation computed for use for the probability calculation in real time. Table 6 is a matrix of Means and Standard Deviations for call issues based and customer attributes.
Next, the prediction engine calculates the final probability for a query/problem for the given set of customer attributes. For example, the prediction engine calculates probabilities using the information from the above example as follows:
p(SIGNAL/Arizona, Family, Nokia, 230, 120)=(7/77)*(1/7)*(1/7)*(2/7)*0.029169*0.4289 Equation 14
p(SIGNAL/Arizona, Family, Nokia, 230, 120)=0.0000006632 Equation 15
p(CANCEL/Arizona, Family, Nokia, 230, 120)=(10/77)*(4/10)*(3/10)*(3/10)*0.018136*0.03867 Equation 16
p(CANCEL/Arizona, Family, Nokia, 230, 120)=0.0000032789 Equation 17
The prediction engine uses the probabilities of all the queries/problems for all given attributes. The prediction engine normalizes the probabilities and selects a given number of the top probabilities and the queries/problems corresponding to the top probabilities. For example, the prediction may select the top three probabilities. The prediction engine then determines which query/problem has a higher probability to occur.
Using the data from the above example, the prediction engine normalizes the data set as follows:
p(SIGNAL/Arizona, Family, Nokia, 230, 120)=(0.0000006632/0.0000006632+0.0000032789)*100 Equation 18
p(SIGNAL/Arizona, Family, Nokia, 230, 120)=83.17% Equation 19
p(CANCEL/Arizona, Family, Nokia, 230, 120)=(0.0000032789/0.0000006632+0.0000032789)*100 Equation 20
p(CANCEL/Arizona, Family, Nokia, 230, 120)=16.83% Equation 21
Therefore, the prediction determines that the SIGNAL problem has a significantly high probability of occurrence relative to the CANCEL problem.
In some embodiments of the invention, a Laplace Estimator function accounts for conditional probabilities that are zero. A Laplace transform is an integral transform that simplifies the process of analyzing the behavior of the system, or in synthesizing a new system based on a set of specifications.
For example, it is not appropriate to use zero values because they make the product of the probabilities equal to zero. We account for this problem using the following equation:
wherein χ=number of time Ai occurred when Q occurred y times;
wherein y=number of times Q occurred; and
wherein n=number of queries/problems used.
To avoid the above-mentioned zero-value problem, the prediction engine uses the Laplace Estimator as show below:
wherein 1/n is the prior probability of any query/problem.
Therefore, if the prediction engine does not have the x and y values, 1/n is the probability. Therefore, even if X is equal to zero, the conditional probability has some value.
Some embodiments of the invention are extended to other communication channels, such as web-chat, instant messaging, voice over internet protocol (VoIP), mobile device communication formats (i.e. SMS, MMS, etc.), and other communication channels, now known or later developed. In any communication environment, the predictive engine provides the same type of useful information to customer service agencies as in the IVR system.
In the case of web-chat, the predictive engine delivers useful information to a customer service agency for providing web-based issue resolution. In some embodiments of the invention, when a customer is browsing a customer service page, a proactive chat invitation can pop up if the prediction engine determines that the customer is in need of assistance. According to these embodiments, a customer may engage in an interactive browser-based chat exchange with a live customer service agent.
According to the web-based embodiments, the predictive engine delivers useful information to a customer service agency for providing web-based issue resolution. In some embodiments of the invention, a prediction engine gathers customer attributes via an internet protocol and predicts customer service issues automatically.
As explained above, in some embodiments of the invention, the prediction engine delivers a chat invitation to the customer along with providing the customer service agent with tools for resolving predicted customer issues. In some other embodiments, the results of this prediction are passed on to the chat customer service agent to help the agent identify the most likely reasons for customer contact, thereby increasing the agent's productivity. In another scenario, the prediction engine provides the customer service agent with pre-scripted resolutions to the predicted issues. In yet other embodiments, the prediction results gives customer service agents access to an intelligent knowledge database containing relevant tools to assist the agent in resolving the customer's issues.
In the web-based embodiments of the invention, a decision engine is employed in a web-accessed customer service response system. According to these embodiments, the web-accessed customer service response system uses a decision engine to determine and predict customer service issues, queries, and problems. The decision operates in a similar fashion with the IVR prediction engine explained above.
The method 400 of web-accessed customer service begins as a user logs into a browser-based identity management system 401. The system determines whether that user's preferences are pre-defined 402. If the user's preferences are predefined, the user's preferences are accessed 403 and the user selects one or more preference-related issue, query, or problem to resolve 404.
If the user's preferences are not predefined, the method 400 continues by accessing a decision engine 405. The decision engine determines one or more preference-related issue, query, or problem to resolve 406.
Once one or more problem, issue, or query is identified, the method 400 continues by on-line resolution of the problem, issue, or query 407. Next, the user decides whether to store his preferences after resolution for later use 408. If so, the method accesses an options wizard 409 and stores user preferences in a user transaction history store 410. Optionally, the preferences are also stored in a user-agnostic community transaction data store. If the user does not want his preferences stored, the interaction completes 411.
The computer system 500 includes a processor 502, a main memory 504 and a static memory 506, which communicate with each other via a bus 508. The computer system 500 may further include a display unit 510, for example, a liquid crystal display (LCD) or a cathode ray tube (CRT). The computer system 500 also includes an alphanumeric input device 512, for example, a keyboard; a cursor control device 514, for example, a mouse; a disk drive unit 516, a signal generation device 518, for example, a speaker, and a network interface device 520.
The disk drive unit 516 includes a machine-readable medium 524 on which is stored a set of executable instructions, i.e. software, 526 embodying any one, or all, of the methodologies described herein below. The software 526 is also shown to reside, completely or at least partially, within the main memory 504 and/or within the processor 502. The software 526 may further be transmitted or received over a network 528, 530 by means of a network interface device 520.
In contrast to the system 500 discussed above, a different embodiment uses logic circuitry instead of computer-executed instructions to implement processing entities. Depending upon the particular requirements of the application in the areas of speed, expense, tooling costs, and the like, this logic may be implemented by constructing an application-specific integrated circuit (ASIC) having thousands of tiny integrated transistors. Such an ASIC may be implemented with CMOS (complimentary metal oxide semiconductor), TTL (transistor-transistor logic), VLSI (very large systems integration), or another suitable construction. Other alternatives include a digital signal processing chip (DSP), discrete circuitry (such as resistors, capacitors, diodes, inductors, and transistors), field programmable gate array (FPGA), programmable logic array (PLA), programmable logic device (PLD), and the like.
It is to be understood that embodiments may be used as or to support software programs or software modules executed upon some form of processing core (such as the CPU of a computer) or otherwise implemented or realized upon or within a machine or computer readable medium. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine, e.g. a computer. For example, a machine readable medium includes read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals, for example, carrier waves, infrared signals, digital signals, etc.; or any other type of media suitable for storing or transmitting information.
Although the invention described herein with reference to the preferred embodiments, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the invention. Accordingly, the invention should only be limited by the Claims included below.
This patent application claims the benefit of U.S. provisional patent application Ser. No. 61/147,370, Predictive Engine for Interactive Voice Response System, filed Jan. 26, 2009, the entirety of which is incorporated herein by this reference thereto.
Number | Date | Country | |
---|---|---|---|
61147370 | Jan 2009 | US |