US20160261747A1 - Methods and systems for assigning priority to incoming message from customer - Google Patents
Methods and systems for assigning priority to incoming message from customer Download PDFInfo
- Publication number
- US20160261747A1 US20160261747A1 US14/639,143 US201514639143A US2016261747A1 US 20160261747 A1 US20160261747 A1 US 20160261747A1 US 201514639143 A US201514639143 A US 201514639143A US 2016261747 A1 US2016261747 A1 US 2016261747A1
- Authority
- US
- United States
- Prior art keywords
- priority
- message
- customer
- conversations
- conversation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000004044 response Effects 0.000 claims abstract description 55
- 230000001186 cumulative effect Effects 0.000 claims abstract description 7
- 230000006855 networking Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5232—Call distribution algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
- H04M3/5191—Call or contact centers with computer-telephony arrangements interacting with the Internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Definitions
- the presently disclosed embodiments are related, in general, to customer relationship management systems. More particularly, the presently disclosed embodiments are related to methods and systems for assigning a priority to an incoming message from a customer.
- CRM Customer relationship management
- the goal is to find, attract, and win new clients, nurture and retain the existing clients, entice former clients to return, and reduce the costs of marketing and client service.
- the customers In Social CRM environment, the customers usually send their queries by means of messages to customer support representatives. A prompt reply to such messages may help the organizations to maintain and gain businesses.
- the customers may utilize social medium channels such as FACEBOOKTM, LINKEDINTM, TWITTERTM, and the like to communicate with the customer care representatives.
- social medium channels such as FACEBOOKTM, LINKEDINTM, TWITTERTM, and the like to communicate with the customer care representatives.
- the social medium channels may be very noisy and informal.
- the identification of the high priority messages may be a very challenging task for organizations to maintain their communication with their customer.
- Historical conversations between customers and agents are retrieved. Each conversation has associated features and an assigned priority.
- Features are categorized into a plurality of categories. A priority is assigned to each category based on the features and the cumulative priority of all conversations in each category.
- an incoming message is received from a customer's computing device.
- Features are extracted from the incoming message.
- a determination is then made as to which of the categories this incoming message belongs based on this message's features.
- a priority is then assigned to the incoming message based on a priority assigned to the category which the incoming message belongs.
- the priority is then displayed for a customer agent so the agent can prioritize his/her response to that customer's incoming message.
- FIG. 1 is a block diagram of a system environment in which various embodiments can be implemented
- FIG. 2 is a block diagram that illustrates a system for assigning a priority to a first message from a first customer in a social CRM environment
- FIG. 3 is a flowchart illustrating a method for assigning a priority to a first message from a first customer in a social CRM environment
- FIG. 4 is a block diagram that illustrates a flow diagram for assigning a priority to a first message from a first customer in a social CRM environment
- FIG. 5A is a block diagram illustrating a graphical user interface (GUI) displaying a ranked list of messages to one or more agents; and
- FIG. 5B is a block diagram illustrating a GUI displaying a selected incoming message.
- references to “one embodiment,” “at least one embodiment,” “an embodiment,” “one example,” “an example,” “for example,” and so on indicate that the embodiment(s) or example(s) may include a particular feature, structure, characteristic, property, element, or limitation, but that not every embodiment or example necessarily includes that particular feature, structure, characteristic, property, element, or limitation. Further, repeated use of the phrase “in an embodiment” does not necessarily refer to the same embodiment.
- a “computing device” refers to a device that includes processors/microcontrollers and/or any other electronic components, or a device or a system that performs operations according to programming instructions/codes. Examples of the computing device may include a desktop computer, a laptop, a personal digital assistant (PDA), a mobile device, a Smartphone, a tablet computer (e.g., iPad®, and Samsung Galaxy Tab®), and the like.
- PDA personal digital assistant
- a mobile device e.g., iPad®, and Samsung Galaxy Tab®
- tablet computer e.g., iPad®, and Samsung Galaxy Tab®
- a “message” refer to a communication transmitted to or received for an individual who cannot be reached directly.
- the message may correspond to at least of an instant message conversation, an electronic mail, a voice mail, a text message, and a message corresponding to a query/problem.
- a “first message” refers to an incoming message from an individual pertaining to a query or problem. The individual may transmit the first message to a customer care agent for an appropriate solution pertaining to the first message.
- first message and “incoming message” has been interchangeably used.
- a “priority” refers to a fact or condition of being treated or regarded as more important than others.
- the priority may comprise ratings such as “high”, “medium”, “low,” or “spam”.
- the priority may comprise numerical values representing the ratings such as “1”, “2”, “3”, or “4”, wherein rating “1” may be assigned corresponding to a most important incoming message and rating “4” may be assigned corresponding to a least important incoming message, or vice versa.
- a “first customer” refers to an individual who is a member of social CRM based companies/organizations.
- the first customer may transmit/send a first message, corresponding to a problem/query/issue, to a customer care agent for a solution.
- a “second customer” refers to an individual who is a member of social CRM based companies/organizations.
- the second customer may have communicated, pertaining to queries/problems/issues, with customer care agents in the past.
- the conversation history comprising conversations between the second customer and the customer care agents may be stored in a storage system such as a database, cloud system, or work logs.
- a “customer care agent” refers to an individual, a machine, or a software program which transmits responses corresponding to a query/issue/problem raised by a first customer.
- the customer care agent may be responsible for providing solutions or services to the first customer.
- customer care agent and “agent” has been interchangeably used.
- a “social customer relationship management (CRM)” system refers to a system responsible for maintaining and managing customer relations. Managing customer relations may involve managing interactions with the customers, and pitching for new customers.
- the CRM system may have defined workflows to manage the customer relations.
- the workflows may include workflows related to organize, automate and synchronize marketing, customer service, and technical support.
- the CRM system manages the interactions between the customer and the customer management agents, the CRM system manages timely and accurate responses to the incoming messages (i.e., first messages), providing the solutions to each of first customers' requirements, timely communications with the first customers, and customer service centers utilized for solving issues/queries of the first customers.
- “Historical conversations” refer to previous conversations between second customers and customer care agents.
- the historical conversations may comprise one or more second messages that may have been communicated between a second customer and a customer care agent.
- One or more features refer to features associated with each of the conversations in the historical conversations.
- the features may comprise at least of a sentiment of a message in a conversation, a topic of the conversation, a location of a customer, or a social media influence of the customer.
- the message may correspond to a first message or a second message.
- the conversation may correspond to a previous conversation or present conversation. Further, the customer may correspond to a first customer or second customer.
- One or more combinations of features refer to all possible combination of feature values obtained from the conversations/messages. For example, there are three features (e.g., location, topic, and influence) extracted from a historical conversation. Each of the three features may have different values. For example, the feature location may have various values such as location-1, location-2, and location-3. Similarly, values of the influence features may include high, medium, and low. The combinations may correspond to all possible combinations of the feature values, for example, ⁇ location-1, influence(high) ⁇ , ⁇ location-1, influence(low) ⁇ , ⁇ location-1, influence(medium) ⁇ , ⁇ location-1, influence(medium), topic-1 ⁇ , and so on.
- a “first set of rules” refers to a set of rules (i.e., a set of dynamic workflow rules) that may be utilized for assigning a priority to an incoming message (i.e., a first message).
- the first set of rules are determined/generated based on the historical conversations and the combinations of features extracted from each of the historical conversations.
- One or more predefined rules refer to a set of rules (i.e., a set of static workflow rules) being utilized for assigning a priority to an incoming message based on recent conversations, customer influence, location, or topic of message. Further, the predefined rules require manual analysis of the messages for assigning the priority to an incoming message. For example, if an issue comes from a high influencing customer about a bad network then a high priority will be assigned, but the same issue raised by a low influencing customer will be considered as a low priority.
- One or more predefined priorities refer to priorities that have been previously assigned to each of conversations in historical conversations.
- the customer care agents may have assigned a priority to each conversation in the historical conversations based on predefined rules such as recent conversations, rules on the customer influence score, rules on the location of the customer, or rules related to the topic of message.
- a “first response time” refers to a time taken by a second customer to reply to each of messages received from customer care agents. For example, a customer care agent sent a message to a second customer at 10.30 AM. The second customer replied at 10.35 AM. Therefore, the first response time is 5 minutes.
- a “second response time” refers to a time taken by a customer care agent to reply to each of messages received from a second customer. For example, a second customer sent a message to a customer care agent at 10.40 AM. The customer care agent replied at 10.42 AM. Therefore, the second response time is 2 minutes.
- FIG. 1 is a block diagram of a system environment 100 , in which various embodiments can be implemented.
- the system environment includes a customer computing device 102 such as a first customer computing device 102 A and a second customer computing device 102 B, an agent computing device 104 such as a first agent computing device 104 A and a second agent computing device 104 B, a database server 106 ,an application server 108 , and a network 110 .
- Various devices in the system environment may be interconnected over the network.
- FIG. 1 shows, for simplicity, two customer computing devices 102 A and 102 B, two agent computing devices 104 A and 104 B, one database server 106 , and one application server 108 .
- the disclosed embodiments may also be implemented using multiple customer computing devices 102 , multiple agent computing devices 104 , multiple database servers 106 , and multiple application servers 108 .
- the customer computing device may correspond to a computing device that may be used by a first customer.
- the first customer may correspond to an individual who may transmit a first message, corresponding to a problem/query/issue, to a customer care agent for a solution.
- the customer computing device may comprise processors in communication with memories.
- the customer computing device may be operable to execute sets of instructions stored in the memories.
- the customer computing device may be communicatively coupled to the network.
- the customer computing device may comprise a display screen that may be configured to display one or more user interfaces to the first customer.
- the first customer may utilize the customer computing device to transmit the first message corresponding to a problem/query/issue to the agent computing device 104 , the database server, and/or the application server over the network.
- a first customer may transmit a first message such as “my mobile data is not is not getting backed up”.
- the first customer may utilize the customer computing device to receive/view one or more responses pertaining to the first message.
- a customer care agent may send a second message in response to the first message such as, “I can help you, please share your area zip code”.
- the customer computing device may correspond to various types of computing devices such as a desktop computer, a laptop, a personal digital assistant (PDA), a mobile device, a smartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), and the like.
- a desktop computer e.g., a laptop, a personal digital assistant (PDA), a mobile device, a smartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), and the like.
- the agent computing device 104 may correspond to a computing device used by agents.
- the agents may correspond to one or more customer care agents/individuals/persons/users, who may transmit responses corresponding to first messages.
- the agent computing device may comprise processors in communication with memories.
- the agent computing device may be operable to execute sets of instructions stored in the memories.
- the agent computing device may be communicatively coupled to the network.
- the agent computing device 104 may comprise a display screen that may be configured to display user interfaces to the agents.
- the agents may utilize the agent computing device to receive/view the first message from the customer computing device, the database server, and/or the application server over the network. For example, a first customer may transmit a first message such as “my mobile data is not is not getting backed up”.
- the agents may utilize the agent computing device to transmit one or more responses pertaining to the first message. For example, a customer care agent may send a second message in response to the first message such as, “I can help you, please share your area zip code”. Further, the agents may utilize the agent computing device to assign a priority to the first message from the first customer based on at least of first features associated with the first message and the historical conversations associated with the first customer. The agent may utilize predefined rules or static rules to determine the priority of the first message. Manual assigning of a priority is described in conjunction with FIGS. 5A and 5B .
- the agent computing device may correspond to various types of computing devices such as a desktop computer, a laptop, a personal digital assistant (PDA), a mobile device, a smartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), and the like.
- a desktop computer e.g., a laptop, a personal digital assistant (PDA), a mobile device, a smartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), and the like.
- the database server may refers to a computing device or a storage system that may be configured to store historical conversations between second customers and the agents.
- the database server may obtain the historical conversations from various sources such as file systems, work logs, cloud systems, or databases of social CRM based companies/organizations (e.g., social networking websites such as FACEBOOKTM, LINKEDINTM, TWITTERTM, etc.) that may provide the rightful authentication to access the historical conversations.
- the historical conversations may comprise conversations that may have been communicated between the second customers and the agents.
- the database server may store metadata associated with each of the conversations in the historical conversations.
- the metadata may comprise features associated with each of the historical conversations, a timestamp associated with each of second messages in each of the conversations, combinations of the features, and priorities associated with each of the historical conversations.
- the features associated with each of the historical conversations may comprise at least of a sentiment of a message in a conversation, a topic of the conversation, a location of a second customer, or a social media influence of the second customer.
- the database server may store predefined rules that may be utilized to assign the priority to an incoming message such as the first message.
- the database server may store priorities assigned to incoming messages such as first messages.
- the social CRM based companies/organizations e.g., FACEBOOKTM, LINKEDINTM, TWITTERTM, etc.
- the database server may be communicatively coupled over the network.
- the database server may be configured to transmit or receive instructions/metadata/historical conversations/first messages to/from computing devices, such as the customer computing device and the application server over the network.
- the database server may receive a query from the application server to retrieve the information (e.g., the historical conversations, the metadata, the first message, etc.).
- querying languages may be utilized such as SQL, QUEL, DMX and so forth.
- the database server may be realized through various technologies such as Microsoft® SQL server, Oracle, and My SQL.
- the application server may refer to a computing device or a software framework that may provide a generalized approach to create the application server implementation.
- the function of the application server may be dedicated to the efficient execution of procedures, such as programs, routines, or scripts stored in memories for supporting its applied applications.
- the application server may be configured to monitor the incoming messages (i.e., the first messages).
- the first messages posted by the first customers may be stored in the memories of the application server.
- the application server may be configured to send a query to the database server to extract the historical conversations between the second customers and the agents.
- the application server may send a query to the central storage systems to extract the historical conversations. Further, the application server may extract the features from each of the historical conversations.
- the features extracted from the historical conversations may comprise at least of the topic associated with each conversation, the sentiment of the conversation, the location of the second customer, or the social media influence of the second customer.
- the application server may determine the combinations based on at least the features extracted from each of the conversations.
- the application server may assign a priority to each combination based on at least a count of conversations in each of the predefined priorities (i.e., categories such as high, medium, low, and spam) associated with each combination.
- the application server may determine the first set of rules based on at least the priority assigned to each combination and a predefined priority of each conversation. Further, the application server may extract the predefined rules from the memories or the database server. Thereafter, the application server may update the predefined rules with the generated first set of rules.
- the application server utilizes at least the updated predefined rules to determine the priority of the first message. Further, the application server may utilize a combination of the first features associated with the first message to determine the priority of the first message.
- the application server may present/display a user interface, on the display screen of the agent computing device, displaying assigned priority of the first message to the agents.
- a method of assigning the priority to the first message will be explained later in conjunction with FIG. 3 and FIG. 4 .
- the GUI displaying a ranked list of messages (i.e., a ranked list of incoming messages) based on assigned priorities will be explained later in conjunction with FIG. 5A and FIG. 5B .
- the application server may be realized through various web-based technologies such as a Java web-framework, a .NET framework, a PHP framework, or any other web-application framework.
- the application server has been described later in conjunction with FIG. 2 .
- the scope of this disclosure is not limited to the agent computing device 104 , the database server or the application server as a separate entity.
- the functionalities of the database server may be integrated into the agent computing device 104 and/or the application server.
- the network corresponds to a medium through which conversations and messages (e.g., the conversations, metadata associated with the historical conversations, the first messages, etc.) flow between various devices of the system environment (e.g., the customer computing device 102 , the agent computing device 104 , the database server, and the application server).
- Examples of the network may include, but are not limited to, a Wireless Fidelity (Wi-Fi) network, a Wireless Area Network (WAN), a Local Area Network (LAN), or a Metropolitan Area Network (MAN).
- Various devices in the system environment can connect to the network in accordance with various wired and wireless communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and 2G, 3G, or 4G communication protocols.
- TCP/IP Transmission Control Protocol and Internet Protocol
- UDP User Datagram Protocol
- 2G, 3G, or 4G communication protocols 2G, 3G, or 4G communication protocols.
- FIG. 2 is a block diagram illustrating a system 200 for assigning a priority to a first message from a first customer in a social CRM environment.
- the system may comprise processors, such as a processor 202 , memories, such as a memory 204 , transceivers, such as a transceiver 206 , arithmetic logic units such as an arithmetic logic unit (ALU) 208 , control units, such a control unit 210 , and comparators, such as a comparator 214 .
- the transceiver is coupled with an input terminal 216 and an output terminal 218 .
- the system may correspond to the agent computing device 104 or the application server.
- the system has been considered as the application server.
- the processor may be configured to execute a set of instructions stored in the memory to perform operations.
- the processor may be coupled to the memory, the transceiver, and the comparator.
- the processor may comprise the ALU and the control unit.
- the ALU may be coupled to the control unit.
- the ALU may be operable to perform mathematical and logical operations and the control unit may control the operation of the ALU.
- the processor may comprise counters such as a counter 212 . Though, the counter is implemented within the processor in FIG. 2 , a person skilled in the art would appreciate the counter to be implemented as independent from the processor.
- the processor may be implemented based on a number of processor technologies known in the art. Examples of the processor include, but are not limited to, an X86-based processor, a Reduced Instruction Set Computing (RISC) processor, an Application-Specific Integrated Circuit (ASIC) processor, and/or a Complex Instruction Set Computing (CISC) processor.
- RISC Reduced Instruction Set Computing
- ASIC Application-Specific Integrated Circuit
- the memory may be operable to store machine codes, and/or computer programs having at least one code section executable by the processor.
- the memory may store at least sets of instructions, metadata associated with the historical conversations, and/or the first message.
- Some of the commonly known memory implementations include, but are not limited to, a random access memory (RAM), a read-only memory (ROM), a hard disk drive (HDD), and a secure digital (SD) card.
- the memory may include the machine codes, and/or computer programs that are executable by the processor to perform specific operations. It will be apparent to a person having ordinary skill in the art that the instructions stored in the memory enables the hardware of the system to perform the predetermined operation.
- the transceiver may be operable to communicate with the devices, such as the customer computing device or the agent computing device 104 and/or servers, such as the database server over the network.
- the transceiver may be operable to transmit or receive the metadata/instructions/queries/first message/responses to/from various components of the system environment.
- the transceiver is coupled to the input terminal and the output terminal through which the transceiver may receive or transmit metadata/instructions/queries/first message/responses.
- the input terminal and the output terminal may be realized through an antenna, an Ethernet port, an USB port or any other port that can be configured to receive and transmit data.
- the transceiver may receive and transmit various data in accordance with various communication protocols such as, TCP/IP, UDP, and 2G, 3G, or 4G communication protocols through the input terminal and the output terminal, respectively.
- the comparator is configured to compare at least two input signals to generate an output signal.
- the output signal may correspond to either ‘1’ or ‘0’.
- the comparator may generate output ‘1’ if the value of a first signal (from the at least two signals) is greater than a value of the second signal (from the at least two signals).
- the comparator may generate an output ‘0’ if the value of the first signal is less than the value of the second signal.
- the comparator may be realized through either software technologies or hardware technologies known in the art. Though, the comparator is depicted as independent from the processor in FIG. 2 , a person skilled in the art would appreciate that the comparator may be implemented within the processor without departing from the scope of this disclosure.
- the processor may receive the historical conversations from the database server.
- the processor may extract the features from each of the conversations in the historical conversations. Thereafter, the processor may determine the combinations of the features. Each combination of the features may correspond to first categories. Thereafter, the processor may categorize each of the conversations in the first categories (i.e., combinations of the features), as per the features associated with the conversations.
- Each of the first categories may include a first set of conversations. The categorization of the conversations in the first categories has been described later in conjunction with FIG. 3 .
- the processor may further categorize the first set of conversations in second categories based on the priority associated with each conversation in the first set of conversations.
- Each of the second categories corresponds to a priority associated with the conversation.
- the second categories may correspond to a high priority, a medium priority, a low priority, and a spam priority.
- the processor determines a priority of each of the first categories (i.e., the combinations of the features) based on the count of the conversations under each of the second categories in the respective first categories.
- the processor assigns the priority to each combination of the features. For example, there are 20 historical conversations associated with a combination (e.g., location-1+topic-1). Five historical conversations have been previously assigned a high priority, seven historical conversations have been previously assigned a medium priority, and eight historical conversations have been previously assigned a low priority. So, the combination has three second categories, namely high, medium, and low. The count of conversations under each second category i.e. high, medium, and low is five, seven, and eight respectively.
- the count of the conversations is maximum (i.e., eight) under the low category. Therefore, the processor may assign a low priority to the combination (i.e., location-1+topic-1). Similarly, the processor may assign the priority to each of the combinations of the features (i.e., the first categories).
- the processor may generate a training data that may be utilized to determine the first set of rules.
- the training data may comprise at least of the features extracted from each conversation, the combinations of the features, and the determined priority of each of the first categories.
- the processor may update the predefined rules with the first set of rules. The generation of the first set of rules and thereafter, the updating of the predefined rules has been described later in conjunction with FIG. 3 .
- the processor may receive the first messages such as the first message from the first customer.
- the processor may extract the first features from the first message. Thereafter, the processor may determine the combination of the first features extracted from the first message. Further, the processor may utilize the updated predefined rules to assign the priority to the first message based on at least the combination of the first features associated with the first message.
- the processor may display the priority of the first message, on the display screen of the agent computing device 104 , to the agents.
- An agent from the agents, may transmit a response corresponding to the first message based on the assigned priority.
- the priority of a first conversation comprising the first message, between the first customer and the agent may remain same as that of the first message from the first customer.
- the agents may change the priority of the first conversation comprising the first message based on least of the first features extracted from the first conversation comprising the first message, a timespan associated with each of the first messages in the first conversation, and a previous conversation history of the first customer.
- FIG. 3 is a flowchart 300 illustrating the method for assigning the priority to the first message from the first customer. The flowchart 300 is described in conjunction with FIG. 1 and FIG. 2 .
- the historical conversations between the second customers and the customer care agents are extracted.
- the processor may send the query to the database server to extract the historical conversations.
- the historical conversations may comprise the conversations that may have occurred between the second customers and the agents.
- Each of the conversations may comprise the second messages.
- the conversations may comprise the features such as the locations of the second customers, the topic of the conversations, and the sentiments of the second messages in the conversations.
- each of the conversations may be associated with the predefined priority that may have been assigned by the agents.
- the agent may have assigned a priority to each of the second messages in each conversation. Thereafter, the processor may have determined a cumulative priority of each conversation based on the priority of each of the second messages.
- the processor may determine the count of the messages in the conversation under each priority. Thereafter, the processor may determine the priority having maximum number of messages. The processor may assign the priority having maximum number of messages as the priority of the conversation.
- the processor may send a query to the central storage systems of the companies/organizations/social networking platforms (e.g., social networking websites such as FACEBOOKTM, LINKEDINTM, and TWITTERTM) that may provide the rightful authentication to extract the historical conversations between the second customers and the agents.
- the central storage systems may comprise the file systems, the work logs, the cloud systems, and the databases of the companies/organizations/social networking platforms.
- the processor may extract the incoming message (i.e., the first message) that may have been stored in the database server.
- the processor may receive the first message from the customer computing device 102 .
- the features are extracted from the historical conversations.
- the processor may extract the features from each of the conversations in the historical conversations.
- the features may comprise, but are not limited to, the topic associated with each conversation, the sentiment of the conversation, the location of the second customer, and the social media influence of the second customer.
- the processor may obtain the features for each of the conversations from the database server. For example, there are conversations.
- the processor may extract features from the conversations as shown in Table 1.
- the processor may further extract the priority of the conversations from the database server.
- the agent may have assigned the priority to the conversation while interacting with the customer on the other side of the conversation.
- the processor may determine the priority of the conversation based on the response time of the messages in the conversations.
- the processor may determine the timestamp associated with the second messages in each of the conversations. Further, the processor may determine the priority of the conversations based on at least the timestamp associated with the second messages in each of the conversations.
- the ALU may determine a first response time and a second response time for each second message in each conversation based on at least the timestamp associated with each second message in each conversation.
- the first response time corresponds to a time taken by a second customer to reply to each of the second messages received from a customer care agent.
- the second response time corresponds to a time taken by a customer care agent to reply to each of the second messages received from a second customer.
- the ALU may determine a first average response time for each conversation based on at least the first response time associated with the second messages in each conversation.
- a conversation comprises four messages (a second customer has received each message from a customer care agent).
- the timestamp associated with the four messages are 12.10 PM, 12.20 PM, 12.25 PM, and 12.38 PM.
- the second customer has replied to each of the four messages at 12.13 PM, 12.22 PM, 12.28 PM, and 12.39 PM. Therefore, the first response time associated with each of the four messages are 3 minutes, 2 minutes, 3 minutes, and 1 minute.
- the first average response time of the conversation comprising the four messages is 2.25 minutes
- the ALU may determine a second average response time for each conversation based on at least the second response time associated with the second messages in each conversation.
- the ALU may utilize codes/programs/algorithms/scripts stored in the memory to determine the first response time, the second response time, the first average response time, and the second average response time.
- the processor may utilize the first average response time and the second average response time associated with each of the historical conversations to determine the priority of each conversation.
- the processor may refer to a predefined set of rules to assign priority to the conversations based on the first average response time and the second average response time.
- the predefined set of rules may have defined range of first average response time and the second average response time for each priority type. For example, if the first average response time is 2.25 minutes and the second average response time is 3 minutes, priority of the conversation is “high”.
- the agents may consider the first average response time and the second average response time associated with each conversation to assign the priority to each of the historical conversations.
- the combinations of the features are determined.
- the combinations of the features correspond to the first categories.
- the processor may determine the first categories based on the features extracted from each of the historical conversations. Further, the first categories may include all the possible permutations of the features.
- the combination of the features correspond to combinations of the feature values.
- the features values extracted from the conversations as discussed above are influence(high), influence(medium), influence(low), location-1, location-2, topic-1, and topic-2.
- the processor may determine the combinations of the features (i.e., the first categories) based on the extracted feature values as shown in Table 2.
- a first combination, C1 is determined based on the extracted features (e.g., influence(high), location-1, and topic-1) as shown in Table 2.
- the count of conversations for each combination of the features is determined.
- the processor may determine the count of conversations for each of the first categories.
- the processor may categorize each of the conversations in the first categories based on the combination of the features associated with the respective conversations. For example, features extracted from a conversation is influence(low), location-2, and topic-1, the processor may categorize the conversation in the first category corresponding to the combination C7 (refer Table 2).
- Each of the first categories may comprise the first set of conversations.
- the counter determines the count of the conversations in each of the first categories, therefore determining the count of conversations for each of the combinations of the features.
- Table 3 illustrates a count of the conversations in each of the first categories (i.e., feature combinations).
- the first set of conversations in each of the first categories is further categorized into the second categories.
- the first set of conversations is categorized into the second categories based on the predefined priority associated with each conversation in the first set of conversations. For example, there are 100 conversations and each of the 100 conversations have a predefined priority such as a high priority, a medium priority, a low priority, and a spam priority.
- the processor may categorize the first set of conversations in each of the first category into second categories namely high, medium, low, and spam. Further, the processor may be configured to utilize the counter to determine the count of conversations in each of the second categories.
- the priority of each combination is determined.
- the processor may determine the priority of each first category based on at least the count of the conversations under each of the second categories.
- the processor determines the count of conversations in each second category (refer Table 4) corresponding to each first category.
- the processor identifies the second category with maximum number of conversations.
- the processor may assign the priority to the first categories as the priority represented/indicated by the second category having maximum number of conversations.
- the combination C 1 is assigned a high priority as the count of conversations is maximum under the high category (i.e., 5) as compared to other categories (i.e., medium (2), low (3), and spam (2)) in the first category C1.
- the processor may assign the priority to each of the combinations (e.g., C2, C3, C4, C5, C6, C7, and C8) as shown in Table 5.
- two of the second categories may have same count of conversations and the count is maximum among the count of conversations in each of the second categories.
- the processor may select a second category randomly from the two second categories. Thereafter, the processor may assign the priority to the first category by assigning the priority represented by the randomly selected second category.
- the processor may select a second category, which has higher priority among the two or more second categories (for same count of conversations and the count is maximum among the count of conversations in each of the second categories). For example, there is a second category with a high priority and a second category with a medium priority. These two second categories have same count of conversations and the count is maximum among the count of conversations in each of the second categories.
- the processor may select the second category with the high priority and further assign the high priority to the first category.
- the second category with lowest priority (among the second categories having same count of conversations) may be selected. Accordingly, the combination of the features (i.e., the first category) is assigned the priority.
- the first set of rules is generated based on at least the priority of each combination.
- the processor may generate/determine the first set of rules based on a continuous learning of the training data.
- the training data is continuously updated with the historical conversations.
- the training data may comprise at least of the features extracted from each of the historical conversations, the combinations of the extracted features (i.e., the first categories), the determined priority of each of the first categories, the first average response time, the second average response time, and the previous conversation history of the customers (e.g., first customer, second customer, customer care agents, etc.).
- the first set of rules comprises rules that are utilized in conjunction with the predefined rules to assign the priority to the incoming message (i.e., the first message). For example, assign a same priority to an incoming message as that of a combination (e.g., C1), when the combination of the first features extracted from the incoming message is same as that of the combination C1.
- the predefined rules are updated with at least the first set of rules.
- the processor may extract the predefined rules from the database server or the memory. Thereafter, the processor may update the predefined rules with at least the determined first set of rules.
- the predefined rules are updated with the first set of rules so as to improve the accuracy of assigning the priority to the first message.
- the priority is assigned to the first message (i.e., the incoming message) from the first customer.
- the processor may utilize the updated predefined rules to assign the priority to the first message from the first customer.
- the processor may extract the first features from the first message.
- the processor may determine the combination of the first features extracted from the first message.
- the processor may utilize the updated predefined rules to assign/predict the priority to the first message. For example, a first message is received from a first customer.
- the processor extracts first features from the first message.
- the extracted first features of the first message are influence(medium), location-2, and topic-1.
- the combination of the first features is determined as influence(medium)+location-2+topic-1.
- the processor utilizes the updated predefined rules to determine that the combination of the first message corresponds to the combination, C3. Therefore, the processor may assign a medium priority to the first message.
- the assigned priority of the first message is displayed to the agents.
- the processor may present the user interface on the display screen of the agent computing device displaying the assigned priority of the first message.
- the agents may transmit responses corresponding to the first message based on the assigned priority of the first message.
- the agents may change the priority of the first message from the first customer based on at least the location and influence of the first customer, topic and content of the conversation comprising the first message, previous conversation history of the first customer, and details of the first customer.
- FIG. 4 is a block diagram that illustrates a flow diagram for assigning the priority to the first message from the first customer in the social CRM environment.
- the block diagram 400 is described in conjunction with FIG. 1 , FIG. 2 and FIG. 3 .
- the processor may extract the historical conversations (depicted by 408 ) from the database server. Thereafter, the processor may extract the features (depicted by 410 A) from each of the historical conversations. The features may comprise location, influence, topic, and predefined priority. Further, the processor may determine the combinations (depicted by 410 B) comprising the extracted features (depicted by 410 A). The processor assigns the priority to each combination (i.e., each first category) based on at least the count of conversations under each of the second categories associated with each of the categories. Thereafter, the processor utilizes the training data to determine the first set of rules (depicted by 412 ). The training data may comprise at least of the features extracted from each of the historical conversations, the combinations of the extracted features (i.e., the first categories), and the determined priority of each of the first categories.
- the processor may update the predefined rules with the first set of rules.
- the processor may determine the first features of the first message (depicted by 404 A). Thereafter, the processor may determine the combination of the first features of the first message (depicted by 404 B).
- the processor may utilize the updated predefined rules to predict/assign the priority to the first message. Similarly, the processor may assign the priority (high, medium, low, or spam) to each of the first messages (i.e. the incoming messages).
- the processor may present the user interface displaying a ranked list of messages (depicted by 414 ) to the agents. The first messages in the ranked list of messages may be displayed based on at least the assigned priorities (depicted by 414 ). The first messages in the ranked list of messages may be categorized into priorities (i.e., high, medium, low, or spam as depicted in 414 ).
- GUI Graphical User Interface
- FIG. 5A is a block diagram illustrating a GUI 500 A displaying the ranked list of messages to the agents.
- the GUI 500 A may be displayed on the display screen of a computing device such as the agent computing device.
- An agent from the agents, may log into a social CRM environment system using his/her user id and password.
- the processor may present the GUI 500 A to one of the agent, when the agent has logged in.
- the agent may utilize the GUI 500 A to view, select, and reject the incoming message (i.e., the first message) using tabs such as a view incoming message tab 502 , a select incoming message tab 504 , and a reject incoming message tab 506 .
- the processor may display the ranked list of messages 414 , when the agent clicks on the view incoming message tab.
- the processor may enable the agent to select at least one incoming message from the ranked list of messages, when the agent clicks on the select incoming message tab 504 .
- the agent may reject the incoming messages, when the agent clicks on the reject incoming message tab.
- the agent may click on a save tab 510 to save any of the changes that he/she have made on the GUI 500 A.
- the processor enables the agent to select the incoming message from the ranked list of messages.
- the processor may present a GUI 500 B to the agent displaying the selected incoming message as shown in FIG. 5B , when the agent selects the incoming message from the ranked list of messages.
- the agent selects an incoming message from the ranked list of messages such as a message 1 from a first customer.
- the processor present the GUI 500 B displaying the message 1 from the first customer.
- the agent may utilize the GUI 500 B to transmit responses corresponding to the queries from the first customer.
- the agent may click on a profile tab 512 to view the profile of the first customer.
- the agent may click on a conversation history tab 514 to view previous conversation history of the first customer.
- the agent may click on a change priority of selected message tab 516 to change the priority of the conversation comprising the selected message from the first customer.
- the processor may assign the priority to the conversation comprising the first message by assigning the priority represented by the first message, when the agent has not changed the priority of the first message.
- Post-closing of the conversation comprising the first message the processor may update the historical conversations with the conversation comprising the first message. Thereafter, the processor may repeat the process as discussed above (refer FIG. 3 ) to assign a priority to another incoming message.
- the agent may click on a save tab to save any of the changes that he/she have made on the GUI 500 B. Further, the agent may click on a back tab to go back to a previous interface.
- Various embodiments hereof are directed to a method and a system for assigning a priority to an incoming message from a customer.
- the method utilizes the historical conversations and the predefined priorities associated with each of the conversation in the historical conversations to determine a first set of rules.
- the disclosed method further utilizes the first set of rules (i.e., the dynamic workflow rules) to update the predefined rules (i.e., the static workflow rules).
- the predefined rules are updated with the first set of rules so as to improve the accuracy of assigning the priority to the incoming message.
- the disclosed method assigns the priority to the incoming message from the customer based on at least the updated predefined rules.
- the disclosed method helps one or more agents reduce their time spent on identifying important incoming messages in a social CRM environment.
- the disclosed method enables CRM businesses to effectively configure and adjust their workflow rules whenever needed without doing them manually.
- a computer system may be embodied in the form of a computer system.
- Typical examples of a computer system include a general purpose computer, a programmed microprocessor, a micro-controller, a peripheral integrated circuit element, and other devices, or arrangements of devices that are capable of implementing the steps that constitute the method of the disclosure.
- the computer system comprises a computer, an input device, a display unit, and the internet.
- the computer further comprises a microprocessor.
- the microprocessor is connected to a communication bus.
- the computer also includes a memory.
- the memory may be RAM or ROM.
- the computer system further comprises a storage device, which may be a HDD or a removable storage drive such as a floppy-disk drive, an optical-disk drive, and the like.
- the storage device may also be a means for loading computer programs or other instructions onto the computer system.
- the computer system also includes a communication unit.
- the communication unit allows the computer to connect to other databases and the internet through an input/output (I/O) interface, allowing the transfer as well as reception of data from other sources.
- I/O input/output
- the communication unit may include a modem, an Ethernet card, or similar devices that enable the computer system to connect to databases and networks such as LAN, MAN, WAN, and the internet.
- the computer system facilitates input from a user through input devices accessible to the system through the I/O interface.
- the computer system executes a set of instructions stored in one or more storage elements.
- the storage elements may also hold data or other information, as desired.
- the storage element may be in the form of an information source or a physical memory element present in the processing machine.
- the programmable or computer-readable instructions may include various commands that instruct the processing machine to perform specific tasks such as steps that constitute the method hereof.
- the systems and methods described can also be implemented using only software programming, only hardware, or a varying combination of the two techniques.
- the teachings hereof are independent of the programming language and the operating system used in the computers.
- the instructions can be written in all programming languages including “C,” “C++,” “Visual C++,” and “Visual Basic.”
- software may be in the form of a collection of separate programs, a program module containing a larger program, or a portion of a program module, as discussed in the ongoing description.
- the software may also include modular programming in the form of object-oriented programming.
- the processing of input data by the processing machine may be in response to user commands, the results of previous processing, or from a request made by another processing machine.
- the teachings hereof can also be implemented in various operating systems and platforms, including “Unix,” “DOS,” “Android,” “Symbian,” and “Linux.”
- the programmable instructions can be stored and transmitted on a computer-readable medium and can also be embodied in a computer program product comprising a computer-readable medium, with any product capable of implementing the above methods and systems, or the numerous possible variations thereof.
- any of the aforementioned steps and/or system modules may be suitably replaced, reordered, or removed, and additional steps and/or system modules may be inserted, depending on the needs of a particular application.
- the systems of the aforementioned embodiments may be implemented using a wide variety of suitable processes and system modules, and are not limited to any particular computer hardware, software, middleware, firmware, microcode, and the like.
- the claims can encompass embodiments for hardware and software, or a combination thereof.
Abstract
Description
- The presently disclosed embodiments are related, in general, to customer relationship management systems. More particularly, the presently disclosed embodiments are related to methods and systems for assigning a priority to an incoming message from a customer.
- Customer relationship management (CRM) is widely implemented for managing a company's interactions with customers, clients, and sales prospects. The goal is to find, attract, and win new clients, nurture and retain the existing clients, entice former clients to return, and reduce the costs of marketing and client service. In Social CRM environment, the customers usually send their queries by means of messages to customer support representatives. A prompt reply to such messages may help the organizations to maintain and gain businesses.
- The customers may utilize social medium channels such as FACEBOOK™, LINKEDIN™, TWITTER™, and the like to communicate with the customer care representatives. However, the social medium channels may be very noisy and informal. Hence, the identification of the high priority messages may be a very challenging task for organizations to maintain their communication with their customer.
- What is disclosed is a customer relationship management system to help customer care agents prioritize a response to an incoming message. Historical conversations between customers and agents are retrieved. Each conversation has associated features and an assigned priority. Features are categorized into a plurality of categories. A priority is assigned to each category based on the features and the cumulative priority of all conversations in each category. Thereafter, an incoming message is received from a customer's computing device. Features are extracted from the incoming message. A determination is then made as to which of the categories this incoming message belongs based on this message's features. A priority is then assigned to the incoming message based on a priority assigned to the category which the incoming message belongs. The priority is then displayed for a customer agent so the agent can prioritize his/her response to that customer's incoming message.
- The accompanying drawings illustrate the various embodiments of systems, methods, and other aspects of the teachings disclosed herein. Any person with ordinary skill in the art would appreciate that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. In some examples, one element may be designed as multiple elements, or multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another, and vice versa. Furthermore, the elements may not be drawn to scale.
- Various embodiments will hereinafter be described in accordance with the appended drawings, which are provided to illustrate and not to limit the scope in any manner, wherein similar designations denote similar elements, and in which:
-
FIG. 1 is a block diagram of a system environment in which various embodiments can be implemented; -
FIG. 2 is a block diagram that illustrates a system for assigning a priority to a first message from a first customer in a social CRM environment; -
FIG. 3 is a flowchart illustrating a method for assigning a priority to a first message from a first customer in a social CRM environment; -
FIG. 4 is a block diagram that illustrates a flow diagram for assigning a priority to a first message from a first customer in a social CRM environment; -
FIG. 5A is a block diagram illustrating a graphical user interface (GUI) displaying a ranked list of messages to one or more agents; and -
FIG. 5B is a block diagram illustrating a GUI displaying a selected incoming message. - The present invention is best understood with reference to the detailed figures and description set forth herein. Various embodiments are discussed below with reference to the figures. However, those skilled in the art will readily appreciate that the detailed descriptions given herein with respect to the figures are simply for explanatory purposes as the methods and systems may extend beyond the described embodiments. For example, the teachings presented and the needs of a particular application may yield multiple alternative and suitable approaches to implement the functionality of any detail described herein. Therefore, any approach may extend beyond the particular implementation choices in the following embodiments described and shown.
- References to “one embodiment,” “at least one embodiment,” “an embodiment,” “one example,” “an example,” “for example,” and so on indicate that the embodiment(s) or example(s) may include a particular feature, structure, characteristic, property, element, or limitation, but that not every embodiment or example necessarily includes that particular feature, structure, characteristic, property, element, or limitation. Further, repeated use of the phrase “in an embodiment” does not necessarily refer to the same embodiment.
- Definitions: The following terms shall have, for the purposes of this application, the meanings set forth below.
- A “computing device” refers to a device that includes processors/microcontrollers and/or any other electronic components, or a device or a system that performs operations according to programming instructions/codes. Examples of the computing device may include a desktop computer, a laptop, a personal digital assistant (PDA), a mobile device, a Smartphone, a tablet computer (e.g., iPad®, and Samsung Galaxy Tab®), and the like.
- A “message” refer to a communication transmitted to or received for an individual who cannot be reached directly. The message may correspond to at least of an instant message conversation, an electronic mail, a voice mail, a text message, and a message corresponding to a query/problem. A “first message” refers to an incoming message from an individual pertaining to a query or problem. The individual may transmit the first message to a customer care agent for an appropriate solution pertaining to the first message. Hereinafter, “first message” and “incoming message” has been interchangeably used.
- A “priority” refers to a fact or condition of being treated or regarded as more important than others. The priority may comprise ratings such as “high”, “medium”, “low,” or “spam”. The priority may comprise numerical values representing the ratings such as “1”, “2”, “3”, or “4”, wherein rating “1” may be assigned corresponding to a most important incoming message and rating “4” may be assigned corresponding to a least important incoming message, or vice versa.
- A “first customer” refers to an individual who is a member of social CRM based companies/organizations. The first customer may transmit/send a first message, corresponding to a problem/query/issue, to a customer care agent for a solution.
- A “second customer” refers to an individual who is a member of social CRM based companies/organizations. The second customer may have communicated, pertaining to queries/problems/issues, with customer care agents in the past. The conversation history comprising conversations between the second customer and the customer care agents may be stored in a storage system such as a database, cloud system, or work logs.
- A “customer care agent” refers to an individual, a machine, or a software program which transmits responses corresponding to a query/issue/problem raised by a first customer. The customer care agent may be responsible for providing solutions or services to the first customer. Hereinafter, “customer care agent” and “agent” has been interchangeably used.
- A “social customer relationship management (CRM)” system refers to a system responsible for maintaining and managing customer relations. Managing customer relations may involve managing interactions with the customers, and pitching for new customers. The CRM system may have defined workflows to manage the customer relations. The workflows may include workflows related to organize, automate and synchronize marketing, customer service, and technical support. Where the CRM system manages the interactions between the customer and the customer management agents, the CRM system manages timely and accurate responses to the incoming messages (i.e., first messages), providing the solutions to each of first customers' requirements, timely communications with the first customers, and customer service centers utilized for solving issues/queries of the first customers.
- “Historical conversations” refer to previous conversations between second customers and customer care agents. The historical conversations may comprise one or more second messages that may have been communicated between a second customer and a customer care agent.
- “One or more features” refer to features associated with each of the conversations in the historical conversations. The features may comprise at least of a sentiment of a message in a conversation, a topic of the conversation, a location of a customer, or a social media influence of the customer. The message may correspond to a first message or a second message. The conversation may correspond to a previous conversation or present conversation. Further, the customer may correspond to a first customer or second customer.
- “One or more combinations of features” refer to all possible combination of feature values obtained from the conversations/messages. For example, there are three features (e.g., location, topic, and influence) extracted from a historical conversation. Each of the three features may have different values. For example, the feature location may have various values such as location-1, location-2, and location-3. Similarly, values of the influence features may include high, medium, and low. The combinations may correspond to all possible combinations of the feature values, for example, {location-1, influence(high)}, {location-1, influence(low)}, {location-1, influence(medium)}, {location-1, influence(medium), topic-1}, and so on.
- A “first set of rules” refers to a set of rules (i.e., a set of dynamic workflow rules) that may be utilized for assigning a priority to an incoming message (i.e., a first message). The first set of rules are determined/generated based on the historical conversations and the combinations of features extracted from each of the historical conversations.
- “One or more predefined rules” refer to a set of rules (i.e., a set of static workflow rules) being utilized for assigning a priority to an incoming message based on recent conversations, customer influence, location, or topic of message. Further, the predefined rules require manual analysis of the messages for assigning the priority to an incoming message. For example, if an issue comes from a high influencing customer about a bad network then a high priority will be assigned, but the same issue raised by a low influencing customer will be considered as a low priority.
- “One or more predefined priorities” refer to priorities that have been previously assigned to each of conversations in historical conversations. The customer care agents may have assigned a priority to each conversation in the historical conversations based on predefined rules such as recent conversations, rules on the customer influence score, rules on the location of the customer, or rules related to the topic of message.
- A “first response time” refers to a time taken by a second customer to reply to each of messages received from customer care agents. For example, a customer care agent sent a message to a second customer at 10.30 AM. The second customer replied at 10.35 AM. Therefore, the first response time is 5 minutes.
- A “second response time” refers to a time taken by a customer care agent to reply to each of messages received from a second customer. For example, a second customer sent a message to a customer care agent at 10.40 AM. The customer care agent replied at 10.42 AM. Therefore, the second response time is 2 minutes.
- Functional Block Diagram
-
FIG. 1 is a block diagram of asystem environment 100, in which various embodiments can be implemented. The system environment includes acustomer computing device 102 such as a first customer computing device 102A and a second customer computing device 102B, anagent computing device 104 such as a firstagent computing device 104A and a second agent computing device 104B, adatabase server 106,anapplication server 108, and anetwork 110. Various devices in the system environment may be interconnected over the network.FIG. 1 shows, for simplicity, two customer computing devices 102A and 102B, twoagent computing devices 104A and 104B, onedatabase server 106, and oneapplication server 108. However, it will be apparent to a person having ordinary skill in the art that the disclosed embodiments may also be implemented using multiplecustomer computing devices 102, multipleagent computing devices 104,multiple database servers 106, andmultiple application servers 108. - The customer computing device may correspond to a computing device that may be used by a first customer. The first customer may correspond to an individual who may transmit a first message, corresponding to a problem/query/issue, to a customer care agent for a solution. The customer computing device may comprise processors in communication with memories. The customer computing device may be operable to execute sets of instructions stored in the memories. The customer computing device may be communicatively coupled to the network. The customer computing device may comprise a display screen that may be configured to display one or more user interfaces to the first customer. The first customer may utilize the customer computing device to transmit the first message corresponding to a problem/query/issue to the
agent computing device 104, the database server, and/or the application server over the network. For example, a first customer may transmit a first message such as “my mobile data is not is not getting backed up”. The first customer may utilize the customer computing device to receive/view one or more responses pertaining to the first message. For example, a customer care agent may send a second message in response to the first message such as, “I can help you, please share your area zip code”. - The customer computing device may correspond to various types of computing devices such as a desktop computer, a laptop, a personal digital assistant (PDA), a mobile device, a smartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), and the like.
- The
agent computing device 104 may correspond to a computing device used by agents. The agents may correspond to one or more customer care agents/individuals/persons/users, who may transmit responses corresponding to first messages. The agent computing device may comprise processors in communication with memories. The agent computing device may be operable to execute sets of instructions stored in the memories. The agent computing device may be communicatively coupled to the network. Theagent computing device 104 may comprise a display screen that may be configured to display user interfaces to the agents. The agents may utilize the agent computing device to receive/view the first message from the customer computing device, the database server, and/or the application server over the network. For example, a first customer may transmit a first message such as “my mobile data is not is not getting backed up”. The agents may utilize the agent computing device to transmit one or more responses pertaining to the first message. For example, a customer care agent may send a second message in response to the first message such as, “I can help you, please share your area zip code”. Further, the agents may utilize the agent computing device to assign a priority to the first message from the first customer based on at least of first features associated with the first message and the historical conversations associated with the first customer. The agent may utilize predefined rules or static rules to determine the priority of the first message. Manual assigning of a priority is described in conjunction withFIGS. 5A and 5B . - The agent computing device may correspond to various types of computing devices such as a desktop computer, a laptop, a personal digital assistant (PDA), a mobile device, a smartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), and the like.
- The database server may refers to a computing device or a storage system that may be configured to store historical conversations between second customers and the agents. The database server may obtain the historical conversations from various sources such as file systems, work logs, cloud systems, or databases of social CRM based companies/organizations (e.g., social networking websites such as FACEBOOK™, LINKEDIN™, TWITTER™, etc.) that may provide the rightful authentication to access the historical conversations. The historical conversations may comprise conversations that may have been communicated between the second customers and the agents. The database server may store metadata associated with each of the conversations in the historical conversations. The metadata may comprise features associated with each of the historical conversations, a timestamp associated with each of second messages in each of the conversations, combinations of the features, and priorities associated with each of the historical conversations. The features associated with each of the historical conversations may comprise at least of a sentiment of a message in a conversation, a topic of the conversation, a location of a second customer, or a social media influence of the second customer. The database server may store predefined rules that may be utilized to assign the priority to an incoming message such as the first message. The database server may store priorities assigned to incoming messages such as first messages. The social CRM based companies/organizations (e.g., FACEBOOK™, LINKEDIN™, TWITTER™, etc.) may store the conversations that have been previously communicated between the second customers and the agents in the central storage systems such as file systems, work logs, or cloud systems.
- The database server may be communicatively coupled over the network. The database server may be configured to transmit or receive instructions/metadata/historical conversations/first messages to/from computing devices, such as the customer computing device and the application server over the network. The database server may receive a query from the application server to retrieve the information (e.g., the historical conversations, the metadata, the first message, etc.). For querying the database server, querying languages may be utilized such as SQL, QUEL, DMX and so forth. Further, the database server may be realized through various technologies such as Microsoft® SQL server, Oracle, and My SQL.
- The application server may refer to a computing device or a software framework that may provide a generalized approach to create the application server implementation. The function of the application server may be dedicated to the efficient execution of procedures, such as programs, routines, or scripts stored in memories for supporting its applied applications. The application server may be configured to monitor the incoming messages (i.e., the first messages). The first messages posted by the first customers may be stored in the memories of the application server. The application server may be configured to send a query to the database server to extract the historical conversations between the second customers and the agents. The application server may send a query to the central storage systems to extract the historical conversations. Further, the application server may extract the features from each of the historical conversations. The features extracted from the historical conversations may comprise at least of the topic associated with each conversation, the sentiment of the conversation, the location of the second customer, or the social media influence of the second customer. The application server may determine the combinations based on at least the features extracted from each of the conversations. The application server may assign a priority to each combination based on at least a count of conversations in each of the predefined priorities (i.e., categories such as high, medium, low, and spam) associated with each combination. The application server may determine the first set of rules based on at least the priority assigned to each combination and a predefined priority of each conversation. Further, the application server may extract the predefined rules from the memories or the database server. Thereafter, the application server may update the predefined rules with the generated first set of rules. The application server utilizes at least the updated predefined rules to determine the priority of the first message. Further, the application server may utilize a combination of the first features associated with the first message to determine the priority of the first message.
- The application server may present/display a user interface, on the display screen of the agent computing device, displaying assigned priority of the first message to the agents. A method of assigning the priority to the first message will be explained later in conjunction with
FIG. 3 andFIG. 4 . Further, the GUI displaying a ranked list of messages (i.e., a ranked list of incoming messages) based on assigned priorities will be explained later in conjunction withFIG. 5A andFIG. 5B . - The application server may be realized through various web-based technologies such as a Java web-framework, a .NET framework, a PHP framework, or any other web-application framework. The application server has been described later in conjunction with
FIG. 2 . - A person with ordinary skill in the art would understand that the scope of this disclosure is not limited to the
agent computing device 104, the database server or the application server as a separate entity. The functionalities of the database server may be integrated into theagent computing device 104 and/or the application server. - The network corresponds to a medium through which conversations and messages (e.g., the conversations, metadata associated with the historical conversations, the first messages, etc.) flow between various devices of the system environment (e.g., the
customer computing device 102, theagent computing device 104, the database server, and the application server). Examples of the network may include, but are not limited to, a Wireless Fidelity (Wi-Fi) network, a Wireless Area Network (WAN), a Local Area Network (LAN), or a Metropolitan Area Network (MAN). Various devices in the system environment can connect to the network in accordance with various wired and wireless communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and 2G, 3G, or 4G communication protocols. - System for Assigning Priority to a First Message
-
FIG. 2 is a block diagram illustrating asystem 200 for assigning a priority to a first message from a first customer in a social CRM environment. The system may comprise processors, such as aprocessor 202, memories, such as a memory 204, transceivers, such as a transceiver 206, arithmetic logic units such as an arithmetic logic unit (ALU) 208, control units, such acontrol unit 210, and comparators, such as acomparator 214. The transceiver is coupled with aninput terminal 216 and anoutput terminal 218. - The system may correspond to the
agent computing device 104 or the application server. For the purpose of the ongoing description, the system has been considered as the application server. - The processor may be configured to execute a set of instructions stored in the memory to perform operations. The processor may be coupled to the memory, the transceiver, and the comparator. The processor may comprise the ALU and the control unit. The ALU may be coupled to the control unit. The ALU may be operable to perform mathematical and logical operations and the control unit may control the operation of the ALU. Further, the processor may comprise counters such as a
counter 212. Though, the counter is implemented within the processor inFIG. 2 , a person skilled in the art would appreciate the counter to be implemented as independent from the processor. The processor may be implemented based on a number of processor technologies known in the art. Examples of the processor include, but are not limited to, an X86-based processor, a Reduced Instruction Set Computing (RISC) processor, an Application-Specific Integrated Circuit (ASIC) processor, and/or a Complex Instruction Set Computing (CISC) processor. - The memory may be operable to store machine codes, and/or computer programs having at least one code section executable by the processor. The memory may store at least sets of instructions, metadata associated with the historical conversations, and/or the first message. Some of the commonly known memory implementations include, but are not limited to, a random access memory (RAM), a read-only memory (ROM), a hard disk drive (HDD), and a secure digital (SD) card. The memory may include the machine codes, and/or computer programs that are executable by the processor to perform specific operations. It will be apparent to a person having ordinary skill in the art that the instructions stored in the memory enables the hardware of the system to perform the predetermined operation.
- The transceiver may be operable to communicate with the devices, such as the customer computing device or the
agent computing device 104 and/or servers, such as the database server over the network. The transceiver may be operable to transmit or receive the metadata/instructions/queries/first message/responses to/from various components of the system environment. The transceiver is coupled to the input terminal and the output terminal through which the transceiver may receive or transmit metadata/instructions/queries/first message/responses. The input terminal and the output terminal may be realized through an antenna, an Ethernet port, an USB port or any other port that can be configured to receive and transmit data. The transceiver may receive and transmit various data in accordance with various communication protocols such as, TCP/IP, UDP, and 2G, 3G, or 4G communication protocols through the input terminal and the output terminal, respectively. - The comparator is configured to compare at least two input signals to generate an output signal. The output signal may correspond to either ‘1’ or ‘0’. The comparator may generate output ‘1’ if the value of a first signal (from the at least two signals) is greater than a value of the second signal (from the at least two signals). Similarly, the comparator may generate an output ‘0’ if the value of the first signal is less than the value of the second signal. The comparator may be realized through either software technologies or hardware technologies known in the art. Though, the comparator is depicted as independent from the processor in
FIG. 2 , a person skilled in the art would appreciate that the comparator may be implemented within the processor without departing from the scope of this disclosure. - In operation, the processor may receive the historical conversations from the database server. The processor may extract the features from each of the conversations in the historical conversations. Thereafter, the processor may determine the combinations of the features. Each combination of the features may correspond to first categories. Thereafter, the processor may categorize each of the conversations in the first categories (i.e., combinations of the features), as per the features associated with the conversations. Each of the first categories may include a first set of conversations. The categorization of the conversations in the first categories has been described later in conjunction with
FIG. 3 . - The processor may further categorize the first set of conversations in second categories based on the priority associated with each conversation in the first set of conversations. Each of the second categories corresponds to a priority associated with the conversation. For example, the second categories may correspond to a high priority, a medium priority, a low priority, and a spam priority.
- Thereafter, the processor determines a priority of each of the first categories (i.e., the combinations of the features) based on the count of the conversations under each of the second categories in the respective first categories. As the first categories correspond to combinations of the features, the processor assigns the priority to each combination of the features. For example, there are 20 historical conversations associated with a combination (e.g., location-1+topic-1). Five historical conversations have been previously assigned a high priority, seven historical conversations have been previously assigned a medium priority, and eight historical conversations have been previously assigned a low priority. So, the combination has three second categories, namely high, medium, and low. The count of conversations under each second category i.e. high, medium, and low is five, seven, and eight respectively. The count of the conversations is maximum (i.e., eight) under the low category. Therefore, the processor may assign a low priority to the combination (i.e., location-1+topic-1). Similarly, the processor may assign the priority to each of the combinations of the features (i.e., the first categories).
- Thereafter, the processor may generate a training data that may be utilized to determine the first set of rules. The training data may comprise at least of the features extracted from each conversation, the combinations of the features, and the determined priority of each of the first categories. Further, the processor may update the predefined rules with the first set of rules. The generation of the first set of rules and thereafter, the updating of the predefined rules has been described later in conjunction with
FIG. 3 . - Further, the processor may receive the first messages such as the first message from the first customer. The processor may extract the first features from the first message. Thereafter, the processor may determine the combination of the first features extracted from the first message. Further, the processor may utilize the updated predefined rules to assign the priority to the first message based on at least the combination of the first features associated with the first message.
- Post determining the priority of the first message, the processor may display the priority of the first message, on the display screen of the
agent computing device 104, to the agents. An agent, from the agents, may transmit a response corresponding to the first message based on the assigned priority. The priority of a first conversation comprising the first message, between the first customer and the agent, may remain same as that of the first message from the first customer. The agents may change the priority of the first conversation comprising the first message based on least of the first features extracted from the first conversation comprising the first message, a timespan associated with each of the first messages in the first conversation, and a previous conversation history of the first customer. - Flowchart for Assigning Priority to First Message
-
FIG. 3 is aflowchart 300 illustrating the method for assigning the priority to the first message from the first customer. Theflowchart 300 is described in conjunction withFIG. 1 andFIG. 2 . - At
step 302, the historical conversations between the second customers and the customer care agents (i.e., the agents) are extracted. The processor may send the query to the database server to extract the historical conversations. The historical conversations may comprise the conversations that may have occurred between the second customers and the agents. Each of the conversations may comprise the second messages. The conversations may comprise the features such as the locations of the second customers, the topic of the conversations, and the sentiments of the second messages in the conversations. Further, each of the conversations may be associated with the predefined priority that may have been assigned by the agents. The agent may have assigned a priority to each of the second messages in each conversation. Thereafter, the processor may have determined a cumulative priority of each conversation based on the priority of each of the second messages. For example, in a conversation there were 20 messages out of which 15 were high priority messages. Thus, the conversation is assigned a priority of high. The processor may determine the count of the messages in the conversation under each priority. Thereafter, the processor may determine the priority having maximum number of messages. The processor may assign the priority having maximum number of messages as the priority of the conversation. - The processor may send a query to the central storage systems of the companies/organizations/social networking platforms (e.g., social networking websites such as FACEBOOK™, LINKEDIN™, and TWITTER™) that may provide the rightful authentication to extract the historical conversations between the second customers and the agents. The central storage systems may comprise the file systems, the work logs, the cloud systems, and the databases of the companies/organizations/social networking platforms.
- Further, the processor may extract the incoming message (i.e., the first message) that may have been stored in the database server. The processor may receive the first message from the
customer computing device 102. - At
step 304, the features are extracted from the historical conversations. The processor may extract the features from each of the conversations in the historical conversations. The features may comprise, but are not limited to, the topic associated with each conversation, the sentiment of the conversation, the location of the second customer, and the social media influence of the second customer. The processor may obtain the features for each of the conversations from the database server. For example, there are conversations. The processor may extract features from the conversations as shown in Table 1. -
TABLE 1 An example of extracted features from conversations Customer's Conversations Location Influence Topic 12 location-1 influence(high) topic-1 8 location-2 influence(high) topic-2 9 location-2 influence(medium) topic-1 15 location-1 influence(high) topic-2 16 location-1 influence(low) topic-1 13 location-2 influence(low) topic-2 11 location-2 influence(low) topic-1 16 location-1 influence(medium) topic-2 -
- As shown in Table 1, the features extracted from 12 conversations are location-1, influence(high), and topic-1. Similarly, the processor extracts features from each of the conversations in the historical conversations as shown in Table 1.
- The processor may further extract the priority of the conversations from the database server. The agent may have assigned the priority to the conversation while interacting with the customer on the other side of the conversation.
- Further, the processor may determine the priority of the conversation based on the response time of the messages in the conversations. The processor may determine the timestamp associated with the second messages in each of the conversations. Further, the processor may determine the priority of the conversations based on at least the timestamp associated with the second messages in each of the conversations. The ALU may determine a first response time and a second response time for each second message in each conversation based on at least the timestamp associated with each second message in each conversation. The first response time corresponds to a time taken by a second customer to reply to each of the second messages received from a customer care agent. The second response time corresponds to a time taken by a customer care agent to reply to each of the second messages received from a second customer. Post determining the first response time, the ALU may determine a first average response time for each conversation based on at least the first response time associated with the second messages in each conversation. For example, a conversation comprises four messages (a second customer has received each message from a customer care agent). The timestamp associated with the four messages are 12.10 PM, 12.20 PM, 12.25 PM, and 12.38 PM. The second customer has replied to each of the four messages at 12.13 PM, 12.22 PM, 12.28 PM, and 12.39 PM. Therefore, the first response time associated with each of the four messages are 3 minutes, 2 minutes, 3 minutes, and 1 minute. The first average response time of the conversation comprising the four messages is 2.25 minutes
-
- Similarily, the ALU may determine a second average response time for each conversation based on at least the second response time associated with the second messages in each conversation. The ALU may utilize codes/programs/algorithms/scripts stored in the memory to determine the first response time, the second response time, the first average response time, and the second average response time. Further, the processor may utilize the first average response time and the second average response time associated with each of the historical conversations to determine the priority of each conversation. The processor may refer to a predefined set of rules to assign priority to the conversations based on the first average response time and the second average response time. The predefined set of rules may have defined range of first average response time and the second average response time for each priority type. For example, if the first average response time is 2.25 minutes and the second average response time is 3 minutes, priority of the conversation is “high”.
- The agents may consider the first average response time and the second average response time associated with each conversation to assign the priority to each of the historical conversations.
- At step 306, the combinations of the features are determined. The combinations of the features correspond to the first categories. The processor may determine the first categories based on the features extracted from each of the historical conversations. Further, the first categories may include all the possible permutations of the features.
- A person having ordinary skill in the art would understand that the combination of the features correspond to combinations of the feature values. For example, the features values extracted from the conversations as discussed above (refer Table 1) are influence(high), influence(medium), influence(low), location-1, location-2, topic-1, and topic-2. The processor may determine the combinations of the features (i.e., the first categories) based on the extracted feature values as shown in Table 2. For example, a first combination, C1 is determined based on the extracted features (e.g., influence(high), location-1, and topic-1) as shown in Table 2.
-
TABLE 2 An example of combinations of features Combination (First category) Associated Features First combination, C1 influence(high) + location-1 + topic-1 Second combination, C2 Influence(high) + location-2 + topic-2 Third combination, C3 Influence(medium) + location-2 + topic-1 Fourth combination, C4 Influence(high) + location-1 + topic-2 Fifth combination, C5 Influence(low) + location-1 + topic-1 Sixth combination, C6 Influence(low) + location-2 + topic-2 Seventh combination, C7 Influence(low) + location-2 + topic-1 Eight combination, C8 Influence(medium) + location-1 + topic-2 - At
step 308, the count of conversations for each combination of the features is determined. As the combinations of the features correspond to the first categories, the processor may determine the count of conversations for each of the first categories. The processor may categorize each of the conversations in the first categories based on the combination of the features associated with the respective conversations. For example, features extracted from a conversation is influence(low), location-2, and topic-1, the processor may categorize the conversation in the first category corresponding to the combination C7 (refer Table 2). Each of the first categories may comprise the first set of conversations. Post categorization, the counter determines the count of the conversations in each of the first categories, therefore determining the count of conversations for each of the combinations of the features. Following table (i.e., Table 3) illustrates a count of the conversations in each of the first categories (i.e., feature combinations). -
TABLE 3 An example of count of conversations in combinations Combination Count of (First Category) conversations C1 12 C2 8 C3 9 C4 15 C5 16 C6 13 C7 11 C8 16 - The first set of conversations in each of the first categories is further categorized into the second categories. The first set of conversations is categorized into the second categories based on the predefined priority associated with each conversation in the first set of conversations. For example, there are 100 conversations and each of the 100 conversations have a predefined priority such as a high priority, a medium priority, a low priority, and a spam priority. In such a case, the processor may categorize the first set of conversations in each of the first category into second categories namely high, medium, low, and spam. Further, the processor may be configured to utilize the counter to determine the count of conversations in each of the second categories.
-
TABLE 4 An example of second categories and count of conversations in each second category Count of Count of conversations in second Combination conversations categories (first category) in combination High Medium Low Spam C1 12 5 2 3 2 C2 8 2 2 0 4 C3 9 2 4 1 2 C4 15 6 5 3 1 C5 16 1 2 12 1 C6 13 10 1 1 1 C7 11 4 2 3 2 C8 16 3 9 1 3 - At
step 310, the priority of each combination is determined. As each combination of the features corresponds to a first category, the processormay determine the priority of each first category based on at least the count of the conversations under each of the second categories. The processor determines the count of conversations in each second category (refer Table 4) corresponding to each first category. The processor identifies the second category with maximum number of conversations. Thereafter, the processor may assign the priority to the first categories as the priority represented/indicated by the second category having maximum number of conversations. For example, the combination C1 is assigned a high priority as the count of conversations is maximum under the high category (i.e., 5) as compared to other categories (i.e., medium (2), low (3), and spam (2)) in the first category C1. Similarly, the processor may assign the priority to each of the combinations (e.g., C2, C3, C4, C5, C6, C7, and C8) as shown in Table 5. -
TABLE 5 Priority of combinations of features Count of conversations in second Combination Priority of categories (First category) combination High Medium Low Spam C1 High 5 2 3 2 C2 Spam 2 2 0 4 C3 Medium 2 4 1 2 C4 High 6 5 3 1 C5 Low 1 2 12 1 C6 High 10 1 1 1 C7 High 4 2 3 2 C8 Medium 3 9 1 3 - In a scenario, two of the second categories may have same count of conversations and the count is maximum among the count of conversations in each of the second categories. In such a scenario, the processor may select a second category randomly from the two second categories. Thereafter, the processor may assign the priority to the first category by assigning the priority represented by the randomly selected second category. The processor may select a second category, which has higher priority among the two or more second categories (for same count of conversations and the count is maximum among the count of conversations in each of the second categories). For example, there is a second category with a high priority and a second category with a medium priority. These two second categories have same count of conversations and the count is maximum among the count of conversations in each of the second categories. In such a scenario, the processor may select the second category with the high priority and further assign the high priority to the first category.
- A person having ordinary skill in the art would understand that the scope of this disclosure is not limited to selecting the second category having the highest priority.
- The second category with lowest priority (among the second categories having same count of conversations) may be selected. Accordingly, the combination of the features (i.e., the first category) is assigned the priority.
- At
step 312, the first set of rules is generated based on at least the priority of each combination. The processor may generate/determine the first set of rules based on a continuous learning of the training data. The training data is continuously updated with the historical conversations. The training data may comprise at least of the features extracted from each of the historical conversations, the combinations of the extracted features (i.e., the first categories), the determined priority of each of the first categories, the first average response time, the second average response time, and the previous conversation history of the customers (e.g., first customer, second customer, customer care agents, etc.). The first set of rules comprises rules that are utilized in conjunction with the predefined rules to assign the priority to the incoming message (i.e., the first message). For example, assign a same priority to an incoming message as that of a combination (e.g., C1), when the combination of the first features extracted from the incoming message is same as that of the combination C1. - At
step 314, the predefined rules are updated with at least the first set of rules. The processor may extract the predefined rules from the database server or the memory. Thereafter, the processor may update the predefined rules with at least the determined first set of rules. The predefined rules are updated with the first set of rules so as to improve the accuracy of assigning the priority to the first message. - At
step 316, the priority is assigned to the first message (i.e., the incoming message) from the first customer. The processor may utilize the updated predefined rules to assign the priority to the first message from the first customer. After receiving the first message, the processor may extract the first features from the first message. Thereafter, the processor may determine the combination of the first features extracted from the first message. Further, the processor may utilize the updated predefined rules to assign/predict the priority to the first message. For example, a first message is received from a first customer. The processor extracts first features from the first message. The extracted first features of the first message are influence(medium), location-2, and topic-1. The combination of the first features is determined as influence(medium)+location-2+topic-1. The processor utilizes the updated predefined rules to determine that the combination of the first message corresponds to the combination, C3. Therefore, the processor may assign a medium priority to the first message. - At
step 316, the assigned priority of the first message is displayed to the agents. The processor may present the user interface on the display screen of the agent computing device displaying the assigned priority of the first message. The agents may transmit responses corresponding to the first message based on the assigned priority of the first message. The agents may change the priority of the first message from the first customer based on at least the location and influence of the first customer, topic and content of the conversation comprising the first message, previous conversation history of the first customer, and details of the first customer. - Block Diagram for Assigning Priority to First Message
-
FIG. 4 is a block diagram that illustrates a flow diagram for assigning the priority to the first message from the first customer in the social CRM environment. The block diagram 400 is described in conjunction withFIG. 1 ,FIG. 2 andFIG. 3 . - Post receiving the first message (depicted by 402), the processor may extract the historical conversations (depicted by 408) from the database server. Thereafter, the processor may extract the features (depicted by 410A) from each of the historical conversations. The features may comprise location, influence, topic, and predefined priority. Further, the processor may determine the combinations (depicted by 410B) comprising the extracted features (depicted by 410A). The processor assigns the priority to each combination (i.e., each first category) based on at least the count of conversations under each of the second categories associated with each of the categories. Thereafter, the processor utilizes the training data to determine the first set of rules (depicted by 412). The training data may comprise at least of the features extracted from each of the historical conversations, the combinations of the extracted features (i.e., the first categories), and the determined priority of each of the first categories.
- Post determining the first set of rules, the processor may update the predefined rules with the first set of rules. The processormay determine the first features of the first message (depicted by 404A). Thereafter, the processor may determine the combination of the first features of the first message (depicted by 404B).
- Further, the processor may utilize the updated predefined rules to predict/assign the priority to the first message. Similarly, the processor may assign the priority (high, medium, low, or spam) to each of the first messages (i.e. the incoming messages). The processor may present the user interface displaying a ranked list of messages (depicted by 414) to the agents. The first messages in the ranked list of messages may be displayed based on at least the assigned priorities (depicted by 414). The first messages in the ranked list of messages may be categorized into priorities (i.e., high, medium, low, or spam as depicted in 414).
- Graphical User Interface (GUI) for Displaying Ranked List
-
FIG. 5A is a block diagram illustrating a GUI 500A displaying the ranked list of messages to the agents. The GUI 500A may be displayed on the display screen of a computing device such as the agent computing device. An agent, from the agents, may log into a social CRM environment system using his/her user id and password. The processor may present the GUI 500A to one of the agent, when the agent has logged in. The agent may utilize the GUI 500A to view, select, and reject the incoming message (i.e., the first message) using tabs such as a viewincoming message tab 502, a selectincoming message tab 504, and a rejectincoming message tab 506. The processor may display the ranked list ofmessages 414, when the agent clicks on the view incoming message tab. The processor may enable the agent to select at least one incoming message from the ranked list of messages, when the agent clicks on the selectincoming message tab 504. The agent may reject the incoming messages, when the agent clicks on the reject incoming message tab. The agent may click on asave tab 510 to save any of the changes that he/she have made on the GUI 500A. - Post clicking on the select incoming message tab, the processor enables the agent to select the incoming message from the ranked list of messages. The processor may present a GUI 500B to the agent displaying the selected incoming message as shown in
FIG. 5B , when the agent selects the incoming message from the ranked list of messages. For example, the agent selects an incoming message from the ranked list of messages such as amessage 1 from a first customer. Thereafter, the processor present the GUI 500B displaying themessage 1 from the first customer. The agent may utilize the GUI 500B to transmit responses corresponding to the queries from the first customer. The agent may click on a profile tab 512 to view the profile of the first customer. The agent may click on aconversation history tab 514 to view previous conversation history of the first customer. The agent may click on a change priority of selected message tab 516 to change the priority of the conversation comprising the selected message from the first customer. The processor may assign the priority to the conversation comprising the first message by assigning the priority represented by the first message, when the agent has not changed the priority of the first message. Post-closing of the conversation comprising the first message, the processor may update the historical conversations with the conversation comprising the first message. Thereafter, the processor may repeat the process as discussed above (referFIG. 3 ) to assign a priority to another incoming message. The agent may click on a save tab to save any of the changes that he/she have made on the GUI 500B. Further, the agent may click on a back tab to go back to a previous interface. - Various embodiments hereof are directed to a method and a system for assigning a priority to an incoming message from a customer. The method utilizes the historical conversations and the predefined priorities associated with each of the conversation in the historical conversations to determine a first set of rules. The disclosed method further utilizes the first set of rules (i.e., the dynamic workflow rules) to update the predefined rules (i.e., the static workflow rules). The predefined rules are updated with the first set of rules so as to improve the accuracy of assigning the priority to the incoming message. Further, the disclosed method assigns the priority to the incoming message from the customer based on at least the updated predefined rules. The disclosed method helps one or more agents reduce their time spent on identifying important incoming messages in a social CRM environment. The disclosed method enables CRM businesses to effectively configure and adjust their workflow rules whenever needed without doing them manually.
- The disclosed methods and systems, as illustrated in the ongoing description or any of its components, may be embodied in the form of a computer system. Typical examples of a computer system include a general purpose computer, a programmed microprocessor, a micro-controller, a peripheral integrated circuit element, and other devices, or arrangements of devices that are capable of implementing the steps that constitute the method of the disclosure.
- The computer system comprises a computer, an input device, a display unit, and the internet. The computer further comprises a microprocessor. The microprocessor is connected to a communication bus. The computer also includes a memory. The memory may be RAM or ROM. The computer system further comprises a storage device, which may be a HDD or a removable storage drive such as a floppy-disk drive, an optical-disk drive, and the like. The storage device may also be a means for loading computer programs or other instructions onto the computer system. The computer system also includes a communication unit. The communication unit allows the computer to connect to other databases and the internet through an input/output (I/O) interface, allowing the transfer as well as reception of data from other sources. The communication unit may include a modem, an Ethernet card, or similar devices that enable the computer system to connect to databases and networks such as LAN, MAN, WAN, and the internet. The computer system facilitates input from a user through input devices accessible to the system through the I/O interface.
- To process input data, the computer system executes a set of instructions stored in one or more storage elements. The storage elements may also hold data or other information, as desired. The storage element may be in the form of an information source or a physical memory element present in the processing machine.
- The programmable or computer-readable instructions may include various commands that instruct the processing machine to perform specific tasks such as steps that constitute the method hereof. The systems and methods described can also be implemented using only software programming, only hardware, or a varying combination of the two techniques. The teachings hereof are independent of the programming language and the operating system used in the computers. The instructions can be written in all programming languages including “C,” “C++,” “Visual C++,” and “Visual Basic.” Further, software may be in the form of a collection of separate programs, a program module containing a larger program, or a portion of a program module, as discussed in the ongoing description. The software may also include modular programming in the form of object-oriented programming. The processing of input data by the processing machine may be in response to user commands, the results of previous processing, or from a request made by another processing machine. The teachings hereof can also be implemented in various operating systems and platforms, including “Unix,” “DOS,” “Android,” “Symbian,” and “Linux.”
- The programmable instructions can be stored and transmitted on a computer-readable medium and can also be embodied in a computer program product comprising a computer-readable medium, with any product capable of implementing the above methods and systems, or the numerous possible variations thereof.
- Various embodiments of the methods and systems for assigning a priority to an incoming message from a customer have been disclosed. However, it should be apparent to those skilled in the art that modifications, in addition to those described, are possible without departing from the inventive concepts herein. The embodiments, therefore are not restrictive. Moreover, all terms should be understood in the broadest possible manner consistent with the context. In particular, the terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps, in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, used, or combined with other elements, components, or steps that are not expressly referenced.
- A person with ordinary skills in the art will appreciate that the systems, modules, and sub-modules have been illustrated and explained to serve as examples and should not be considered limiting in any manner. It will be further appreciated that the variants of the above disclosed system elements, modules, and other features and functions, or alternatives thereof, may be combined to create other different systems or applications.
- Those skilled in the art will appreciate that any of the aforementioned steps and/or system modules may be suitably replaced, reordered, or removed, and additional steps and/or system modules may be inserted, depending on the needs of a particular application. In addition, the systems of the aforementioned embodiments may be implemented using a wide variety of suitable processes and system modules, and are not limited to any particular computer hardware, software, middleware, firmware, microcode, and the like.
- The claims can encompass embodiments for hardware and software, or a combination thereof.
- It will be appreciated that variants of the above disclosed, and other features and functions or alternatives thereof, may be combined into many other different systems or applications. Presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art that are also intended to be encompassed by the following claims.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/639,143 US9420106B1 (en) | 2015-03-05 | 2015-03-05 | Methods and systems for assigning priority to incoming message from customer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/639,143 US9420106B1 (en) | 2015-03-05 | 2015-03-05 | Methods and systems for assigning priority to incoming message from customer |
Publications (2)
Publication Number | Publication Date |
---|---|
US9420106B1 US9420106B1 (en) | 2016-08-16 |
US20160261747A1 true US20160261747A1 (en) | 2016-09-08 |
Family
ID=56611099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/639,143 Active US9420106B1 (en) | 2015-03-05 | 2015-03-05 | Methods and systems for assigning priority to incoming message from customer |
Country Status (1)
Country | Link |
---|---|
US (1) | US9420106B1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018093485A1 (en) * | 2016-11-16 | 2018-05-24 | Mastercard International Incorporated | Systems and methods for processing support messages relating to services associated with payment systems |
US20190102781A1 (en) * | 2017-09-29 | 2019-04-04 | Quiq, Inc. | Adaptive response timer system and method |
US11677875B2 (en) | 2021-07-02 | 2023-06-13 | Talkdesk Inc. | Method and apparatus for automated quality management of communication records |
US11706339B2 (en) * | 2019-07-05 | 2023-07-18 | Talkdesk, Inc. | System and method for communication analysis for use with agent assist within a cloud-based contact center |
US11736616B1 (en) | 2022-05-27 | 2023-08-22 | Talkdesk, Inc. | Method and apparatus for automatically taking action based on the content of call center communications |
US11736615B2 (en) | 2020-01-16 | 2023-08-22 | Talkdesk, Inc. | Method, apparatus, and computer-readable medium for managing concurrent communications in a networked call center |
US11783246B2 (en) | 2019-10-16 | 2023-10-10 | Talkdesk, Inc. | Systems and methods for workforce management system deployment |
US11856140B2 (en) | 2022-03-07 | 2023-12-26 | Talkdesk, Inc. | Predictive communications system |
US11943391B1 (en) | 2022-12-13 | 2024-03-26 | Talkdesk, Inc. | Method and apparatus for routing communications within a contact center |
US11971908B2 (en) | 2022-06-17 | 2024-04-30 | Talkdesk, Inc. | Method and apparatus for detecting anomalies in communication data |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204345B2 (en) * | 2016-06-28 | 2019-02-12 | Salesforce.Com, Inc. | Driving customer service interactions on social media |
CN111049779B (en) * | 2018-10-12 | 2022-04-26 | 伊姆西Ip控股有限责任公司 | Information processing method, electronic device, and computer-readable medium |
Family Cites Families (5)
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 |
US7941491B2 (en) | 2004-06-04 | 2011-05-10 | Messagemind, Inc. | System and method for dynamic adaptive user-based prioritization and display of electronic messages |
US8935190B2 (en) * | 2008-12-12 | 2015-01-13 | At&T Intellectual Property I, L.P. | E-mail handling system and method |
US9256862B2 (en) | 2012-02-10 | 2016-02-09 | International Business Machines Corporation | Multi-tiered approach to E-mail prioritization |
US20130262168A1 (en) * | 2012-03-30 | 2013-10-03 | Sap Ag | Systems and methods for customer relationship management |
-
2015
- 2015-03-05 US US14/639,143 patent/US9420106B1/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018093485A1 (en) * | 2016-11-16 | 2018-05-24 | Mastercard International Incorporated | Systems and methods for processing support messages relating to services associated with payment systems |
US10949860B2 (en) | 2016-11-16 | 2021-03-16 | Mastercard International Incorporated | Systems and methods for processing support messages relating to services associated with payment systems |
US20190102781A1 (en) * | 2017-09-29 | 2019-04-04 | Quiq, Inc. | Adaptive response timer system and method |
US11941640B2 (en) * | 2017-09-29 | 2024-03-26 | Quiq, Inc. | Adaptive response timer system and method |
US11706339B2 (en) * | 2019-07-05 | 2023-07-18 | Talkdesk, Inc. | System and method for communication analysis for use with agent assist within a cloud-based contact center |
US11783246B2 (en) | 2019-10-16 | 2023-10-10 | Talkdesk, Inc. | Systems and methods for workforce management system deployment |
US11736615B2 (en) | 2020-01-16 | 2023-08-22 | Talkdesk, Inc. | Method, apparatus, and computer-readable medium for managing concurrent communications in a networked call center |
US11677875B2 (en) | 2021-07-02 | 2023-06-13 | Talkdesk Inc. | Method and apparatus for automated quality management of communication records |
US11856140B2 (en) | 2022-03-07 | 2023-12-26 | Talkdesk, Inc. | Predictive communications system |
US11736616B1 (en) | 2022-05-27 | 2023-08-22 | Talkdesk, Inc. | Method and apparatus for automatically taking action based on the content of call center communications |
US11971908B2 (en) | 2022-06-17 | 2024-04-30 | Talkdesk, Inc. | Method and apparatus for detecting anomalies in communication data |
US11943391B1 (en) | 2022-12-13 | 2024-03-26 | Talkdesk, Inc. | Method and apparatus for routing communications within a contact center |
Also Published As
Publication number | Publication date |
---|---|
US9420106B1 (en) | 2016-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9420106B1 (en) | Methods and systems for assigning priority to incoming message from customer | |
US11645321B2 (en) | Calculating relationship strength using an activity-based distributed graph | |
US10162884B2 (en) | System and method for auto-suggesting responses based on social conversational contents in customer care services | |
US10192180B2 (en) | Method and system for crowdsourcing tasks | |
US20140358605A1 (en) | Methods and systems for crowdsourcing a task | |
US20160307141A1 (en) | Method, System, and Computer Program Product for Generating Mixes of Tasks and Processing Responses from Remote Computing Devices | |
US10764440B2 (en) | System and method of real-time wiki knowledge resources | |
US20120323623A1 (en) | System and method for assigning an incident ticket to an assignee | |
US20140298343A1 (en) | Method and system for scheduling allocation of tasks | |
US20180039526A1 (en) | Method and system for auto-allocation of tasks to resources of an organization | |
US20160134573A1 (en) | System and Method for Equitable Processing of Asynchronous Messages in a Multi-Tenant Platform | |
US20150120350A1 (en) | Method and system for recommending one or more crowdsourcing platforms/workforces for business workflow | |
US20160246896A1 (en) | Methods and systems for identifying target users of content | |
US20170076241A1 (en) | Method and system for selecting crowd workforce for processing task | |
US20150154529A1 (en) | Methods and systems for creating a task | |
US20180039928A1 (en) | Method and system for auto-selection of employees for trainings in an organization | |
US11902041B2 (en) | User account telemetry within a communication platform | |
US20210366045A1 (en) | Adaptive goal identification and tracking for virtual assistants | |
JP7237905B2 (en) | Method, apparatus and system for data mapping | |
US11689481B2 (en) | Automated, extensible natural-language conversational system | |
US20160019481A1 (en) | Customer Relationship Capacity Planning | |
US20180075514A1 (en) | Method and system for data processing for generating adaptive recommendations of relevant items | |
US20160253605A1 (en) | Method and system for analyzing performance of crowdsourcing systems | |
US20160171404A1 (en) | System and method for staffing employees on a project | |
US10438171B2 (en) | Method and system for real-time human resource activity impact assessment and real-time improvement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:THIRUGNANASUNDARAM, VEERASUNDARAVEL , ,;SUN, TONG , ,;BAKTHAVACHALU, ARUN , ,;SIGNING DATES FROM 20150225 TO 20150304;REEL/FRAME:035090/0158 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CONDUENT BUSINESS SERVICES, LLC, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:041542/0022 Effective date: 20170112 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., NORTH CAROLINA Free format text: SECURITY INTEREST;ASSIGNOR:CONDUENT BUSINESS SERVICES, LLC;REEL/FRAME:057970/0001 Effective date: 20211015 Owner name: U.S. BANK, NATIONAL ASSOCIATION, CONNECTICUT Free format text: SECURITY INTEREST;ASSIGNOR:CONDUENT BUSINESS SERVICES, LLC;REEL/FRAME:057969/0445 Effective date: 20211015 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |