# Patent

## Title
Method for optimizing net present value of a cross-selling marketing campaign

## Abstract

The present invention applies a novel iterative algorithm to the problem of multidimensional optimization by supplying a strict, nonlinear mathematical solution to what has traditionally been treated as a linear multidimensional problem. The process consists of randomly selecting a statistically significant sample of a prospect list, calculating the value of the utility function for each pair of an offer and selected prospects, reducing the original linear multidimensional problem to a non-linear problem with a feasible number of dimensions, solving the non-linear problem for the selected sample numerically with the desired tolerance using an iterative algorithm, and using the results to calculate an optimal set of offers in one pass for the full prospect list.

## Background
RELATIONSHIP TO OTHER APPLICATIONS
This application is a continuation of U.S. application Ser. No. 09/634,624 filed Aug. 5, 2000, now pending, which claims the benefit of priority of U.S. Provisional Application Ser. No. 60/147,456 filed Aug. 6, 1999, now abandoned. The disclosures of the foregoing applications are incorporated by reference.


FIELD OF THE INVENTION
This invention relates generally to the development of a method to optimize the effects of cross-selling marketing campaigns. More specifically, this invention is an improvement on the application of classical methods of discrete linear programming to the problem of multidimensional optimization.
BACKGROUND OF. ME INVENTION
Businesses typically have a number of promotions to offer to a large list of prospective customers. Each promotion may have an eligibility condition, a response model, and a profitability model associated with it.
Some promotions may be combined into Peer Groups (i.e., groups of mutually exclusive offers, such as a credit card with different interest rates). A constraint may be placed on the maximum number of offers that goes to any customer; in addition, there may be business requirements such as minimal number of sales, minimal NPV (Net Present Value) per customer, maximal budget, etc. These requirements may apply to any individual promotion, a peer group, or a campaign as a whole.
The goal of cross-selling marketing optimization is to determine what offers to send to which customers to maximize a utility function of the campaign (total NPV, total number of sales etc.), while satisfying all the business requirements and constraints.
The present state of the art lets marketers process one offer at a time. A response and/or profitability model is applied and customers are rank-ordered based on propensity to respond to the offer. After this ordering, a certain percentage from the top of the list is selected to receive the offer. The same process is applied to all available offers separately.
As a result, the best, most responsive and valuable customers are saturated with offers and the middle segment of the customer list is ignored. The overall efficiency of the campaign therefore degrades.
Another significant drawback of this approach is the inability to satisfy various real-life constraints and business goals.
Most sophisticated marketers have tried to consolidate models built for different offers. However, these attempts have not been based on any solid scientific method, but rather have utilized an ad hoc approach. Because of this, only the most-simple constraints have been able to be satisfied and the solutions have been sub-optimal with respect to a utility function. In fact, these marketers haven't even been able to estimate how far off they are from the true optimum.
What would therefore be useful is a process that provides a mathematically optimal offer allocation, i.e., one that selects an optimal set of offers for each customer that maximizes the utility function and satisfies all business goals and constraints.
SUMMARY OF THE INVENTION
The present invention represents the application of a novel iterative algorithm to the problem of multidimensional optimization. The present invention supplies a strict, nonlinear mathematical solution to what has traditionally been treated as a linear multidimensional problem.
The problem in its original form is a problem of discrete linear programming. However, due to a huge number of dimensions (in a typical business case N=O(108), M=O(102)), the application of classical methods of discrete linear programming is not feasible.
The process of the present invention consists of randomly selecting a statistically significant sample of a prospect list, calculating the value of the utility function for each pair of an offer and selected prospects, reducing the original linear multidimensional problem to a non-linear problem with a feasible number of dimensions, solving the non-linear problem for the selected sample numerically with the desired tolerance using an iterative algorithm, and using the results to calculate an optimal set of offers in one pass for the full prospect list.
It is an object of the present invention to increase the efficiency of a cross-selling marketing campaign.
It is an object of the present invention to increase the efficiency of cross-selling campaigns that include a large number of offers.
It is an object of the present invention to provide optimization of cross-selling campaigns wherein groups of offers can be mutually exclusive.
It is an object of the present invention to increase the efficiency of cross-selling campaigns that are targeted to large number of prospective customers.
It is an object of the present invention to increase the efficiency of cross-selling campaigns by selecting an individual, optimal set of offers for each customer.
It is an object of the present invention to constrain of maximum number of offers sent to a customer within cross-selling campaigns.
It is an object of the present invention to satisfy business goals, like minimum number of sales and budget constraints, while optimizing cross-selling campaigns as applied to individual offers, groups of offers or the entire campaign.
It is an object of the present invention to maximize a user-chosen utility function, like total NPV or number of sales, within a cross-selling campaign.
It is an object of the present invention to mathematically maximize the utility function and satisfy all constraints within a cross-selling campaign.
It is an object of the present invention to allow interactive changes in goals or constraints of cross-selling campaigns and quickly view the results.
It is an object of the present invention to provide final scoring for cross-selling campaigns in a single pass so as to scalable and efficient enough to process a list of 100 million customers overnight.
It is yet another object of the invention to provide true “one-to-one” marketing in cross-selling campaigns.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow chart of the basic process of the present invention.
FIG. 2 is a more detailed data flow of a marketing optimization process of the present invention.
FIG. 3 is a flow chart of the single pass process of the present invention.
FIG. 4 is a flow chart of the novel iterative algorithm of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
The present invention represents the application of a novel iterative algorithm to the problem of multidimensional optimization of cross-selling campaigns by supplying a strict, nonlinear mathematical solution to the traditional linear multidimensional problem desired to be solved when offering a large number of promotions M to a very large set of prospective customers N.
The process of the present invention, as shown in FIG. 1, consists of randomly selecting a statistically significant sample 10 of a prospect list, calculating the value of the utility function 20 for each pair of an offer 30 and selected prospects 10, reducing the original linear multidimensional problem to a non-linear problem 40 with a feasible number of dimensions, solving the non-linear problem 50 for the selected sample numerically with the desired tolerance using an iterative algorithm, and using the results to calculate an optimal set of offers 60 in one pass for the full prospect list.



  
    
      
        Let
        ⁢
        
          
        
        ⁢
        A
      
      =
      
        (
        
          a
          ij
        
        )
      
    
    ,
    
      be
      ⁢
      
        
      
      ⁢
      a
      ⁢
      
        
      
      ⁢
      solicitation
      ⁢
      
        
      
      ⁢
      matrix
    
    ,
    where
  




  
    
      
        
          
            
              a
              ij
            
            =
            
            ⁢
            1
          
          ,
          
            
          
          ⁢
          
            if
            ⁢
            
              
            
            ⁢
            offer
            ⁢
            
              
            
            ⁢
            j
            ⁢
            
              
            
            ⁢
            goes
            ⁢
            
              
            
            ⁢
            to
            ⁢
            
              
            
            ⁢
            a
            ⁢
            
              
            
            ⁢
            customer
            ⁢
            
              
            
            ⁢
            i
          
        
      
    
    
      
        
          
            =
            
            ⁢
            0
          
          ,
          
            
          
          ⁢
          
            otherwise
            ;
          
        
      
    
  



    
    
        R=(rij), be a response matrix, where
        
            rij—is a probability for a customer i respond to a promotion j;
        
        
        P=(pij), be a profitability matrix, where
        
            pij—is a profitability of a customer i, if he/she responds to a promotion j.
        
        
    
    


