Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 11-26-2008 11:35 PM
(1877 views)

For about five years, I have employed PROC NLP to solve large marketing optimization problems via a collapsed dual method. The results have been remarkable. For a general description of the approach, see http://home.comcast.net/~raagnew/Downloads/Dual_Solution_Marketing_Optimization.pdf.

6 REPLIES 6

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

This is a reasonable approach to try for this type of problem, and it could work well for the types of constraints you describe. However, we have found that as the constraints become more complex, this approach often does not work, and additional techniques are needed. In particular, it is often the case that the constraints per prospect are not of the form "a prospect can receive at most one offer", but rather are more complicated -- such as at most three offers in total, at most one email per week, at most two credit card offers, etc. Furthermore, the quantity constraints for each offer are typically more generic and could represent any business constraint: budgets per offer, lower bounds on expected number of responses, upper bounds on some type of risk measure, ratio of two measures (for example, ROI -- defined as total profit divided by total cost -- must be at least 20%), etc.

With these complications, which often appear in combination, the approach described can run into issues. The nonlinear programming algorithm might not converge well enough due to nondifferentiability, and finding a primal solution from the dual solution is no longer as simple as it is in this case, and the process becomes highly sensitive to the accuracy of the dual solution. Therefore, in building an algorithm for a general direct marketing problem, other techniques are required, such as those used by the commercial vendors mentioned in the paper.

With these complications, which often appear in combination, the approach described can run into issues. The nonlinear programming algorithm might not converge well enough due to nondifferentiability, and finding a primal solution from the dual solution is no longer as simple as it is in this case, and the process becomes highly sensitive to the accuracy of the dual solution. Therefore, in building an algorithm for a general direct marketing problem, other techniques are required, such as those used by the commercial vendors mentioned in the paper.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

My write-up is purposely simplified. I have used this approach with more general constraints like you mention, including <= k offers per prospect where k > 1. My approach does have some math overhead in terms of deriving the appropriate dual problem and changing SAS code accordingly. This is not a big deal, but it is of course unnecessary with commercial optimizers like SAS Marketing Optimization. On the other hand, PROC NLP is available to any SAS/OR subscriber.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

For some reason, some of the text in my reply was deleted. Here is another attempt. My write-up is purposely simplified. I have used this approach with more general constraints like you mention, including that a prospect may receive at most k offers where k is greater than one. My approach does have some math overhead in terms of deriving the appropriate dual problem and changing SAS code accordingly. This is not a big deal, but it is of course unnecessary with commercial optimizers like SAS Marketing Optimization. On the other hand, PROC NLP is available to any SAS/OR subscriber.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

PROC NLP is not under active development, It belongs to legacy procs. Please try the new NLP algorithms (Interior Point or Active Set) through PROC OPTMODEL. You can find more information about new NLP algorithms & OPTMODEL here

http://support.sas.com/documentation/cdl/en/ormpug/63975/HTML/default/viewer.htm#nlpsolver_toc.htm

thanks,

Yan

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Updated website www.raagnew.com

**Don't miss out on SAS Innovate - Register now for the FREE Livestream!**

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.