1. Technical Field
The present invention relates in general to data processing, and in particular, to optimized customer targeting based on template CRM offers.
2. Description of the Related Art
Customer relationship management (CRM) is the strategic application of technology to automate various customer-facing activities of an organization, including marketing, sales and customer service. Ultimately, an organization deploys CRM in its technology infrastructure or utilizes an outside CRM service provider in order to efficiently identify and attract new customers, retain and enhance the value of relationships with existing customers, thus driving increased sales of the organization's goods and services. CRM solutions, while automating some marketing functionality, can still require a significant amount of human intelligence to be applied in order to determine the targets and contents of future marketing campaigns.
In some embodiments, a Customer Relationship Management (CRM) offer template is established in data storage and includes at least one variable field and having at least one offer attribute. For each of a plurality of customer groups, a data processing system calculates an expected benefit to be obtained by sending an instantiated CRM offer to a customer based upon historical responses, offer cost, and legal values of the at least one variable field. The data processing system outputs a CRM offer instance and target list of customers that maximizes the expected benefit.
With reference now to the figures and with particular reference to
The communication between devices 102-102c and data processing system 110 can include voice communication, for example, via a PSTN or voice over Internet Protocol (VoIP) connection, and/or data communication, for example, via instant messaging, Simple Mail Transport Protocol (SMTP) or Hypertext Transfer Protocol (HTTP). As described in greater detail below, the communication between data processing system 110 and devices 102 can include the transmission of marketing offers from data processing system 110 to devices 102 and the transmission of marketing responses from devices 102 to data processing system 110.
Still referring to
Data storage 120 stores data and program code, which can be processed and/or executed to implement customer relationship management (CRM) for an organization. In the depicted embodiment, the data and program code stored by data storage 120 includes CRM engine 122, which provides an interface through which personnel in the organization can record, update, view, manipulate, correlate and take action on customer-related marketing, sales and support data. Some of the marketing functions of CRM engine 122 are described below with reference to
Data storage 120 additionally includes customer database 124, which records information regarding potential, current and/or former customers of the organization. As shown in
Returning to
Data storage 120 further includes CRM offer history 128, which records data concerning previously used marketing offer instances. In the exemplary embodiment of CRM offer history 128 shown in
It will be appreciated upon review of the foregoing description, the form in which data processing system 110 is realized can vary between embodiments based upon one or more factors, for example, the type of organization, the type and number of products/services offered by the organization, the type and number of customers of the organization, and the type and number of formats of CRM marketing offers that are employed. All such implementations, which may include, for example, one or more handheld, notebook, desktop, or server computer systems, are contemplated as embodiments of the inventions set forth in the appended claims.
Referring now to
The process begins at block 400 and the proceeds to block 402, which depicts CRM engine 122 optionally establishing customer groups for a plurality of customers of an organization on behalf of which an instance of a CRM marketing offer is to be generated. For example, in one embodiment, CRM engine 122 places customers in groups based upon one or more of the customer attributes recorded within customer attribute fields 206a-206n of customer database 124. Depending on configuration or implementation, CRM engine 122 can establish the customer groups automatically or in response to user input. It should be appreciated that CRM engine 122 can selectively restrict group membership so that all customers are limited to membership in a maximum number of groups (e.g., a single group or five groups) and/or all customer groups have a predetermined minimum number of members. As noted previously, CRM engine 122 records group membership of customers, if any, in customer group field 208 of customer database 124.
At block 404 of
CRM engine 122 further associates CRM offer template 500 with one or more offer attributes, such as “direct deposit” and “checking account.” Although in some cases the offer attributes may directly relate to the contents of the CRM offer template, in the case of CRM offer template 500 these offer attributes do not directly describe the contents of CRM offer template 500, but instead describe attributes of one or more other financial accounts of customers to whom an instance of CRM offer template 500 is to be sent.
Referring again to
Block 410 depicts CRM engine 122 instantiating a CRM offer instance (e.g., an instance of CRM offer template 500 of
For example, consider a CRM offer instance 0 having a single variable field V that can take values v1, v2, . . . , vn. If a CRM offer instance is thus denoted as O[vi], at block 414 CRM engine 122 computes P(G,C[vi]), where P represents the fraction of positive responses recorded in CRM offer history 128 when customers in current customer group G were sent O[vi]. Of course, if the CRM offer instance includes multiple variable fields, fraction of positive responses P can be determined by applying a mathematical function to combine probabilities associated with the multiple variable fields. For example, P can be determined for a CRM offer instance including multiple variable fields by either summing or multiplying p(G,C[vi]) determined for each variable field individually, depending upon whether the variable fields are independent (in which case, the probabilities for the individual variable fields are summed) or dependent (in which case, the probabilities are multiplied).
CRM engine 122 additionally computes C(O[vi]), which is the cost of delivering the offer instance O in one or more selected formats (e.g., print, email, voice, autodial, website advertising, text message, etc.), as well as B(C[vi]), which is the benefit attained when offer instance O[vi] is accepted by an individual customer. Accordingly, EXP(G,O[vi]), the expected benefit to the organization for making the offer to a customer in the current customer group G can be computed as follows:
EXP(G,O[vi])=P(G,O[vi])*B(O[vi])−C(O[vi])
where vi is selected from the set v1, v2, . . . , vn to maximize EXP(G,O[vi]).
Having determined the expected benefit of sending a CRM offer instance to each customer group as shown at blocks 412-414, CRM engine 122 ranks the customer groups as recipients of the offer instance in accordance with the expected benefit to be obtained by delivering the CRM offer instance (block 416). Next, at block 420, CRM engine 122 determines whether or not another CRM offer instance is to be included in the present marketing campaign, for example, in response to a user input, automatically based upon a predetermined or default number of CRM offer instances per marketing campaign, and/or in response to revenue or sales data of the organization. If CRM engine 122 determines at block 420 to include another CRM offer instance in the current marketing campaign, the process returns from block 420 to block 410 and following blocks, which represents CRM engine 122 instantiating a different CRM offer instance to be included in the marketing campaign from a different CRM offer template 126 and generating a ranked target list of customer groups for the additional CRM offer instance. The process continues to iterate until all CRM offer instances to be included in the current marketing campaign are generated from CRM offer templates 126.
In response to CRM engine 122 determining at block 420 that all CRM offer instances for the present marketing campaign have been generated, the process proceeds to optional block 422. Block 422 depicts CRM engine 122 applying any constraints for the marketing campaign. While any number of constraints can be defined, exemplary constraints that may be applied at block 422 are set forth below in Table I.
CRM engine 122 then outputs the CRM offer instance(s) and a target list of customers to receive each of the CRM offer instance(s) comprising the new marketing campaign (block 424) in accordance with a user-specified or automatically determined schedule (e.g., at regular calendar intervals or based upon customer response). Outputting the CRM offer instance(s) and target list as depicted at block 424 can include, for example, storing the CRM offer instance(s) and target list in data storage 120, transmitting the CRM offer instance(s) and target list via communication network(s) 104 to a third party for delivery to the customers, and/or transmitting the CRM offer instance(s) via communication network(s) 104 directly to devices 102 of customers (e.g., via email, voice, autodial, instant messaging, chat, HTML, etc.).
As has been described, in at least some embodiments, a Customer Relationship Management (CRM) offer template is established in data storage and includes at least one variable field and having at least one offer attribute. For each of a plurality of customer groups, a data processing system calculates an expected benefit to be obtained by sending an instantiated CRM offer to a customer based upon historical responses, offer cost, and legal values of the at least one variable field. The data processing system outputs a CRM offer instance and target list of customers that maximizes the expected benefit.
While the present invention has been particularly shown as described with reference to one or more preferred embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. For example, although aspects have been described with respect to a computer system executing program code that directs the functions of the present invention, it should be understood that present invention may alternatively be implemented as a program product including a tangible, non-transient data storage medium (e.g., an optical or magnetic disk or memory) storing program code that can be processed by a data processing system to perform the functions of the present invention.