US20120076283A1 - Predictive Customer Service Environment - Google Patents

Predictive Customer Service Environment Download PDF

Info

Publication number
US20120076283A1
US20120076283A1 US13239195 US201113239195A US2012076283A1 US 20120076283 A1 US20120076283 A1 US 20120076283A1 US 13239195 US13239195 US 13239195 US 201113239195 A US201113239195 A US 201113239195A US 2012076283 A1 US2012076283 A1 US 2012076283A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
customer
chat
processor configured
time
apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13239195
Inventor
Dinesh AJMERA
Debashish Panda
Pankai Ghanshani
Sumit Kumar
Ravi Vijayaraghavan
Mathangi Sri Ramachandran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
24/7 Customer Inc
Original Assignee
24/7 Customer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computer systems utilising knowledge based models
    • G06N5/04Inference methods or devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/004Artificial life, i.e. computers simulating life
    • G06N3/006Artificial life, i.e. computers simulating life based on simulated virtual individual or collective life forms, e.g. single "avatar", social simulations, virtual worlds
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • G06N99/005Learning machines, i.e. computer in which a programme is changed according to experience gained by the machine itself during a complete run
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/01Customer relationship, e.g. warranty
    • G06Q30/016Customer service, i.e. after purchase service
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0202Market predictions or demand forecasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations contains provisionally no documents
    • H04L12/18Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations contains provisionally no documents for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/02Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages with automatic reactions or user delegation, e.g. automatic replies or chatbot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements

Abstract