Total NPV of the campaign, NPV=NPV(A, R, P), is a linear function of aij, rij, pij and other economic parameters of the campaign.
Eligibility conditions, peer group logic, and maximal number of offers per customer constraint can be expressed by a set of inequalities Cik 

Cik(A)<=0, i=1,2, . . . ,N, k=1,2, . . . ,K 

where C, are linear functions, and N is of the order of number of customers in the prospect list, K is number of restrictions. These customer-level restrictions are applied for each individual. Economic goals are expressed by a set of inequalities G for each promotion and the whole campaign:

Gj,l(A,R,P)<=0, j=1,2, . . . ,M, l=1,2, . . . ,Lj 

G0,l(A,R,P)<=0, l=1,2, . . . ,L0 

where are linear functions, and M is of the order of number of promotions in the campaign, Lj is total number of restrictions. These main restrictions are applied for a promotion or the campaign, and G is a sum over all eligible customers.
It is desired to then find a solicitation matrix A that maximizes NPV(A,*) under the condition that all constraints C and G are satisfied.
The solution presented by the inventors uses the following steps, as shown in FIG. 2. A first step is to create a campaign or project by selecting a set 202 of targeting optimizer (TO) projects from a modeling database 200. Each TO project contains promotion and offer economics, and eligibility information for a selected pool of prospects. Each TO project includes substitute offer groups 206, model calibration 204, and eligibility information that is combined with the prospect input to create an eligibility matrix 214.
For prospect input, one selects, randomly, a statistically significant sample or testing DCP (derived customer pool) 212 of a prospect list from a customer database 210. Matrices P and R are then calculated for selected prospects at 224. The next steps, to reduce the original linear multidimensional problem to a non-linear problem with a feasible number of dimensions and solve the non-linear problem for the selected sample numerically with the desired tolerance using a novel iterative algorithm (described below) is done by the optimization engine 240.
Input data reports 230 record the matrices and offers used. Using this input data, campaign level constraints 242, and offer level constraints 244, the optimization engine 240 produces a solicitation matrix 250. This is used to calculate report data 252 for optimization reports 254 that are tested at 260 to see if the selected constraints 242 and 244 satisfied the desired offer solicitation schema 256. If satisfied, a final report 260 is generated. If the offer solicitation schema 256 are not satisfied, campaign level constraints 242 and offer level constraints 244 are adjusted to produce another iteration.
The optimization engine 240 calculates the vector of parameters L of the ANPV (adjusted NPV) functions

