METHOD FOR DETERMINING CUSTOMER VALUE AND POTENTIAL FROM SOCIAL MEDIA AND OTHER PUBLIC DATA SOURCES
A system can determine the value of a customer that uses social media. An enterprise can provide an identity of a customer, identities of customers, or a profile of one or more customers. The enterprise can also provide one or more criteria in which to base the customer value calculation. The criteria can include the number of friends for a social media site, the number posts the user creates, the number of responses to the user's postings, the tenor of the user's postings, etc. Resources of information, including historic and current activity on social media sites, public resources, and other sources, are examined to provide a score for each criteria. A customer value score may then be generated from the criteria scores. The value score may then be used to modify the interactions of a contact center with the customer.
Latest AVAYA INC. Patents:
- Interactive contact center menu traversal via text stream interaction
- Communication systems for multi-source robot control
- Multi-media collaboration cursor/annotation control
- Hybrid architecture for transcription of real-time audio based on event data between on-premises system and cloud-based advanced audio processing system
- Network-connected access point with environmental sensor, and related components, systems, and methods
This application claims priority to U.S. Provisional Application Ser. No. 61/263,013, filed Nov. 20, 2009, entitled “GEO POD SYSTEM,” which is incorporated herein by reference in its entirety.
BACKGROUNDContact centers generally exchange information with consumers through directed contacts. Directed contacts consist of emails, phone calls, or other forms of communication that are directed to the contact center or the consumer. However, many people today, exchange information or interact through non-direct methods. Non-direct communications require users to post communications to third party sites or forums, but not to direct those communications to a specific person or organization. Non-direct communication methods include social media, which may include websites, networks, blogs, micro-blogs, RSS feeds, social media websites (such as, Linked-In, Facebook, Twitter, MySpace, etc.), and other types of social media. Generally, it is not possible for contact centers to communicate with consumers through non-direct methods. As such, the contact centers may be unable to interact with consumers that use social media to offer certain types of customer service.
Further, contact centers have limited amounts of resources. As such, to be efficient, and to drive down costs, contact centers like to use resources only on customers that have a likely chance of buying products or responding to an interaction. As such, contact centers would like to project where they may use their resources best. Unfortunately, there are no current ways of deducing whether marketing efforts are directed to a high value customer when that customer is using social media.
SUMMARYIt is with respect to the above issues and other problems that the embodiments presented herein were contemplated. Embodiments presented herein provide systems and methods for determining the value of a customer that uses social media to communicate. An enterprise that desires to understand the value of a customer can provide an identity or identities of customers or provide a profile of one or more customers to a contact center 102. Further, the enterprise can provide one or more criteria in which the enterprise wants to base the customer value. The criteria can include such things as the number of friends or followers for that user on a social media site, the number of posts the user creates in a pre-determined period of time (e.g. hour, day, week, etc.), the number of responses to the user's postings, the tenor of the user's postings, and other data. The different parameters can be scored to provide a score for each parameter, then summed to create a customer value.
In further embodiments, the parameters associated with the social media site can also be combined with other data from public or other sources. For example, a determination of the wealth or income of the user can be made, for example, in the neighborhood from which the user lives, or from other data. The additional data and social media data can be combined to create a more comprehensive customer value.
A Social Media Gateway can be used to gather information on specific social network users. In addition, data may be collected about the user that may exist on public blogs, wikis, etc. Finally, data sources with public information, e.g., census, zillow.com, etc., may be used to gather more user information.
The system can create a value of the source or destination user. The value profile is generated from information on the above mentioned sites. A key aspect of the value profile is the derivative information, or how influential the user might be. Information about number of followers (twitter), number of friends (Facebook), blog readers, etc. help to determine how far the user's influence may spread, thus increasing the customer's value. Adding to the influence attribute can be an activity factor. If a user posts a lot and has a lot of replies in return, then they may be a more valuable customer that would spread information through that influence. Finally, text analysis could be used to determine the general emotion of the posts and responses. A user who has upbeat and happy posts might be more likely to spread good words about an enterprise.
To obtain this information, the system can utilize both stored data and realtime search data. Stored data may include information that is discovered, including: social network accounts, blog sites, demographic data, etc. The discovered can be information that does not change very often. A complete picture may be generated over time as different modes of communication are used. The realtime data can be queried as needed by the contact center. Since influence and value may change over time, the stored/realtime information may be searched whenever a contact center application requires it. Queries done at the time of an inbound/outbound contact can enable the system to pick up on recent posts, accurate follower counts, and any other changes in critical data.
The system utilizes realtime and stored data on each contact. Both inbound and outbound contacts may make use of this data. When a user interaction is identified as being of interested by the contact center (see previous base level patent application), the system performs the data lookup and search. The result of compiling the information is a profile of the potential value and influence of this particular user. With this data, the system can make decisions about routing to a suitable agent, options for self-service, or any other treatment choices made by the contact center.
Another key implementation of this method is to use the value profile with existing voice calls and other channels already in use today. By maintaining data reaching back into the social media or public data world, the real time influence/intent/value can be calculated and used for simple voice calls too.
Following are a few example use cases. A Twitter post is ingested by the contact center from a user asking if anyone has flown CJet airlines and if they liked them. The method gathers recent posts by this user from Social Network sites. The analysis is run to see if this is a good natured or intent customer. Next a value number would be computed. If this customer had several posts discussing European Business Class flights, then the potential score would be high. Coupled with the intent score this may be a customer that CJet should reach out to offer special deals.
A customer sends an email question requesting help. The system analyzes their social media posts and determines this is a happy customer that is well connected. The email is then quickly routed to an agent who composes a special email response to try and answer the problem but also offering a link to an online (without a wait) chat, if that is desired by the customer.
A well connected blogger Tweets a question about CJet airlines. The monitoring process ingests the message and analyzes the message and historical posts. The process sees the number of posts, the emotion of the posts, and the number of followers. The process determines that this is an “influential” customer and sends and @ reply message to the blogger about special CJet airline deals for them.
The phrases “at least one”, “one or more”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising”, “including”, and “having” can be used interchangeably.
The term “automatic” and variations thereof, as used herein, refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material”.
The term “computer-readable medium” as used herein refers to any tangible storage that participates in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, or any other medium from which a computer can read. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the invention is considered to include a tangible storage medium and prior art-recognized equivalents and successor media, in which the software implementations of the present invention are stored.
The terms “determine”, “calculate”, and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation, or technique.
The term “module” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the invention is described in terms of exemplary embodiments, it should be appreciated that individual aspects of the invention can be separately claimed.
The term “in communication with” as used herein refers to any coupling, connection, or interaction using electrical signals to exchange information or data, using any system, hardware, software, protocol, or format.
A user context, an extended user context, and/or a user social context as used herein means information about a user of a social media network that can be used to determine a “value” of that user.
The term “social media network” or “social media” is a service provider that builds online communities of people, who share interests and/or activities, or who are interested in exploring the interests and activities of others. Generally, social media are web-based and provide a variety of ways for users to interact, such as e-mail and instant messaging services.
The present disclosure is described in conjunction with the appended figures:
In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a letter that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
DETAILED DESCRIPTIONThe ensuing description provides embodiments only, and is not intended to limit the scope, applicability, or configuration of the claims. Rather, the ensuing description will provide those skilled in the art with an enabling description for implementing the embodiments. Various changes may be made in the function and arrangement of elements of the embodiment without departing from the spirit and scope of the appended claims.
A communication system 100, for interacting with persons using social media is shown in
The network 108 can be any network or system operable to allow communication between the contact center 102 and the one or more social media networks 112, 114, and/or 116. The network 108 can represent any communication system, whether wired or wireless, using any protocol and/or format. The network 108 provides communication capability for the contact center 102 to communicate with websites or systems corresponding to the one or more social media networks 112, 114, and/or 116. However, the network 108 can represent two or more networks, where each network is a different communication system using different communication protocols and/or formats and/or different hardware and software. For example, network 108 can be a wide area network, local area network, the Internet, a cellular telephone network, or some other type of communication system. The network 108 may be as described in conjunction with
A contact center 102 can be a system that can communicate with one or more persons that use social media networking sites 112, 114, and/or 116. The contact center 102 can be hardware, software, or a combination of hardware and software. The contact center 102 can be executed by one or more servers or computer systems, as described in conjunction with
The contact center 102 may include a dialog system 104 and a social media gateway 106. While the dialog system 104 and the social media gateway 106 are shown as being a part of the contact system 102, in other embodiments, the dialog system 104 and/or the social media gateway 106 are separate systems or functions executed separately from the contact center 102 and/or executed by a third party. The dialog system 104 may process and receive messages. The social media gateway 106 can receive and translate messages from the one or more social media networks 112, 114, and/or 116. An embodiment of the dialog system 104 is described in conjunction with
The contact center 102 may also communicate with one or more communication devices 110. The communication devices 110 can represent a customer's or user's cell phone, email system, personal digital assistant, laptop computer, or other device that allows the contact center 102 to interact with the customer. The contact center 102 can modify a non-direct contact, from a social media network 112, 114, and/or 116, into a directed contact by sending a response message directly to a customer's communication device 110.
An embodiment of the social media gateway 106 is shown in
Herein, the social media gateway 106 can include one or more content filters 202a, 202b, and/or 202c. A content filter 202 can receive all of the messages for the contact center 102 from a social media network 112, 114, and/or 116 and eliminate or delete those messages that do not require a response. For example, a message between two friends on a Facebook page, if not pertaining to a product or a service of the company operating the contact center 102, may not need a response. As such, the content filter 202 can filter out or delete the non-suitable message from the messages that are received by the social media network application programming interface (API) 1 204a, social media network API 2 204b, and/or social media network API 3 204c. With the content filter 202, the social media network API 204 only needs to translate those messages that should be received by the dialog system 104. Translation typically requires the conversion of the message into a different format.
The content filter 202 is provided with one or more heuristics for filter rules from a filter database (not shown). These filter rules can be created by the external customer or internal user (e.g. agent or administrator) of the communication system 100. Thus, the user or customer of the communication system 100 can customize the filtering of messages from social media networks 112, 114, and/or 116. Further, different rules may be applied to different social media networks 112, 114, and/or 116, as some social media networks 112, 114, and/or 116 may have different types of messages or postings than other types of social media networks 112, 114, and/or 116. While the content filter 202 is shown as part of the social media gateway 106, it is to be appreciated that the content filter 202 may be a part of the social media network API 204. The content filter 202 may correspond to query terms used by the social media network API 204. The content filter 202 or query terms are an argument to the social media network API 204 call.
The social media network API 204 can be an application that the social media network 112, 114, and/or 116 provides to access the social media network 112, 114, and/or 116. Thus, the social media network API 204 is called and connects the social media gateway 106 to the social media network 112, 114, and/or 116. Any suitable filter criteria may be employed for social media API 204. Examples of filter criteria include positive content of positive the source of posting, an address field, destination or recipient address fields, a time stamp field, a subject matter field, and a message body field. For example, a type of searchable content can be name of the business enterprise running or employing the contact center 102 and/or the products or services of the enterprise.
The social media gateway 106 can include one or more social media network APIs 204. As shown in
The social media network API 204 can receive messages from and send messages to the social media network 112, 114, and/or 116. The social media network API 204 can translate a message received from a social media network 112, 114, and/or 116 and send the translated message to a message filter 206. The social media network API 204 can translate the received message into a standard formatted file. For example, the translated message may be represented by an extensible mark-up language (XML) file or other file having a general format. As such, each specific and particular social media network message can be translated into a standard format for use by the dialog system 104. Further, the social media network API 204 can receive a generally or standard format response message, from the dialog system 104, and translate that response into a particularly or specifically formatted response message that can be posted to the corresponding social media network 112, 114, and/or 116.
Messages to the contact center 102 are addressed to the contact center 102. For example, a customer may become a “friend” of the contact center 102 on a social media network 114, such as Facebook. The customer may then address a message to the contact center 102 on Facebook. This non-direct contact is a message that is not sent directly to the contact center 102 but to the contact center's Facebook page. In other embodiments, the contact center 102 receives messages not addressed to the contact center 102. For example, the contact center 102 can receive tweets from Twitter that are “broadcast” rather than addressed to the contact center 102. The contact center 102 may also search for messages or content on the social media networks 112, 114, and/or 116. Exemplary search criteria include customer name, customer profession, customer home address, customer business address, customer employer name, customer educational or professional background, customer hobby, personal or business interests, customer family profile, and the like. Thus, the social media gateway 106 of the contact center 102 can query, gather, or connect to a live feed of data from a social media network 112, 114, and/or 116 and then apply a filter to the indirect information.
Further, the social media network API 204 can also retrieve user context or other extended information from the social media networks 112, 114, and/or 116. User context or other extended information can include historical posts, historical tweets, or other historical communications that a user may have received or sent. Further, user context or other extended information can include, but is not limited to, account information for a user, the user's followers or friends, information on where historical messages were posted (e.g., geo-location, time/date, what type of device, etc.), trending analysis that the social media network 112, 114, and/or 116 might provide the user, etc. Thus, the social media network API 204 can retrieve information that is associated with a user and a social media network 112, 114, and/or 116 but not necessarily a part of a current message. The social media network API 204 is a gatherer of data, which can be used to determine a value for the user of the social media networks 112, 114, and/or 116.
The translated messages from the social media network API 204 can be received by a message filter 206. A message filter 206 can perform some or all of the functions of the content filter 202 and eliminate messages before being sent to the dialog system 104. However, in other embodiments, the message filter 206 eliminates information from within the messages before the redacted messages are sent to the dialog system 104. For example, a message from a social media network 112 may have three or four interactions between two parties not associated with the contact center 102. Only one of the several postings may be pertinent to the dialog system 104. As such, the message filter 206 can eliminate or delete at least a portion of the other messages for the dialog system 104. Thus, the dialog system 104 receives a message where some of the content of the message has been deleted. The message filter 206 can retrieve heuristics or filter rules from a filter database (not shown), similar to the content filter 202. A substantial difference between the content and message filters 202 and 206 is that the content filter 202 is specific to a particular message format associated with a corresponding social media network 112, 114, and/or 116, while the message filter 206 is applied to a standardized or universal format and is therefore common to multiple social media networks 112, 114, and/or 116. One skilled in the art will understand the type of rules that may be used to filter information from messages such that only pertinent questions, facts, requests, or information is sent to the dialog system 104.
A message aggregator 208 may also be included with the social media gateway 106. A message aggregator 208 can, in contrast to the message filter 206, combine two or more messages into a packet or grouping that is sent to the dialog system 104. Therefore, the message aggregator 208 can interrelate or combine messages based on information within the messages. For example, two messages may be combined based on any of the message fields referenced above, such as the person that posted the message, the subject, the request or question asked, the person the message was sent to, or other information that may be pertinent to the dialog system 104. Thus, the dialog system 104 may be able to respond concurrently to two or more messages based on a grouping provided by the message aggregator 208. Regardless of whether the messages are aggregated, each message or grouping of messages can be sent from the social media gateway 106 to the dialog system 104.
The social media gateway 106 can also send responses back to the social media networks 112, 114, and/or 116. A response from an agent in the contact center 102 can be sent to the social media gateway 106. The response may be in a general format and translated. The translated response may then be posted to the appropriate social media network 112, 114, and/or 116 by the social media gateway 106. In other embodiments, the agent may post the response directly to the social media network 112, 114, and/or 116 without sending the response to the social media gateway 106.
An embodiment of the dialog system 104 is shown in
The dialog core 210 can include one or more sub-components. For example, the dialog core 210 can include a trend analysis component 212, a text processing component 214, and an analysis tools component 216. These components, similar to the components for the dialog system 104, can be hardware, software, or combination of hardware and software. The dialog core 210 may step through the states of a dialog data structure. A dialog data structure can include a set of inputs and associated actions that can be taken which allow for the automatic and structured response to social media requests or messages. For example, if a user asks for a manual, the input of the text word “manual” can cause the dialog system 104 in accordance with a dialog data structure, to send information about one or more manuals. In turn, the receiver of the response may respond, in kind, with the selection of a certain user manual. In which case, the dialog data structure may then instruct the dialog core to send the user to a website where the user can retrieve an electronic version of the manual. As such, the dialog data structure provides a script a dialog that allows the dialog core 210 to automate the interaction between the contact center 102 and a person. This automation eliminates the need for agent involvement, in some situations, and makes the contact center 102 more efficient and more effective. Further, the automation expands the contact center's ability to answer numerous messages from the plethora of postings on the numerous social media networks 112, 114, and/or 116.
The dialog creator 220 will create a dialog data structure 300 that includes instructions for various states for each social media message that comes into the contact center 102. The first instruction might be to send the social media message to the trend analysis component 212, then to the text processing component 214, and then execute a query of a Customer Relationship Management (CRM) database 232 (to determine if this user has an existing order). A CRM database 232 can be a database as described in conjunction with
The trend analysis component 212 is operable to analyze trends that occur between two or more messages received by the social media networks 112, 114, and/or 116. The two messages can be from different social media networks, so that the trend analysis component 212 can identify trends across several different social media networks 112, 114, and/or 116. Trends can include multiple occurrences of the same word or phrase, multiple occurrences of a customer identity, product name or service, or multiple occurrences of some other information that might indicate a trend. Further, the trend analysis component 212 may be able to identify escalations in the occurrences of particular text, identities, or other information, or may identify multiple occurrences over a period of time. The trend analysis component 212 may also be able to apply one or more different algorithms to occurrences of information within the social media networks 112, 114, and/or 116. For example, the trend analysis component 212 can match the number of occurrences of a phrase or word over a period of time and apply analysis to determine if the occurrences are increasing or decreasing over the period of time.
The text processing component 214 is operable to analyze text of one or more messages from social media networks 112, 114, or 116. Some possible methods for text processing can include Regular Expression, Latent Semantic Indexing (LSI), text part of speech tagging, text clustering, N-Gram document analysis, etc. In addition, for possibly longer documents, (such as, blogs or emails), the text processing component 214 may execute one or more methods of document summarization. The summarization may occur if the social media message will be sent to an agent 228 of the contact center 102; the summarization can reduce the amount of information that the agent 228 may manage. The text processing rules or models may be stored in and/or retrieved from a text processing rules database 230. The text processing rules database 230 can be a database as described in conjunction with
The text processing component 214 can identify one or more occurrences of a particular text, such as using one or more of the message fields referenced above, in order to associate that social media message with one or more dialogs data structures in the heuristic rules and dialog database 218. For example, the text processing component 214 can look for the word “manual,” in the social media message. If the word “manual” is found, the text processing component 214 may retrieve a dialog data structure from the heuristic rules and dialogs database 218 and, as the dialog data structure instructs, communicate with the customer about one or more owner's manuals, repair manuals, or other types of manuals. In another example, if the social media message includes the words, “buy”, “sell”, “price, “discount” or other types of words that may indicate the user or customer wishes to buy a product, the text processing component 214 can retrieve one or more dialog data structures from the heuristic rules and dialogs database 218 that can provide instruction to assist the customer in purchasing products or services from the enterprise.
The analysis tools component 216 is operable to analyze response messages received back from an agent interface 224. In analyzing the agent's responses, the analysis tools component 216 can determine if the dialog data structures 300 (
The message history database 222 can be any database or data storage system as described in conjunction with
The heuristic rules and dialogs database 218 can be any type of database or data storage system as described in conjunction with
An agent interface 224 is a communication system operable to send action items to contact center agents 228, in the contact center 102. An agent can be a person or other system that is operable to respond to certain questions or requests from a customer. For example, the agent 228 can be a person that has specialized expertise in a topic area, such as technical support. The agent interface 224 can format the social message into an action item and forward that message to one or more agents 228. The agent interface 224 can also receive response(s) back from the agents 228. The information provided by the agent 228 may be used by the dialog core 210 to complete a response to the social media message. For example, the information may classify the social media message (e.g., sales, service, etc.). In other embodiments, the response is a complete response to the social media message that can be posted to the social media network 112, 114, and/or 116.
An embodiment of a dialog data structure 300 is shown in
The dialog data structure 300 can include one or more input segments, such as, input segment 1 302 and input segment 2 304, a rules segment 306, and/or a dialog script segment 308. Input segments 302 and 304 each include one or more inputs that may be required to associate a social media message with the dialog data structure 300. The inputs segments 302 and 304 may include a customer identity, a respective customer type, a text word, a phrase, or other information that indicates that the dialog data structure 300 is associated with or pertaining to the social media messages.
The input segments 302 and 304 may also include certain trends that the trend analysis component 212 can identify. As such, if a trend is identified and associated with the inputs 302 and/or 304, the dialog data structure 300 can be retrieved and used by the dialog core 210. While there are only two input segments 302 and 304 shown in
The rules segment 306 can include one or more heuristic rules that either help with the association of the respective dialog data structure 300 with the social media message or control the interaction between the dialog core 210 and the social media customer. For example, the rule 306 can state that the dialog data structure 300 applies only if the social media message includes input segment 1 302 but not input segment 2 304. One skilled in the art will be able to identify other types of rules that may govern the association of the dialog data structure 300 with the social media message. In other embodiments, the rules segment 306 states that if the social media message includes inputs 302 and/or 304, then the dialog core 210 should respond with a certain type of action.
Generally, a dialog script segment 308 includes a script of actions or responses that direct one or more other components, such as the dialog core 210 (
It should be noted that the dialog script segment 308 can reference one or more other dialog data structures 300. Thus, the dialog script segment 308 can direct the dialog core 210 to reference at least one other dialog data structure 300 to further act on the social media message. Further, the social media message can be subject of two or more dialog script segments 308, and direct the dialog core 210 to complete two dialog script segments 308 on the social media message. Also, dialog script segments 308 may not be associated with a response but direct the dialog core 210 to complete other actions, such as populating databases or gathering information.
An embodiment 400 of a data structure to store or create a customer value is shown in
From public data sources, it may be possible to determine the address of the user which may then be used to determine an approximate wealth or income for the user, the phone number, the name, or some other data that may be used to improve or better clarify the customer value. Data segment 402 can also include a weight 410. A weight segment 410 can include a weight 410 that can be a measure of the importance of the criteria in determining the customer value score. A weight 410 can be a multiplier, whether the multiplier is a decimal or an integer, which changes the value of the criteria score. The weight may be provided in comparison to other weights. Thus, one criteria may be more important than another, which is reflected in the weight value. For example, the number of friends or followers may be more important than the number of responses the user makes to other postings. As such, the weight for the number of friends or followers can be greater than the weight for the number of responses.
The data segment 402 can also include a score segment 412. The score segment 412 can include a score that can include the algorithm used to score the criteria. For example, a criteria may include the number of followers the user has and that number of followers may be stored in the criteria segment 408. However, to score that, the score may include an algorithm which determines the number of standard deviations from a mean number of followers for that social media network. For example, if the mean user has 100 friends on Facebook, and the current user has 1000 friends, they may be two standard deviations from the mean. As such, the score may be determined by a number of standard deviations. For example, if a user is two standard deviations from the mean, the number of 2 standard deviations from the mean may result in a score of 10. The actual score may also be stored in the score segment 412. A weighed score segment 414 may store the result of the computation of the weight and the score. As such, the weighted score includes the total score for that criteria. The total value score segment 418 can store the sum of all weighted scores added. The total value score 418 represents the value of this customer or the customer profile.
An embodiment of a method 500 to create a customer value data structure is shown in
A contact center 102 can receive an identity, in step 504. An identity can be a user name, a name, an address, a cell phone number, an email address, or some other identifying information for a person. In other embodiments, the identity can include a profile of two or more people. For example, the profile can be of any person that may desire a certain product or service. The profile may also be for any customer using social media. The dialog creator 220 can receive the profile or the identity.
Optionally, the dialog creator 220 may also receive the one or more social media networks, 112, 114, and/or 116 that need to be analyzed for users to determine customer value. The networks to be analyzed can be received as user input 228 at the dialog creator 220. The different social networks to analyze can be social network 1 112, 2 114, and/or 3 116. For example, the social networks may be Facebook, Twitter, Spoke, etc.
The dialog creator 220 can also receive one or more criteria, in step 508. The criteria can apply to the criteria segment 408 and the customer profile 400. In other embodiments, there may be a standard set of criteria which the user inputs or selects. The standard criteria can determine a general customer value without specifics received from the user.
The dialog creator 220 may also receive one or more weightings for the criteria, in step 510. The weights or weightings can be a multiplier for the criteria. For example, the weightings may be a decimal number or an integer that is multiplied to the criteria to give a weighted score. In other embodiments, it may be a portion of a 100%, such as 25%. The percentage can be a reflection of the value of the criteria amongst all other criteria, such that adding all the percentage weights of all the criteria equals 100%.
The dialog creator 220 can receive, as a user input 228, one or more scoring algorithms, in step 512. The scoring algorithms can be a mathematical function for how the criteria are calculated. For example, criteria may be calculated by the distance above or below, mean value. For example, a criteria can be the number of standard deviations away from a mean. For example, if a user has 200 friends or followers on Facebook and the mean is 100, that user may be one standard deviation above the mean value. The one standard deviation value can be a score or may be scored on another scale. In other embodiments, the algorithms can differently calculate scores for different criteria using different mathematical functions.
The dialog creator 220 can then receive value campaign parameters, in step 514. A campaign value parameter can be a parameter that defines how values are going to be determined for one or more people. For example the value campaign can instruct which social networks 112, 114, 116 to investigate, can identify from dates to use for evaluating, may have other types of parameters that define how a value determination is made for one or more people.
The criteria used to analyze identities and profiles, weights, algorithms, and value campaign parameters may be stored in a dialog data structure 300 in step 516. The campaign parameters can be stored in the rules segment 306, meanwhile, the identity or profiles can be stored in the user input segment 302 or 304. The other received information, such as the social networks to analyze, the criteria, the weights, and the algorithms may be stored in a dialog script that includes a customer value data structure 400 in the dialog script segment 308. Thus, to determine values, a dialog system 104 can read the dialog script and be directed to applying the algorithms to one or more criteria to determine scores and then calculating the weighted score by multiplying the criteria scores with the weight.
An embodiment of a method 600 for determining a customer value is shown in
A contact center 102 can receive an identity or profile, in step 604. An identity can include any identifying information for a person such as a name, a user name, an address, a phone number, or other data that may be used to identify a person using a social media network 112, 114 or 116. In other embodiments, a profile is provided, for example, anyone using Facebook, any female between the ages of 18 through 30, or other types of profiles. From the identity, the dialog system 104 can retrieve a data dialog structure 300 from the heuristic rules and dialogs database 216, in step 606. The contact center 100 searches the heuristic rules and dialogs database 216 for a dialog data structure 300 that includes the identity or profile stored in the input segment 302 or 304. Alternatively, the dialog system 104 retrieves a value campaign data structure 400 and inserts the identity or profile in the input segment 302 or 304.
The dialog core 210 of the dialog system 104 can read the dialog script in a dialog data structure 300. The dialog script can direct the dialog core 210 to access one or more accounts for a social media user associated with the identity or profile, in step 608, to obtain a user context, an extended user context, and/or a user social context. Thus, the dialog core 210 can retrieve information to access the social media account from a CRM database 232 a message history database 222, or some other source or may directly access the social media account in the social media network 112 114, and/or 116. In accessing the social media account, the dialog core 210 reads information about the user from the social media account. The information retrieved can describe the person or their usage of the social media account. For example, the dialog core 210 may retrieve the number of followers the user has on Facebook, may retrieve former messages from a message history on Facebook, or may retrieve and read other information available in the social media network 112, 114, and/or 116. In other embodiments, the dialog core 210 can determine a number of hits on a blog, page, or video blog to determine values.
Trend analysis component 212 reads and evaluates the parameters, in step 610. Thus, information that is required for the dialog script is retrieved from the social media account and stored in a temporary data structure by the dialog core 210. The parameters are then evaluated to determine a value score. A dialog core 210 can read the algorithms from the dialog script and apply those algorithms to the parameters to obtain a score in step 612. In applying the algorithms, the dialog core 210 executes a mathematical function to determine the value of the parameters. The mathematical function will provide a score for the parameter.
Dialog core 210 may then apply a weight to the score, in step 614. For example, the dialog core 210 can read the weighting from the dialog script and multiply the weight by the value of the parameter determined in step 612. The result of the applying the weighting is a weighted value score. For each criteria, a value weighted score is created. A dialog core 210 may then calculate a value score for the user by adding the two or more weighted value scores together in step 616. This summation produces a total value score for that user.
An embodiment of a method 700 to create a customer value data structure is shown in
A contact center 102 can receive an identity, in step 704. The identity can be an identity of a user of a social media network 112, 114, and/or 116. An identity identifies the user and can include a user name, a name, an address, a phone number, other contact information, or other information that can uniquely identify the user. From the identifying information, the contact center 102 can retrieve a customer value score, in step 707. The customer value score may be stored in a CRM database 232 or a message history database 222 and be available for retrieval by the contact center 102. The customer value score can represent a value with that user for the identity received in step 704.
The contact center 102 then may modify an interaction with that user based on the customer value score, in step 708. For example, if the user has a high customer value score, the contact center 102 may provide a higher level of customer service, such as, present an agent 228 to interact with the customer who has more skill or more knowledge about a typical subject. Further, the customer may be subject to a higher level of interaction including more messages sent to the user in order to gain the user's attention or affiliation with the enterprise. Thus, by determining a customer value score, an enterprise can better direct resources to the customers that may have the greatest potential for consuming products or promoting those products to other consumers.
Environment 800 further includes a network 820. The network 820 may can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation SIP, TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, the network 820 maybe a local area network (“LAN”), such as an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network (e.g., a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth™ protocol known in the art, and/or any other wireless protocol); and/or any combination of these and/or other networks.
The system may also include one or more server 825, 830. In this example, server 825 is shown as a web server and server 830 is shown as an application server. The web server 825, which may be used to process requests for web pages or other electronic documents from user computers 805, 810, and 815. The web server 825 can be running an operating system including any of those discussed above, as well as any commercially-available server operating systems. The web server 825 can also run a variety of server applications, including SIP servers, HTTP servers, FTP servers, CGI servers, database servers, Java servers, and the like. In some instances, the web server 825 may publish operations available operations as one or more web services.
The environment 800 may also include one or more file and or/application servers 830, which can, in addition to an operating system, include one or more applications accessible by a client running on one or more of the user computers 805, 810, 815. The server(s) 830 and/or 825 may be one or more general purpose computers capable of executing programs or scripts in response to the user computers 805, 810 and 815. As one example, the server 830, 825 may execute one or more web applications. The web application may be implemented as one or more scripts or programs written in any programming language, such as Java™, C, C#™, or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages. The application server(s) 830 may also include database servers, including without limitation those commercially available from Oracle, Microsoft, Sybase™, IBM™ and the like, which can process requests from database clients running on a user computer 805.
The web pages created by the server 825 and/or 830 may be forwarded to a user computer 805 via a web (file) server 825, 830. Similarly, the web server 825 may be able to receive web page requests, web services invocations, and/or input data from a user computer 805 and can forward the web page requests and/or input data to the web (application) server 830. In further embodiments, the web server 830 may function as a file server. Although for ease of description,
The environment 800 may also include a database 835. The database 835 may reside in a variety of locations. By way of example, database 835 may reside on a storage medium local to (and/or resident in) one or more of the computers 805, 810, 815, 825, 830. Alternatively, it may be remote from any or all of the computers 805, 810, 815, 825, 830, and in communication (e.g., via the network 820) with one or more of these. The database 835 may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers 805, 810, 815, 825, 830 may be stored locally on the respective computer and/or remotely, as appropriate. The database 835 may be a relational database, such as Oracle 10i™, that is adapted to store, update, and retrieve data in response to SQL-formatted commands.
The computer system 900 may additionally include a computer-readable storage media reader 925; a communications system 930 (e.g., a modem, a network card (wireless or wired), an infra-red communication device, etc.); and working memory 940, which may include RAM and ROM devices as described above. The computer system 900 may also include a processing acceleration unit 935, which can include a DSP, a special-purpose processor, and/or the like.
The computer-readable storage media reader 925 can further be connected to a computer-readable storage medium, together (and, optionally, in combination with storage device(s) 920) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing computer-readable information. The communications system 930 may permit data to be exchanged with the network 820 (
The computer system 900 may also comprise software elements, shown as being currently located within a working memory 940, including an operating system 945 and/or other code 950. It should be appreciated that alternate embodiments of a computer system 900 may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed.
In the foregoing description, for the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate embodiments, the methods may be performed in a different order than that described. It should also be appreciated that the methods described above may be performed by hardware components or may be embodied in sequences of machine-executable instructions, which may be used to cause a machine, such as a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the methods. These machine-executable instructions may be stored on one or more machine readable mediums, such as CD-ROMs or other type of optical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, flash memory, or other types of machine-readable mediums suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software.
Specific details were given in the description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
Also, it is noted that the embodiments were described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as storage medium. A processor(s) may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
In alternative embodiments, the contact center system 102 can also access public sources of data to further enhance the customer value score. For example, a contact center 102 may access public records about addresses for the user. From that information, the contact center 102 may determine a possible income level or wealth level for the user. As such, the contact center 102 can determine if the customer is likely to buy or purchase a product. Other information may be accessed from other data sources and applied to the customer value score. As such, the customer value score can reflect a total more robust determination of the value of the customer to the enterprise.
In still another embodiment, the nature of the parameters used to determine the value score of the customer value score or the customer value score itself may be temporal. In other words, the weight associated with a parameter may be dynamic and decay based on the age of the parameter value. Decaying may be accomplished using a leaky integrator approach that can function as a moving average. The size of the integration window can be adjusted to highlight the trends without including too much noise. There can be multiple dimensions to any trend “tracking” that can be included as modifiers. For example, the weight of the score may decrease 5% every week based on the age of a parameter.
Further, the customer value score can also be dynamic and change based on age or other temporal, geographic, or other information about parameters of the customer value score. Further, the customer value score may also change depending on the time of day, time of week, time of month or year. For example, a user may have a higher customer value score during the work week or work day compared to nights or weekends.
In further alternatives, the dialog core 210 may detect trending by a customer or user. Each individual social media user may be “trending” on a topic. For example, “Bob” occasionally talks (tweets/facebook posts) about possible summer vacation plans, but, starting in the month of March, the frequency of mentions for “summer vacation” increases from 0.5 mentions per month across all social media networks 112, 114, and/or 116 to 3 mentions per month across all social media networks 112, 114, and/or 116. The increase may be a positive short term trend for an individual user that may trigger a value assessment that “Bob” should be targeted for a summer travel outreach campaign. Thus, a baseline of activity on a topic may be determined then the dialog core 210 can notice significant changes (i.e., statistically significant changes) that may be valuable information for a business. In other words, trends are meaningful with an understanding of what the base “noise” level is for a social media user.
In still further embodiments, a trend for one user may be compared to the trends of other users, either as individuals or as aggregated groups. With the comparison information, threshold levels (i.e., the levels at which a customer becomes valuable) can be automatically adjusted. For example, if a major media outlet (e.g., Time Magazine) writes an article on time share condos as a vacation option, the average level of conversation on time share condos for vacation may increase across a large body of users. An average number of mentions, for the whole of social media users, of time shares may increase. As such, trying to determine a valuable customer may not function with an unadjusted threshold because too many people may go over the threshold. However, the dialog core 210 may automatically adjust the threshold based on the actions of the whole of social media users to cull out those users that post in excess of the larger general trend. Thus, for any given topic, there is an average number of mentions. The average number of mentions can fluctuate with external factors. Users that exceed the average number of mentions per unit time might be showing greater interest or potential. This analysis optimizes the use of contact center resources in attempting to connect to interested/interesting/influential customers.
While illustrative embodiments have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art.
Claims
1. A method for the method comprising:
- receiving, by a processor, an identity for a consumer that is a user of a social media network;
- retrieving, by the processor, a value score for the consumer based on the identity, wherein the value score is based on information associated with the consumer's social media network usage; and
- modifying, by the processor, a business interaction with the consumer based on the value score.
2. The method as defined in claim 1, wherein the identity uniquely identifies a user of a social media network.
3. The method as defined in claim 1, wherein a contact center retrieves the value score from a database based on the identity.
4. The method as defined in claim 1, wherein a consumer with a higher value score receives a higher level of customer service or a higher level of interaction.
5. The method as defined in claim 1, further comprising determining, by the contact center, the value score is determined for the consumer.
6. The method as defined in claim 5, wherein determining the value score comprises:
- based on the received identity, retrieving by a dialog system, retrieving a dialog data structure associated with calculating a value score from a database;
- accessing, by a dialog core, at least one social media network;
- reading, by the dialog core, at least one parameter, provided in the dialog data structure, from the social media network;
- applying, by the dialog core, an algorithm, provided in the dialog data structure, to the at least one parameter to obtain at least one criteria score; and
- calculating, by the dialog core, the value score from the at least one criteria score.
7. The method as defined in claim 6, further comprising:
- applying, by the dialog core, at least one weight to the at least one criteria score; and
- calculating, by the dialog core, the value score from the at least one weighted criteria score.
8. The method as defined in claim 6, wherein the at least one parameter includes a number of followers on a social media network, a number of friends on a social media network, a number of blog readers, a number of hits on a blog, page, or video blog, a number of posts made by the user, a number or responses to the any one of a user's posts, or an emotion of one or more posts.
9. A computer readable medium having stored thereon processor executable instructions that cause a computing system to execute a method for determining a value for a user of a social media network, the instructions comprising:
- instructions to receive an identity for the user;
- based on the received identity, instructions to retrieve a dialog data structure associated with calculating a value score;
- instructions to access at least one social media network;
- instructions to evaluate at least one parameter, provided in the dialog data structure, associated the social media network;
- instructions to apply an algorithm, provided in the dialog data structure, to the at least one parameter to obtain at least one criteria score;
- instructions to apply at least one weight, provided in the dialog data structure, to the at least one criteria score to obtain at least one weighted criteria score; and
- instructions to calculate the value score from the at least one weighted criteria score.
10. The computer readable medium as defined in claim 9, wherein the identity is one of a group consisting of a username, a name, an address, a phone number, an email address, and a profile.
11. The computer readable medium as defined in claim 10, wherein the profile is a generally describes two or more customers using social media.
12. The computer readable medium as defined in claim 9, wherein the at least one parameter includes a number of followers on a social media network, a number of friends on a social media network, a number of blog readers, a number of hits on a blog, page, or video blog, a number of posts made by the user, a number or responses to the any one of a user's posts, or an emotion of one or more posts.
13. The computer readable medium as defined in claim 9, wherein the social media network is at least one of Facebook, Twitter, Spoke, MySpace, a blog, a video blog, or a chat room.
14. The computer readable medium as defined in claim 9, wherein the dialog data structure is created by a dialog creator.
15. The computer readable medium as defined in claim 9, wherein creating the dialog data structure comprises:
- instructions to receive an identity for the user;
- instructions to receive one or more social media networks to analyze;
- instructions to receive a criteria;
- instructions to receive a weight for one or more of the criteria;
- instructions to receive a scoring algorithm for one or more of the criteria; and
- instructions to store the one or more social media networks to analyze, the criteria, the weight, and the scoring algorithm in the dialog data structure.
16. The computer readable medium as defined in claim 15, wherein creating the dialog data structure further comprises:
- instructions to receive a parameter for the value analysis; and
- storing the parameter in the dialog data structure.
17. A communication system comprising:
- a social media gateway in communication with a social media network, the social media gateway operable to obtain criteria information from the social media network;
- a dialog system in communication with the social media gateway, the dialog system operable to determine a value score for a customer and based on the obtained criteria information and operable to provide the value score; and
- a contact center in communication with the dialog system, the contact center operable to receive the value score and operable to modify an interaction with the customer based on the value score.
18. The communication system as defined in claim 17, wherein the dialog system comprises:
- a dialog core in communication with the social media gateway, the dialog core operable to determine the value score from a dialog data structure;
- a heuristic rules and dialogs database in communication with the dialog core, the heuristic rules and dialogs database operable to store the dialog data structure;
- a dialog creator in communication with the heuristic rules and dialogs database, the dialog creator operable to create the dialog data structure and operable to store the dialog data structure into the heuristic rules and dialogs database;
- a message history database in communication with the dialog core, the message history database operable to store an interaction history associated with the customer to which the value score applies; and
- an agent interface in communication with the dialog core and an agent associate with the contact center, the agent interface operable to send the value score to an agent and operable to receive the response from the agent, wherein the agent modifies the response based on the value score.
19. The communication system as defined in claim 19, wherein the dialog core comprises:
- a dialog core operable to analyze the criteria information to determine the value score; and
- a text processing component operable to evaluate an emotion of a message associated with customer and provide the emotion to the dialog core as criteria information.
20. The communication system as defined in claim 19, wherein the value score includes a value profile comprising:
- one or more criteria segments operable to store the criteria;
- for each criteria segment, a weight segment operable to store a weight reflecting an importance of the criteria;
- for each criteria segment, a score segment operable to store a score for the criteria;
- for each criteria segment, a weighted score segment operable to store a weighted score for the criteria generated from multiplying the score by the weight; and
- a total value score segment operable to store the value score for the customer created by summing the weighted scores for all of the criteria segments.
Type: Application
Filed: Apr 19, 2010
Publication Date: May 26, 2011
Applicant: AVAYA INC. (Basking Ridge, NJ)
Inventors: George Erhart (Loveland, CO), David Skiba (Golden, CO), Valentine C. Matula (Granville, OH)
Application Number: 12/762,854
International Classification: G06Q 10/00 (20060101); G06Q 99/00 (20060101); G10L 21/06 (20060101);