A mechanism for facilitating customer interactions within a customer service environment provides prompt and accurate answers to customer questions. A smart chat facility for use in a customer service environment to predict a customer problem examines a customer chat transcript to identify customer statements that set forth a customer issue and, responsive to this, can route the customer to an agent, an appropriate FAQ, or can implement a problem specific widget in the customer UI. Customer queries are matched with most correct responses and accumulated knowledge is used to predict a best response to future customer queries. The iterative system thus learns from each customer interaction and can adapt to customer responses over time to improve the accuracy of problem prediction.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims priority to U.S. provisional patent application Ser. No. 61/385,866, filed 09-23-2010, which application is incorporated herein in its entirety by this reference thereto.
  • BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The invention relates to customer/agent interaction. More particularly, the invention relates to problem prediction and context based resolution in a customer service environment.
  • 2. Description of the Background Art
  • The customer experience has never been more important, informed by technological advancements such as Google Predictive Search, and the collective power of social media to influence consumer sentiment and behavior. Executive responsible for customer care face the challenge of meeting rising expectations without increasing costs.
  • Strong growth in the variety and utilization of connected devices—from PCs to smart phones and tablets—has made the online channel the one consumers love to use. It is an opportunity for companies to redefine and dramatically improve customer service and manage costs—if they can predict customer needs and address them quickly and courteously—the first time, every time.
  • For example, the quality of service provided to a customer directly affects the relationship between the customer and a merchant. Call centers and Web-based customer service facilities strive to provide prompt and helpful answers to customer questions, but often fail to do so. The process of getting an answer to a question can be both time-consuming and frustrating for a customer, as well as for the agent who is assisting the customer.
  • It would be advantageous to provide a mechanism for facilitating customer interactions within a customer service environment to provide prompt and accurate answers to customer questions.
  • SUMMARY OF THE INVENTION
  • An embodiment of the invention provides predictive experience solutions for online customer experiences. Unlike proactive chat and reactive web-self-service, an embodiment of the invention predicts not only who needs assistance, but when, where, why, and how. The invention also integrates self-service and chat in a compelling interface that guides customer journeys across multiple pages and queues, if necessary.
  • One embodiment of the invention provides a mechanism for facilitating customer interactions within a customer service environment to provide prompt and accurate answers to customer questions. In particular, this embodiment of the invention provides a smart chat facility for use in a customer service environment to predict a customer problem. For example, the invention examines a customer chat transcript to identify customer statements that set forth a customer issue and, responsive to this, can route the customer to an agent, an appropriate FAQ, or can implement a problem specific widget in the customer UI. The invention provides a facility that learns to match customer queries with most correct responses and then uses this accumulated knowledge to predict a best response to future customer queries. Because the invention provides an iterative system that learns from each customer interaction, the system can adapt to customer responses over time and improve the accuracy of problem prediction.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block schematic diagram showing a prediction services platform architecture according to the invention;
  • FIG. 2 is a block schematic diagram showing prediction services platform client integration according to the invention;
  • FIG. 3 is a block schematic diagram that shows high level state flow, including variable and transitions according to the invention;
  • FIG. 4 is a block schematic diagram that shows how event handlers trigger actions or state changes, or present widgets to engage with the customer according to the invention;
  • FIG. 5 is a block schematic diagram that shows data and actions in connection with a customer Web journey according to the invention;
  • FIG. 6 is a block schematic diagram showing an architecture for a smart chat client for problem prediction in a customer service environment according to the invention;
  • FIG. 7 is a block schematic diagram that shows a problem predictor in which chat is used to bootstrap guided self-service according to the invention;
  • FIG. 8 is a flow diagram that provides an example of the use of issue prediction to trigger an appropriate guided self-service widget according to the invention;
  • FIG. 9 is a flow diagram that shows an example of primary issue line identification according to the invention;
  • FIG. 10 is a flow diagram that shows a further example of primary issue line identification according to the invention;
  • FIG. 11 is a flow diagram showing an average hold time (AHT) reduction algorithm according to the invention;
  • FIG. 12 is a flow diagram that shows an example of a text mining approach according to the invention;
  • FIGS. 13 a and 13 b are a flow diagrams showing an algorithm for extraction of a primary question during a chat session (FIG. 13 a) and extracting an issue (FIG. 13 b) according to the invention;
  • FIG. 14 shows a sample progress table for a problem predictor according to the invention;
  • FIG. 15 is a flow diagram that shows a PSP process in the data collection and rule evaluation stages according to the invention;
  • FIG. 16 is a timeline that shows a visitor session life cycle according to the invention;
  • FIG. 17 is a block schematic diagram that shows periodic, on-demand user activity information tracking according to the invention;
  • FIG. 18 is a block schematic diagram that shows the multiple tab window synchronization problem;
  • FIG. 19 is a block schematic diagram that shows a client side information storage system according to the invention;
  • FIG. 20 is a flow diagram that shows a multiple tab synchronization algorithm according to the invention;
  • FIG. 21 is a block schematic diagram that shows a high level design of a real time experimentation framework according to the invention;
  • FIG. 22 is a flow diagram that show visitor tagging according to the invention;
  • FIG. 23 is a flow diagram that shows real time experimentable value determination according to the invention; and
  • FIG. 24 is a block schematic diagram of a machine in the exemplary form of a computer system within which a set of instructions for causing the machine to perform any one of the herein disclosed methodologies may be executed.
  • DETAILED DESCRIPTION OF THE INVENTION
  • An embodiment of the invention provides a prediction platform for customer service that analyzes Web behavior, customer data, call data, and individual journeys of Website visitors to help segment end-customers with a high propensity to call. It then eliminates the need for the call by providing a highly personalized and unique predictive chat or self serve interaction, thereby eliminating potential calls from the Website.
  • FIG. 1 is a block schematic diagram showing a prediction services platform architecture according to the invention. Broadly, the platform includes a client side element 21 that comprises one or more clients 20, a server side element 22, and a reporting element 23.
  • FIG. 2 is a block schematic diagram showing prediction services platform client integration according to the invention. Client integration points are shown within the client 20 and include specifically the action handlers and event manager. Within the server 22, client integration points include the client data integrator. The client's server/Website includes pages 1-n, the client integration libraries, and the client data repository. The framework components include the chat platform integration libraries, session manager, persistent storage, rules engine, FSM state manager, controller, widget libraries, widget runtime and server 22.
  • Another embodiment of the invention provides a mechanism for facilitating customer interactions within a customer service environment to provide prompt and accurate answers to customer questions. In particular, the invention provides a smart chat facility for use in a customer service environment to predict a customer problem. For example, the invention examines a customer chat transcript to identify customer statements that set forth a customer issue and, responsive to this, can route the customer to an agent, an appropriate FAQ, or can implement a problem specific widget in the customer UI. The invention provides a facility that learns to match customer queries with most correct responses and then uses this accumulated knowledge to predict a best response to future customer queries. Because the invention provides an iterative system that learns from each customer interaction, the system can adapt to customer responses over time and improve the accuracy of problem prediction.
  • Predictive Service Platform
  • One embodiment of the invention provides a predictive service platform that models a user's Web journey. A finite state machine is implemented consisting of different states and transitions between the states.
  • FIG. 3 is a block schematic diagram that shows high level state flow, including variable and transitions according to the invention. FIG. 3 includes a primary FSM, a sub flow FSM and a sub flow, and a feedback flow FSM and a feedback flow.
  • The predictive service platform provides real time interaction solutions in conjunction with a Website, where the predictive service platform is integrated to the Website, for example, via java scripting. An embodiment provides an event driven customizable action execution mechanism to facilitate contextual interactions, and also provides a generic session management and information tracking mechanism to capture a user's Web journey.
  • FIG. 4 is a block schematic diagram that shows how event handlers trigger actions or state changes, or present widgets to engage with the customer according to the invention.
  • The predictive service platform captures the context, i.e. data and actions, of the visitor journey through the site and takes contextual decisions by use of sophisticated analytical models that focus on how to engage the visitor.
  • FIG. 5 is a block schematic diagram that shows data and actions in connection with a customer Web journey according to the invention. Such data and actions can pertain to any of the following broad categories:
      • Whom to engage: based on the context, especially collected data elements of the visitor including, but not limited to, customer/visitor's prior history of interactions, Web journey, and Web behavior;
      • When and where to engage: based on the context, especially the journey of the user, time spent on the journey, etc.; and
      • What to show: based on the context, especially according to the targeted way to engage the customer.
    Example Embodiments of the Predictive Service Platform
  • Key solutions offered on the predictive service platform for the Web medium primarily can be categorized into the following example categories:
  • Sales solutions, which:
      • Identify and engage buyers to increase sales via a rules engine driven chat interaction;
      • Provide a proactive and reactive way to engage customers via invitations and contextual content presentation that let the user initiate a chat reactively; and
      • Increase conversion via customized actions and content; including multi-media content, e.g. video, audio and chat enabled sales that show targeted promotions, cross sell, and up sell.
        Service solutions, which:
      • Increase self-serve resolution rates through targeted self service for specific problems, where a problem predictor is used to identify the right issues of the user and guided resolution paths are provided to help the user go though an assisted journey in the main Website to solve a problem; and
      • Improve customer loyalty and satisfaction via contextual and targeted content and actions and targeted problem prediction and resolutions.
  • The predictive service platform thus provides a novel approach for building and provisioning real time interaction management solutions over the Web, which captures the user's journey, e.g. data, actions, and time on all pages, and models the same as a finite state machine consisting of distinct states and conditional transitions between them. In an embodiment, a page load results into a state transition, any event can cause a state transition, and all metadata for action invocation is attached to a state.
  • An embodiment provides an event-driven, customizable action execution mechanism to facilitate contextual interactions, in which: any event can trigger an action to be taken, different event handlers are allowed to be configured to take specific actions; an event handler can cause the state transition; an event handler shows up an interaction popup; a self service wizard, or any other customized interaction interface to the user; an event handler can initiate a chat conversation at any point in time; issues and resolutions can be predicted based on predictive models; and multiple mediums of interaction can be employed during an interaction, e.g. chat, self service, emails, click to call, etc.
  • An embodiment also provides a generic session management and information tracking mechanism to capture user's journey, in which sessions can be generated to identify a visitor, a logical browsing session of the user, as well as a logical interaction with the user and periodical and on-demand update of tracked information can be sent to the server.
  • The invention takes advantage of the persistent local storage on the browser to keep track of all the information throughout the user's journey, thereby making the server stateless. Accordingly, information can be shared across multiple windows, all contextual information is captured and can be sent across in any of the client-server interactions, the server is completely stateless, thereby providing maximum scalability and availability, and different storage options can be used in the browser, e.g. Flash cookie, local storage, cookies. etc.
  • Smart Chat
  • FIG. 6 is a block schematic diagram showing an architecture for a smart chat facility for problem prediction in a customer service environment according to the invention. In FIG. 6, an agent console 10 interacts with a problem predictor 15. In a presently preferred embodiment, a plurality of problems are predicted, where each problem prediction has related articles which provide resolution for each of the predicted problems with which a customer interacts.
  • FIG. 7 is a block schematic diagram that shows a problem predictor in which chat is used to bootstrap guided self-service according to the invention.
  • FIG. 8 is a flow diagram that provides an example of the use of issue prediction to trigger an appropriate guided self-service widget according to the invention.
  • A feature of the invention provides a smart chat routing module 17 (FIG. 6) with which customer chat is routed to service center agents based upon an issue/agent mapping, as well as an agent performance score. With regard to the agent performance score, see U.S. patent application Ser. No. 13/161,291, filed Jun. 15, 2011 (attorney docket no. 247C0024), which application is incorporated herein in its entirety by this reference thereto.
  • The agent console operates in coordination with a module that generates real time triggers 11, such as agent alerts and supervisor alerts. These alerts are based on such factors as, for example, if the agent is not doing what they are supposed to, e.g. they could be taking too long to respond (discussed below); or they could be taking more time than normal for any one stage of the chat (discussed below); or they could be responding to the wrong issue, as determined based on the issue identification model. These triggers are based upon inputs 13 that include, for example, an off line average hold time (AHT) reduction solution and values for customer pre-chat time, issue time, and post-chat time.
  • The agent console operates in conjunction with a customer console 12 to establish a smart chat session that is guided by outputs 19 that include, for example, responses to FAQs that are generated based upon dynamic text mining, The system selects the right issue/issues being faced by the customer, matches them to FAQ responses to those issues and provides appropriate widgets for resolving these standard issues/questions. For example, if “Understanding Bill Details” is the key issue the customer is trying to resolve, the primary issue line identification algorithm shown in FIGS. 9 and 10 identifies the primary issue line. This line is text mined to identify the primary issue, in this case “Understanding Bill Details,” and the widget that helps to explain the bill details is then deployed for customer interaction.
  • In FIG. 11, chat related information is divided into pre-chat, actual chat, and post chat (200). Pre-chat, actual chat, and post-chat are described below. Of these, all except pre-chat time add up to make the average handle time (AHT).
  • Pre-chat Time—Customer has accepted a chat invitation, but the chat has not started.
    Pre-Issue Time—Customer has started chat, but is still in the greetings and customer statement of the issue.
    Authentication Time—Customer gets authenticated by the agent before the agent starts issue resolution.
    Issue Resolution Time—Time taken by the agent to resolve the issue.
    Closure time—Time taken by the agent to close the chat after the issue has been resolved.
    Wrap-up time—Time taken by the agent to do some after chat work, i.e. filling disposition forms regarding details of the chat and the customer.
  • Similarly, another key parameter that is tracked is average response time (ART) for the agent. Average response time is the average time taken by the agent to respond to a customer sentence. It is measured by the difference in timestamp between a customer query and an agent response. If the ART is high or the response time has a lot of variance, then this is a key driver of customer dissatisfaction
  • The position in the chat transcript at which an issue is posed by the customer is identified (202). The system text mines the chat transcript for key lines that identify the issue (204). (See, also, FIG. 12, which is a flow diagram that shows an example of a text mining approach according to the invention.)
  • The model is developed using a supervised machine learning approach that learns from tagged data. The model is then used to classify new data. Thus, the data is initially tagged by human operators to build a model. Thereafter, the new data is applied to the model to produce a predicted output. The accuracy of the output first produced by the text mining operation is validated (206) and, once validation is acceptable, further validation is performed, for example by comparing against tagged data (208). As the system learns, the algorithm used for text mining with regard to the issue of concern is modified (210). Thereafter, the dataset is extracted and a final data model is built (214).
  • Once the final data model is built, new data is applied to the system. The system then divides the time components in the new data, i.e. pre-chat, actual chat, and post-chat, between agent time and customer time (216). A resulting dataset is produced (218) containing such information as, for example, customer ID, main issue, one or more sub-issues, agent/customer time for the main issue, agent/customer time for the sub-issues, transfer type, transfer time, hold time, pre-chat time, post-chat time, number of customer lines, number of agent lines, number of lines of separation, and status concerning disconnections by customer chats.
  • One aspect of the invention provides reporting for various experiments on the predictive service platform. For example, a software engine is provided that uses the customer's Web journey data, as well as CRM data, to target customers, evaluate their intent and the right time and mode of engagement to fulfill that intent. This embodiment also provides a program that can take decisions to engage with a customer in the customer's Web journey.
  • FIGS. 13 a and 13 b are a flow diagrams showing an algorithm for extraction of a primary question during a chat session (FIG. 13 a) and extracting an issue (FIG. 13 b) according to the invention.
  • In FIG. 13 a, the first question in a chat session is identified (300). (See, also, FIGS. 9 and 10 which show two possible variations in a multitude of possible variations in identifying the primary issue line. These are all heuristic based approaches to identifying a primary line.)
  • The position of the question in the chat transcript is then identified (302). In the presently preferred embodiment of the invention, if the position of the question in the transcript is greater than or equal to three (306), then the issue is extracted (305); else, the transcript is analyzed to determine if a phrase such as “May I help you?” or “May I assist you?” is present (306). If such a phrase is found, then the next sentence is deemed to be the key question (308); else, the system identifies the first customer sentence in the transcript that has at least four words as the key question (310). Those skilled in the art will appreciate that the position of the sentence in the transcript, the phrases identified, and the number of words in the first customer sentence are a matter of choice when implementing the invention and that other values and variations on the steps set forth in connection with FIG. 13 a may be used and are considered to be within the scope of the invention.
  • In FIG. 13 b, the primary question has been located and the issue is then extracted. The system extracts a list of FAQs with regard to the question and having related answers (320). The system then extracts unigrams and bigrams from the question (322). An n-gram is a subsequence of n items from a given sequence. The items in question can be phonemes, syllables, letters, words, or base pairs according to the application. An n-gram of size 1 is referred to as a unigram; size 2 is a bigram; etc. An n-gram model is one type of probabilistic model that can be used in an embodiment of the invention for predicting the next item in a sequence. The n-grams are extracted using classic text mining techniques for feature extraction. A list of top unigrams and bigrams is prepared based upon their occurrence in customer issues (324) based on typical criteria used in text mining, such as TFIDF. See, for example, Sholom M Weiss, Nitin Indurkhya, Tong Zhang, Fred J. Damerau, Text Mining—Predictive Methods for Analyzing Unstructured Information, Springer Publications. The bigrams are mapped with customer issues (326) based on a probabilistic model, where the probability of a certain n-gram belonging to a certain issue category is determined based on features that have historically been seen in chats discussing that issue category. Such mapping of features to issue category is performed in one embodiment using manual tagging. The unigrams and bigrams are then mapped back to the query categories (328). If there is a match, then the issue has been successfully extracted; else, a match is made to the unigram to obtain the issue (330).
  • Problem Predictor
  • One embodiment provides a system that self-learns based on previous customer interactions and their performance metrics. For example, a program provides a templatized widget framework to enable an overlay widget, with rich content, on a client's Website to assist customers in a self-service mode.
  • FIG. 14 shows a sample progress table for a problem predictor according to the invention. In FIG. 14, variables evaluated include journey variables, source destination variables, chat time to departure/arrival time, code sharing or non-code sharing variables, time of day, and geography variables. See, also, FIGS. 7 and 8.
  • In a presently preferred embodiment of the invention, problem prediction is effected as a product of probabilities p for a question Q with regard to a plurality of answers A, as shown in Equation (1) below.

  • p(Q/A 1 , . . . ,An)=p(Q)p(A1/Q)p(A2/Q) . . . p(A n /Q)  (1)
  • This is a classic Naïve Bayes algorithm. Other algorithms that can predict the probability of the response variable, in this case an issue prediction, based on various customer attributes can be used and the invention is not limited to the use of a Naïve Bayes algorithm.
  • Rules Engine
  • One aspect of the invention provides plug-and-play support for various analytical algorithms and complex multivariate models in different implementations. Examples of such algorithms include Naïve Bayes, Logistic regression, Support Vector Machines, etc. There could be many other algorithms as well. Such system enables distributing condition evaluations across a client, i.e. browser, and server for optimizing performance. A database is provided that can hold multiple versions of complex rule configurations, and that can be taken live without any downtime.
  • Each published change of rule engine configuration is associated with a version specific to a client. Typically, the latest two versions are maintained to allow the possibility of switching back to a particular version at any point in time.
  • A particular version is marked as the active or default version (typically the latest one), and this version of the configuration is picked up for all visitors of the website. However, for experimentation and testing purposes, there is a possibility to map requests coming in from a set of IPs to a particular version or randomly select a version based on a probability distribution.
  • While configuring a new version, the new version becomes available for general use only when marked as the active version and any existing version is not impacted because of the change. In effect, there is no downtime incurred for the system because the publishing and switching of versions are done atomically. A published version can be checked for quality extensively before it is used in production, thereby improving the reliability of the system.
  • An aspect of this embodiment is a program that generates events during the lifecycle of a customer's session, and that allows other system components to subscribe for, and take appropriate actions.
  • FIG. 15 is a flow diagram that shows a PSP process in the data collection and rule evaluation stages according to the invention. Such system supports segmentation and experimentation to experiment on solutions for a best customer experience and includes, but is not limited to, performance of analytical models, as well as engagement experience, e.g. UI and interaction flow, with the customer data-driven decision making in a Web application, where a decision is based on client side data, as well as backend, data.
  • Key features of this embodiment of the invention include a rules engine that divides the entire decision making into three phases: client side data collection and client side condition evaluation; server side data collection from third party integrations (DB, CRM, etc.); and server side condition evaluation based on client, as well as server side, data.
  • Client side data includes, but is not limited to, time on a page, cookies, DOM data, HTML5 storage, and data obtained anywhere during a Web journey.
  • Server side data includes, but is not limited to, a page visitor's profile, past history and any third party data coming from a backend, for example, geographic information, weather information, etc.
  • Rules are defined in different contexts. For example, in a context, rules are inter-related in the following manner:
      • One fired rule can suppress other rules for a configurable amount of time;
      • One fired rule suppresses other rules for the lifetime of the visitor, expiry of which is configurable in the framework; and
      • One fired rule can change other rules' priorities in specific context or for the lifetime of the visitor.
  • The rules engine can be added to any existing portal by including a simple script tag which loads the required JavaScript either at the bottom of the including page or in its head tag.
  • In an embodiment, some decision making is delegated on the client side to scale the decision making system. All the complex rules are hidden on the server side and can be managed by a configuration UI without any involvement of the portal owner on which rule engine is tagged.
  • Rules can be combined in a group for categorization and rule management. Rules can interact with each other in the system, such that the outcome of a rule can enable/disable certain other set of rules or suppress them for the given visitor for certain period of time or forever. Rules are evaluated on the server side on highly scalable servers and, hence, can be very complex based on multivariate models and scoring of different mathematical functions. Rules that are executed on the server can also take benefit of prediction algorithms to extrapolate outcomes given a set of parameters.
  • The rules engine supports multiple versions of the rules configuration and it is possible to maintain and push one of them live anytime from the configuration console. The rules engine decides on the target and control group based on criteria defined on the backend. It is possible to configure multiple control groups and test different rules on each of them. The rules engine can generate multiple events that other consumers can subscribe for further processing. FIG. 15 is a flow diagram that shows a PSP process in the data collection and rule evaluation stages according to the invention.
  • Client Storage
  • Today, all popular browsers support multiple tab or multiple window browsing and users do use multiple tabs to browse the Internet. It may happen that a user opens the same Website in multiple tabs at the same time. There is a possibility that a Website, when opened in a browser, needs to store data in user's computer storage to function properly. Thus, it is clear that a Website may need to store data on the user's machine and that, too, across multiple tabs or windows. Also, most of the popular browsers, such as Mozilla Firefox, Internet Explorer, and Safari, do not provide any synchronization construct for Websites to be able to access/write data in user's computer storage from multiple windows/tabs in a consistent and safe manner.
  • One feature of the invention provides a system that takes advantage of the persistent local storage on the browser to keep track of all the information through out the user's journey, thereby making the server stateless. In an embodiment, a program guides the customer through a resolution path on the Website using a step-by-step widget, that can track the exact state of the user. Such program can be a module or script that runs in browsers and provides synchronization construct for multiple tabs/browsers, thus opening up the same Website to access computer storage in a consistent manner using, for example, browser events and JavaScript.
  • Thus, this embodiment comprises a solution which provides any Website with a consistent and safe way to read and write to the user's computer storage from multiple tabs or windows. The implementation approach is generic and any Website can use it.
  • On a high level, the system achieves read/write synchronization on the user's computer storage by dividing the storage into different areas and using the browser's JavaScript events. There are algorithms which use JavaScript events generated by the browser and the storage itself to provide the above mentioned synchronization and a way to store the data into the user's computer storage from multiple windows and tabs.
  • The following events are examples of events that are used in the invention: focus event, blur event, mouse over event, unload event, and onload event. The system creates the following two logical storage areas to store all the data:
      • Shared Storage area: which is common for the Website and for all tabs and windows and is accessed, read and write, from all the windows; and
      • Window storage area: which every window has its own copy of. This area is also accessed, read only, from all the windows.
  • A locking mechanism is used to provide a given window the right to read or write into the shared storage area. Thus, at a given point of time, only the window that has this lock and can read/write into the shared storage area. The locking mechanism is implemented in this embodiment using a combination of focus, blur, and mouse over events generated by the browser; and lock information, including timestamp, that is maintained inside a window storage area of each window. The events, i.e. focus, blur, mouse over, are used to switch the lock from one window to another. The lock information stored in the window storage area determines which window currently has the lock. Also, the read access to the window storage area of all the windows from a given window is such that it ensures fault tolerance in the case of concurrent multiple reads and a single write.
  • FIG. 16 is a timeline that shows a visitor session life cycle according to the invention.
  • FIG. 17 is a block schematic diagram that shows periodic, on-demand user activity information tracking according to the invention.
  • FIG. 18 is a block schematic diagram that shows the multiple tab window synchronization problem.
  • FIG. 19 is a block schematic diagram that shows a client side information storage system according to the invention.
  • FIG. 20 is a flow diagram that shows a multiple tab synchronization algorithm according to the invention.
  • Experimentation Framework
  • An interaction system can be composed of several building blocks which together serve a common purpose, i.e. interact with the end user in the best possible manner.
  • These building blocks can be:
      • “Rules” which trigger a new interaction flow or an action within the interaction.
      • The channel of the interaction, for example Web, phone, self service, chat, voice, etc.
      • The experience within a given channel.
      • The seamless handling of an interaction across various channels.
  • To optimize these building blocks to achieve the best business outcomes, one needs to experiment with these building blocks and determine which configuration of these building blocks produces the optimum results in a real world environment. The optimization can be on any parameter or set of parameters, based on the business needs.
  • Here are a few example use cases:
      • 1. The ability to evaluate different set of rules for different samples of visitors in real time. This experimentation can help figure out which set of rules performs the best.
      • 2. The ability to take different actions whenever a rule triggers for different samples of visitors in real time. This experimentation can help figure out which action performs the best.
      • 3. The ability to have different working, content, and look and feel of an action for different samples of visitors in real time. This again, can help figure out which content/working/look and feel leads to best results.
  • While experimentation is an utmost need in today's fast changing world, the cost of a failure in an experiment needs to be kept low. Experimentation should happen through a pre-configured system which can ensure predictability. Experimentation should be possible in real time and in the real world (live) environment. It should be possible to try out different configurations within any building block.
  • Experimentables
  • An experimentable is an entity that someone may like to experiment with. This means the same entity may have different values for different samples of users. The intention is to find out which value for that entity gives optimum results.
  • Examples
      • Set of rules to be evaluated on website visitors. In this case, different sets of rules are evaluated for different samples of visitors to see which set works best.
      • Widget. In this case, different widgets can be shown to the different samples of users.
      • Widget experience. In this case, a different widget experience, including content, flow, color theme, etc. is shown to different samples of visitors.
    Experimentable Values
  • There are various values an experimentable may take depending on the situation, these values are termed as experimentable values.
  • For example:
      • A “widgetColor” experimentable may take {Red, Green, Blue} values for different samples of visitors.
      • A “widgetWelcomeMessage” experimentable may take {“Hello”, “Hi”} values for different samples of visitors.
    Experimentable Rules
  • For the purpose of experimentation, every experimentable can be configured to have many different values. Which value should be applied for a given visitor can be dependent on various factors. Different values need to be applied under different situations.
  • To articulate the mapping of situations to set of values possible in that situation, the experimentation framework provides the concept of experimentable rules.
  • An experimentable rule is a situation under which a given set of experimentable values should be considered. These rules are totally flexible can be based on any number, kind of conditions. The variables used in these conditions again can come from any source, including an online real time parameter, an offline pre-configured parameter, and a derived parameter which is a combination of the above. These rules are evaluated in the configured order of priority. If a rule is satisfied, the rest of the (lower priority) rules are not evaluated.
  • For example:
      • Lets say we want to configure the experimentable—“WidgetColor”.
      • We want one of {Red, Green, Blue} for the visitors which satisfy a situation ‘x’.
      • And we want one of {violet, pink} for the visitors which satisfy the situation Y.
      • In such a case we should configure two experiment rules ‘x’ and ‘y’.
      • ‘x’ and ‘y’ should be composed of the conditions which define the situations ‘x’ and ‘y’ respectively.
        Experimentable Value Selection policy
  • Every experimentable rule points to a set of values which should be considered for a given visitor. The selection of the value within the considered set depends on a pre-configured policy. This is termed as experimentable value selection policy. Any policy can be applied to choose between the set of values.
  • For example:
      • Lets say we want to configure the experimentable—“WidgetColor”.
      • We want one of {Red, Green, Blue} for the visitors which satisfy the experiment rule ‘x’.
      • The selection policy could be as simple as “RoundRobin”.
      • In such a case, Red, Green and blue will be selected in a round robin fashion.
    Experimentation Tags
  • An experimentation tag is a string key which can have any one of a set of values. The selection of the experimentation tag value is done whenever the given tag is assigned to a new visitor. The experimentation tag value determines the sample into which this visitor falls into. Every user can be assigned multiple experimentation tags, and the selected value with each tag, during various stages of a session. The value of a given tag for a visitor is determined based on a random number sampling. Also, experimentation tags are persistent. This means that once an experiment tag is created it can be used across all experimentables for a given visitor.
  • Experimentation Tag Values: An experimentation tag value is a string which helps in identifying a particular kind of output for a given experimentable.
  • For example:
      • WidgetTag: {VisitorsSampleForWidgets1, VisitorsSampleForWidgets2}. These are the two string values of the tag with the key ‘WidgetTag’.
      • GeneralTag: {generalVisitorSample1, generalVisitorSample2, generalVisitorSample3}. These are the three possible string values of the tag with the key ‘GeneralTag’.
    Example Experimentation Tag Value Distributions:
      • WidgetTag: 10% visitors—VisitorsSampleForWidgets1, 90% visitors—VisitorsSampleForWidgets1.
  • Out of all the visitors which are assigned the ‘widgetTag’, 10% would have the value ‘VisitorsSampleForWidgets1’ and the rest would have ‘VisitorsSampleForWidgets2’.
      • GeneralTag: 5% visitors generalVisitorSample1, 80% visitors generalVisitorSample2, 15% visitors—generalVisitorSample3
  • Out of all the visitors which are assigned the ‘GeneralTag’, 5% would have the value ‘generalVisitorSample1’, 80% would have the value ‘generalVisitorSample2 ’ and the rest would have the value ‘generalVisitorSample2’.
  • Given the above two tags, the visitors are sampled across two dimensions and 6(2×3) samples are created (see Table 1 below).
  • TABLE 1
    General Tag
    General Tag (5%) General Tag (80%) (15%)
    WidgetTag sample 1-10% of sample 2-10% of sample 3-10% of
    (10) 5% 80% 15%
    WidgetTag sample 4-90% of sample 5-90% of sample 6-90% of
    (90) 5% 80% 15%
  • Table 2 below provides an example scenario where each visitor is assigned two experimentation tags and the values are assigned based on random number sampling.
  • TABLE 2
    WidgetTag (Values GeneralTag (Values
    Visitors below) below)
    visitor1 - John VisitorsSampleForWidgets1 generalVisitorSample2
    visitor2 - Jane VisitorsSampleForWidgets2 generalVisitorSample1
    visitor3 - VisitorsSampleForWidgets2 generalVisitorSample3
    unidentified
  • Design
  • FIG. 21 is a block schematic diagram that shows a high level design of a real time experimentation framework according to the invention.
  • FIG. 22 is a flow diagram that show visitor tagging according to the invention.
  • FIG. 23 is a flow diagram that shows real time experimentable value determination according to the invention.
  • Features
      • 1. The cost of a failure for experiment needs can be kept low by keeping the experiment tag value percentage configurations.
      • 2. Experimentation happens through a pre-configured system, including experiment tags, rules, values, and the selection policy.
      • 3. Experimentation is supported in real time and in the real world (live) environment. Every visitor's end-to-end experience can be experimented with given the above system.
      • 4. It is possible to experiment the following building blocks of an interaction management system:
        • a. The rules that should be evaluated on a given visitor.
        • b. The engagement channel that should be selected for a given visitor.
        • c. The engagement experience within the given channel.
      • 5. Also, it is possible to create independent visitor samples at different stages of the interaction using experimentation tags.
      • 6. An experimentation tag is persistent so that the same tag can be used across all the various experimentables for a given a visitor interaction experience.
      • 7. Experimentable values can be chosen based on the following two constructs:
        • a. Experimentable rules; and
        • b. Value selection policy.
      • 8. Every experimentable rule can be based on the following inputs parameters:
        • a. An online real time parameter including system parameters, such as experiment tags, etc.; and including visitor parameters, such as Website variables, etc.;
        • b. An offline pre-configured parameter; and
        • c. A derived parameter which is a combination of the above.
      • 9. Experimentable value selection is a based on a policy and can be configured separately.
      • 10. Value selection policy is de-coupled from the experiment rule evaluation (situation determination).
    Computer Implementation
  • FIG. 24 is a block schematic diagram of a machine in the exemplary form of a computer system 1600 within which a set of instructions for causing the machine to perform any one of the foregoing methodologies may be executed. In alternative embodiments, the machine may comprise or include a network router, a network switch, a network bridge, personal digital assistant (PDA), a cellular telephone, a Web appliance or any machine capable of executing or transmitting a sequence of instructions that specify actions to be taken.
  • The computer system 1600 includes a processor 1602, a main memory 1604 and a static memory 1606, which communicate with each other via a bus 1608. The computer system 1600 may further include a display unit 1610, for example, a liquid crystal display (LCD) or a cathode ray tube (CRT). The computer system 1600 also includes an alphanumeric input device 1612, for example, a keyboard; a cursor control device 1614, for example, a mouse; a disk drive unit 1616, a signal generation device 1618, for example, a speaker, and a network interface device 1628.
  • The disk drive unit 1616 includes a machine-readable medium 1624 on which is stored a set of executable instructions, i.e., software, 1626 embodying any one, or all, of the methodologies described herein below. The software 1626 is also shown to reside, completely or at least partially, within the main memory 1604 and/or within the processor 1602. The software 1626 may further be transmitted or received over a network 1630 by means of a network interface device 1628.
  • In contrast to the system 1600 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 complementary metal oxide semiconductor (CMOS), transistor-transistor logic (TTL), very large systems integration (VLSI), 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 is described herein with reference to the preferred embodiment, 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 present invention. Accordingly, the invention should only be limited by the Claims included below.

Claims (43)

  1. 1. A computer implemented method for facilitating customer interactions within a customer service environment, comprising:
    a processor configured for predicting a customer problem in a customer service environment;
    said processor configured for examining a customer chat transcript to identify customer statements that set forth a customer issue; and
    said processor configured, responsive thereto, for any of routing said customer to any of an agent and a text-based facility, and for implementing a problem specific widget in a customer UI.
  2. 2. The method of claim 1, further comprising:
    said processor configured for matching customer queries with most correct responses.
  3. 3. The method of claim 2, further comprising:
    said processor configured, based upon said matching customer queries with most correct responses, for accumulating knowledge to predict a best response to future customer queries.
  4. 4. The method of claim 3, further comprising:
    said processor configured for adapting to customer responses over time to improve problem prediction accuracy.
  5. 5. An apparatus for problem prediction in a customer service environment, comprising:
    an agent console configured for interacting with at least one problem predictor, wherein said problem predictor comprises related articles with which a customer interacts;
    a smart chat routing module configured for routing customer chat to service center agents based upon an issue/agent mapping; and
    a first module configured for generating real time triggers, said real time triggers comprising any of agent alerts and supervisor alerts, said first module configured for operating in coordination with said agent console;
    wherein said triggers are based upon one or more inputs; and
    wherein said one or more inputs comprise any of an off line average hold time (AHT) reduction solution and values for customer pre-chat time, issue time, and post-chat time.
  6. 6. The apparatus of claim 5, further comprising:
    a customer console configured for establishing a smart chat session that is guided by one or more outputs, wherein said one or more outputs comprise any of FAQs that are generated based upon dynamic text mining, machine selection of the right questions to be posed by an agent, and use of appropriate widgets for standard questions.
  7. 7. The apparatus of claim 5, further comprising:
    a second module configured for implementing an average hold time (AHT) reduction model that is based upon previous and current customer interactions within said service environment, said interaction comprising any of customer interactions with any of agent-based, text-based, and widget-based assistance.
  8. 8. The apparatus of claim 5, wherein chat related information is divided into pre-chat, actual chat, and post chat.
  9. 9. A computer implemented method for facilitating customer interactions within a customer service environment, comprising:
    a processor configured for examining a customer chat transcript to identify customer statements that set forth a customer issue;
    said processor configured for identifying a position in said chat transcript at which an issue is posed by the customer;
    said processor configured for text mining said chat transcript for key lines that identify the customer issue;
    said processor configured for dividing time components within said chat transcript between agent time and customer time, wherein said time components comprise any of pre-chat, actual chat, and post chat;
    said processor configured, as a result of said examining, identifying, text mining, and dividing operations, for producing a dataset, said dataset comprising any of customer ID, main issue, one or more sub-issues, agent/customer time for a main issue, agent/customer time for sub-issues, transfer type, transfer time, hold time, pre-chat time, post-chat time, number of customer lines, number of agent lines, number of lines of separation, and status concerning disconnections by customer chats.
  10. 10. A computer implemented method for facilitating customer interactions within a customer service environment, comprising:
    a processor configured for extracting a primary question during a chat session by identifying a first question in a chat session transcript and identifying a position of the question in the chat transcript;
    wherein if the position of the question in the transcript is greater than or equal to a predetermined value, then the issue is extracted; else, the transcript is analyzed to determine if a predetermined phrase is present;
    wherein if said predetermined phrase if found, then a next sentence is deemed to be the primary question; else, the identifies as the primary question a first customer sentence in the transcript that has a predetermined number of words.
  11. 11. The method of claim 10, further comprising:
    said processor configured for, after the primary question has been extracted, extracting an issue by extracting a list of text-based materials with regard to the primary question, said list comprising one or more related answers;
    said processor configured for extracting unigrams and bigrams from the primary question;
    said processor configured for preparing a list of top unigrams and bigrams based upon their occurrence in customer issues;
    said processor configured for mapping said bigrams with said customer issues;
    said processor configured for mapping said unigrams and bigrams back to one or more query categories;
    wherein, if there is a match, then the issue has been successfully extracted; else, a match is made to the unigram to obtain the customer issue.
  12. 12. An apparatus for facilitating customer interactions within a customer service environment, comprising:
    a processor configured for predicting a customer problem in a customer service environment;
    said processor configured for examining a customer chat transcript to identify customer statements that set forth a customer issue; and
    said processor configured, responsive thereto, for any of routing said customer to any of an agent and a text-based facility, and for implementing a problem specific widget in a customer UI.
  13. 13. The apparatus of claim 12, further comprising:
    said processor configured for matching customer queries with most correct responses.
  14. 14. The apparatus of claim 13, further comprising:
    said processor configured, based upon said matching customer queries with most correct responses, for accumulating knowledge to predict a best response to future customer queries.
  15. 15. The apparatus of claim 14, further comprising:
    said processor configured for adapting to customer responses over time to improve problem prediction accuracy.
  16. 16. A computer implemented method for problem prediction in a customer service environment, comprising:
    providing an agent console configured for interacting with at least one problem predictor, wherein said problem predictor comprises related articles with which a customer interacts;
    providing a smart chat routing module configured for routing customer chat to service center agents based upon an issue/agent mapping; and
    providing a first module configured for generating real time triggers, said real time triggers comprising any of agent alerts and supervisor alerts, said first module configured for operating in coordination with said agent console;
    wherein said triggers are based upon one or more inputs; and
    wherein said one or more inputs comprise any of an off line average hold time (AHT) reduction solution and values for customer pre-chat time, issue time, and post-chat time.
  17. 17. The method of claim 16, further comprising:
    providing a customer console configured for establishing a smart chat session that is guided by one or more outputs, wherein said one or more outputs comprise any of FAQs that are generated based upon dynamic text mining, machine selection of the right questions to be posed by an agent, and use of appropriate widgets for standard questions.
  18. 18. The methods of claim 16, further comprising:
    providing a second module configured for implementing an average handle time (AHT) reduction model that is based upon previous and current customer interactions within said service environment, said interaction comprising any of customer interactions with any of agent-based, text-based, and widget-based assistance.
  19. 19. The method of claim 16, wherein chat related information is divided into pre-chat, actual chat, and post chat.
  20. 20. An apparatus for facilitating customer interactions within a customer service environment, comprising:
    a processor configured for examining a customer chat transcript to identify customer statements that set forth a customer issue;
    said processor configured for identifying a position in said chat transcript at which an issue is posed by the customer;
    said processor configured for text mining said chat transcript for key lines that identify the customer issue;
    said processor configured for dividing time components within said chat transcript between agent time and customer time, wherein said time components comprise any of pre-chat, actual chat, and post chat;
    said processor configured, as a result of said examining, identifying, text mining, and dividing operations, for producing a dataset, said dataset comprising any of customer ID, main issue, one or more sub-issues, agent/customer time for a main issue, agent/customer time for sub-issues, transfer type, transfer time, hold time, pre-chat time, post-chat time, number of customer lines, number of agent lines, number of lines of separation, and status concerning disconnections by customer chats.
  21. 21. An apparatus for facilitating customer interactions within a customer service environment, comprising:
    a processor configured for extracting a primary question during a chat session by identifying a first question in a chat session transcript and identifying a position of the question in the chat transcript;
    wherein if the position of the question in the transcript is greater than or equal to a predetermined value, then the issue is extracted; else, the transcript is analyzed to determine if a predetermined phrase is present;
    wherein if said predetermined phrase if found, then a next sentence is deemed to be the primary question; else, the identifies as the primary question a first customer sentence in the transcript that has a predetermined number of words.
  22. 22. The apparatus of claim 21, further comprising:
    said processor configured for, after the primary question has been extracted, extracting an issue by extracting a list of text-based materials with regard to the primary question, said list comprising one or more related answers;
    said processor configured for extracting unigrams and bigrams from the primary question;
    said processor configured for preparing a list of top unigrams and bigrams based upon their occurrence in customer issues;
    said processor configured for mapping said bigrams with said customer issues;
    said processor configured for mapping said unigrams and bigrams back to one or more query categories;
    wherein, if there is a match, then the issue has been successfully extracted; else, a match is made to the unigram to obtain the customer issue.
  23. 23. An apparatus for event-driven, customizable action execution to facilitate contextual interactions, comprising:
    a processor configured as a predictive service platform for building and provisioning real time interaction management solutions over a network;
    said processor configured to capture information representative of a user's journey across said network;
    said processor configured to model said journey as a finite state machine consisting of distinct states and conditional transitions between them; and
    a plurality of different event handlers configured to take specific actions in response to said distinct states and conditional transitions between them.
  24. 24. The apparatus of claim 23, wherein a page load results into a state transition, any event can cause a state transition, and all metadata for action invocation is attached to a state.
  25. 25. The apparatus of claim 23, said information comprising any of data, actions, and time on all pages.
  26. 26. The apparatus of claim 23, wherein an event handler can be configured for any of:
    causing state transition;
    showing up an interaction popup;
    providing a self service wizard, or any other customized interaction interface to a user; and
    initiating a chat conversation at any point in time.
  27. 27. The apparatus of claim 23, said processor configured as a predictive model for predicting issues and resolutions.
  28. 28. The apparatus of claim 23, wherein multiple mediums of interaction can be employed during an interaction, including any of chat, self service, emails, social media, and click to call.
  29. 29. The apparatus of claim 23, said processor configured to generate one or more sessions to identify any of a visitor, a logical browsing session of the user, and a logical interaction with the user.
  30. 30. The apparatus of claim 23, said processor configured to send periodical and on-demand update of tracked information to a server.
  31. 31. The apparatus of claim 23, wherein said actions comprise determining any of:
    whom to engage based on context, including collected data elements of a visitor;
    when and where to engage based on context, including the journey of the user and time spent on the journey; and
    what to show based on context, including a targeted way to engage a customer.
  32. 32. An apparatus for event-driven, customizable action execution to facilitate contextual interactions, comprising:
    a processor configured as a predictive service platform for building and provisioning real time interaction management solutions over a network;
    said processor configured to capture information representative of a user's journey across said network; and
    said processor configured to generate events during a lifecycle of journey responsive to said captured information.
  33. 33. The apparatus of claim 32, said processor configured to model said journey as a finite state machine consisting of distinct states and conditional transitions between them; and
    further comprising a rules engine configured to divide decision making into three phases, comprising:
    client side data collection and client side condition evaluation;
    server side data collection from third party integrations; and
    server side condition evaluation based on client, as well as server side, data.
  34. 34. The apparatus of claim 32, said processor configured to allow other system components to subscribe for, and take appropriate actions.
  35. 35. The apparatus of claim 33, wherein client side data comprises any of:
    time on a page;
    geography;
    cookies;
    DOM data;
    client side persistent storage; and
    data obtained anywhere during a journey.
  36. 36. The apparatus of claim 33, wherein server side data comprises any of:
    a page visitor's profile; and
    past history and any third party data coming from a backend.
  37. 37. An apparatus, comprising:
    a processor configured to execute a program that guides a user through a resolution path;
    said processor configured to capture information representative of said user's journey through said resolution path to track an exact state of the user and for storing said information in a persistent local storage medium;
    said processor configured to provide a synchronization construct for multiple browser tabs and/or windows to access said storage medium in a consistent manner;
    wherein said storage medium is enabled by said processor to allow a stateless connection to read from and write to said multiple browser tabs and/or windows.
  38. 38. The apparatus of claim 37, said processor configured to effect read/write synchronization on said storage medium by dividing said storage medium into different areas and using a browser's events to store said information into said storage medium from said multiple browser windows and/or tabs.
  39. 39. The apparatus of claim 38, said events comprising any of a focus event, blur event, mouse over event, unload event, and onload event.
  40. 40. The apparatus of claim 38, said processor configured to create at least two logical storage areas to store all said information, including a shared storage area which is common for a Website and for all tabs and windows and is accessed, read and write, from all a windows; and a window storage area which every window has its own copy of and which accessed, read only, from all windows.
  41. 41. The apparatus of claim 37, further comprising:
    said processor configured to implement a locking mechanism to provide a given window a right to read or write into a shared storage area.
  42. 42. The apparatus of claim 41, wherein said locking mechanism is implemented using a combination of focus, blur, and mouse over events generated by a browser; and lock information, including timestamp, that is maintained inside a window storage area of each window.
  43. 43. The apparatus of claim 42, wherein said events switch said locking mechanism from one window to another; wherein lock information stored in said window storage area determines which window is currently locked.