ANPVj(L,ri,pi),

where

    
    
        j=1, 2, # of promotions;
        ri=(rij)—vector of propensities to respond of a customer i to promotions 1, 2, . . .
        pi=(pij)—vector of profitability of a customer i for promotions 1, 2, . . .
    
    


It then calculates the optimal solicitation matrix 250 in a single pass through the full prospect list. To accomplish that, as shown in FIG. 3:

    
    
        1. Read the next customer record 31;
        2. Calculate vectors r, and pi 32;
        Calculate anpvi=(ANPVj(L, ri, pi), j=1, 2, . . . , # of promotions) 33;
        4. Based on the values of anpvi and eligibility conditions, calculate solicitation vector
        
            ai=(aij, j=1, 2, . . . , . . . , # of promotions), which defines the optimal set of promotions that goes to a customer i at 34; and
        
        
        5. Repeat the previous four steps until the end of the customer list at 35.
    
    


To calculate matrices P and R for selected prospects at 224 and reduce the original linear multidimensional problem to a non-linear problem with a feasible number of dimensions described above, the present invention needs to solve the high dimensional conditional extremum problem with a large number of restrictions. The present invention uses the Lagrange multiplier technique to take into account only the main restrictions. They can be of an equality or inequality type. This low-dimensional nonlinear problem is solved by a gradient type iterative process.
At each iterative step, the optimization of ANPVj(L, ri, pi) under customer-level restrictions (high dimensional linear problem) is made directly, record by record. It is equivalent to the following min-max problem:

Minj{Lb>0,Lc}Maxj{C>=0}ANPV(L,ri,pi),

where ANPV(L, ri, pi)=ANPV(L, ri, pi)0+LbGb(A, R, P)+LcGc(A, R, P)
Here, summation over all the inequalities is assumed.
The algorithm, as shown in FIG. 4, consists of following steps:

    1. Prepare data 41.
    2. Calculate initial value of the functional and gradients 42.
    3. Set a value for initial algorithm steps 43; for each Lagrange multiplier, the step should be set equal to the initial value of the functional divided by the square of the gradient.
    4. Make a step along the gradient 44.
    5. Update the step 45, if needed.
    6. Calculate new value of the functional 46, taking customer level restrictions into account.
    7. Check convergence 47.
    8. If not converged at 48, go to step 4.
    9. Output the results 49 upon adequate convergence.


It is important to underscore that the above algorithm is not a heuristic, but delivers a strict mathematical solution for the multidimensional optimization problem formulated above.
Tests performed by inventors on a variety of real business cases show that the iterative procedure in Step 4 above typically converges with the tolerance of 0.1% in less then 30 iterations. That allows a user to work with the cross-selling optimizer of the present invention interactively and perform real-time analysis of the financial outcome of marketing activities.
A novel feature of the algorithm used by the present invention, the one-pass scoring, enables rollout scoring of a 100 M record database overnight.
The present invention operates on a computer system and is used for targeted marketing purposes. Using the present invention in conjunction with a neural network, the present invention provides a user with data indicating the individuals or classes or individuals who are most likely to respond to direct marketing.

## Claims

1. A method comprising:
at least one computer processor formulating a linear optimization problem with a plurality of variables and that takes into account at least:
a plurality of customer constraints stored in computer storage and comprising at least one of an eligibility condition constraint, a peer group logic constraint, and a maximum number of offers constraint; and
a plurality of economic, business, or consumer constraints stored in computer storage, wherein each constraint is reflective of an economic goal of a business to consumer decisioning strategy;

the computer processor reducing the linear optimization problem to a non-linear problem with a feasible number of dimensions, wherein the non-linear problem is mathematically equivalent to the linear optimization problem; and
the computer processor selecting a business to consumer decisioning strategy with desired expected utility and that satisfies the constraints at least in part by iteratively solving the non-linear problem on a sample of customers within a pre-defined tolerance, wherein the selected consumer decisioning strategy identifies specific customers that are to receive specific decision options, and wherein the non-linear problem takes into account at least:
a plurality of behavioral probabilities that each represent a probability that a specific customer will respond to a specific decision option; and
a plurality of profitabilities that each represent a profitability resulting from a specific customer responding to the specific decision option.

2. The method of claim 1, wherein selecting a strategy with desired expected utility comprises selecting a strategy that is expected to have a higher value than another business to consumer decisioning strategy.

3. The method of claim 1, wherein selecting a strategy with desired expected utility comprises selecting a utility function and using the utility function to calculate an expected utility of the strategy.

4. The method of claim 1, wherein the customer constraints are expressed as linear functions.

5. The method of claim 4, wherein the economic and business constraints are expressed as linear functions.

6. The method of claim 1, wherein the customer constraints are expressed as at least one inequality.

7. The method of claim 6, wherein the economic and business constraints are expressed as at least one inequality.

8. The method of claim 1, wherein selecting a strategy with desired expected utility further comprises generating a plurality of solicitation values that define which customers receive which decision options.

9. A decisioning strategy optimization system comprising:
a computer processor configured to execute software components;
at least one data repository of computer storage containing at least one collection of data comprising:
customer data related to a plurality of customers;
behavioral probability data representing a plurality of probabilities that a specific customer will respond to a specific decision option;
profitability data representing, for each of a plurality of customers, value resulting from a specific customer responding to a specific decision option;
customer constraint data representing a plurality of customer constraints, wherein the customer constraints comprise at least one of an eligibility condition constraint, a peer group logic constraint, and a maximum number of offers constraint; and
economic constraint data representing a plurality of economic constraints, wherein each economic constraint is reflective of an economic goal of a decisioning strategy;

a first software component configured to cause the computer processor to formulate a linear optimization problem with a plurality of variables;
a second software component configured to cause the computer processor to reduce the linear optimization problem to a substantially equivalent non-linear problem with a feasible number of dimensions; and
a third software component configured to cause the computer processor to select a decisioning strategy with desired expected utility and that satisfies stored customer and economic constraints at least in part by iteratively solving the non-linear problem on a sample of customers within a pre-defined tolerance, wherein the non-linear problem takes into account at least some of the stored behavioral probabilities and stored profitabilities and the decisioning strategy identifies specific customers that are to receive specific decision options.

10. The system of claim 9, wherein the at least one data repository comprises at least one database.

11. The system of claim 9, wherein the third software component is configured to select a decisioning strategy with desired expected utility by selecting a decisioning strategy that is expected to have a business value that is higher than another decisioning strategy.

12. The system of claim 9, wherein the second software component selects a decisioning strategy with desired expected utility by selecting a utility function and using the utility function to calculate an expected utility of the decisioning strategy.

13. The system of claim 9, wherein the customer constraints are expressed as linear functions.

14. The system of claim 12, wherein the economic constraints are expressed as linear functions.

15. The system of claim 9, wherein the customer constraints are expressed as at least one inequality.

16. The system of claim 15, wherein the economic constraints are expressed as at least one inequality.

17. The system of claim 9, wherein the second software module is further configured to generate and store in the at least one data repository a plurality of solicitation values that define which customers receive which decision options.