[go: up one dir, main page]

WO2001055939A2 - System and method for robust optimization including uncertainty models - Google Patents

System and method for robust optimization including uncertainty models Download PDF

Info

Publication number
WO2001055939A2
WO2001055939A2 PCT/US2001/002880 US0102880W WO0155939A2 WO 2001055939 A2 WO2001055939 A2 WO 2001055939A2 US 0102880 W US0102880 W US 0102880W WO 0155939 A2 WO0155939 A2 WO 0155939A2
Authority
WO
WIPO (PCT)
Prior art keywords
customer
objective function
variables
action
constraints
Prior art date
Application number
PCT/US2001/002880
Other languages
French (fr)
Inventor
Frank D. Caruana
Pinchas Ben-Or
Abhijit Chatterjee
Timothy L. Smith
Thomas J. Traughber
Rhonda Alexander
Michael E. Niemann
Matthew M. Harris
Steven J. Waldschmidt
Original Assignee
Trajecta, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trajecta, Inc. filed Critical Trajecta, Inc.
Priority to AU2001236575A priority Critical patent/AU2001236575A1/en
Priority to EP01908734A priority patent/EP1250673A1/en
Publication of WO2001055939A2 publication Critical patent/WO2001055939A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • TITLE SYSTEM AND METHOD FOR ROBUST OPTIMIZATION INCLUDING UNCERTAIN T ⁇ MODELS
  • the present invention relates to the field of optimization, particularly the application of optimization science in the realm of strategic decision-making
  • Decision support typically utilizes technologies such as On-Lme Analytical Processing (OL -P) and Relational On-Lme Analytical Processing (ROLAP) to more systemically examine what has happened in the past
  • a querying process may take place whereby a decision-maker may, for example analvze all available data associated with transactions and customers or a marketing manager may a database to ascertain how well an offer performed with a customer segment over a period of tune
  • These tools can be thought of as reporting applications
  • the decision-maker can create custom reports and can be alerted if a query result falls out of a certain range Performance can be measured and managed usmg these tools
  • Another approach, data mining may enable the decision-maker to look forward
  • technologies such as neural networks and decision trees
  • data mining tools may be used to analyze large amounts of data and uncover patterns that lead to predictions of what future behavior a customer is likely to exhibit
  • the best tools in this category may be capable of identifying whom marketers should target based on predicted responses
  • the proactive prescription of what to do to meet busmess goals is still beyond their capabilities It is still up to the manager to determine what action to take
  • optimization may address these problems at least m part Optimization may combine intuition and intelligence in solving strategic decision-making problems Unlike data mining, which starts with inputs and predicts an output, optimization may start with the output and seek the best actions to take to change the output to the company's advantage Data mining may tend to predict the future, but with optimization the decision- maker may take actions to change the future to the company's benefit In many busmess environments the goal of optimization is to enable business decision-makers to determine which combinations and levels of treatments under their control should be applied Typically , optimization solves a defined objective function, subject to one or more constraints, to select optimal values for one or more decision variables Decision variables are the parameters over which the decision-maker has control For instance, in many business applications, net profit is to be maximized or, if the decisions being modeled do not impact revenues, total cost minimized
  • constraints are applied at the individual record level These constramts may be referred to as local, or record-level, constraints
  • Cross-record constramts may balance some resource or measurement across the entire set of records m the optimization simultaneously
  • Cross-record constraints limit the allocation of a global resource over all the records, such as budgets, total cost, etc
  • Applying cross-record constramts to an optimization problem tends to be a much more difficult task than applying local constraints, and so various heuristic techniques, such as the placement of Lagrangian multipliers in the objective function, have been used
  • these approaches are inexact and only approximate the impact of cross-record constraints
  • This technique may address the issue of uncertainty management by solving for the optimum solution over a variety of possible futures over the time frame of mterest
  • the uncertainties dealt with may o ⁇ gmate from a number of sources, including environmental factors, such as the large-scale business climate, model errors, and mput data gaps or errors
  • the goal of robust optimization is to find an optimal or near-optimal solution, which is not overly sensitive to any specific realization of the uncertainty of the problem It is believed that the business application of this technique has been primarily m the area of financial investment portfolio management and not to customer relationship management or the marketing of products to customers
  • optimization may be hampered by forecasting that ignores long-term considerations
  • current approaches may not adequately reflect behaviors that do not completely, directly, and empirically manifest themselves, for example, in a 6 or 12-month period
  • the present invention provides various embodiments of a method and system for optimization of customer relationship management Optimization may be used to select an optimal course of action for marketing one or more products to a plurality of customers
  • Customers may include current customers or prospective customers of a busmess
  • customers may mclude credit customers to whom credit services are marketed, or customers may include pharmaceutical customers to whom pharmaceutical products are marketed
  • the one or more products may be marketed to customers in accordance with the optimal course of action, such as through direct mailing and or targeted advertising
  • Other means of applying the optimal course of action may include, for example, conductmg a re-pricing campaign m accordance with the optimal course of action, conductmg an acquisition campaign m accordance with the optimal course of action, conducting an e-mailmg campaign m accordance with the optimal course of action, and conductmg a promotional campaign for customer retention in accordance with the optimal course of action
  • the system and method for optimization described herem may be applied to a wide variety of industries and circumstances
  • An optimization process mav accept the following elements as
  • the customer information may include decision variables and external variables
  • Decision variables are those variables that the decision-maker may change to affect the outcome of the optimization process
  • APR Annual Percentage Rate
  • External variables are those variables that are not under the control of the decision- maker
  • external variables may mclude variables such as customer addresses, customer income levels, customer demographic information, bureau data, transaction file data, cost of funds and capital, and other suitable variables
  • the customer information including decision variables and external variables may be input into the predictive model(s) to generate the action variables
  • the predictive model(s) may be implemented as a neural network The neural network may be trained, for example, with historical customer data records as input
  • each of the predictive model(s) may correspond to one of the customer information records
  • Action variables are those variables that predict a set of actions for an mput set of decision and external variables
  • the action variables may comprise predictive metrics for customer behavior
  • the action variables may mclude the probability of a customer's response to an offer
  • the action variables may include predictions of balance, attrition, charge-off, purchases, payments, and other suitable behaviors for the customer of a credit card issuer
  • the objective function may be a function of lifetime customer value (LCV)
  • LCV lifetime customer value
  • the particular function which expresses lifetime customer value may vary from optimization process to optimization process
  • LCV may mclude a sum of discounted cash flows over the lifetime of one or more customer relationships
  • the combination of the long-term view and short-term view may be implemented by the use of both constramt(s) and objective to embody the LCV
  • one or more constramts may be used to ensure that the busmess maintains a particular level of revenue over the short term, while the objective may be used to ensure that the business maximizes the value of the customer relationships over the long term
  • the objective may include short-term considerations and the constramts may include long-term considerations
  • Constramts are typically "real-world” limits on the decision variables
  • the constramts include cross-record constramts
  • Cross-record constraints are limitations on one or more global resources as applied to a plurality of records
  • a cross-record constraint may define a limitation on a quarterly budget or other finite resource that the optimization process is expected to meet
  • the constraints may also mclude one or more record-level constraints
  • a record-level constraint is a limitation that is applied to one record at a time
  • a record-level constraint may be a limitation on an interest rate offered to a customer by a credit card issuer
  • the optimization process may use a cross-record objective
  • the optimization process may employ robust optimization Solving the objective function for a robust optimization process may include solving the objective function across a plurality of uncertainty models to select the optimal solution
  • An uncertainty model may mclude any model which adds a range of uncertainty to an optimization process
  • Uncertainty models may be generated by sampling a probability distribution
  • the uncertainty models may include scenarios
  • “scenarios” include multiple sets of possible values for uncertain data or models
  • a robust optimization process may use scenarios to determine an optimal solution across a range of possible models of a customer in the future The scenarios may be designed so as to span the range of possibilities likely to occur over the time frame of mterest
  • a method for optimization of customer relationship management may include the following steps A set of customer data and/or other data corresponding to one or more customers may be collected and received Given the set of customer data, one or more decision variables may be optimized based on an objective and one or more constraints to produce optimized decision variables The one or more terms of a product may be set to the optimized decision variables to produce an optimized product
  • the optimized product may comprise a set of optimized terms For example, if product is a credit card, then the optimized terms may mclude an optimal interest rate and credit limit Generally, setting the decision variables of the product to the optimized decision variables may result m mcreasmg the value of the product vendor's relationships with customers of the product
  • the optimized product may be offered to one or more of the customers In various embodiments, the optimized product may be offered to current and/or prospective customers m a variety of ways and under a variety of circumstances For example, the optimized product may be offered via a direct mailing, targeted telephone advertising, a re-p ⁇ cmg campaign, e-mail, and/or
  • the optimized terms may be carried out during a lifetime of the optimized product
  • the product vendor may mamtam the customer relationship for a particular product according to the optimized terms produced m the optimization process
  • Carrymg out the optimized terms may include conducting one or more transactions accordmg to the optimized terms during the product lifetime
  • a credit card issuer may honor the mterest rate and credit limit of the optimized offer for one or more credit-card transactions for as long as the customer holds the credit card
  • Figure 1 is an illustration of a typical computer system which is suitable for implementing various embodiments
  • Figure 2 is a network diagram of an illustrative distributed computmg environment which is suitable for implementing va ⁇ ous embodiments
  • Figure 3 a is a block diagram which illustrates an overview of optimization according to one embodiment
  • Figure 3b is a dataflow diagram which illustrates an overview of optimization accordmg to one embodiment
  • Figure 4 illustrates a smgle model accordmg to one embodiment
  • Figure 5 illustrates multiple models for multiple products and a smgle customer accordmg to one embodiment
  • Figure 6 illustrates multiple models for multiple customers and a smgle product accordmg to one embodiment
  • Figure 7a is a block diagram which illustrates an optimization process with cross-record constramts or a cross-record objective accordmg to one embodiment
  • Figure 7b is a dataflow diagram which illustrates an optimization process with cross-record constramts or a cross-record objective according to one embodiment
  • Figures 8a through 8e illustrate examples of probability distributions associated with a robust optimization process accordmg to one embodiment
  • Figure 9a is a block diagram which illustrates a robust optimization process accordmg to one embodiment
  • Figure 9b is a dataflow diagram which illustrates a robust optimization process accordmg to one embodiment
  • Figure 10 illustrates multiple scenario models for product-customer parrs according to one embodiment
  • FIG. 11a is a block diagram which illustrates an optimization process with an objective function of lifetime customer value (LCV) accordmg to one embodiment
  • FIG. 1 lb is a dataflow diagram which illustrates an optimization process with an objective function of lifetime customer value (LCV) accordmg to one embodiment
  • Figure 12a is a block diagram which illustrates a robust optimization process with cross-record constraints/objective and an objective function of lifetime customer value (LCV) accordmg to one embodiment
  • Figure 12b is a dataflow diagram which illustrates a robust optimization process with cross-record constraints/objective and an objective function of lifetime customer value (LCV) according to one embodiment
  • Figure 13 is a flowchart which illustrates optimization of customer relationship management accordmg to one embodiment
  • Figure 14 illustrates an off-lme system architecture for optimization of customer relationship management according to one embodiment
  • Figure 15 illustrates an import module for optimization of customer relationship management accordmg to one embodiment
  • Figure 16 illustrates an export module for optimization of customer relationship management accordmg to one embodiment
  • Figure 17 illustrates an design experiment module for optimization of customer relationship management accordmg to one embodiment
  • Figure 18 illustrates an experiment engme module for optimization of customer relationship management according to one embodiment
  • Figure 19 illustrates a build components module for optimization of customer relationship management according to one embodiment
  • Figure 20 illustrates an assemble/setup components module for optimization of customer relationship management accordmg to one embodiment
  • Figure 21 illustrates a manage questions sub-module for optimization of customer relationship management accordmg to one embodiment
  • Figure 22 illustrates a manage optimization sub-module for optimization of customer relationship management accordmg to one embodiment
  • Figure 23 illustrates a manage marginal optimization sub-module for optimization of customer relationship management accordmg to one embodiment
  • Figure 24 illustrates a decision engine module for optimization of customer relationship management according to one embodiment
  • Figure 25 illustrates a decision views module for optimization of customer relationship management according to one embodiment
  • Figure 26 illustrates a decision reports module for optimization of customer relationship management according to one embodiment
  • Figure 27 illustrates an on-line experiment architecture for optimization of customer relationship management accordmg to one embodiment
  • Figure 28 illustrates an on-line decision architecture for optimization of customer relationship management according to one embodiment
  • FIG. 1 A Typical Computer System Figure 1 illustrates a typical computer system 150 which is suitable for implementing various embodiments
  • Each computer system 150 typically mcludes components such as a CPU 152 with an associated memory medium, represented by floppy disks 160
  • the memory medium may store program instructions for computer programs, wherem the program instructions are executable by the CPU 152
  • the computer system 150 may further include a display device such as a monitor 154, an alphanumeric mput device such as a keyboard 156, and a directional mput device such as a mouse 158
  • the computer system 150 is operable to execute the computer programs to implement an improved optimization system and method as described herem
  • the computer system 150 preferably mcludes a memory medium on which computer programs according to vanous embodiments may be stored
  • the term "memory medium may mclude an installation medium, e g , a CD- ROM, or floppy disks 160, a computer system memory such as DRAM, SRAM, EDO RAM, Rambus RAM, etc , or a non-volatile memory such as a magnetic media, e g , a hard drive, or optical storage
  • the memory medium may mclude other types of memory as well, or combmations thereof
  • the memory medium may be located m a first computer m which the programs are executed, or may be located m a second different computer which connects to the first computer over a network In the latter instance, the second computer provides the program instructions to the first computer for execution
  • the computer system 150 may take vanous forms, including a personal computer system, mainframe computer system, workstation, network appliance, Internet appliance, personal digital assistant (PDA), television system or other device
  • PDA personal digital
  • the memory medium preferably stores a software program or programs for event-triggered transaction processing as described herem
  • the software program(s) may be implemented m any of vanous ways, mcludmg procedure-based techniques, component-based techniques, and/or ob ect-onented techniques among others
  • the software program may be implemented usmg ActiveX controls, C++ objects, JavaBeans, Microsoft Foundation Classes (MFC), or other technologies or methodologies, as desired
  • a CPU such as the host CPU 152, executing code and data from the memory medium includes a means for creating and executing the software program or programs accordmg to the methods and/or block diagrams described below
  • the computer system for optimization of customer relationship management as discussed herein may be a typical computer system 150 as illustrated m Figure 1
  • FIG. 2 A Distributed Computing Environment Figure 2 illustrates a distributed or enterprise computmg environment accordmg to one embodiment
  • a distributed computer system or enterpnse 100 mcludes a plurality of computer systems which are interconnected through one or more networks
  • the distributed computer system 100 may mclude a vanety of heterogeneous computer systems and networks which are interconnected m a vanety of ways and which run a vanety of software applications and/or operating system software
  • LANs local area networks
  • a LAN 104 is a network that spans a relatively small area
  • a LAN 104 is confined to a smgle building or group of buildings
  • Each node (l e , individual computer system or device) on a LAN 104 preferably has its own CPU with which it executes programs, and each node is also able to access data and devices anywhere on the LAN 104
  • the LAN 104 thus allows many users to share devices (e g ,
  • Each LAN 104 mcludes a plurality of interconnected computer systems and optionally one or more other devices for example, one or more workstations 110a, one or more personal computers 112a, one or more laptop or notebook computer systems 114, one or more server computer systems 116, and one or more network printers 118 As illustrated in Figure 2, an example LAN 104 may mclude one of each of computer systems 110a, 112a, 114, and
  • the LAN 104 may be coupled to other computer systems and/or other devices and or other LANs 104 through a WAN 102
  • One or more mainframe computer systems 120 may be coupled to the distributed computer system 100 As shown m Figure 2, the mamframe 120 may be coupled to the distributed computer system 100 through the WAN 102, but alternatively one or more mainframes 120 may be coupled to the distributed computer system 100 through one or more LANs 104 As shown, the mainframe 120 may be coupled to a storage device or file server 124 and mainframe terminals 122a, 122b, and 122c The mamframe terminals 122a, 122b, and 122c may access data stored in the storage device or file server 124 coupled to or included in the mamframe computer system 120
  • the distributed computer system 100 may also include one or more computer systems which are connected to the distributed computer system 100 through the WAN 102 as illustrated, a workstation 110b and a personal computer 112b
  • the enterprise 100 may optionally mclude one or more computer systems which are not coupled to the distributed computer system 100 through a LAN 104
  • the distributed computer system 100 may mclude computer systems which are geographically remote and connected to the
  • optimization may generally be used by a decision-maker associated with a busmess to select an optimal course of action or optimal course of decision
  • the optimal course of action or decision may mclude a sequence or combmation or actions and/or decisions
  • optimization may be used to select an optimal course of action for marketing one or more products to one or more customers
  • a "customer” may mclude an existing customer or a prospective customer of the busmess
  • a "customer” may mclude one or more persons, one or more organizations, or one or more busmess entities
  • the term "product” is mtended to mclude vanous types of goods or services, such as books, music, content subscription services, furniture, onl e auction items, clothmg, ISP service, consumer electronics, travel, software, pharmaceutical or medical supplies, computer systems, etc , or vanous services such as loans (e g , credit card, auto, mortgage, and home re-financing loans), secunties (e g
  • a busmess may desire to apply the optimal course of action or optimal course of decision to one or more customer relationships to increase the value of customer relationships to the busmess
  • a "portfolio" m cludes a set of relationships between the busmess and a plurality of customers
  • the process of optimization may mclude determmmg which variables m a particular problem are most predictive of a desired outcome, and what treatments, actions, or mix of variables under the decision-maker's control (I e , decision variables) will optimize the specified value
  • the one or more products may be marketed to customers in accordance with the optimal course of action, such as through direct mailing and/or targeted advertising
  • Other means of applying the optimal course of action may include, for example, conductmg a re-pncmg campaign m accordance with the optimal course of action, conducting an acquisition campaign in accordance with the optimal course of action, conducting an e-mailmg campaign m accordance with the optimal course of action, and conductmg a promotional campaign m accordance with
  • Figure 3a is a block diagram which illustrates an overview of optimization according to one embodiment
  • Figure 3b is a dataflow diagram which illustrates an overv lew of optimization accordmg to one embodiment
  • an optimization process 200 may accept the following elements as input customer information records 202, predictive model(s) such as customer model(s) 204, one or more constramts 206, and an objectn e 208
  • the optimization process 200 may produce as output an optimized set of decision variables 210
  • each of the customer model(s) 204 may correspond to one of the customer information records 202
  • an "objective" may include a goal or desired outcome of an optimization process
  • Constraint may mclude a limitation on the outcome of an optimization process
  • Constraints are typically "real-world” limits on the decision variables and are often critical to the feasibility of any optimization solution Managers who control resources and capital or are responsible for financial effects should be involved in setting constramts that accurately represent their real-world environments Setting constramts with management mput may realistically restrict the allowable values for the decision variables
  • the number of customers mvolved m the optimization process 200 may be so large that treating the customers individually is computationally unfeasible In these cases, it may be useful to group like customers together m segments If segmented properly, the customers belongmg to a given segment will typically have approximately the same response m the action vanables to a given change m decision variables and external variables For example, customers may be placed into particular segments based on particular customer attributes such as risk level, financial status, or other demographic mformation Each customer segment may be thought of as an average customer for a particular type or profile A segment model, which represents a segment of customers, may be used as described above with reference to a customer model 204 to generate the action variables for that segment Another alternative to treating customers individually is to sample a larger pool of customers Therefore, as used herem, a "customer” may include an individual customer, a segment of like customers, and/or a sample of customers As used herem, a "customer model”, “predictive model”, or "model” may
  • the customer information 202 may include decision variables 214 and external variables 212
  • decision variables are those variables that the decision-maker may change to affect the outcome of the optimization process 200
  • APR Annual Percentage Rate
  • credit limit may be decision vanables
  • external vanables are those variables that are not under the control of the decision-maker In other words, the external vanables are not changed m the decision process but rather are taken as givens
  • external vanables may mclude variables such as customer addresses, customer mcome levels, customer demographic mformation, bureau data, transaction file data, cost of funds and capital, and other suitable variables
  • the customer information 202 mcludmg decision variables 214 and external ⁇ anables 212 may be mput into the predictive model(s) 216 to generate the action variables 218
  • each of the predictive model(s) 216 may correspond to one of the customer information records 202, wherem each of the customer information records 202 may include appropriate decision variables 214 and external variables 212
  • action variables are those variables that predict a set of actions for an mput set of decision and external variables
  • the action variables may comprise predictive metrics for customer behavior Foi example, m the optimization of a product marketmg campaign, the action variables may mclude the probability of a customer's response to an offer In a re-p ⁇ cmg campaign, the action variables may mclude the likelihood of a customer maintaining a service after re-p ⁇ cmg the service In the optimization of a credit card offer, the action variables may include predictions of balance, attrition, charge-off, purchases, payments, and other suitable behaviors for the
  • the predictive model(s) 216 may include the customer model(s) 204 as well as other models
  • the predictive model(s) 216 may take any of several forms, mcludmg, but not limited to tramed neural nets, statistical models, analytic models, and any other suitable models for generating predictive metrics
  • the models may take various forms including linear or non-lmear, such as a neural network, and may be de ⁇ ed from empirical data or from managerial judgment
  • the predictive model(s) 216 may be implemented as a neural network
  • the neural network may include a layer of input nodes, interconnected to a layer of hidden nodes, which are in turn interconnected to a layer of output nodes, wherem each connection is associated with an adjustable weight whose value is set m the training phase of the model
  • the neural network may be trained, for example, with historical customer data records as input
  • the tramed network may include a non-linear mappmg function that may be used to model customer behaviors and provide predictive customer models in the optimization system
  • the trained neural network may generate action variables 218 based on customer information 202 such as external variables 212 and decision variables 214
  • a model comprises a representation that allows prediction of action variables, a, due to various decision variables, d, and external variables
  • Figure 4 illustrates a model 215 with external variables 212, decision variables 214, and resulting action variables 218
  • a customer may be modeled to predict customer response to various offers under various circumstances It may be said that the action variables, a, are a function, via the model, of the decision and external variables, d and e, such that
  • M() is the model
  • a is the vector of action variables
  • d is the vector of decision vanables
  • e is the vector of external variables
  • the action variables 218 generated by the model(s) 216 may be used to formulate constramt(s) 206 and the objective function 208 via formulas
  • a data calculator 220 generates the constra ⁇ nt(s) and objective 222 usmg the action variables 218 and potentially other data and variables
  • the formulas used to formulate the constramt(s) and objective 222 may mclude financial formulas such as formulas for determining net operatmg mcome over a certain time period
  • the constramt(s) and objective 222 may be mput into an optimizer 224, which may comprise, for example, a custom-designed process or a commercially available "off the shelf product
  • the optimizer may then generate the optimal decision variables 210 which have values optimized for the goal specified by the objective function 208 and subject to the constramt(s) 206
  • the optimization process 200 carried out by the optimizer 224 is discussed m greater detail below A further understandmg of the optimization process 200 may be gained from the references "
  • decision variables d are a subset of the set of possible decision variables
  • the model, objective function, and constraints may each be either linear (L) or non-linear (NL)
  • the decision variable set, D may be a Imearly bounded single region (simple convex area) (L), a non-linear bounded single region (NL), multiple regions (MR), or discrete
  • Commercial solvers, or optimizers are available for solvmg all combinations of linear and non-lmear components for single region decision variable sets
  • a variety of other, more heuristic, approaches are generally available Several of these approaches solving optimization problems are discussed in greater detail as follows
  • a simple credit card offer optimization problem illustrates the LP approach
  • APR annual percentage rate
  • d t APR
  • d-> credit limit
  • w lh w ,-,, b w 21 , w->->, and b ⁇ are parameters of the model
  • the parameters may be found, for example, using linear regression techniques based upon historical data
  • O / is an optimization parameter Using this objective function, a, and a 2 may be maximized
  • the relative importance of a, versus a 2 is determined by the optimization parameter, o which is specified by the user
  • a linear constraint is of the form
  • this example can be solved usmg standard lmear programming techniques
  • the objective, constraints, and set of decision variables are of the form shown above, and the model is implemented by a non-linear neural network
  • m w is the vector of weight parameters of the neural network which may be identified usmg histoncal data and the back propagation method of neural network training
  • a nonlinear commercial solver/optimizer may be used to solve for the decision variables
  • MILP mixed mteger linear programming
  • LP linear programming
  • the above problem may be reformulated by enumeratmg the solutions, e g , by computmg the output of the neural network model for each element of the set
  • a conventional linear programming technique may be used because the selection variables n ⁇ are optimized, rather than the decision ⁇ anables, and because n ⁇ appear linearly
  • the optimal selection variables one of the n ⁇ will be equal to 1, with the rest equal to 0, assuming only one maximum in the set
  • the optimal decision variables of the set correspond to the ft ( equal to 1
  • the decision variables are computed using a heuristic LP approach This technique may generally be used when the set of discrete decision variables is finite
  • models may be used for each product/customer pair
  • the models may be defined as follows
  • the models may be defined as follows
  • Figure 6 illustrates these multiple customer models Optimization with multiple customer models is mathematically equivalent to optimization with multiple product models
  • an optimizer may generally be used to compute the decision vanables for a customer to extremize the objective function, J
  • Figure 7a is a block diagram which illustrates an optimization process 200 with cross-record constraints according to one embodiment
  • Figure 7b is a dataflow diagram which illustrates an optimization process 200 with cross-record constraints accordmg to one embodiment
  • the constra ⁇ nt(s) 252 may include one or more cross-record constramt(s), and the optimizer 224 may solve the objective 208 subject to the cross-record constramt(s) 252
  • a "cross-record constraint" is a limitation on one or more global resources as applied to a plurality of records such as customer mformation records 202
  • a cross-record constraint may define a limitation on a quarterly budget or other finite resource that the optimization process 200 is expected to meet
  • the constramt(s) 252 may also mclude one or more record-level constraints
  • a "record- level constraint” is a limitation that is applied to one record at a time For
  • the optimization process 200 may also be solved subject to limitations on global resources by usmg a cross-record objective function 209 Therefore, the data calculator 220 may generate cross-record constramt(s) and/or cross-record objectiv e 254 for use by the optimizer 224
  • An objective function is a cross-record objective function if it cannot be written as a sum of individual record objectives
  • An example of such an objective might be the profit for a collection of product offers
  • Figure 9a is a block diagram which illustrates a robust optimization process according to one embodiment
  • Figure 9b is a dataflow diagram which illustrates a robust optimization process according to one embodiment
  • robust optimization m cludes constrained optimization across a plurality of uncertainty models 260
  • solvmg the objective function in robust optimization may include solving the objective function across a plurality of uncertainty models 260 to select the optimal solution, given the uncertainty provided by the uncertainty models 260.
  • an "uncertainty model” may include any model which adds a range of uncertainty to an optimization process
  • Robust optimization is generally synonymous with stochastic or probabilistic robust optimization
  • a change m decision variables or external variables results in exactly (I e , determmistically) the same change m the resulting action variables
  • a deterministic model j ⁇ may be expressed as follows.
  • a change m decision variables or external variables may not result in exactly the same change m the resultmg action variables
  • the action variables may be represented by a probability distribution
  • the model (24) is the probability distribution of the action variables, a, given the decision and external variables, d and e.
  • robust optimization uses a nondeterrmmstic or uncertainty model for a customer/segment, as shown in expression (24), rather than a deterministic model
  • the direct probability distribution cannot be used in the optimization problem, either because the distribution cannot be computed in a reasonable tune or the optimization problem cannot be computed in a reasonable tune
  • samples of the distribution may be used to solve or approximate the solution to the problem Sampling is illustrated by the following simple problem
  • the expected value of a distribution, f[x) can be approximated by drawing ;V random samples f ⁇ omf(x)
  • x are the independent samples of j ⁇ x
  • the mdependent samples are known as scenarios
  • a set of scenario models ⁇ , f l (d, e), a 2 — f 2 (d, e),K.
  • the scenario models may then be used to approximate the robust optimization solution
  • the solution may be determined as shown above for multiple models
  • p(a ⁇ d, e) f AVE (d, e) + p(r ⁇ d, e) (28) wherem f A VE (d, e) is a deterministic function representing the average of the distnbution, p(a ⁇ d, e) , and wherem p(r ⁇ d, e) is the residual distribution In this case, the residual distribution is sampled rather than the actual distribution
  • the NN AVE Given an historical dataset, D, the NN AVE can be developed
  • the historical dataset can also be used to determme the distribution of the residuals In this case, the distribution is dependent on the historical data, and thus
  • the distributions may be sampled, yielding models of the form
  • the user may select an appropriate prior distribution for T(w) Often, a broad Gaussian distribution may be selected, as shown in Figure 8c However, the user may feel that the world is too uncertain to trust the historical data as a guide to future events Therefore, the user can select a prior distribution with a high value for w to represent a region of higher uncertainty, as shown in Figure 8d The user may also select the distribution shown in Figure 8e, resulting in the following model
  • the uncertainty models 260 may include scenarios as discussed above
  • “scenarios” include multiple sets of possible values for uncertain data Scenarios may express a range of uncertainty m the future The scenarios may be designed so as to span the range of possibilities likely to occur over the tune frame of interest
  • the decision-maker may measure the consequences of environmental uncertainty, model errors, gaps or errors in mput data, or errors experienced mfileicted and forecasted behaviors or other business parameters that impact his or her decision metric, and m doing so, determine his or her strategy based upon the desired level of risk
  • multiple scenarios may be represented by multiple models for a product- customer/segment pair
  • a l M(d i , e ] )
  • a 2 M(d 2 , e 2 )
  • a R M(d R , e R ) ( 39 )
  • weights may be used to weight the importance or likelihood of one model against another
  • a probability may be assigned to each scenario to denote its likelihood of occurrence
  • the plurality of uncertainty models 260 may be generated by varying a set of action variables 218 to represent varying circumstances of possible futures
  • Uncertainty models may be used to vary the values of the action variables 218 accordmg to (1) some set of empirical distributions (one or more distributions per action variable) or to (2) some set of distributions derived through managerial judgment or to (3) some combmation of empirically derived and judgmentally derived distributions
  • the objective function may be a function of the action variables 218 across a plurality of uncertainty models 260
  • probabilities are not assigned to the scenarios, rather, a decision table may be used m conjunction with any of a number of well-established methods, such as Equally Likely Criterion, Maxrmax Criterion, Maximrn Criterion, Hurwicz Criterion of Realism, or Minimax Regret, as will be familiar to those skilled m the art A greater understandmg of these established methods may be gained by referring to an elementary text on Management Science or Decision Analysis such as "Spreadsheet Modeling and Decision Analysis A Practical Introduction to Management Science", Cliff T Ragsdale, Course Technology Inc (1997)
  • Figure 1 la is a block diagram which illustrates an optimization process 200 with an objective function of lifetime customer value (LCV) according to one embodiment
  • Figure 1 lb is a dataflow diagram which illustrates an optimization process 200 with an objective function of lifetime customer value accordmg to one embodiment
  • the method and system for optimization may be applied to select an optimal course of action for marketmg products to the plurality of customers
  • the objective function 230 may mclude considerations of lifetime customer value
  • the objective function may be a function of LCV
  • the LCV may be implemented through the use of constraints 235 m addition to the use of the objectiv e function
  • LCV may be calculated differently for a particular credit card offer optimization than for a particular pharmaceutical offer optimization
  • LCV may mclude a sum of discounted cash flows over time
  • the basic form of LCV is as follows
  • Cash inflows for time period "t” may mclude, for example, sales income, fee mcome, and mterest mcome Cash ouflows for a time period "t” may include, for example, charge-off expense, cost of funds, and marketmg cost Net Income After Tax_t is therefore discounted and summed over the entire post-treatment period In this way, the value that each customer in the portfolio will provide to the organization over the lifetime of the relationship may be found
  • LCV may include a long-term view and a short-term view of the customer relat ⁇ onsh ⁇ p(s)
  • a "long-term view” includes a period of one or more years
  • the combmation of the long-term view and short-term view may be implemented by the use of both constramt(s) and objective to embody the LCV
  • one or more constramts may be used to ensure that the busmess mamtains a particular level of revenue over the short term
  • the objective may be used to ensure that the business maximizes the value of the customer relationships over the long term
  • the objective may mclude short-term considerations and the constramts may mclude long- term considerations
  • Various combmations of the objective, constraints, short-term considerations, and long-term considerations may be used to arrive at an appropriate LCV function for a particular optimization process 200
  • the action variables 219 over the lifetime of the relationship may be received as mput to a data calculator such as a cash flow calculator 232
  • the cash flow calculator 232 may include a set of financial formulas that are used to calculate the constraint funct ⁇ on(s) and the objective function mcludmg LCV 234 for each input data set of the external variables 212 and decision variables 214
  • the cash flow calculator 232 may calculate a series of per-customer LCV values c,f for a given segment i, offer _/, and scenario s, where the per-customer LCV is a function of the action variables a,f for a given customer/segment i, offery, and scenario s
  • the cash flow calculator 232 may measure all the cash mflows and outflows required by the objective function and constramts 234
  • the cash flow calculator 232 may calculate mflows and outflow s from model predictions and forecasts of account behavior as well as from other data available to the decision- maker In domg so, the cash flow calculator 232 may com ert available data into a series of detailed and customizable cash flows at particular time intervals (e g , monthly, quarterly, bi-annually or annually)
  • Cash inflow s and outflows may also facilitate the calculation of "terminal value ' Individual cash flows may be calculated at the most granular or detailed level with respect to the different individual components that comprise all flows of cash Individual cash flows may be discounted and may ultimately form the LCV expression that is the objective function 230 of the optimization analysis
  • FIG. 12a is a block diagram which illustrates a robust optimization problem w ith cross-record constraints and an objective function of lifetime customer value (LCV) accordmg to one embodiment
  • Figure 12b is a dataflow diagram which illustrates a robust optimization problem with cross-record constramts and an objective function of lifetime customer value (LCV) according to one embodiment
  • an optimization process 200 may accept the follow ing elements as input customer mformation records 202, customer model(s) 204, uncertainty model(s) 260, one or more constraints 271, and an objective 231
  • the constramt(s) 271 and/or objective 231 may include LCV
  • the constraints 271 and/or objective 231 may be cross-record
  • the optimization piocess 200 may produce as output an optimized set of decision variables 210 As shown in Figure 12
  • d decision variables
  • d y s decision variables for segment i given offer y under scenario s
  • e external variables
  • e,f external variables for segment i given offer j under scenario s
  • a action variables
  • a,/ action variables for segment i given offer y under scenario s
  • o objective parameters (such as penalty weights or objective coefficients)
  • n ⁇ is the number of customers (1 e , current customers or prospective customers) in segment i who get offery
  • c is LCV per customer for segment i given offer j under scenario s
  • N y s NOI per customer m segment i given offer y under scenario s
  • N is an NOI requirement for time period t
  • A,/ is the admissibihty of offer j in segment ; under scenario s (A,/
  • This formulation may be converted mto a Lmear Program (LP) by introducing the scalar variable y
  • LP Lmear Program
  • Operatmg Income (NOI) and maximum first-year loss, using slack variables is given as follows
  • p s is the probability that scenario s occurs
  • E( ) is mathematical expectation (l e , expected value)
  • W k is a weighting factor for constraint k
  • nd is negative deviation in scenario s from meeting constraint k
  • nd k is the negative deviation across all scenarios
  • pd k s is positive deviation in scenario s from meeting constraint k
  • d are decision vanables
  • d,f are decision variables for segment i given offer y under scenario s
  • e are external variables
  • e are external variables for segment i given offer y under scenario s
  • a are action variables
  • a are action variables for segment i given offer j under scenario s
  • o are objective parameters (such as penalty weights or objective coefficients)
  • n v is the number of customers (I e , current customers or prospective customers) in segment i who
  • scenario constramt (46) in each scenario s, m each time period k, the expected NOI must meet the NOI goal N k
  • scenario constramt (47) in each scenario s, the expected first-year losses must meet (not exceed) the loss goal L k
  • the expected value approach (51) is often called Stochastic Linear Programming Problems with this form of the objective are the easiest to solve smce they are lmear, but are not always approp ⁇ ate to a given problem Such an objective implies risk neutrality on the part of the decision-maker
  • the utility function approach (52) allows the risk tolerance of the decision maker to be modeled explicitly, which is better for nsk averse decision making, unless the LCV of the objective function have already been adjusted to account for nsk
  • the utility function in the objective necessitates nonlinear optimization techniques
  • the Maximm formulation of the objective function (53) finds values for the decision variables that maximize LCV m the worst-case scenario An alternate formulation is to maximize near-term profit while placmg constramts on Expected LCV
  • the Maximm formulation may be appropriate when the decision-maker's risk aversion is strong By selectmg an approp ⁇ ate formulation, a robust optimization problem may be solved m accordance with a customer's attitude regarding n
  • FIG 13 is a flowchart which illustrates optimization of customer relationship management accordmg to one embodiment
  • a set of customer data corresponding to one or more customers may be collected and received
  • the customer data may mclude external vanables and decision vanables
  • step 304 given the set of customer data collected m step 302, one or more decision variables may be optimized based on an objective and one or more constraints to produce optimized decision variables for a product offer
  • Step 304 may further mclude inputting the set of customer data from step 302 into one or more predictive models to generate one or more predictive customer behaviors (I e , action vanables)
  • the one or more predicts e models may comprise a neural network
  • Step 304 is discussed in greater detail with reference to Figures 3 through 12
  • the objective and or constramts may comprise a lifetime customer value function
  • the lifetime customer value function may compnse a sum of expected cash flows over the lifetime of a relationship with the customer
  • the lifetime customer value function may represent a long-
  • Cross-record constraints include limitations on global resources
  • the objective may be a cross- record ob)ect ⁇ ve Cross-record constraints and objectives are discussed in greater detail w ith reference to Figure 7
  • the one or more terms of a product may be set to the optimized decision variables to produce an optimized product
  • the optimized product may comprise a set of optimized terms For example, if product is a credit card, then the optimized terms may mclude an optimal interest rate and credit limit Generally, setting the decision variables of the product to the optimized decision variables may result m mcreasmg the value of the product vendor's relationships with customers of the product
  • the optimized product may be offered to one or more of the customers
  • the optimized product may be offered to current and/or prospective customers in a variety of ways and under a variety of circumstances
  • the optimized pioduct may be offered via a direct mailing, targeted advertising, a re-p ⁇ cmg campaign e-mail, and/or a promotional campaign for customer retention
  • a response from the customer to the offermg may be accepted
  • the response may be accepted automatically and without human intervention, such as through an automated on-line or web-based system, or the response may be accepted with human intervention
  • the optimized terms may be earned out during a lifetime of the optimized product
  • the offeror or product vendor may mamtain the customer relationship in step 312 for a particular product according to the optimized terms produced m the optimization process of step 304
  • Carrymg out the optimized terms may include conducting one or more transactions according to the optimized terms during the product lifetime
  • a credit card issuer may honor the interest rate and credit limit of the optimized offer for one or more credit-card transactions for as long as the customer holds the credit card
  • Figures 14-28 disclose an architecture for a software-based optimization and simulation system accordmg to one embodiment
  • the software architecture may allow the generation of decisions based on an objective, constramts, and uncertainty models as discussed with leference to Figures 3 through 13
  • an objective is the target goal of a decision
  • a constraint is a qualifier for the objective
  • an uncertainty model may mclude an expression of uncertainty regardmg elements of the objective
  • the decisions may be made in an off-line, proactive manner wherein many decisions are made all together (e g , a batch method), or m an on-lme, reactive manner wherein one decision is made at a time
  • the software architecture may solve the mtegration problems over the entire hfecycle of designmg the decisions, makmg the decisions, and tracking the decisions
  • a decision may comprise determining an optimal annual percentage rate (APR) and credit line for each customer m a portfolio, wherem that APR and credit line yield the maximum lifetime customer value (LCV) with a mmimum net operating income (for the following year) of $15 million
  • APR annual percentage rate
  • LCV maximum lifetime customer value
  • mmimum net operating income for the following year
  • This example optimization problem has one constraint at least $15 million m net operatmg income for the following year
  • this example optimization problem has one risk factor or element of uncertainty the cost of capital has the possibility of varying by ⁇ 10% over the next 5 years
  • Many other examples could be made with respect to other marketing decisions, manufacturing decisions, production decisions, and other suitable decisions
  • a holistic system may be used that may include designing experiments, modeling from the experiments and historical data, making the optimized decisions, tracking the results from the experiments decisions, and embedding the experiments/decisions m on-lme applications
  • One method of makmg the decision is m an off-line manner with a system that will make customer decisions m a batch manner
  • this method might typically be used proactively to change the APR and credit line for all customers in a portfolio
  • Another method is in an on-lme manner with a system that makes the decision for one customer at a time
  • This manner might typically be used to react to a particular event, such as the customer calling to request a change
  • the softw are architecture disclosed herein comprehends both off-line and on-lme methods
  • Figure 14 illustrates an off-line system architecture for optimization of customer relationship management according to one embodiment
  • the architecture not only supports the ability to make off-line decisions, but also supports performing simulations prior to deploying the off-line and on-lme decisions
  • the sections may be roughly identified using the modules surrounding the four data stores 2360, 2400, 2530, 2680
  • the design of experiments section mcludes the Experiment Database 2360 and the four modules connected to it Import 2100, Export 2150, Design Experiment 2300, and Experiment Engine 2340
  • the tracking section includes the Trackmg Database 2400 and the Import Module 2100 connected to it
  • the model-building section mcludes the Model Database 2530 and the two modules connected to it Import 2100 and Build Components 2500
  • the decision-making section includes the Decision Database 2680 and the six modules connected to it Import 2100, Export 2150, Assemble/Setup Components 2600, Decision Views 2660, Decision Engme 2640, and
  • the design of experiments section piovides tools for creating and deploying experiments The purpose of the experiments is to test various combinations of decision values (I e , the values of decision variables) preparation for modeling the results
  • decision values I e , the values of decision variables
  • an experiment may test combinations of APR and credit line values with current customers and prospective customers
  • the results may then be used m the tools provided by the trackmg and model-buildmg sections of the architecture
  • the model-building section provides tools for creatmg and deploymg mathematical models As discussed above, these models may be built from (e g , trained on) historical data as well as previous experiments and decisions
  • the mathematical models may encapsulate the data and results in a form that can be used to make future decisions
  • An example is a mathematical model calculating lifetime customer value of a credit card decision
  • Such models may be used in the tools provided by the decision-making section
  • Results from the models may also be tracked via the trackmg section
  • the decision-making section provides tools for creating and deploymg optimized decision answers
  • a pharmaceutical decision might include decision values concerning the number of drug samples and client visits
  • the optimal decision may include finding the right mix of samples and visits for the entire portfolio of clients, given budget constramts and risks related to uncertainty of travel costs
  • Results from the decisions may be used in the tracking section
  • the tracking section provides tools for recording the results of the experiments deployed m the design of experiment section and the decisions deployed in the decision-making section The results may then be used in the other sections to evaluate the performance of the experiments, models, and decisions
  • the Tracking Database 2400 may contain the experiment, model, and decision data that will be tracked It may be organized by the projects that were created m the design of experiments, model-buildmg, and decision-making sections The various projects may be linked to associate them with one another Thus, in one embodiment, one is able to know if a model-buildmg project relates to a decision-makmg project and a design-of-expe ⁇ ment project Furthermore, a given project might be associated with another project For example, a given design-of-expe ⁇ ment project might be derived from another design-of-expenment project Data may be put mto the Trackmg Database 2400 when a project is deployed Deploying a project's experiment via the Export module 2150 may cause the experiment's data to be saved to the Tracking Database 2400 In
  • modules can be packaged m many forms
  • they could be packaged as a desktop software product, as a client-server software product that supports multiple users, or as a web software product
  • Figure 15 illustrates the sub-modules of an Import module 2100 for optimization of customer relationship management accordmg to one embodiment
  • the Import module 2100 may be used to load data mto the various system databases
  • the Data Transformation Engme sub-module 2110 converts the data received from an external database or system to a usable form for the various tools usmg the system databases
  • Visualization Tool sub- modules 2140 may cooperate with the Data Transformation Engme sub-module 2110 to view the data and statistics of the data and build the transformations with those views
  • Example Visualization Tools 2140 are XY plots, row number plots, histogram plots, correlation plots, probability plots, PCA plots, and other suitable tools
  • the transformations can be built usmg the views and/or using an editor to explicitly express the transformations in terms of the data
  • the Import module 2100 is extensible to add and remove Visualization Tool sub- modules 2140
  • the transformations can be saved m a reusable form 2120
  • the transformations 2120 may be used to automatically transform the data from the on-line application
  • the application may use the Data Transformation Engme sub-module 2110 to transform the application data
  • the Import module 2100 may also contam Data Interface sub-modules 2130 for interfacing to the various system databases 2360, 2400, 2530, 2680 and to the various external databases and systems 2200
  • the Import module 2100 is extensible to add and remove Data Interface sub-modules 2130 Figure 16: Export Module
  • Figure 16 illustrates the sub-modules of an Export module 2150 for optimization of customer relationship management according to one embodiment.
  • the Export module 2150 may be used to unload data from the various system databases.
  • the Data Transformation Engine sub-module 2110 converts the data contained in the system databases to a usable form for the various external systems and databases.
  • the same Data Transformation Engine sub-module 2110 may be used for the Export 2150 and Import 2100 modules.
  • the Export modules 2150 contain Visualization Tool sub-modules that cooperate with the Data Transformation Engine sub-module 2110 to build the transformations.
  • the Export module 2150 is extensible to add and remove Visualization Tool sub-modules.
  • the Visualization Tool sub-modules 2140 used in the Export module 2150 may or may not be the same as those used in the Import module 2100. In one embodiment, however, all Visualization Tool sub-modules 2140 support the same interface to be used in either.
  • the transformations built can be saved in a re-usable form 2120.
  • One potential reuse of the transformations is in an on-line application (as shown in Figure 27). wherein the transformations 2120 may be used to automatically transform the data from the on-line application.
  • the application may use the Data Transformation Engine sub-module 2110 to transform the data in the Experiment Database 2360.
  • the Export module 2150 also contains Data Interface sub-modules 2130 for interfacing to the various system databases 2360, 2400, 2530, 2680 and the various external databases and systems 2200.
  • the Export module 2150 is extensible to add and remove Data Interface sub-modules 2130.
  • the import 2100 and Export 2150 modules may share some of the same Data Interface sub-modules 2130.
  • Figure 17 illustrates the sub-modules of the Design Experiment module 2300 for optimization of customer relationship management according to one embodiment.
  • the Design Experiment module 2300 may be used to create, delete, edit, view, and track the experiments.
  • the Design Experiment module 2300 includes visualization tools that work with the Experiment Database 2360 and Experiment Engine 2340 to create, delete, edit, and view the experiments.
  • the Create Tool sub-module 2310 creates experiments for a project.
  • the Delete Tool sub-module 2315 deletes experiments of a project.
  • the Edit Tool sub-modules 2305 manage the segmentation and sampling rules 2330 used by the Experiment Engine 2340.
  • the View Tool sub-modules 2320 include various visualizations of the experiments, including reports and charts showing the data after the segmentation and sampling rules are applied.
  • the Track Tool sub-modules 2325 include reports and charts comparing the results of executing the experiment to what was designed.
  • the Design Experiment module 2300 is extensible to add and remove Edit Tool 2305, View Tool 2320, and Track Tool 2325 sub-modules.
  • the Design Experiment modules also includes functionality to manage the projects that contain the experiments.
  • Figure 18 illustrates the sub-modules of the Experiment Engine module 2340 for optimization of customer relationship management according to one embodiment.
  • the Experiment engine module 2340 may be used to apply the segmentation and sampling rules 2330 against the transformed data in the Experiment Database 2360.
  • the Segment Engine sub-module 2350 may encapsulate a segmentation algorithm and perform that algorithm according to the segmentation rules created in the Design Experiment module 2300
  • the segmentation rules may be specific to the segmentation algorithm Segmentation algorithms may comprise simple cut rules to complicated clustering algorithms
  • the Sample Engme sub-module 2350 may encapsulate a sampling algorithm and perform that algorithm according to the samplmg rules created m the Design Experiment module 2300
  • the sampling rules may be specific to the sampling algorithm Samplmg algorithms may include a variety of algorithms, from simple and random to complicated and score-based algorithms
  • the Experiment Engine module 2340 is extensible to add and remove Segment Engme 2350 and Sample Engine 2345 sub-modules
  • FIG 19 illustrates the sub-modules of the Build Components module 2500 for optimization of customer relationship management according to one embodiment
  • the Build Components module 2500 may be used to build component mathematical models 2510 for use in the decision-making section
  • the component models may be of various types, such as neural network, logistic regression, linear regression, genetic algorithm, table lookup, and other suitable models Projects may be created in the Build Components module 2500 to encapsulate the work for one or more component models
  • Each type of component model may have its own set of Edit Tools 2505, Analysis Tools 2515, and Track Tools 2520
  • the Edit Tools provide mechanisms for creatmg and editing component instances of the corresponding type of model
  • an Edit Tool 2505 for a neural network component might identify data elements in the Model Database 2530 as inputs and outputs for the neural network and then train the neural network on the corresponding data
  • the Analysis Tools 2515 may provide mechanisms for analyzmg and viewmg the component models
  • an Analysis Tool 2515 for a neural network might identify the sensitivities of
  • Figure 20 illustrates the sub-modules of the Assemble/Setup Components module 2600 for optimization of customer relationship management accordmg to one embodiment
  • the Assemble/Setup Components module 2600 may be used to perform setup steps required prior to performmg the optimization and simulation Projects are created m the Assemble/Setup Components module 2600 to encapsulate the configuration work for one or more configuration variations
  • a configuration variation is encapsulated in an abstraction called a question Questions may reference objectives managed by the Assemble Objective 2610 sub-module, risk variables managed by the Edit Risk 2615 sub-module, and segments managed by the Edit Segments 2620 sub-module
  • the Assemble Objective sub-module 2610 may be used to assemble component mathematical models 2510 into objectives for a project Assembling may include binding component outputs to component inputs Assemblmg may also include binding component mputs and outputs to data elements in the Decision Database 2690
  • the project can contain many objectives Questions reference the project's objectives
  • Figure 21 illustrates a hierarchy of the Manage Questions sub-module 2605 for optimization of customer relationship management according to one embodiment
  • questions may be of two base types optimization and prediction
  • An optimization question solves for a set of input variables in an objective
  • a prediction question calculates an objective
  • marginal optimization includes an additional objective called the baselme to compare against
  • all questions have basic functionality provided by the Manage Questions sub-module 2605 This functionality includes creating, copymg, and deleting questions
  • the functionality also includes selecting from the project an objective, the risk variables, and the segmentation element(s) to use for solving the question
  • the Manage Prediction sub-module 2606 adds the functionality of selecting additional objectives
  • the Manage Optimization 2607 and Manage Margmal Optimization 2608 sub-modules are discussed below
  • Figure 22 illustrates the sub-modules of the Manage Optimization sub-module 2607 for optimization of customer relationship management according to one embodiment
  • the Manage Optimization sub-module 2607 may add functionality for managing decision variables, constraints, and reason codes to the Manage Questions sub module 2605
  • the Edit Decision Variable sub-module 2625 may be used to create and edit the set of decision variables for a project Decision variables have properties related to their values, and the properties are specific to the type of variable
  • two types of decision variables may be used discrete and contmuous Discrete variables have properties describing the possible values These values can be expressed, for example, as a minimum value, maximum value, and increment, or they can be expressed as a set of discrete values Continuous variables have properties of minimum and maximum value
  • the Manage Optimization sub-module 2607 manages the subset of project's decision variables to solve for in a question
  • the Manage Optimization sub-module 2607 also manages the allowable decision variable value combmations for the question
  • the Edit Constramts sub-module 2630 may be used to create and edit the optimization constraints for a project Constramts are expressed using terms that mclude data constants, data elements in the Decision Database 2680, expressions contaming data elements, and or data constants
  • the constramt expression may include three parts a left-hand term, a relational operator, and a right-hand term Relational operators are the typical numeric relational operators such as equal, less than, greater than, etc
  • Constraints can be global, regional, or local As discussed above, global and regional constraints are constraints where the terms used rolled-up facts from the segmentation For example, a global constraint could be total net operating mcome over the entire portfolio greater than $15 million, and a regional constraint could be total mail costs in the southwest less than $1 million Local constraints are constraints where the terms use facts from the decision-level records For example, a local constraint could be number of mailings greater than 0
  • the Manage Questions sub-module 2605 manages the subset of a project
  • the Edit Reasons sub-module 2635 may be used to create and edit the rules for generating reason codes associated with the solved decision variables
  • the rules are expressions that if true, produce a reason code
  • the expressions are built using terms that may include data constants, data elements in the Decision Database 2680, and/or results of calculations on those data elements
  • the terms may be put together as relational and logical expressions For example, such expressions may mclude "BehaviorScore ⁇ 600" and "CurrentCL > NewCL"
  • Figure 23 illustrates the sub-modules of the Manage Margmal Optimization sub-module 2608 for optimization of customer relationship management accordmg to one embodiment
  • the Manage Margmal Optimization sub-module 2608 may add the functionality of managing a baseline objective to the Manage Optimization sub-module 2608
  • the Manage Baseline sub-module 2636 identifies the objective from the project's list of objectives and initiates the calculation of the baseline objective for the decision records
  • a baseline objective is of the same structure as the optimization objective, except the behavioral components of the objective represent the normal business behavior For example, if the optimization objective is lifetime customer value, the baseline objective is also lifetime customer value And, the difference between the two is the set of components assembled mto each
  • Figure 24 illustrates the sub-modules of the Decision Engine module 2640 for optimization of customer relationship management accordmg to one embodiment
  • the Decision Engme module 2640 may be used to perform the calculations for a question
  • the Calculation Engine sub-module 2645 may be used to calculate the objective, constramts, and any miscellaneous equations for a decision level record
  • the objective, constramts, and miscellaneous equations may be created m the Assemble/Setup Components module 2600 by assembling components
  • a decision-level record is either formed via the segmentation transformations m the Edit Segments sub-module 2635 or assumes the account-level records brought mto the Decision Database 2680
  • An account-level record represents the data elements for a customer or some entity that is the focus of the decision
  • the Decision Engine module 2640 may be configured with multiple Calculation Engine sub-modules 2645 dependmg on the configuration of the Question Engme sub-module 2650
  • the Question Engine sub-module 2650 performs the algorithm specific to a question If the question is configured to perform an optimization, the Question Engme 2650 may mclude that optimization algonthm If the question is configured to perform a prediction, the Question Engme 2650 may mclude that prediction algorithm For example, if the question is configured to perform an optimization of discrete decision vanables with global constramts and risk variables, then a Question Engme 2650 with that ability is used
  • the Decision Engme module 2640 is extensible to add and remove Question Engine sub-modules 2650 It is also conceived the Decision Engine module 2640 could be built to run calculations in parallel or in a distributed manner For example, the Question Engme sub-module 2650 could mvoke multiple Calculation Engme sub-modules 2645 m parallel or across a network (m a distributed manner)
  • Figure 25 illustrates the sub-modules of the Decision Views module 2660 for optimization of customer relationship management accordmg to one embodiment
  • the Decision Views module 2660 may be used to perform minor setup changes to a question, to start the calculations, and to view the results of the calculations Minor setup changes include selecting the segment over which the calculations are run and selectmg the risk vanables Access may also be provided to the setup functionality m the Assemble/Setup Components module 2600, which allows more major changes
  • a mechanism is provided to start the calculations, which will be run by the Decision Engme module 2640
  • vanous tables and charts are used to evaluate the decisions
  • the tables and charts are encapsulated via a View sub-module 2665
  • the tables and charts have duect access to the results of the Decision Engine 2640 mcludmg details that might not be stored persistently m the Decision Database 2680
  • the View sub-modules 2665 may allow one to compare the scenario simulations generated from the risk variables and look at the robustness
  • Figure 26 illustrates the sub-modules of the Decision Reports module 2670 for optimization of customer relationship management according to one embodiment
  • the Decision Reports module 2670 may be used to examine the results of a project's question from the Decision Database 2680
  • the results may be shown as reports via Report sub-modules 2675
  • These reports may take many forms, mcludmg web pages
  • all reports may show the results within the segmentation
  • the results shown may mclude the decision mix, the constramt adherence, the objective values, intermediate calculations, and question configuration lnformanon
  • Comparison reports that compare any of the results between projects and between questions
  • trackmg reports showmg the actual results versus the predicted results
  • the trackmg reports work off the Trackmg Database 2400
  • the Decision Reports module 2670 is extensible to add and remove Report sub-modules 2675
  • Figures 27 and 28 On-Line Architecture
  • the system architecture for on-lme, reactive decisions may be a modification of the off-lme system architecture
  • On-line applications are usually built to serve other purposes than makmg decisions Therefore, the process of makmg a decision needs to be embedded m those on-lme applications
  • Figure 27 shows the system architecture for embeddmg the experiment process accordmg to one embodiment
  • Figure 28 shows the system architecture for embeddmg the decision process accordmg to one embodiment
  • the application programming interfaces (APIs) for the Data Transformation Engme sub- module 2110, the Experiment Engine module 2340. and the Decision Engme module 2640 mav be provided to the programmer of the on-lme application
  • Figure 27 illustrates an on-lme experiment architecture for optimization of customer relationship management accordmg to one embodiment
  • the on-lme application may be modified to use the APIs for the Data Transformation Engine sub-module 21 10 and the Experiment Engine module 2340
  • the transformations 2120 and rules 2330 are built with the modules of the off-lme system architecture (see Figure 14) Once built and tested via simulations, they may be deployed to the on-line application
  • the Experiment Database 2360 may be implemented as an m-memory database In one embodiment, it is only required to hold the data elements for one customer or entity
  • Figure 28 illustrates an on-line decision architecture for optimization of customer relationship management according to one embodiment
  • the on-lme application may be modified to use the APIs for the Data Transformation Engine sub-module 2110 and the Decision Engme module 2640
  • the transformations 2120 and component models 2510 are built with the modules of the off-line system architecture (see Figure 14) Once built and tested ⁇ ⁇ a simulations, they may be deployed to the on-lme application
  • the Decision Database 2680 may be implemented as an rn- memory database, since it is only required to hold the data elements for one customer or entity However, with global or regional constramts, the Decision Database 2680 holds the data elements for all customers or entities to which the constramts apply
  • Suitable carrier media may include storage media or memory media such as magnetic or optical media, e g , disk or CD-ROM, as well as signals such

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

TITLE: SYSTEM AND METHOD FOR ROBUST OPTIMIZATION INCLUDING UNCERTAIN T\ MODELS
BACKGROUND OF THE INVENTION
1 Field of the Invention
The present invention relates to the field of optimization, particularly the application of optimization science in the realm of strategic decision-making
2 Description of the Related Art
Numerous approaches have been applied to the issue of strategic business decision-making including decision support, data mining, and optimization
Decision support typically utilizes technologies such as On-Lme Analytical Processing (OL -P) and Relational On-Lme Analytical Processing (ROLAP) to more systemically examine what has happened in the past With these approaches, a querying process may take place whereby a decision-maker may, for example analvze all available data associated with transactions and customers or a marketing manager may
Figure imgf000002_0001
a database to ascertain how well an offer performed with a customer segment over a period of tune These tools can be thought of as reporting applications The decision-maker can create custom reports and can be alerted if a query result falls out of a certain range Performance can be measured and managed usmg these tools Although it may be useful to look to the past before making decisions about the future, these tools are often inadequate to help the decision-maker look into the future to the see the consequences of the numerous actions at his or her disposal
Another approach, data mining, may enable the decision-maker to look forward Utilizing technologies such as neural networks and decision trees, data mining tools may be used to analyze large amounts of data and uncover patterns that lead to predictions of what future behavior a customer is likely to exhibit The best tools in this category may be capable of identifying whom marketers should target based on predicted responses However, the proactive prescription of what to do to meet busmess goals is still beyond their capabilities It is still up to the manager to determine what action to take
These aforementioned approaches may help decision-makers gain a better understanding of their customers, but it is still the manager who must use his or her experience and intuition to make the final decision of what to do If managers are not careful, these tools may only push them into makmg incorrect and costly decisions These tools may not use πgorous scientific approaches to determine at what pomt something should be done and, more importantly, what should not be done Organizations relying solely on these types of inadequate tools may simply become more efficient at executing status quo decision-making strategies that have histoncalh been followed
Another approach, optimization, may address these problems at least m part Optimization may combine intuition and intelligence in solving strategic decision-making problems Unlike data mining, which starts with inputs and predicts an output, optimization may start with the output and seek the best actions to take to change the output to the company's advantage Data mining may tend to predict the future, but with optimization the decision- maker may take actions to change the future to the company's benefit In many busmess environments the goal of optimization is to enable business decision-makers to determine which combinations and levels of treatments under their control should be applied Typically , optimization solves a defined objective function, subject to one or more constraints, to select optimal values for one or more decision variables Decision variables are the parameters over which the decision-maker has control For instance, in many business applications, net profit is to be maximized or, if the decisions being modeled do not impact revenues, total cost minimized
Typically, constraints are applied at the individual record level These constramts may be referred to as local, or record-level, constraints Cross-record constramts, on the other hand, may balance some resource or measurement across the entire set of records m the optimization simultaneously Cross-record constraints limit the allocation of a global resource over all the records, such as budgets, total cost, etc Applying cross-record constramts to an optimization problem tends to be a much more difficult task than applying local constraints, and so various heuristic techniques, such as the placement of Lagrangian multipliers in the objective function, have been used However, these approaches are inexact and only approximate the impact of cross-record constraints These techniques may also encounter significant problems if the number of cross-record constramts grows Exact techniques of applying cross-record constraints are not believed to have been applied to customer relationship management or to the marketing of products to customers
Another approach that may be brought to bear m the optimization process is robust optimization This technique may address the issue of uncertainty management by solving for the optimum solution over a variety of possible futures over the time frame of mterest The uncertainties dealt with may oπgmate from a number of sources, including environmental factors, such as the large-scale business climate, model errors, and mput data gaps or errors The goal of robust optimization is to find an optimal or near-optimal solution, which is not overly sensitive to any specific realization of the uncertainty of the problem It is believed that the business application of this technique has been primarily m the area of financial investment portfolio management and not to customer relationship management or the marketing of products to customers
Furthermore, optimization may be hampered by forecasting that ignores long-term considerations In other words, current approaches may not adequately reflect behaviors that do not completely, directly, and empirically manifest themselves, for example, in a 6 or 12-month period
For at least the foregoing reasons, there is a need for an improved system and method for optimization which addresses the problems discussed above and which may be applied to the area of customer relationship management
SUMMARY OF THE INVENTION
The present invention provides various embodiments of a method and system for optimization of customer relationship management Optimization may be used to select an optimal course of action for marketing one or more products to a plurality of customers Customers may include current customers or prospective customers of a busmess For example, customers may mclude credit customers to whom credit services are marketed, or customers may include pharmaceutical customers to whom pharmaceutical products are marketed The one or more products may be marketed to customers in accordance with the optimal course of action, such as through direct mailing and or targeted advertising Other means of applying the optimal course of action may include, for example, conductmg a re-pricing campaign m accordance with the optimal course of action, conductmg an acquisition campaign m accordance with the optimal course of action, conducting an e-mailmg campaign m accordance with the optimal course of action, and conductmg a promotional campaign for customer retention in accordance with the optimal course of action As will be apparent to one skilled in the art, the system and method for optimization described herem may be applied to a wide variety of industries and circumstances An optimization process mav accept the following elements as input customer information records, predictive model(s) such as customer model(s), one or more constraints, and an objective The optimization process may produce as output an optimized set of decision variables
Customers may mclude indiv idual customers, segments of like customers, and/or samples of customers The customer information may include decision variables and external variables Decision variables are those variables that the decision-maker may change to affect the outcome of the optimization process For example, in the optimization of a credit card offer conducted by a credit card issuer, Annual Percentage Rate (APR) and credit limit may be decision variables External variables are those variables that are not under the control of the decision- maker For example, external variables may mclude variables such as customer addresses, customer income levels, customer demographic information, bureau data, transaction file data, cost of funds and capital, and other suitable variables
In one embodiment, the customer information including decision variables and external variables may be input into the predictive model(s) to generate the action variables In one embodiment, the predictive model(s) may be implemented as a neural network The neural network may be trained, for example, with historical customer data records as input In one embodiment, each of the predictive model(s) may correspond to one of the customer information records Action variables are those variables that predict a set of actions for an mput set of decision and external variables In other words, the action variables may comprise predictive metrics for customer behavior For example, in the optimization of a product marketing campaign, the action variables may mclude the probability of a customer's response to an offer In the optimization of a credit card offer, the action variables may include predictions of balance, attrition, charge-off, purchases, payments, and other suitable behaviors for the customer of a credit card issuer
In one embodiment, the objective function may be a function of lifetime customer value (LCV) The particular function which expresses lifetime customer value may vary from optimization process to optimization process Generally, LCV may mclude a sum of discounted cash flows over the lifetime of one or more customer relationships The combination of the long-term view and short-term view may be implemented by the use of both constramt(s) and objective to embody the LCV For example, one or more constramts may be used to ensure that the busmess maintains a particular level of revenue over the short term, while the objective may be used to ensure that the business maximizes the value of the customer relationships over the long term Likewise, the objective may include short-term considerations and the constramts may include long-term considerations
Constramts are typically "real-world" limits on the decision variables In one embodiment, the constramts include cross-record constramts Cross-record constraints are limitations on one or more global resources as applied to a plurality of records For example, a cross-record constraint may define a limitation on a quarterly budget or other finite resource that the optimization process is expected to meet The constraints may also mclude one or more record-level constraints A record-level constraint is a limitation that is applied to one record at a time For example, a record-level constraint may be a limitation on an interest rate offered to a customer by a credit card issuer In one embodiment the optimization process may use a cross-record objective
In one embodiment the optimization process may employ robust optimization Solving the objective function for a robust optimization process may include solving the objective function across a plurality of uncertainty models to select the optimal solution An uncertainty model may mclude any model which adds a range of uncertainty to an optimization process Uncertainty models may be generated by sampling a probability distribution In one embodiment, the uncertainty models may include scenarios As used herein, "scenarios" include multiple sets of possible values for uncertain data or models For example, a robust optimization process may use scenarios to determine an optimal solution across a range of possible models of a customer in the future The scenarios may be designed so as to span the range of possibilities likely to occur over the time frame of mterest
In one embodiment, a method for optimization of customer relationship management may include the following steps A set of customer data and/or other data corresponding to one or more customers may be collected and received Given the set of customer data, one or more decision variables may be optimized based on an objective and one or more constraints to produce optimized decision variables The one or more terms of a product may be set to the optimized decision variables to produce an optimized product The optimized product may comprise a set of optimized terms For example, if product is a credit card, then the optimized terms may mclude an optimal interest rate and credit limit Generally, setting the decision variables of the product to the optimized decision variables may result m mcreasmg the value of the product vendor's relationships with customers of the product The optimized product may be offered to one or more of the customers In various embodiments, the optimized product may be offered to current and/or prospective customers m a variety of ways and under a variety of circumstances For example, the optimized product may be offered via a direct mailing, targeted telephone advertising, a re-pπcmg campaign, e-mail, and/or a promotional campaign for customer retention In appropriate cases, a response from the customer to the offering may be accepted In various embodiments, the response may be accepted automatically and without human intervention, such as through an automated on-lme or web-based system, or the response may be accepted with human intervention In some cases, such as changmg the APR of a credit card, for example, receivmg a customer response may not be pertinent
The optimized terms may be carried out during a lifetime of the optimized product In other words, the product vendor may mamtam the customer relationship for a particular product according to the optimized terms produced m the optimization process Carrymg out the optimized terms may include conducting one or more transactions accordmg to the optimized terms during the product lifetime For example, a credit card issuer may honor the mterest rate and credit limit of the optimized offer for one or more credit-card transactions for as long as the customer holds the credit card
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is an illustration of a typical computer system which is suitable for implementing various embodiments,
Figure 2 is a network diagram of an illustrative distributed computmg environment which is suitable for implementing vaπous embodiments, Figure 3 a is a block diagram which illustrates an overview of optimization according to one embodiment
Figure 3b is a dataflow diagram which illustrates an overview of optimization accordmg to one embodiment,
Figure 4 illustrates a smgle model accordmg to one embodiment, Figure 5 illustrates multiple models for multiple products and a smgle customer accordmg to one embodiment,
Figure 6 illustrates multiple models for multiple customers and a smgle product accordmg to one embodiment,
Figure 7a is a block diagram which illustrates an optimization process with cross-record constramts or a cross-record objective accordmg to one embodiment,
Figure 7b is a dataflow diagram which illustrates an optimization process with cross-record constramts or a cross-record objective according to one embodiment,
Figures 8a through 8e illustrate examples of probability distributions associated with a robust optimization process accordmg to one embodiment, Figure 9a is a block diagram which illustrates a robust optimization process accordmg to one embodiment,
Figure 9b is a dataflow diagram which illustrates a robust optimization process accordmg to one embodiment,
Figure 10 illustrates multiple scenario models for product-customer parrs according to one embodiment,
Figure 11a is a block diagram which illustrates an optimization process with an objective function of lifetime customer value (LCV) accordmg to one embodiment,
Figure 1 lb is a dataflow diagram which illustrates an optimization process with an objective function of lifetime customer value (LCV) accordmg to one embodiment,
Figure 12a is a block diagram which illustrates a robust optimization process with cross-record constraints/objective and an objective function of lifetime customer value (LCV) accordmg to one embodiment, Figure 12b is a dataflow diagram which illustrates a robust optimization process with cross-record constraints/objective and an objective function of lifetime customer value (LCV) according to one embodiment,
Figure 13 is a flowchart which illustrates optimization of customer relationship management accordmg to one embodiment,
Figure 14 illustrates an off-lme system architecture for optimization of customer relationship management according to one embodiment,
Figure 15 illustrates an import module for optimization of customer relationship management accordmg to one embodiment,
Figure 16 illustrates an export module for optimization of customer relationship management accordmg to one embodiment, Figure 17 illustrates an design experiment module for optimization of customer relationship management accordmg to one embodiment,
Figure 18 illustrates an experiment engme module for optimization of customer relationship management according to one embodiment, Figure 19 illustrates a build components module for optimization of customer relationship management according to one embodiment,
Figure 20 illustrates an assemble/setup components module for optimization of customer relationship management accordmg to one embodiment, Figure 21 illustrates a manage questions sub-module for optimization of customer relationship management accordmg to one embodiment,
Figure 22 illustrates a manage optimization sub-module for optimization of customer relationship management accordmg to one embodiment,
Figure 23 illustrates a manage marginal optimization sub-module for optimization of customer relationship management accordmg to one embodiment,
Figure 24 illustrates a decision engine module for optimization of customer relationship management according to one embodiment,
Figure 25 illustrates a decision views module for optimization of customer relationship management according to one embodiment, Figure 26 illustrates a decision reports module for optimization of customer relationship management according to one embodiment,
Figure 27 illustrates an on-line experiment architecture for optimization of customer relationship management accordmg to one embodiment,
Figure 28 illustrates an on-line decision architecture for optimization of customer relationship management according to one embodiment
While the invention is susceptible to vaπous modifications and alternative forms, specific embodiments thereof are shown by way of example m the drawings and will herein be described m detail It should be understood, however, that the drawings and detailed description thereto are not intended to limit the mvention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims
DETAILED DESCRIPTION OF SEVERAL EMBODIMENTS
Figure 1 A Typical Computer System Figure 1 illustrates a typical computer system 150 which is suitable for implementing various embodiments Each computer system 150 typically mcludes components such as a CPU 152 with an associated memory medium, represented by floppy disks 160 The memory medium may store program instructions for computer programs, wherem the program instructions are executable by the CPU 152 The computer system 150 may further include a display device such as a monitor 154, an alphanumeric mput device such as a keyboard 156, and a directional mput device such as a mouse 158 The computer system 150 is operable to execute the computer programs to implement an improved optimization system and method as described herem
The computer system 150 preferably mcludes a memory medium on which computer programs according to vanous embodiments may be stored The term "memory medium may mclude an installation medium, e g , a CD- ROM, or floppy disks 160, a computer system memory such as DRAM, SRAM, EDO RAM, Rambus RAM, etc , or a non-volatile memory such as a magnetic media, e g , a hard drive, or optical storage The memory medium may mclude other types of memory as well, or combmations thereof In addition, the memory medium may be located m a first computer m which the programs are executed, or may be located m a second different computer which connects to the first computer over a network In the latter instance, the second computer provides the program instructions to the first computer for execution Also, the computer system 150 may take vanous forms, including a personal computer system, mainframe computer system, workstation, network appliance, Internet appliance, personal digital assistant (PDA), television system or other device In general, the term "computer system" can be broadly defined to encompass any device havmg a processor which executes instructions from a memory medium
The memory medium preferably stores a software program or programs for event-triggered transaction processing as described herem The software program(s) may be implemented m any of vanous ways, mcludmg procedure-based techniques, component-based techniques, and/or ob ect-onented techniques among others For example, the software program may be implemented usmg ActiveX controls, C++ objects, JavaBeans, Microsoft Foundation Classes (MFC), or other technologies or methodologies, as desired A CPU such as the host CPU 152, executing code and data from the memory medium includes a means for creating and executing the software program or programs accordmg to the methods and/or block diagrams described below
The computer system for optimization of customer relationship management as discussed herein may be a typical computer system 150 as illustrated m Figure 1
Figure 2 A Distributed Computing Environment Figure 2 illustrates a distributed or enterprise computmg environment accordmg to one embodiment A distributed computer system or enterpnse 100 mcludes a plurality of computer systems which are interconnected through one or more networks Although one particular embodiment is shown m Figure 2, the distributed computer system 100 may mclude a vanety of heterogeneous computer systems and networks which are interconnected m a vanety of ways and which run a vanety of software applications and/or operating system software One or more local area networks (LANs) 104 may be included in the enterprise 100 A LAN 104 is a network that spans a relatively small area Typically, a LAN 104 is confined to a smgle building or group of buildings Each node (l e , individual computer system or device) on a LAN 104 preferably has its own CPU with which it executes programs, and each node is also able to access data and devices anywhere on the LAN 104 The LAN 104 thus allows many users to share devices (e g , printers) as well as data stored on file ser ers The LAN 104 may be characterized by any of a variety of types of topology (l e , the geometric arrangement of devices on the network), of protocols (I e , the rules and encodmg specifications for sendmg data, and whether the network uses a peer-to-peer or client/server architecture), and of media (e g , twisted-pair wire, coaxial cables, fiber optic cables, radio waves) As illustrated in Figure 2, the distributed computer system 100 may mclude one LAN 104 However, m alternate configurations the distributed computer system 100 may mclude a plurality of LANs 104 which are coupled to one another through a wide area network (WAN) 102 A WAN 102 is a network that spans a relatively large geographical area
Each LAN 104 mcludes a plurality of interconnected computer systems and optionally one or more other devices for example, one or more workstations 110a, one or more personal computers 112a, one or more laptop or notebook computer systems 114, one or more server computer systems 116, and one or more network printers 118 As illustrated in Figure 2, an example LAN 104 may mclude one of each of computer systems 110a, 112a, 114, and
116, and one printer 118 The LAN 104 may be coupled to other computer systems and/or other devices and or other LANs 104 through a WAN 102
One or more mainframe computer systems 120 may be coupled to the distributed computer system 100 As shown m Figure 2, the mamframe 120 may be coupled to the distributed computer system 100 through the WAN 102, but alternatively one or more mainframes 120 may be coupled to the distributed computer system 100 through one or more LANs 104 As shown, the mainframe 120 may be coupled to a storage device or file server 124 and mainframe terminals 122a, 122b, and 122c The mamframe terminals 122a, 122b, and 122c may access data stored in the storage device or file server 124 coupled to or included in the mamframe computer system 120 The distributed computer system 100 may also include one or more computer systems which are connected to the distributed computer system 100 through the WAN 102 as illustrated, a workstation 110b and a personal computer 112b In other words, the enterprise 100 may optionally mclude one or more computer systems which are not coupled to the distributed computer system 100 through a LAN 104 For example, the distributed computer system 100 may mclude computer systems which are geographically remote and connected to the distributed computer system 100 through the Internet
Figures 3 through 6 Overview of Optimization
As discussed herem, optimization may generally be used by a decision-maker associated with a busmess to select an optimal course of action or optimal course of decision The optimal course of action or decision may mclude a sequence or combmation or actions and/or decisions For example, optimization may be used to select an optimal course of action for marketing one or more products to one or more customers As used herem, a "customer" may mclude an existing customer or a prospective customer of the busmess As used herem, a "customer" may mclude one or more persons, one or more organizations, or one or more busmess entities As used herem, the term "product" is mtended to mclude vanous types of goods or services, such as books, music, content subscription services, furniture, onl e auction items, clothmg, ISP service, consumer electronics, travel, software, pharmaceutical or medical supplies, computer systems, etc , or vanous services such as loans (e g , credit card, auto, mortgage, and home re-financing loans), secunties (e g , CDs, retirement accounts, cash management accounts, and mutual funds), or insurance (e g , life, health auto, and home owner's insurance), among others For example, customers may mclude credit customers to whom credit services are marketed, or customers may mclude pharmaceutical customers to whom pharmaceutical products are marketed As will be apparent to one skilled m the art, the system and method for optimization descnbed herem may be applied to a wide vanety of industries and circumstances
Generally, a busmess may desire to apply the optimal course of action or optimal course of decision to one or more customer relationships to increase the value of customer relationships to the busmess As used herem, a "portfolio" mcludes a set of relationships between the busmess and a plurality of customers In general, the process of optimization may mclude determmmg which variables m a particular problem are most predictive of a desired outcome, and what treatments, actions, or mix of variables under the decision-maker's control (I e , decision variables) will optimize the specified value The one or more products may be marketed to customers in accordance with the optimal course of action, such as through direct mailing and/or targeted advertising Other means of applying the optimal course of action may include, for example, conductmg a re-pncmg campaign m accordance with the optimal course of action, conducting an acquisition campaign in accordance with the optimal course of action, conducting an e-mailmg campaign m accordance with the optimal course of action, and conductmg a promotional campaign m accordance with the optimal course of action
Figure 3a is a block diagram which illustrates an overview of optimization according to one embodiment Figure 3b is a dataflow diagram which illustrates an overv lew of optimization accordmg to one embodiment As shown in Figure 3a, an optimization process 200 may accept the following elements as input customer information records 202, predictive model(s) such as customer model(s) 204, one or more constramts 206, and an objectn e 208 The optimization process 200 may produce as output an optimized set of decision variables 210 In one embodiment, each of the customer model(s) 204 may correspond to one of the customer information records 202 As used herein, an "objective" may include a goal or desired outcome of an optimization process
As used herein, a "constraint" may mclude a limitation on the outcome of an optimization process Constraints are typically "real-world" limits on the decision variables and are often critical to the feasibility of any optimization solution Managers who control resources and capital or are responsible for financial effects should be involved in setting constramts that accurately represent their real-world environments Setting constramts with management mput may realistically restrict the allowable values for the decision variables
In many applications of the optimization process 200, the number of customers mvolved m the optimization process 200 may be so large that treating the customers individually is computationally unfeasible In these cases, it may be useful to group like customers together m segments If segmented properly, the customers belongmg to a given segment will typically have approximately the same response m the action vanables to a given change m decision variables and external variables For example, customers may be placed into particular segments based on particular customer attributes such as risk level, financial status, or other demographic mformation Each customer segment may be thought of as an average customer for a particular type or profile A segment model, which represents a segment of customers, may be used as described above with reference to a customer model 204 to generate the action variables for that segment Another alternative to treating customers individually is to sample a larger pool of customers Therefore, as used herem, a "customer" may include an individual customer, a segment of like customers, and/or a sample of customers As used herem, a "customer model", "predictive model", or "model" may include segment models, models for individual customers, and/or models used with samples of customers
The customer information 202 may include decision variables 214 and external variables 212 As used herem, "decision variables" are those variables that the decision-maker may change to affect the outcome of the optimization process 200 For example, in the optimization of a credit card offer conducted by a credit card issuer, Annual Percentage Rate (APR) and credit limit may be decision vanables As used herem, "external vanables" are those variables that are not under the control of the decision-maker In other words, the external vanables are not changed m the decision process but rather are taken as givens For example, external vanables may mclude variables such as customer addresses, customer mcome levels, customer demographic mformation, bureau data, transaction file data, cost of funds and capital, and other suitable variables
In one embodiment, the customer information 202 mcludmg decision variables 214 and external \anables 212 may be mput into the predictive model(s) 216 to generate the action variables 218 In one embodiment, each of the predictive model(s) 216 may correspond to one of the customer information records 202, wherem each of the customer information records 202 may include appropriate decision variables 214 and external variables 212 As used herem, "action variables" are those variables that predict a set of actions for an mput set of decision and external variables In other words, the action variables may comprise predictive metrics for customer behavior Foi example, m the optimization of a product marketmg campaign, the action variables may mclude the probability of a customer's response to an offer In a re-pπcmg campaign, the action variables may mclude the likelihood of a customer maintaining a service after re-pπcmg the service In the optimization of a credit card offer, the action variables may include predictions of balance, attrition, charge-off, purchases, payments, and other suitable behaviors for the customer of a credit card issuer
The predictive model(s) 216 may include the customer model(s) 204 as well as other models The predictive model(s) 216 may take any of several forms, mcludmg, but not limited to tramed neural nets, statistical models, analytic models, and any other suitable models for generating predictive metrics The models may take various forms including linear or non-lmear, such as a neural network, and may be deπ\ ed from empirical data or from managerial judgment
In one embodiment, the predictive model(s) 216 may be implemented as a neural network Typically, the neural network may include a layer of input nodes, interconnected to a layer of hidden nodes, which are in turn interconnected to a layer of output nodes, wherem each connection is associated with an adjustable weight whose value is set m the training phase of the model The neural network may be trained, for example, with historical customer data records as input The tramed network may include a non-linear mappmg function that may be used to model customer behaviors and provide predictive customer models in the optimization system The trained neural network may generate action variables 218 based on customer information 202 such as external variables 212 and decision variables 214
In one embodiment, a model comprises a representation that allows prediction of action variables, a, due to various decision variables, d, and external variables, e Figure 4 illustrates a model 215 with external variables 212, decision variables 214, and resulting action variables 218 For example, a customer may be modeled to predict customer response to various offers under various circumstances It may be said that the action variables, a, are a function, via the model, of the decision and external variables, d and e, such that
a = M{d,e) M
wherem M() is the model, a, is the vector of action variables, d is the vector of decision vanables, and e is the vector of external variables
In one embodiment, the action variables 218 generated by the model(s) 216 may be used to formulate constramt(s) 206 and the objective function 208 via formulas In Figure 3b, a data calculator 220 generates the constraιnt(s) and objective 222 usmg the action variables 218 and potentially other data and variables In one embodiment, the formulas used to formulate the constramt(s) and objective 222 may mclude financial formulas such as formulas for determining net operatmg mcome over a certain time period The constramt(s) and objective 222 may be mput into an optimizer 224, which may comprise, for example, a custom-designed process or a commercially available "off the shelf product The optimizer may then generate the optimal decision variables 210 which have values optimized for the goal specified by the objective function 208 and subject to the constramt(s) 206 The optimization process 200 carried out by the optimizer 224 is discussed m greater detail below A further understandmg of the optimization process 200 may be gained from the references "An Introduction to Management Science Quantitative Approaches to Decision Making", by David R Anderson, Dermis J Sweeney, and Thomas A Williams, West Publishing Co (1991), and "Fundamentals of Management Science" by Efraim Turban and Jack R Meredith, Business Publications, Inc (1988)
Overview of Optimization for a Single Customer
Many optimization problems have the following form given a model of a customer or segment a = M(d, e), a set of objective parameters , a set of constraint parameters cp, and a set of constraint bounds c , use an optimizer to compute the set of decision variables for a customer or segment that extrermzes (e g , maximizes or minimizes) an objective function of the form
J = f{d,e,a,o) (2)
subject to the model constraint
a = M(d,e) ( 1)
and a general set of constraints of the form
0 ≤ g(d,e,a,cp )≤ cb <3)
wherein the decision variables d, are a subset of the set of possible decision variables, D
There are a number of approaches for solving optimization problems of this form As is well known by those skilled in the art, the approach selected depends on the form of the model, of the objective function, of the constramts, and of the set of possible decision variables The model, objective function, and constraints may each be either linear (L) or non-linear (NL) The decision variable set, D, may be a Imearly bounded single region (simple convex area) (L), a non-linear bounded single region (NL), multiple regions (MR), or discrete Commercial solvers, or optimizers, are available for solvmg all combinations of linear and non-lmear components for single region decision variable sets For the cases when variables are not restricted to a smgle contmuous region, a variety of other, more heuristic, approaches are generally available Several of these approaches solving optimization problems are discussed in greater detail as follows
Example of Optimization with Linear Programming
A simple credit card offer optimization problem illustrates the LP approach The model computes the response rate to a mailed offer and expected monthly balance of a responder, therefore, the action variables are α; = response rate, a = expected balance The decision variables for the offer are annual percentage rate (APR) and credit limit, thus, dt = APR, d-> = credit limit There are no external \ aπables m this example
A linear model of the form
w d + wnd2 + bl (4) a2 = w^ d + w22d2 + b2
may be used, wherein wlh w ,-,, b w21, w->->, and b^ are parameters of the model The parameters may be found, for example, using linear regression techniques based upon historical data
The objective function, J, to be maximized, also linear, is of the form
J = o.a, + α. (5)
wherein O/ is an optimization parameter Using this objective function, a, and a2 may be maximized The relative importance of a, versus a2 is determined by the optimization parameter, o which is specified by the user
A linear constraint is of the form
0 < cp la, α, ≤ c (6)
6. 1
and the set of possible decision variables, D, is restricted such that
.05 ≤ d ≤ .19 (range of APR) (7)
1,000 ≤ d2 ≤ 5,000 (ranSe of credlt lunιt) (8)
Because the model, objective function, constraint, and set of decision variables are lmear, this example can be solved usmg standard lmear programming techniques
Example of Optimization with Non-Linear Programming
In a further example, the objective, constraints, and set of decision variables are of the form shown above, and the model is implemented by a non-linear neural network
a = M(d,e) = NN(d,e, w) (9) wherem w is the vector of weight parameters of the neural network which may be identified usmg histoncal data and the back propagation method of neural network training In this case, because the model is non-lmear a nonlinear commercial solver/optimizer may be used to solve for the decision variables
Overview of Optimization with Heuπstic Lmear Programming
A similar problem may be considered, but with the set of possible decision variables restricted to a discrete set, such as
19 (10)
Figure imgf000014_0003
000
such that the APR values of each of the four offers are 5%, 9%, 12 5%, and 19%, respectively, and the credit limits aie $1000, $1000, $2500, and $5000, respectively Because the problem is non-lmear and discrete, a mixed mteger linear programming (MILP) approach may be used, however, by reformulating the problem heuπstically, a linear programming (LP) technique may be used instead This is referred to as a heuristic LP approach
The above problem may be reformulated by enumeratmg the solutions, e g , by computmg the output of the neural network model for each element of the set
Figure imgf000014_0001
wherein the output corresponding to the first element of the set is The objective function, J, may then be
Figure imgf000014_0002
rewritten to select the optimal pair of action variables
maxJ = nl (olau + a2l )+ n2(o2au + a22 ) + n3(o3an + a2i)+ n4 (o4a]4 + a24) (12)
wherem «( are selection variables constrained by
O ≤ n. ≤ l (13) 1=1
and wherem
Figure imgf000015_0001
At this point, a conventional linear programming technique may be used because the selection variables nι are optimized, rather than the decision \anables, and because nι appear linearly Once the optimal selection variables are computed, one of the nι will be equal to 1, with the rest equal to 0, assuming only one maximum in the set The optimal decision variables of the set correspond to the ft( equal to 1 Thus, the decision variables are computed using a heuristic LP approach This technique may generally be used when the set of discrete decision variables is finite
Overview of Optimization for Multiple Products or Multiple Customers
In the cases where multiple products may be offered to a single customer, or where a single product may be offered to multiple customers, a different model may be used for each product/customer pair For example, in the case of a single customer being offered multiple products, the models may be defined as follows
α, = M(dv *,). a2 =M(d2,e2),. ,am =M(dm,em) (15)
with a set of Boolean selection variables
S — (Sj ,S2 v"^m )
that may be used to select which offers to make to the customer Figure 5 illustrates the multiple product models of expression (15)
In a similar way, for the case of a single product being offered to multiple customers, the models may be defined as follows
a =M(dl,e]), a2 =M(d2,e2), ., aN =M(dN,eN) (17) with a set of Boolean selection variables
S — ->] ,S2 ,...S N )
Figure 6 illustrates these multiple customer models Optimization with multiple customer models is mathematically equivalent to optimization with multiple product models
Given the above set of models for various products M £ (M ,M2 ,..., M m ) for a customer (l e , an individual customer, customer segment, or customer sample), a set of objective parameters o, a set of constraint parameters cp, a set of constraint bounds ch, and an objective function of the form
J = f(dl,e],al,si,d2,e2,a2,s2,...dm,em,am,sm,o) (19)
which is subject to the model constraints
α, =M(d],e]), a2 =M(d2,e2), , am =M(dm,em) (15)
and a general set of constraints of the form
0≤g(d„e,,a„s ,d2,e2,a2,s2,...dm,em,am,sm,cp)<cb (20)
and the set of possible decision variables, D, and selection variables, S, such that
deD (2D seS
then an optimizer may generally be used to compute the decision vanables for a customer to extremize the objective function, J
Figure 7 Optimization with Cross-Record Constramts Figure 7a is a block diagram which illustrates an optimization process 200 with cross-record constraints according to one embodiment Figure 7b is a dataflow diagram which illustrates an optimization process 200 with cross-record constraints accordmg to one embodiment In one embodiment, the constraιnt(s) 252 may include one or more cross-record constramt(s), and the optimizer 224 may solve the objective 208 subject to the cross-record constramt(s) 252 As used herem, a "cross-record constraint" is a limitation on one or more global resources as applied to a plurality of records such as customer mformation records 202 For example, a cross-record constraint may define a limitation on a quarterly budget or other finite resource that the optimization process 200 is expected to meet The constramt(s) 252 may also mclude one or more record-level constraints As used herein, a "record- level constraint" is a limitation that is applied to one record at a time For example, a record-level constraint mav be a limitation on an mterest rate offered to a customer by a credit card issuer
The optimization process 200 may also be solved subject to limitations on global resources by usmg a cross-record objective function 209 Therefore, the data calculator 220 may generate cross-record constramt(s) and/or cross-record objectiv e 254 for use by the optimizer 224 An objective function is a cross-record objective function if it cannot be written as a sum of individual record objectives
J = f{dλ ,e ,a ,sλ ,d2 ,e2 ,a2,s2 ,...dm ,em ,am ,sm ,o) ≠ (22) f, (d ,e, ,a, ,s ,o)+ f2 (d2 ,e2 ,a2,s2 ,o) + ... + fm {dm ,em , am ,sm ,o)
An example of such an objective might be the profit for a collection of product offers
Figures 8 through 10 Robust Optimization
Figure 9a is a block diagram which illustrates a robust optimization process according to one embodiment Figure 9b is a dataflow diagram which illustrates a robust optimization process according to one embodiment Generally, robust optimization mcludes constrained optimization across a plurality of uncertainty models 260 In other words, solvmg the objective function in robust optimization may include solving the objective function across a plurality of uncertainty models 260 to select the optimal solution, given the uncertainty provided by the uncertainty models 260. As used herem, an "uncertainty model" may include any model which adds a range of uncertainty to an optimization process "Robust optimization" is generally synonymous with stochastic or probabilistic robust optimization
In a deterministic model, a change m decision variables or external variables results in exactly (I e , determmistically) the same change m the resulting action variables Thus, a deterministic model j\ ) may be expressed as follows.
a = f(d,e) (23)
In a nondeterrm stic or uncertainty model, a change m decision variables or external variables may not result in exactly the same change m the resultmg action variables In this case, the action variables may be represented by a probability distribution
Figure imgf000017_0001
The model (24) is the probability distribution of the action variables, a, given the decision and external variables, d and e. In a preferred embodiment, robust optimization uses a nondeterrmmstic or uncertainty model for a customer/segment, as shown in expression (24), rather than a deterministic model In many cases, the direct probability distribution cannot be used in the optimization problem, either because the distribution cannot be computed in a reasonable tune or the optimization problem cannot be computed in a reasonable tune In these cases, samples of the distribution may be used to solve or approximate the solution to the problem Sampling is illustrated by the following simple problem The expected value of a distribution, f[x), can be approximated by drawing ;V random samples fτomf(x) Thus
r 1 ^ (25)
E(χ) = )χf(x)dχ ≡ — 2^,
wherein x, are the independent samples of j\x) The mdependent samples are known as scenarios By independently sampling the probability distribution p(a\d, e) , a set of scenario models {α, = fl (d, e), a2 — f2 (d, e),K. , aN = fN (d,
Figure imgf000018_0001
may be generated The scenario models may then be used to approximate the robust optimization solution The solution may be determined as shown above for multiple models
Bayes' Rule allows us to express the probability distribution (24) as
p(a\d,e) = p(d,e\a)pN(a) '
wherem is known as the prior distribution and is normalized By assuming a prior distribution, p(a) , the probability distribution may be approximated as
Figure imgf000018_0002
≡ p(d, e i\a)p ~(a) (27) '
In general, it is easier to sample p(d, e\a) than p(a\d, e) Thus, samplmg of p(d, e\a) may be used in many cases Samplmg models and optimization approaches usmg this technique are further discussed m a patent application entitled "Bayesian Neural Network for Optimization" by E Hartman and C Peterson, S N 09/290,791, filed 4/12/99, which is incorporated herem by reference, as though fully and completely set forth herem
A second approach to sampling the distribution, p(a\d, e) , is realized by
p(a\d, e) = fAVE (d, e) + p(r\d, e) (28) wherem fA VE (d, e) is a deterministic function representing the average of the distnbution, p(a\d, e) , and wherem p(r\d, e) is the residual distribution In this case, the residual distribution is sampled rather than the actual distribution
It is common to train a neural network to represent fA VE (d, e) Thus
Figure imgf000019_0001
Furthermore, it may be assumed that p(r \d, e) is independent of d, e Thus
Figure imgf000019_0002
and
Figure imgf000019_0003
Given an historical dataset, D, the NNAVE can be developed The historical dataset can also be used to determme the distribution of the residuals In this case, the distribution is dependent on the historical data, and thus
Figure imgf000019_0004
is the distribution This results in the model
Figure imgf000019_0005
One form of the distribution for p(r\D) is a normal distribution with zero mean
Figure imgf000019_0006
. as illustrated in Figure 8a, and wherein σ is the standard deviation Given the residuals, for the histoncal dataset D, the standard deviation may be computed, givmg the model
p(a\d, e) ≡ NNAVE (d, e) + N(σ\D) (34)
It is straightforward to sample this distribution and create scenario models Another distribution is the symmetric triangle distribution T(w) shown m Figure 8b. wherem w is the width The residual data may be used to determine w for the distribution
p(a\d, e) = NNA VE(d, e) + T(w\D) (35)
The distributions may be sampled, yielding models of the form
α, = NNA VE (d, e) + r a2 = NNA VE (d, e) + r2
(36)
M a ^ = NNA,E (d, e) + rN
wherein rx, r2, , rN are samples of p(r\D)
Because events of the future may differ from the past, the user may override the historical data and use his or her best judgment to select an appropriate distribution Robust optimization may therefore be enhanced by management judgment For example, consider the triangle distribution expressed as distribution (35), or by applymg Bayes' Rule
p(a\d, e) s NN AVE (d, e) +
Figure imgf000020_0001
(37)
The user may select an appropriate prior distribution for T(w) Often, a broad Gaussian distribution may be selected, as shown in Figure 8c However, the user may feel that the world is too uncertain to trust the historical data as a guide to future events Therefore, the user can select a prior distribution with a high value for w to represent a region of higher uncertainty, as shown in Figure 8d The user may also select the distribution shown in Figure 8e, resulting in the following model
p(a\d, e) = NNAVE (d, e) + T(W) ^
By setting the prior distribution m this way, management judgment can be taken mto account in the probability models and thus m robust optimization In one embodiment, the uncertainty models 260 may include scenarios as discussed above As used herein, "scenarios" include multiple sets of possible values for uncertain data Scenarios may express a range of uncertainty m the future The scenarios may be designed so as to span the range of possibilities likely to occur over the tune frame of interest In this way, the decision-maker may measure the consequences of environmental uncertainty, model errors, gaps or errors in mput data, or errors experienced m piedicted and forecasted behaviors or other business parameters that impact his or her decision metric, and m doing so, determine his or her strategy based upon the desired level of risk
As shown in Figure 10, multiple scenarios may be represented by multiple models for a product- customer/segment pair
al = M(di , e] ) , a2 = M(d2 , e2) , , aR = M(dR , eR ) (39)
The notation is similar to that for multiple products/customers as discussed with reference to Figures 5 and 6, except that instead of Boolean selection variables, weights may be used to weight the importance or likelihood of one model against another A probability may be assigned to each scenario to denote its likelihood of occurrence These probabilities may be used to weight the contributions of each record's constraint and objective calculations, therefore allowing the decision-maker to assess the consequences of strategic decisions m the light of the relative associated risks
In one embodiment, the plurality of uncertainty models 260 may be generated by varying a set of action variables 218 to represent varying circumstances of possible futures Uncertainty models may be used to vary the values of the action variables 218 accordmg to (1) some set of empirical distributions (one or more distributions per action variable) or to (2) some set of distributions derived through managerial judgment or to (3) some combmation of empirically derived and judgmentally derived distributions The objective function may be a function of the action variables 218 across a plurality of uncertainty models 260
In another embodiment, probabilities are not assigned to the scenarios, rather, a decision table may be used m conjunction with any of a number of well-established methods, such as Equally Likely Criterion, Maxrmax Criterion, Maximrn Criterion, Hurwicz Criterion of Realism, or Minimax Regret, as will be familiar to those skilled m the art A greater understandmg of these established methods may be gained by referring to an elementary text on Management Science or Decision Analysis such as "Spreadsheet Modeling and Decision Analysis A Practical Introduction to Management Science", Cliff T Ragsdale, Course Technology Inc (1997)
Figure 11 Optimization of Lifetime Customer Value
In the past, businesses typically focused their predictive modelmg and even their optimization on the near term Short-term considerations, such as Net Operating Income (NOI) or quarterly profitability, are often useful, however, it may be even more useful to enable decision-makers to project much further mto the future, so that behaviors that do not completely manifest in a 6 or 12-month peπod may still be fully considered in the optimization process 200 Long-term forecastmg may enable the manager to make decisions with a strategic focus Integrated modelmg and forecastmg may enable the manager to balance short-term and long-term concerns to determme which decisions provide the most value to the busmess
Figure 1 la is a block diagram which illustrates an optimization process 200 with an objective function of lifetime customer value (LCV) according to one embodiment Figure 1 lb is a dataflow diagram which illustrates an optimization process 200 with an objective function of lifetime customer value accordmg to one embodiment As discussed above, the method and system for optimization may be applied to select an optimal course of action for marketmg products to the plurality of customers In one embodiment, the objective function 230 may mclude considerations of lifetime customer value In other words, the objective function may be a function of LCV In one embodiment, the LCV may be implemented through the use of constraints 235 m addition to the use of the objectiv e function
The particular function which expresses lifetime customer value may vary from optimization process to optimization process For example, LCV may be calculated differently for a particular credit card offer optimization than for a particular pharmaceutical offer optimization Generally, LCV may mclude a sum of discounted cash flows over time In one embodiment, m other words, the basic form of LCV is as follows
r J _ V (Net income After Tax_t) (40)
, (1 + Discount Rate)'
wherem Net Income After Tax_t (NIAT) is a difference of cash mflows and cash outflows for a tune period "t" Cash inflows for time period "t" may mclude, for example, sales income, fee mcome, and mterest mcome Cash ouflows for a time period "t" may include, for example, charge-off expense, cost of funds, and marketmg cost Net Income After Tax_t is therefore discounted and summed over the entire post-treatment period In this way, the value that each customer in the portfolio will provide to the organization over the lifetime of the relationship may be found
LCV may include a long-term view and a short-term view of the customer relatιonshιp(s) As used herem, a "long-term view" includes a period of one or more years The combmation of the long-term view and short-term view may be implemented by the use of both constramt(s) and objective to embody the LCV For example, one or more constramts may be used to ensure that the busmess mamtains a particular level of revenue over the short term, while the objective may be used to ensure that the business maximizes the value of the customer relationships over the long term Likewise, the objective may mclude short-term considerations and the constramts may mclude long- term considerations Various combmations of the objective, constraints, short-term considerations, and long-term considerations may be used to arrive at an appropriate LCV function for a particular optimization process 200
In one embodiment, as shown in Figure 1 lb, the action variables 219 over the lifetime of the relationship may be received as mput to a data calculator such as a cash flow calculator 232 The cash flow calculator 232 may include a set of financial formulas that are used to calculate the constraint functιon(s) and the objective function mcludmg LCV 234 for each input data set of the external variables 212 and decision variables 214 In one embodiment, the cash flow calculator 232 may calculate a series of per-customer LCV values c,f for a given segment i, offer _/, and scenario s, where the per-customer LCV is a function of the action variables a,f for a given customer/segment i, offery, and scenario s
C„ LCV(a C (41)
The cash flow calculator 232 may measure all the cash mflows and outflows required by the objective function and constramts 234 The cash flow calculator 232 may calculate mflows and outflow s from model predictions and forecasts of account behavior as well as from other data available to the decision- maker In domg so, the cash flow calculator 232 may com ert available data into a series of detailed and customizable cash flows at particular time intervals (e g , monthly, quarterly, bi-annually or annually) Cash inflow s and outflows may also facilitate the calculation of "terminal value ' Individual cash flows may be calculated at the most granular or detailed level with respect to the different individual components that comprise all flows of cash Individual cash flows may be discounted and may ultimately form the LCV expression that is the objective function 230 of the optimization analysis
Figuie 12 Robust Optimization of Lifetime Customer Value with Cross-Record Constraints and/or Cross-Record Objective Figure 12a is a block diagram which illustrates a robust optimization problem w ith cross-record constraints and an objective function of lifetime customer value (LCV) accordmg to one embodiment Figure 12b is a dataflow diagram which illustrates a robust optimization problem with cross-record constramts and an objective function of lifetime customer value (LCV) according to one embodiment In other words, the approaches discussed with reference to Figures 3 through 11 may be practiced together according to one embodiment As shown in Figure 12a, an optimization process 200 may accept the follow ing elements as input customer mformation records 202, customer model(s) 204, uncertainty model(s) 260, one or more constraints 271, and an objective 231 The constramt(s) 271 and/or objective 231 may include LCV The constraints 271 and/or objective 231 may be cross-record The optimization piocess 200 may produce as output an optimized set of decision variables 210 As shown in Figure 12b, the customer mformation 202 mcludmg decision variables 214 and external variables 212 may be input into the predicts e model(s) 216 to generate the action variables 219 over the lifetime of the customer relationship The predictive model(s) 216 may mclude the customer model(s) 204 and uncertainty model(s) 262 A data calculator such as a cash flow calculator 232 may mclude a set of financial formulas that are used to calculate the constraint functιon(s) and the objective function including LCV and cross-record constraints and/or cross-record objective 270 An optimizer 210 may then produce an optimized set of decision variables 210 which may be applied by the business to increase the value of customer relationships
In the case of multiple customers with multiple products across multiple scenarios, a large number of models may be required This population of models may be thought of as forming a cube of models, with the three axes representing customers/segments, products, and scenarios, respectively For example, for a problem with 10 customers/segments, 10 products, and 20 scenarios, 2,000 models may be required The form of the optimization for these problems is also generally the same as that for multiple customers/products Therefore, m one embodiment, the multiple models may be mcluded in the objective and constraints Depending on the final form of the objective and constramts, the appropriate optimization technique may be selected, as discussed with reference to Figures 3 through 6
Example 1 Linear Programming Formulation without Scenario Probabilities
An example of robust optimization (RO) of LCV with a cross-record constraint of Net Operatmg Income (NOI) is given as follows In expressions (42) through (44), d are decision variables, dy s are decision variables for segment i given offer y under scenario s, e are external variables, e,f are external variables for segment i given offer j under scenario s, a are action variables, a,/ are action variables for segment i given offer y under scenario s, o are objective parameters (such as penalty weights or objective coefficients), nυ is the number of customers (1 e , current customers or prospective customers) in segment i who get offery, c, is LCV per customer for segment i given offer j under scenario s, Ny s is NOI per customer m segment i given offer y under scenario s, N, is an NOI requirement for time period t, and A,/ is the admissibihty of offer j in segment ; under scenario s (A,/ = 1 if admissible, A„s = 0 otherwise) As discussed with reference to Figure 6, c — LCV ( ) This formulation has multiple scenarios such that one of the RO decision criteria discussed above could be applied to find the RO solution
TΩΆX J = f(d, e, a, o) = Υj clJ snlJ AJ for all J (42)
' J
such that Y Y N* «„ A„5 ≥ N. for all s, t (43)
This is a typical constraint which shows that in each scenario 5 and in each time period t, the total amount of near-term revenue (expressed here as Net Operating Income) must exceed some threshold value N, A similar constraint could keep losses below a given threshold In fact, almost any resource may be constrained
This formulation may be converted mto a Lmear Program (LP) by introducing the scalar variable y In the formulation shown as expression (44), each scenario above becomes one constraint, and the variable y becomes the objective value of the LP This LP gives the Maximin RO solution The scenarios do not have probabilities
nη AtJ s ≥ y for all s (44)
nyAv ≥ N, for all s, t
Figure imgf000024_0001
Example 2 Linear Programming Formulation with Scenario Probabilities An example of robust optimization (RO) of LCV with "soft" cross-record constramts of minimum Net
Operatmg Income (NOI) and maximum first-year loss, using slack variables, is given as follows In expressions (45) through (49), ps is the probability that scenario s occurs, E( ) is mathematical expectation (l e , expected value), Wk is a weighting factor for constraint k, nd is negative deviation in scenario s from meeting constraint k, ndk is the negative deviation across all scenarios, pdk s is positive deviation in scenario s from meeting constraint k, d are decision vanables, d,f are decision variables for segment i given offer y under scenario s, e are external variables, e, are external variables for segment i given offer y under scenario s, a are action variables, a, are action variables for segment i given offer j under scenario s, o are objective parameters (such as penalty weights or objective coefficients), nv is the number of customers (I e , current customers or prospective customers) in segment i who get offery, n, is the number of accounts represented by record i (I e , in that microsegment), c,/ is LCV per customer for segment ; given offer y under scenario s, Nv s is NOI per customer in segment i given offer under scenario s, Nk is NOI requirement number k, L,f is first-year losses per customer in segment ; given offer j under scenario s, Lk is first-year loss requirement number k, Aη s is the admissibihty of offer j in segment i under scenario s (A, ' = 1 if admissible, A,f = 0 otherwise), and Aυ is the admissibihty of offer j in segment i under all scenarios As discussed with reference to Figure 6, c — LCV ( ) In this example, the LP formulation for maximizing the expected value of LCV is as follows
max J = f(d,e,a,o) = j E(cy )ntJ Ay - ∑ E(ndk )ι (45)
' J *
such that
ΣΣ N = Nk + pdk' - ndk' for * = l and all , (46>
Σ Σ
Figure imgf000025_0001
' j
As expressed in scenario constramt (46), in each scenario s, m each time period k, the expected NOI must meet the NOI goal Nk As expressed in scenario constramt (47), in each scenario s, the expected first-year losses must meet (not exceed) the loss goal Lk
Σ j -. -". (48)
Figure imgf000025_0002
' J
As expressed m record/segment constramt (48), the total number of offers given withm microsegment i must equal the number of accounts in the microsegment As expressed in record/segment constraint (49), the number of inadmissible offers must be zero
The objective function written with scenano probabilities may therefore be expressed as follows
Figure imgf000025_0003
The objective function (50) may take several forms It may use some function (7 to reflect the tradeoffs among the scenarios For example (51) σ(ωl2,...,ωs) = 2_J ps , .
(52) σ(ωl2,...,ωs) = j psU(ωs)
σ(ωλ , ω2,...,ωs) = mιn! ωs (53)
The expected value approach (51) is often called Stochastic Linear Programming Problems with this form of the objective are the easiest to solve smce they are lmear, but are not always appropπate to a given problem Such an objective implies risk neutrality on the part of the decision-maker The utility function approach (52) allows the risk tolerance of the decision maker to be modeled explicitly, which is better for nsk averse decision making, unless the LCV of the objective function have already been adjusted to account for nsk The utility function in the objective necessitates nonlinear optimization techniques Finally, the Maximm formulation of the objective function (53) finds values for the decision variables that maximize LCV m the worst-case scenario An alternate formulation is to maximize near-term profit while placmg constramts on Expected LCV The Maximm formulation may be appropriate when the decision-maker's risk aversion is strong By selectmg an appropπate formulation, a robust optimization problem may be solved m accordance with a customer's attitude regarding nsk
Figure 13 Optimization of Customer Relationship Management
Figure 13 is a flowchart which illustrates optimization of customer relationship management accordmg to one embodiment In step 302, a set of customer data corresponding to one or more customers may be collected and received As discussed above, the customer data may mclude external vanables and decision vanables In step 304, given the set of customer data collected m step 302, one or more decision variables may be optimized based on an objective and one or more constraints to produce optimized decision variables for a product offer Step 304 may further mclude inputting the set of customer data from step 302 into one or more predictive models to generate one or more predictive customer behaviors (I e , action vanables) In one embodiment, the one or more predicts e models may comprise a neural network Step 304 is discussed in greater detail with reference to Figures 3 through 12 As discussed above with reference to Figure 11, in one embodiment, the objective and or constramts may comprise a lifetime customer value function The lifetime customer value function may compnse a sum of expected cash flows over the lifetime of a relationship with the customer The lifetime customer value function may represent a long-term view and a short-term view of the customer relationship In one embodiment, a long- term view is a period of two or more years In one embodiment, optimizing the decision vanables may further mclude optimizing the decision variables across a plurality of uncertainty models As discussed m greater detail with reference to Figures 8 through 10, m one embodiment, the uncertainty models may comprise scenarios The uncertainty models may be generated, for example, by varying a set of external vanables to represent varying circumstances of possible futures In one embodiment, the constramts may mclude record-level constraints and/ or cross-record constraints
Cross-record constraints include limitations on global resources In one embodiment, the objective may be a cross- record ob)ectιve Cross-record constraints and objectives are discussed in greater detail w ith reference to Figure 7
In step 306, the one or more terms of a product may be set to the optimized decision variables to produce an optimized product The optimized product may comprise a set of optimized terms For example, if product is a credit card, then the optimized terms may mclude an optimal interest rate and credit limit Generally, setting the decision variables of the product to the optimized decision variables may result m mcreasmg the value of the product vendor's relationships with customers of the product
In step 308, the optimized product may be offered to one or more of the customers In various embodiments, the optimized product may be offered to current and/or prospective customers in a variety of ways and under a variety of circumstances For example, the optimized pioduct may be offered via a direct mailing, targeted advertising, a re-pπcmg campaign e-mail, and/or a promotional campaign for customer retention
In step 310, a response from the customer to the offermg may be accepted In v arious embodiments, the response may be accepted automatically and without human intervention, such as through an automated on-line or web-based system, or the response may be accepted with human intervention
In step 312, the optimized terms may be earned out during a lifetime of the optimized product In other words, the offeror or product vendor may mamtain the customer relationship in step 312 for a particular product according to the optimized terms produced m the optimization process of step 304 Carrymg out the optimized terms may include conducting one or more transactions according to the optimized terms during the product lifetime For example, a credit card issuer may honor the interest rate and credit limit of the optimized offer for one or more credit-card transactions for as long as the customer holds the credit card
Software Architecture for Optimization of Customer Relationship Management
Figures 14-28 disclose an architecture for a software-based optimization and simulation system accordmg to one embodiment The software architecture may allow the generation of decisions based on an objective, constramts, and uncertainty models as discussed with leference to Figures 3 through 13 As discussed above, an objective is the target goal of a decision, a constraint is a qualifier for the objective, and an uncertainty model may mclude an expression of uncertainty regardmg elements of the objective In various embodiments, the decisions may be made in an off-line, proactive manner wherein many decisions are made all together (e g , a batch method), or m an on-lme, reactive manner wherein one decision is made at a time The software architecture may solve the mtegration problems over the entire hfecycle of designmg the decisions, makmg the decisions, and tracking the decisions
For example, a decision may comprise determining an optimal annual percentage rate (APR) and credit line for each customer m a portfolio, wherem that APR and credit line yield the maximum lifetime customer value (LCV) with a mmimum net operating income (for the following year) of $15 million The objective in this decision is to maximize the lifetime customer value This example optimization problem has one constraint at least $15 million m net operatmg income for the following year Furthermore, this example optimization problem has one risk factor or element of uncertainty the cost of capital has the possibility of varying by ±10% over the next 5 years Many other examples could be made with respect to other marketing decisions, manufacturing decisions, production decisions, and other suitable decisions
To make such a decision most effectively, a holistic system may be used that may include designing experiments, modeling from the experiments and historical data, making the optimized decisions, tracking the results from the experiments decisions, and embedding the experiments/decisions m on-lme applications One method of makmg the decision is m an off-line manner with a system that will make customer decisions m a batch manner For example, this method might typically be used proactively to change the APR and credit line for all customers in a portfolio Another method is in an on-lme manner with a system that makes the decision for one customer at a time This manner might typically be used to react to a particular event, such as the customer calling to request a change The softw are architecture disclosed herein comprehends both off-line and on-lme methods
Figure 14 Off-line System Architecture
Figure 14 illustrates an off-line system architecture for optimization of customer relationship management according to one embodiment In one embodiment, the architecture not only supports the ability to make off-line decisions, but also supports performing simulations prior to deploying the off-line and on-lme decisions There are four mam sections to the architecture design of experiments, tracking, model building and decision making The sections may be roughly identified using the modules surrounding the four data stores 2360, 2400, 2530, 2680 The design of experiments section mcludes the Experiment Database 2360 and the four modules connected to it Import 2100, Export 2150, Design Experiment 2300, and Experiment Engine 2340 The tracking section includes the Trackmg Database 2400 and the Import Module 2100 connected to it The model-building section mcludes the Model Database 2530 and the two modules connected to it Import 2100 and Build Components 2500 The decision-making section includes the Decision Database 2680 and the six modules connected to it Import 2100, Export 2150, Assemble/Setup Components 2600, Decision Views 2660, Decision Engme 2640, and Decision Reports 2670 Various Import 2100 and Export 2150 modules may be coupled to External Data 2200 As shown in Figure 14, the off-line system architecture may mclude Transformations 2120, Component Mathematical Models 2510, and Segmentation and Sampling Rules 2330
The design of experiments section piovides tools for creating and deploying experiments The purpose of the experiments is to test various combinations of decision values (I e , the values of decision variables) preparation for modeling the results For example, in a credit card re-pπcmg problem wherem the decision variables concern APR and credit line values for an account, an experiment may test combinations of APR and credit line values with current customers and prospective customers The results may then be used m the tools provided by the trackmg and model-buildmg sections of the architecture
The model-building section provides tools for creatmg and deploymg mathematical models As discussed above, these models may be built from (e g , trained on) historical data as well as previous experiments and decisions The mathematical models may encapsulate the data and results in a form that can be used to make future decisions An example is a mathematical model calculating lifetime customer value of a credit card decision Such models may be used in the tools provided by the decision-making section Results from the models may also be tracked via the trackmg section The decision-making section provides tools for creating and deploymg optimized decision answers For example, a pharmaceutical decision might include decision values concerning the number of drug samples and client visits The optimal decision may include finding the right mix of samples and visits for the entire portfolio of clients, given budget constramts and risks related to uncertainty of travel costs Results from the decisions may be used in the tracking section
The tracking section provides tools for recording the results of the experiments deployed m the design of experiment section and the decisions deployed in the decision-making section The results may then be used in the other sections to evaluate the performance of the experiments, models, and decisions The Tracking Database 2400 may contain the experiment, model, and decision data that will be tracked It may be organized by the projects that were created m the design of experiments, model-buildmg, and decision-making sections The various projects may be linked to associate them with one another Thus, in one embodiment, one is able to know if a model-buildmg project relates to a decision-makmg project and a design-of-expeπment project Furthermore, a given project might be associated with another project For example, a given design-of-expeπment project might be derived from another design-of-expenment project Data may be put mto the Trackmg Database 2400 when a project is deployed Deploying a project's experiment via the Export module 2150 may cause the experiment's data to be saved to the Tracking Database 2400 In one embodiment, each section has a sub-module that includes tools that use the Tracking Database 2400
It is also conceived that these modules can be packaged m many forms For example, they could be packaged as a desktop software product, as a client-server software product that supports multiple users, or as a web software product
Figure 15 Import Module
Figure 15 illustrates the sub-modules of an Import module 2100 for optimization of customer relationship management accordmg to one embodiment The Import module 2100 may be used to load data mto the various system databases The Data Transformation Engme sub-module 2110 converts the data received from an external database or system to a usable form for the various tools usmg the system databases Visualization Tool sub- modules 2140 may cooperate with the Data Transformation Engme sub-module 2110 to view the data and statistics of the data and build the transformations with those views Example Visualization Tools 2140 are XY plots, row number plots, histogram plots, correlation plots, probability plots, PCA plots, and other suitable tools The transformations can be built usmg the views and/or using an editor to explicitly express the transformations in terms of the data In one embodiment, the Import module 2100 is extensible to add and remove Visualization Tool sub- modules 2140 The transformations can be saved m a reusable form 2120
One potential reuse of the transformations is m an on-lme application (as shown m Figure 27), wherem the transformations 2120 may be used to automatically transform the data from the on-line application The application may use the Data Transformation Engme sub-module 2110 to transform the application data The Import module 2100 may also contam Data Interface sub-modules 2130 for interfacing to the various system databases 2360, 2400, 2530, 2680 and to the various external databases and systems 2200 In one embodiment, the Import module 2100 is extensible to add and remove Data Interface sub-modules 2130 Figure 16: Export Module
Figure 16 illustrates the sub-modules of an Export module 2150 for optimization of customer relationship management according to one embodiment. The Export module 2150 may be used to unload data from the various system databases. The Data Transformation Engine sub-module 2110 converts the data contained in the system databases to a usable form for the various external systems and databases. The same Data Transformation Engine sub-module 2110 may be used for the Export 2150 and Import 2100 modules. The Export modules 2150 contain Visualization Tool sub-modules that cooperate with the Data Transformation Engine sub-module 2110 to build the transformations. In one embodiment, the Export module 2150 is extensible to add and remove Visualization Tool sub-modules. The Visualization Tool sub-modules 2140 used in the Export module 2150 may or may not be the same as those used in the Import module 2100. In one embodiment, however, all Visualization Tool sub-modules 2140 support the same interface to be used in either. The transformations built can be saved in a re-usable form 2120.
One potential reuse of the transformations is in an on-line application (as shown in Figure 27). wherein the transformations 2120 may be used to automatically transform the data from the on-line application. The application may use the Data Transformation Engine sub-module 2110 to transform the data in the Experiment Database 2360. The Export module 2150 also contains Data Interface sub-modules 2130 for interfacing to the various system databases 2360, 2400, 2530, 2680 and the various external databases and systems 2200. In one embodiment, the Export module 2150 is extensible to add and remove Data Interface sub-modules 2130. The import 2100 and Export 2150 modules may share some of the same Data Interface sub-modules 2130.
Figure 17: Design Experiment Module
Figure 17 illustrates the sub-modules of the Design Experiment module 2300 for optimization of customer relationship management according to one embodiment. The Design Experiment module 2300 may be used to create, delete, edit, view, and track the experiments. The Design Experiment module 2300 includes visualization tools that work with the Experiment Database 2360 and Experiment Engine 2340 to create, delete, edit, and view the experiments. The Create Tool sub-module 2310 creates experiments for a project. The Delete Tool sub-module 2315 deletes experiments of a project. The Edit Tool sub-modules 2305 manage the segmentation and sampling rules 2330 used by the Experiment Engine 2340. The View Tool sub-modules 2320 include various visualizations of the experiments, including reports and charts showing the data after the segmentation and sampling rules are applied. The Track Tool sub-modules 2325 include reports and charts comparing the results of executing the experiment to what was designed. In one embodiment, the Design Experiment module 2300 is extensible to add and remove Edit Tool 2305, View Tool 2320, and Track Tool 2325 sub-modules. The Design Experiment modules also includes functionality to manage the projects that contain the experiments.
Figure 18: Experiment Engine Module
Figure 18 illustrates the sub-modules of the Experiment Engine module 2340 for optimization of customer relationship management according to one embodiment. The Experiment engine module 2340 may be used to apply the segmentation and sampling rules 2330 against the transformed data in the Experiment Database 2360. The Segment Engine sub-module 2350 may encapsulate a segmentation algorithm and perform that algorithm according to the segmentation rules created in the Design Experiment module 2300 The segmentation rules may be specific to the segmentation algorithm Segmentation algorithms may comprise simple cut rules to complicated clustering algorithms The Sample Engme sub-module 2350 may encapsulate a sampling algorithm and perform that algorithm according to the samplmg rules created m the Design Experiment module 2300 The sampling rules may be specific to the sampling algorithm Samplmg algorithms may include a variety of algorithms, from simple and random to complicated and score-based algorithms In one embodiment, the Experiment Engine module 2340 is extensible to add and remove Segment Engme 2350 and Sample Engine 2345 sub-modules
Figure 19 Build Components Module Figure 19 illustrates the sub-modules of the Build Components module 2500 for optimization of customer relationship management according to one embodiment The Build Components module 2500 may be used to build component mathematical models 2510 for use in the decision-making section The component models may be of various types, such as neural network, logistic regression, linear regression, genetic algorithm, table lookup, and other suitable models Projects may be created in the Build Components module 2500 to encapsulate the work for one or more component models Each type of component model may have its own set of Edit Tools 2505, Analysis Tools 2515, and Track Tools 2520 The Edit Tools provide mechanisms for creatmg and editing component instances of the corresponding type of model For example, an Edit Tool 2505 for a neural network component might identify data elements in the Model Database 2530 as inputs and outputs for the neural network and then train the neural network on the corresponding data The Analysis Tools 2515 may provide mechanisms for analyzmg and viewmg the component models For example, an Analysis Tool 2515 for a neural network might identify the sensitivities of the inputs to outputs Another Analysis Tool 2515 for a neural network might show the internal layers with their corresponding weights The Track Tools 2520 may provide mechanisms for comparing results from deploymg the component models For example, a Track Tool 2520 for a neural network would show predicted versus actual values for the outputs In one embodiment, the Build Components module 2500 is extensible to add and remove Edit Tool 2505, Analysis Tool 2515, and Track Tool 2520 sub-modules
Figure 20 Assemble/Setup Components Module
Figure 20 illustrates the sub-modules of the Assemble/Setup Components module 2600 for optimization of customer relationship management accordmg to one embodiment The Assemble/Setup Components module 2600 may be used to perform setup steps required prior to performmg the optimization and simulation Projects are created m the Assemble/Setup Components module 2600 to encapsulate the configuration work for one or more configuration variations A configuration variation is encapsulated in an abstraction called a question Questions may reference objectives managed by the Assemble Objective 2610 sub-module, risk variables managed by the Edit Risk 2615 sub-module, and segments managed by the Edit Segments 2620 sub-module The Assemble Objective sub-module 2610 may be used to assemble component mathematical models 2510 into objectives for a project Assembling may include binding component outputs to component inputs Assemblmg may also include binding component mputs and outputs to data elements in the Decision Database 2690 The project can contain many objectives Questions reference the project's objectives as desired by the user The Edit Risk sub-module 2615 may be used to create and edit the set of risk variables for a project Risk variables are selected from the set of component inputs, component outputs, and Decision Database 2680 data elements Risk variables may have properties of high and low value The high and low values are expressed m relation to the actual value, such as a percentage difference, absolute value, etc Questions reference the project's risk variables as desired by the user The Edit Segments sub-module 2620 may be used to define the segmentation to be used for reporting and question solving The segmentation may be defined accordmg to dimensions, attributes, elements, and facts, which are concepts defined in Multi-Dimensional Databases In addition, the Data Transformation Engine sub-module 2110 may be used in the Edit Segments sub-module 2620 to define transformations 2120 that build facts for the segmentation These facts form the decision-level records to be used when solving the questions
Figure 21 Manage Questions Sub-module
Figure 21 illustrates a hierarchy of the Manage Questions sub-module 2605 for optimization of customer relationship management according to one embodiment In one embodiment, questions may be of two base types optimization and prediction An optimization question solves for a set of input variables in an objective A prediction question calculates an objective There may also be derivations of these two base types For example, marginal optimization includes an additional objective called the baselme to compare against In one embodiment, all questions have basic functionality provided by the Manage Questions sub-module 2605 This functionality includes creating, copymg, and deleting questions The functionality also includes selecting from the project an objective, the risk variables, and the segmentation element(s) to use for solving the question The Manage Prediction sub-module 2606 adds the functionality of selecting additional objectives The Manage Optimization 2607 and Manage Margmal Optimization 2608 sub-modules are discussed below
Figure 22 Manage Optimization Sub-module Figure 22 illustrates the sub-modules of the Manage Optimization sub-module 2607 for optimization of customer relationship management according to one embodiment The Manage Optimization sub-module 2607 may add functionality for managing decision variables, constraints, and reason codes to the Manage Questions sub module 2605 The Edit Decision Variable sub-module 2625 may be used to create and edit the set of decision variables for a project Decision variables have properties related to their values, and the properties are specific to the type of variable In one embodiment, two types of decision variables may be used discrete and contmuous Discrete variables have properties describing the possible values These values can be expressed, for example, as a minimum value, maximum value, and increment, or they can be expressed as a set of discrete values Continuous variables have properties of minimum and maximum value The Manage Optimization sub-module 2607 manages the subset of project's decision variables to solve for in a question The Manage Optimization sub-module 2607 also manages the allowable decision variable value combmations for the question
The Edit Constramts sub-module 2630 may be used to create and edit the optimization constraints for a project Constramts are expressed using terms that mclude data constants, data elements in the Decision Database 2680, expressions contaming data elements, and or data constants The constramt expression may include three parts a left-hand term, a relational operator, and a right-hand term Relational operators are the typical numeric relational operators such as equal, less than, greater than, etc Constraints can be global, regional, or local As discussed above, global and regional constraints are constraints where the terms used rolled-up facts from the segmentation For example, a global constraint could be total net operating mcome over the entire portfolio greater than $15 million, and a regional constraint could be total mail costs in the southwest less than $1 million Local constraints are constraints where the terms use facts from the decision-level records For example, a local constraint could be number of mailings greater than 0 The Manage Questions sub-module 2605 manages the subset of a project's constraints to use in solving the question
The Edit Reasons sub-module 2635 may be used to create and edit the rules for generating reason codes associated with the solved decision variables The rules are expressions that if true, produce a reason code The expressions are built using terms that may include data constants, data elements in the Decision Database 2680, and/or results of calculations on those data elements The terms may be put together as relational and logical expressions For example, such expressions may mclude "BehaviorScore < 600" and "CurrentCL > NewCL"
Figure 23 Manage Marginal Optimization Sub-module Figure 23 illustrates the sub-modules of the Manage Margmal Optimization sub-module 2608 for optimization of customer relationship management accordmg to one embodiment The Manage Margmal Optimization sub-module 2608 may add the functionality of managing a baseline objective to the Manage Optimization sub-module 2608 The Manage Baseline sub-module 2636 identifies the objective from the project's list of objectives and initiates the calculation of the baseline objective for the decision records A baseline objective is of the same structure as the optimization objective, except the behavioral components of the objective represent the normal business behavior For example, if the optimization objective is lifetime customer value, the baseline objective is also lifetime customer value And, the difference between the two is the set of components assembled mto each
Figure 24 Decision Engine Module
Figure 24 illustrates the sub-modules of the Decision Engine module 2640 for optimization of customer relationship management accordmg to one embodiment The Decision Engme module 2640 may be used to perform the calculations for a question The Calculation Engine sub-module 2645 may be used to calculate the objective, constramts, and any miscellaneous equations for a decision level record The objective, constramts, and miscellaneous equations may be created m the Assemble/Setup Components module 2600 by assembling components A decision-level record is either formed via the segmentation transformations m the Edit Segments sub-module 2635 or assumes the account-level records brought mto the Decision Database 2680 An account-level record represents the data elements for a customer or some entity that is the focus of the decision
The Decision Engine module 2640 may be configured with multiple Calculation Engine sub-modules 2645 dependmg on the configuration of the Question Engme sub-module 2650 The Question Engine sub-module 2650 performs the algorithm specific to a question If the question is configured to perform an optimization, the Question Engme 2650 may mclude that optimization algonthm If the question is configured to perform a prediction, the Question Engme 2650 may mclude that prediction algorithm For example, if the question is configured to perform an optimization of discrete decision vanables with global constramts and risk variables, then a Question Engme 2650 with that ability is used In one embodiment, the Decision Engme module 2640 is extensible to add and remove Question Engine sub-modules 2650 It is also conceived the Decision Engine module 2640 could be built to run calculations in parallel or in a distributed manner For example, the Question Engme sub-module 2650 could mvoke multiple Calculation Engme sub-modules 2645 m parallel or across a network (m a distributed manner)
Figure 25 Decision Views Module
Figure 25 illustrates the sub-modules of the Decision Views module 2660 for optimization of customer relationship management accordmg to one embodiment The Decision Views module 2660 may be used to perform minor setup changes to a question, to start the calculations, and to view the results of the calculations Minor setup changes include selecting the segment over which the calculations are run and selectmg the risk vanables Access may also be provided to the setup functionality m the Assemble/Setup Components module 2600, which allows more major changes Once the setup changes have been made, a mechanism is provided to start the calculations, which will be run by the Decision Engme module 2640 After the calculations have been run, vanous tables and charts are used to evaluate the decisions The tables and charts are encapsulated via a View sub-module 2665 In one embodiment, the tables and charts have duect access to the results of the Decision Engine 2640 mcludmg details that might not be stored persistently m the Decision Database 2680 The View sub-modules 2665 may allow one to compare the scenario simulations generated from the risk variables and look at the robustness of the decisions across those scenarios Access may also be provided to the reports 2675 m the Decision Reports modules 2670 In one embodiment, the Decision Views module 2660 is extensible to add and remove View sub-modules 2665
Figure 26 Decision Reports Module
Figure 26 illustrates the sub-modules of the Decision Reports module 2670 for optimization of customer relationship management according to one embodiment The Decision Reports module 2670 may be used to examine the results of a project's question from the Decision Database 2680 The results may be shown as reports via Report sub-modules 2675 These reports may take many forms, mcludmg web pages In one embodiment, all reports may show the results within the segmentation The results shown may mclude the decision mix, the constramt adherence, the objective values, intermediate calculations, and question configuration lnformanon There may also be provided comparison reports that compare any of the results between projects and between questions There may also be provided trackmg reports showmg the actual results versus the predicted results The trackmg reports work off the Trackmg Database 2400 In one embodiment, the Decision Reports module 2670 is extensible to add and remove Report sub-modules 2675
Figures 27 and 28 On-Line Architecture In one embodiment, the system architecture for on-lme, reactive decisions may be a modification of the off-lme system architecture On-line applications are usually built to serve other purposes than makmg decisions Therefore, the process of makmg a decision needs to be embedded m those on-lme applications Figure 27 shows the system architecture for embeddmg the experiment process accordmg to one embodiment Figure 28 shows the system architecture for embeddmg the decision process accordmg to one embodiment To embed the experiment and decision processes, the application programming interfaces (APIs) for the Data Transformation Engme sub- module 2110, the Experiment Engine module 2340. and the Decision Engme module 2640 mav be provided to the programmer of the on-lme application
Figure 27 illustrates an on-lme experiment architecture for optimization of customer relationship management accordmg to one embodiment To embed the experiment process, the on-lme application may be modified to use the APIs for the Data Transformation Engine sub-module 21 10 and the Experiment Engine module 2340 The transformations 2120 and rules 2330 are built with the modules of the off-lme system architecture (see Figure 14) Once built and tested via simulations, they may be deployed to the on-line application The Experiment Database 2360 may be implemented as an m-memory database In one embodiment, it is only required to hold the data elements for one customer or entity
Figure 28 illustrates an on-line decision architecture for optimization of customer relationship management according to one embodiment To embed the decision process, the on-lme application may be modified to use the APIs for the Data Transformation Engine sub-module 2110 and the Decision Engme module 2640 The transformations 2120 and component models 2510 are built with the modules of the off-line system architecture (see Figure 14) Once built and tested \ ιa simulations, they may be deployed to the on-lme application If the decision does not include global or regional constraints, the Decision Database 2680 may be implemented as an rn- memory database, since it is only required to hold the data elements for one customer or entity However, with global or regional constramts, the Decision Database 2680 holds the data elements for all customers or entities to which the constramts apply Various embodiments may further mclude receiving or storing instructions and/or data implemented in accordance with the foregoing description upon a carrier medium Suitable carrier media may include storage media or memory media such as magnetic or optical media, e g , disk or CD-ROM, as well as signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as networks 102 and/or 104 and/or a wireless link Although the system and method of the present invention have been described m connection with several embodiments, the mvention is not intended to be limited to the specific forms set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents as can be reasonably included within the spirit and scope of the mvention as defined by the appended claims

Claims

What is claimed is:
1 A method for selecting an optimal course of action for marketing products to a plurality of customers, the method comprising inputting customer data records into one or more predictive models to generate one or more action variables, wherein the action variables comprise predictive customer behaviors corresponding to the customer data records, inputting an objective function and one or more constraints into an optimizer, wherein the constraints comprise limitations on one or more resources, and wherem the objectiv e function and the constraints compπse a function of the action variables across a plurality of uncertainty models, the optimizer solving the objective function subject to the constraints to select an optimal course of action across the plurality of uncertainty models for marketing products to a plurahn of customers
2 The method of any of the precedmg claims, further comprising a user selectmg the uncertainty models accordmg to managerial judgment
3 The method of claim 2, wherem the user selecting the uncertainty models accordmg to managerial judgment further comprises the user selectmg a pπor distribution
The method of any of the precedmg claims, further comprising generating the plurality of uncertainty models by sampling a probability distribution to represent varying circumstances of possible futures
5 The method of any of the precedmg claims, wherem the uncertainty models comprise scenarios
6 The method of claim 5, further compnsmg assignmg a weight to each of the scenarios to denote its likelihood of occurrence
The method of any of the precedmg claims, wherem the uncertainty models are implemented by a neural network
The method of any of the precedmg claims, wherem the uncertainty models comprise one or more averaged models and a residual model The method of claim 8, further compnsmg training a neural network to represent the averaged models
The method of any of the precedmg claims, wherem solving the objective function subject to the constraints to select the optimal course of action across the plurality of uncertainty models further compπses solving the objective function to avoid a worst case scenario
The method of any of the precedmg claims, wherein solving the objective function subject to the constraints to select the optimal course of action across the plurality of uncertainty models further compπses solving the objective function accordmg to a desued level of risk
The method of any of the precedmg claims, further comprising marketing the products to the plurality of customers in accordance with the optimal course of action
The method of any of the precedmg claims, further comprising applymg the optimal course of action to one or more customer relationships to mcrease the value of the customer relationships
The method of any of the precedmg claims, wherein each customer data record corresponds to an individual customer
The method of any of the precedmg claims, wherein each customer data record corresponds to a segment, wherem the segment comprises a plurality of customers
The method of any of the precedmg claims, wherein each customer data record coπesponds to a sample of a plurality of customers
The method of any of the precedmg claims, wherem the predictive models comprise a neural network
The method of any of the precedmg claims, further compnsmg training the neural network as a function of historical data records 19 The method of any of the precedmg claims, wherein the optimizer solving the objective function further compnses solvmg the objective function via linear programming
20 The method of any of the precedmg claims, wherein the optimizer solving the objective function further compπses solvmg the objective function via non-lmear programming
21 The method of any of the precedmg claims, wherein the objective function is a cross-record objective function
22 The method of any of the precedmg claims, further compnsmg inputting one or more cross-record constraints into the optimizer wherem the cross-record constraints comprise limitations on one or more global resources, and wherem the optimizer solving the objective function further compπses the optimizer solvmg the objective function subject to the cross-record constramts
23 The method of any of the precedmg claims, wherein the objective function further comprises a function of lifetime customer value
24 The method of claim 23 , wherem lifetime customer value comprises a sum of discounted cash flows over the lifetime of a customer relationship
25 A system compnsmg one or more predictive models operable to generate one or more action variables from a plurality of customer data records, wherem the action variables compπse predictiv e customer behaviors corresponding to the customer data records, and an optimizer coupled to the predictive models, wherein the optimizer is operable to receive an objective function and one or more constraints, wherem the constramts comprise limitations on one or more resources, wherem the objective function and the constramts comprise a function of the action variables across a plurality of uncertainty models, and wherem the optimizer is operable to solve the objective function subject to the constraints to select an optimal course of action across the plurality of uncertainty models for marketmg products to a plurality of customers, wherem the system is operable to perform the method of any of claims 1 through 24
26 A carrier medium compπsmg program instructions which are computer-executable to implement the method of any of claims 1 through 24 27 A method comprising inputting data records mto one or more predictive models to generate one or more action variables, inputting an objective function and one or more constraints into an optimizer, wherein the constraints comprise limitations on one or more resources, and wherein the objective function and the constraints comprise a function of the action variables across a plurality of uncertainty models, the optimizer solving the objective function subject to the constraints to select an optimal course of action across the plurality of uncertainty models
28 A method for determining an optimal course of action for marketing one or more products to a plurality of customers, the method comprising inputting customer data records mto one or more predictive models to generate one or more action variables, wherein the action variables comprise predictive customer behaviors corresponding to the customer data records, inputting an objective function and one or more constraints into the optimizer, wherem the objective function comprises a function of the action variables, wherein the constraints comprise limitations on one or more resources, and wherem the objective function further comprises a function of lifetime customer value, the optimizer solving the objective function subject to the constraints to select an optimal course of action for marketing one or more products to a plurality of customers
29 A method for selectmg an optimal course of action for marketing one or more products to a plurality of customers, the method comprising inputting customer data records into one or more predictive models to generate one or more action variables, wherem the action variables comprise predictive customer behaviors coπespondmg to the customer data records, inputting an objective function and one or more constraints mto an optimizer, wherein the objective function comprises a function of the action variables, and wherem the constraints comprise limitations on one or more resources, the optimizer solving the objective function subject to limitations on one or more global resources to select an optimal course of action for marketmg one or more products to a plurality of customers
30 A method for managing customer relationships, the method comprising collecting a set of customer data corresponding to one or more customers, optimizing one or more decision variables based on an objective and one or more constraints for the set of customer data to produce optimized decision variables for a product offer, setting one or more terms of a product to the optimized decision variables to produce an optimized product, wherein the optimized product compπses a set of optimized terms; offering the optimized product to one or more of the customers; accepting a response from the customer to the offering; carrying out the optimized terms durmg a lifetime of the optimized product.
PCT/US2001/002880 2000-01-28 2001-01-26 System and method for robust optimization including uncertainty models WO2001055939A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2001236575A AU2001236575A1 (en) 2000-01-28 2001-01-26 System and method for robust optimization including uncertainty models
EP01908734A EP1250673A1 (en) 2000-01-28 2001-01-26 System and method for robust optimization including uncertainty models

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49340300A 2000-01-28 2000-01-28
US09/493,403 2000-01-28

Publications (1)

Publication Number Publication Date
WO2001055939A2 true WO2001055939A2 (en) 2001-08-02

Family

ID=23960088

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/002880 WO2001055939A2 (en) 2000-01-28 2001-01-26 System and method for robust optimization including uncertainty models

Country Status (3)

Country Link
EP (1) EP1250673A1 (en)
AU (1) AU2001236575A1 (en)
WO (1) WO2001055939A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469228B2 (en) 2004-02-20 2008-12-23 General Electric Company Systems and methods for efficient frontier supplementation in multi-objective portfolio analysis
US7593880B2 (en) 2003-03-19 2009-09-22 General Electric Company Methods and systems for analytical-based multifactor multiobjective portfolio risk optimization
US7630928B2 (en) 2004-02-20 2009-12-08 General Electric Company Systems and methods for multi-objective portfolio analysis and decision-making using visualization techniques
US7640201B2 (en) 2003-03-19 2009-12-29 General Electric Company Methods and systems for analytical-based multifactor Multiobjective portfolio risk optimization
US7765175B2 (en) 2003-09-18 2010-07-27 Optimum Power Technology, L.P. Optimization expert system
US8126795B2 (en) 2004-02-20 2012-02-28 General Electric Company Systems and methods for initial sampling in multi-objective portfolio analysis
US8219477B2 (en) 2004-02-20 2012-07-10 General Electric Company Systems and methods for multi-objective portfolio analysis using pareto sorting evolutionary algorithms
US8504335B2 (en) 2008-04-17 2013-08-06 Exxonmobil Upstream Research Company Robust optimization-based decision support tool for reservoir development planning
US8775361B2 (en) 2008-04-21 2014-07-08 Exxonmobil Upstream Research Company Stochastic programming-based decision support tool for reservoir development planning
US8775347B2 (en) 2008-04-18 2014-07-08 Exxonmobil Upstream Research Company Markov decision process-based support tool for reservoir development planning
US9465773B2 (en) 2012-08-17 2016-10-11 International Business Machines Corporation Data-driven distributionally robust optimization
US9946972B2 (en) 2014-05-23 2018-04-17 International Business Machines Corporation Optimization of mixed-criticality systems
US10339483B2 (en) 2015-04-24 2019-07-02 Tata Consultancy Services Limited Attrition risk analyzer system and method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640201B2 (en) 2003-03-19 2009-12-29 General Electric Company Methods and systems for analytical-based multifactor Multiobjective portfolio risk optimization
US7593880B2 (en) 2003-03-19 2009-09-22 General Electric Company Methods and systems for analytical-based multifactor multiobjective portfolio risk optimization
US7765175B2 (en) 2003-09-18 2010-07-27 Optimum Power Technology, L.P. Optimization expert system
US8219477B2 (en) 2004-02-20 2012-07-10 General Electric Company Systems and methods for multi-objective portfolio analysis using pareto sorting evolutionary algorithms
US7630928B2 (en) 2004-02-20 2009-12-08 General Electric Company Systems and methods for multi-objective portfolio analysis and decision-making using visualization techniques
US8126795B2 (en) 2004-02-20 2012-02-28 General Electric Company Systems and methods for initial sampling in multi-objective portfolio analysis
US7469228B2 (en) 2004-02-20 2008-12-23 General Electric Company Systems and methods for efficient frontier supplementation in multi-objective portfolio analysis
US8504335B2 (en) 2008-04-17 2013-08-06 Exxonmobil Upstream Research Company Robust optimization-based decision support tool for reservoir development planning
US8775347B2 (en) 2008-04-18 2014-07-08 Exxonmobil Upstream Research Company Markov decision process-based support tool for reservoir development planning
US8775361B2 (en) 2008-04-21 2014-07-08 Exxonmobil Upstream Research Company Stochastic programming-based decision support tool for reservoir development planning
US9465773B2 (en) 2012-08-17 2016-10-11 International Business Machines Corporation Data-driven distributionally robust optimization
US9946972B2 (en) 2014-05-23 2018-04-17 International Business Machines Corporation Optimization of mixed-criticality systems
US10339483B2 (en) 2015-04-24 2019-07-02 Tata Consultancy Services Limited Attrition risk analyzer system and method

Also Published As

Publication number Publication date
AU2001236575A1 (en) 2001-08-07
EP1250673A1 (en) 2002-10-23

Similar Documents

Publication Publication Date Title
US8775286B2 (en) System and method for management of financial products portfolio using centralized price and performance optimization tool
US7171383B2 (en) Methods and systems for rapid deployment of a valuation system
US8014983B2 (en) Computer-implemented system and method for storing data analysis models
US8694455B2 (en) Automated risk transfer system
US7251589B1 (en) Computer-implemented system and method for generating forecasts
US20160171398A1 (en) Predictive Model Development System Applied To Enterprise Risk Management
US20080015871A1 (en) Varr system
US20130054486A1 (en) Extended management system
EP2506207A1 (en) Computer system, computer-implemented method and computer program product for managing operations of a system
US20020169658A1 (en) System and method for modeling and analyzing strategic business decisions
US7970640B2 (en) Purchasing optimization system
US20040083153A1 (en) Method and system for evaluating internal business investments by estimating decision-factor variations
US20070129981A1 (en) Business solution management
US20060064370A1 (en) System, method for deploying computing infrastructure, and method for identifying customers at risk of revenue change
EP1250673A1 (en) System and method for robust optimization including uncertainty models
US8209216B2 (en) Method and apparatus for configurable model-independent decomposition of a business metric
Kragt et al. Using a choice experiment to improve decision support tool design
Thompson et al. Gaining sustainable competitive advantage through strategic pricing: selecting a perceived value price
US20060106664A1 (en) Method, system, and storage medium for developing a forecast of goods and services
Greenberg Economic principles applied to space industry decisions
Bataev et al. Challenger banks performance model
Shaw All-Stage Machine Learning-Driven B2B Sales Predictor
Suchánek et al. Intelligence decision support systems in e-commerce
Jablonowski et al. The value of oil and gas price forecasts
Tekcan Corporate strategies for currency risk management

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001908734

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001908734

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2001908734

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: JP