US13239195 2010-09-23 2011-09-21 Predictive Customer Service Environment Abandoned US20120076283A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US38586610 true 2010-09-23 2010-09-23
US13239195 US20120076283A1 (en) 2010-09-23 2011-09-21 Predictive Customer Service Environment

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US13239195 US20120076283A1 (en) 2010-09-23 2011-09-21 Predictive Customer Service Environment
EP20110827608 EP2619719A4 (en) 2010-09-23 2011-09-23 Predictive customer service environment
EP20170156478 EP3185198A1 (en) 2010-09-23 2011-09-23 Predictive customer service environment
PCT/US2011/052977 WO2012040575A4 (en) 2010-09-23 2011-09-23 Predictive customer service environment
US13926988 US20140012626A1 (en) 2010-09-23 2013-06-25 Predictive customer service environment
US15422349 US20170140280A1 (en) 2010-09-23 2017-02-01 Predictive customer service environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13926988 Division US20140012626A1 (en) 2010-09-23 2013-06-25 Predictive customer service environment

Publications (1)

Publication Number Publication Date
US20120076283A1 true true US20120076283A1 (en) 2012-03-29

Family

ID=45870668

Family Applications (3)

Application Number Title Priority Date Filing Date
US13239195 Abandoned US20120076283A1 (en) 2010-09-23 2011-09-21 Predictive Customer Service Environment
US13926988 Pending US20140012626A1 (en) 2010-09-23 2013-06-25 Predictive customer service environment
US15422349 Pending US20170140280A1 (en) 2010-09-23 2017-02-01 Predictive customer service environment

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13926988 Pending US20140012626A1 (en) 2010-09-23 2013-06-25 Predictive customer service environment
US15422349 Pending US20170140280A1 (en) 2010-09-23 2017-02-01 Predictive customer service environment

Country Status (3)

Country Link
US (3) US20120076283A1 (en)
EP (2) EP2619719A4 (en)
WO (1) WO2012040575A4 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080091423A1 (en) * 2006-10-13 2008-04-17 Shourya Roy Generation of domain models from noisy transcriptions
WO2013151808A1 (en) * 2012-04-05 2013-10-10 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
WO2014003885A1 (en) * 2012-06-29 2014-01-03 International Business Machines Corporation Extension to the expert conversation builder
WO2014070467A1 (en) * 2012-10-30 2014-05-08 Teletech Holdings, Inc. Method for providing support using answer engine and dialog rules
US20140195562A1 (en) * 2013-01-04 2014-07-10 24/7 Customer, Inc. Determining product categories by mining interaction data in chat transcripts
US20140195298A1 (en) * 2013-01-10 2014-07-10 24/7 Customer, Inc. Tracking of near conversions in user engagements
WO2014110083A1 (en) * 2013-01-08 2014-07-17 24/7 Customer, Inc. Method and apparatus for analyzing leakage from chat to voice
WO2014172605A1 (en) * 2013-04-19 2014-10-23 24/7 Customer, Inc. Identification of points in a user web journey where the user is more likely to accept an offer for interactive assistance
WO2015002974A1 (en) * 2013-07-01 2015-01-08 24/7 Customer, Inc. Method and apparatus for determining user browsing behavior
WO2015019268A1 (en) * 2013-08-06 2015-02-12 Kampyle Ltd. Methods circuits apparatuses systems and associated computer executable code for providing dynamic customer engagement
US20150142677A1 (en) * 2013-11-21 2015-05-21 Cellco Partnership D/B/A Verizon Wireless Method and apparatus for determining a metric for a predicted operational status of a product
EP2839415A4 (en) * 2012-04-20 2015-09-30 24 7 Customer Inc Method and apparatus for an intuitive customer experience
US20160110653A1 (en) * 2014-10-20 2016-04-21 Xerox Corporation Method and apparatus for predicting a service call for digital printing equipment from a customer
US20160212265A1 (en) * 2015-01-20 2016-07-21 Avaya Inc. Enhanced customer journey using multichannel contact center
WO2016176638A1 (en) * 2015-04-30 2016-11-03 Alibaba Group Holding Limited Method and system for collecting information based on a specific topic
US9531875B2 (en) 2015-03-12 2016-12-27 International Business Machines Corporation Using graphical text analysis to facilitate communication between customers and customer service representatives
US9536269B2 (en) 2011-01-19 2017-01-03 24/7 Customer, Inc. Method and apparatus for analyzing and applying data related to customer interactions with social media
US9654639B1 (en) 2015-12-10 2017-05-16 Microsoft Technology Licensing, Llc Resource partitioning for routing on-demand services
US9686406B1 (en) 2015-12-10 2017-06-20 Microsoft Technology Licensing, Llc Issue detection for routing assistance requests
US9904920B1 (en) 2014-09-16 2018-02-27 United Services Automobile Association (Usaa) Systems and methods for customer authentication and determination of relevant services
US9961120B2 (en) 2015-01-20 2018-05-01 Avaya Inc. System and method for managing concurrent communications in a contact center
WO2018089500A1 (en) * 2016-11-08 2018-05-17 24/7 Customer, Inc. Method and apparatus for serving online communities of users

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674364B2 (en) 2010-10-21 2017-06-06 Micro Macro Assets, Llc Comprehensive system and method for providing sales and marketing acceleration and effectiveness
WO2012054851A1 (en) 2010-10-21 2012-04-26 Ivesia Solutions, Inc. System and method for maximizing efficiency of call transfer speed
US8938058B2 (en) 2010-10-21 2015-01-20 Micro Macro Assets Llc System and method for providing sales and marketing acceleration and effectiveness
US9973457B2 (en) * 2012-06-26 2018-05-15 Nuance Communications, Inc. Method and apparatus for live chat integration
US20140249872A1 (en) * 2013-03-01 2014-09-04 Mattersight Corporation Customer-based interaction outcome prediction methods and system
WO2016015036A1 (en) * 2014-07-25 2016-01-28 Micro Macro Assets Llc Comprehensive system and method for providing sales and marketing acceleration and effectiveness
WO2016022693A1 (en) * 2014-08-05 2016-02-11 Moxie Software, Inc. Systems and methods for client-side contextual engagement
US20160179323A1 (en) * 2014-12-18 2016-06-23 Avaya Inc. In-place web communications related to content of a webpage
US10033868B2 (en) 2016-08-31 2018-07-24 Genesys Telecommunications Laboratories, Inc. System and method for anticipating and preloading data in a customer contact center
US9992338B2 (en) 2016-08-31 2018-06-05 Genesys Telecommunications Laboratories, Inc. System and method for anticipating user interaction in a customer contact center
WO2018044736A1 (en) * 2016-08-31 2018-03-08 Genesys Telecommunications Laboratories, Inc. System and method for anticipating user interaction in a customer contact center
CN107844921A (en) * 2017-12-11 2018-03-27 四川新网银行股份有限公司 embedding technology-based client behavior pre-estimating method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587556B1 (en) * 2000-02-25 2003-07-01 Teltronics, Inc. Skills based routing method and system for call center
US20100002863A1 (en) * 2008-07-07 2010-01-07 Nortel Networks Limited Workflow Management in Contact Centers
US8370155B2 (en) * 2009-04-23 2013-02-05 International Business Machines Corporation System and method for real time support for agents in contact center environments
US8488774B2 (en) * 2006-07-24 2013-07-16 Fmr Llc Predictive call routing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606714B2 (en) * 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US7673340B1 (en) * 2004-06-02 2010-03-02 Clickfox Llc System and method for analyzing system user behavior
US7631007B2 (en) * 2005-04-12 2009-12-08 Scenera Technologies, Llc System and method for tracking user activity related to network resources using a browser
US8396741B2 (en) * 2006-02-22 2013-03-12 24/7 Customer, Inc. Mining interactions to manage customer experience throughout a customer service lifecycle
US9129290B2 (en) * 2006-02-22 2015-09-08 24/7 Customer, Inc. Apparatus and method for predicting customer behavior
JP4981146B2 (en) * 2006-12-15 2012-07-18 アクセンチュア グローバル サービスィズ ゲーエムベーハー Cross-channel optimization system and method
EP2107459A1 (en) * 2008-03-31 2009-10-07 Jatho Investments A software appliance framework
US20100191658A1 (en) * 2009-01-26 2010-07-29 Kannan Pallipuram V Predictive Engine for Interactive Voice Response System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587556B1 (en) * 2000-02-25 2003-07-01 Teltronics, Inc. Skills based routing method and system for call center
US8488774B2 (en) * 2006-07-24 2013-07-16 Fmr Llc Predictive call routing
US20100002863A1 (en) * 2008-07-07 2010-01-07 Nortel Networks Limited Workflow Management in Contact Centers
US8370155B2 (en) * 2009-04-23 2013-02-05 International Business Machines Corporation System and method for real time support for agents in contact center environments

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080177538A1 (en) * 2006-10-13 2008-07-24 International Business Machines Corporation Generation of domain models from noisy transcriptions
US8626509B2 (en) * 2006-10-13 2014-01-07 Nuance Communications, Inc. Determining one or more topics of a conversation using a domain specific model
US20080091423A1 (en) * 2006-10-13 2008-04-17 Shourya Roy Generation of domain models from noisy transcriptions
US9536269B2 (en) 2011-01-19 2017-01-03 24/7 Customer, Inc. Method and apparatus for analyzing and applying data related to customer interactions with social media
US9961538B2 (en) 2012-04-05 2018-05-01 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
WO2013151808A1 (en) * 2012-04-05 2013-10-10 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
US9413893B2 (en) 2012-04-05 2016-08-09 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
EP2839415A4 (en) * 2012-04-20 2015-09-30 24 7 Customer Inc Method and apparatus for an intuitive customer experience
US9471872B2 (en) 2012-06-29 2016-10-18 International Business Machines Corporation Extension to the expert conversation builder
WO2014003885A1 (en) * 2012-06-29 2014-01-03 International Business Machines Corporation Extension to the expert conversation builder
US9042540B2 (en) 2012-10-30 2015-05-26 Teletech Holdings, Inc. Method for providing support using answer engine and dialog rules
WO2014070467A1 (en) * 2012-10-30 2014-05-08 Teletech Holdings, Inc. Method for providing support using answer engine and dialog rules
US9336526B2 (en) 2012-10-30 2016-05-10 Teletech Holdings, Inc. Method for providing support using answer engine and dialog rules
US20140195562A1 (en) * 2013-01-04 2014-07-10 24/7 Customer, Inc. Determining product categories by mining interaction data in chat transcripts
US9460455B2 (en) * 2013-01-04 2016-10-04 24/7 Customer, Inc. Determining product categories by mining interaction data in chat transcripts
US9055148B2 (en) 2013-01-08 2015-06-09 24/7 Customer, Inc. Method and apparatus for analyzing leakage from chat to voice
US9621725B2 (en) 2013-01-08 2017-04-11 24/7 Customer, Inc. Method and apparatus for analyzing leakage from chat to voice
US9350863B2 (en) 2013-01-08 2016-05-24 24/7 Customer, Inc. Method and apparatus for analyzing leakage from chat to voice
WO2014110083A1 (en) * 2013-01-08 2014-07-17 24/7 Customer, Inc. Method and apparatus for analyzing leakage from chat to voice
US20140195298A1 (en) * 2013-01-10 2014-07-10 24/7 Customer, Inc. Tracking of near conversions in user engagements
US9600828B2 (en) * 2013-01-10 2017-03-21 24/7 Customer, Inc. Tracking of near conversions in user engagements
WO2014172605A1 (en) * 2013-04-19 2014-10-23 24/7 Customer, Inc. Identification of points in a user web journey where the user is more likely to accept an offer for interactive assistance
WO2015002974A1 (en) * 2013-07-01 2015-01-08 24/7 Customer, Inc. Method and apparatus for determining user browsing behavior
US9661088B2 (en) 2013-07-01 2017-05-23 24/7 Customer, Inc. Method and apparatus for determining user browsing behavior
WO2015019268A1 (en) * 2013-08-06 2015-02-12 Kampyle Ltd. Methods circuits apparatuses systems and associated computer executable code for providing dynamic customer engagement
US20150142677A1 (en) * 2013-11-21 2015-05-21 Cellco Partnership D/B/A Verizon Wireless Method and apparatus for determining a metric for a predicted operational status of a product
US9904920B1 (en) 2014-09-16 2018-02-27 United Services Automobile Association (Usaa) Systems and methods for customer authentication and determination of relevant services
US20160110653A1 (en) * 2014-10-20 2016-04-21 Xerox Corporation Method and apparatus for predicting a service call for digital printing equipment from a customer
US9961120B2 (en) 2015-01-20 2018-05-01 Avaya Inc. System and method for managing concurrent communications in a contact center
US20160212265A1 (en) * 2015-01-20 2016-07-21 Avaya Inc. Enhanced customer journey using multichannel contact center
US9531875B2 (en) 2015-03-12 2016-12-27 International Business Machines Corporation Using graphical text analysis to facilitate communication between customers and customer service representatives
WO2016176638A1 (en) * 2015-04-30 2016-11-03 Alibaba Group Holding Limited Method and system for collecting information based on a specific topic
US9686406B1 (en) 2015-12-10 2017-06-20 Microsoft Technology Licensing, Llc Issue detection for routing assistance requests
US9654639B1 (en) 2015-12-10 2017-05-16 Microsoft Technology Licensing, Llc Resource partitioning for routing on-demand services
WO2018089500A1 (en) * 2016-11-08 2018-05-17 24/7 Customer, Inc. Method and apparatus for serving online communities of users

Also Published As

Publication number Publication date Type
EP2619719A2 (en) 2013-07-31 application
WO2012040575A2 (en) 2012-03-29 application
US20140012626A1 (en) 2014-01-09 application
US20170140280A1 (en) 2017-05-18 application
WO2012040575A4 (en) 2012-07-05 application
EP3185198A1 (en) 2017-06-28 application
EP2619719A4 (en) 2014-06-11 application
WO2012040575A3 (en) 2012-05-18 application

Similar Documents

Publication Publication Date Title
Azvine et al. Towards real-time business intelligence
US20140044246A1 (en) System and method for determining call importance using social network context
US20140163960A1 (en) Real - time emotion tracking system
US20150039292A1 (en) Method and system of classification in a natural language user interface
US20100191658A1 (en) Predictive Engine for Interactive Voice Response System
US8767948B1 (en) Back office services of an intelligent automated agent for a contact center
US20120290509A1 (en) Training Statistical Dialog Managers in Spoken Dialog Systems With Web Data
US20150186156A1 (en) Virtual assistant conversations
US8392360B1 (en) Providing an answer to a question left unanswered in an electronic forum
Walden et al. Sequential adoption theory: a theory for understanding herding behavior in early adoption of novel technologies
US20130262168A1 (en) Systems and methods for customer relationship management
US20120084112A1 (en) Providing community for customer questions
US20130282430A1 (en) Method and apparatus for an intuitive customer experience
US20140297268A1 (en) Advanced System and Method for Automated-Context-Aware-Dialog with Human Users
Yáñez Gómez et al. Heuristic evaluation on mobile interfaces: A new checklist
US20120253789A1 (en) Conversational Dialog Learning and Correction
US20090276263A1 (en) Framework for realization of web 2.0 features
US20130006874A1 (en) System and method for preserving context across multiple customer service venues
US20130317993A1 (en) Method and apparatus for linking user sessions and establishing identity across channels
US20090003309A1 (en) Capability or role-based routing
US20130223614A1 (en) Method for providing support services using multi-channel navigator and route sequences
Richardson et al. Supporting synchronous social q&a throughout the question lifecycle
US20140330769A1 (en) Predictive 411
US20140282100A1 (en) Systems and methods for creating custom actions
US20130179438A1 (en) Goal-oriented user matching among social networking environments

Legal Events

Date Code Title Description
AS Assignment

Owner name: 24/7 CUSTOMER, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AJMERA, DINESH;PANDA, DEBASHISH;GHANSHANI, PANKAJ;AND OTHERS;REEL/FRAME:026957/0482

Effective date: 20110922