SlideShare a Scribd company logo
1 of 31
Download to read offline
Rapid Optimization Application
Development Using
Excel and Solver
Michael Mina
2018 Advanced Research Techniques (ART) Forum
American Marketing Association
June 21, 2018 | Columbus, OH
Overview
• Marketing optimization is the process of determining how to allocate marketing dollars in order to
achieve specific goals (e.g., maximize profit), subject to certain constraints (e.g., a fixed marketing
budget). This often takes the form of using mathematical techniques to determine who to target,
through which channel, and with what message or offer.
• A number of optimization applications are commercially available. However, many of them require
changes to data and computational infrastructure that are labor-intensive and cost-prohibitive. This
presentation will demonstrate how optimization applications can be developed easily and quickly using
Excel combined with Excel Solver, even for large marketing campaigns.
• This presentation will discuss how segmentation can be used to reduce the complexity of large
optimization problems, and how to quickly develop a simple but effective optimization application using
Excel combined with Excel Solver.
• This presentation will be of interest to those seeking to optimize marketing campaigns of any size while
managing operational and computational complexity.
• An electronic copy of this presentation and the Excel worksheet used for optimization are available at
tinyurl.com/mina2018artforum
(c) 2018 by Michael Mina 2
Our hypothetical business case
• We are employees of a retailer that is planning a large catalog
mailing.
• We have 12 customer segments based on age, likelihood to
respond, and expected sales given response. This will be
reviewed in more detail below.
• We are trying to decide how many catalogs to mail to each
segment in order to maximize profit, subject to certain
constraints that we will specify (e.g., limited marketing budget).
• We already know how many customers are in each
segment.
• We will demonstrate below that it's unprofitable to mail all
of our customers, even if our marketing budget allowed it.
• The decision to be made is this – determine the percent of
each segment that should be mailed that maximizes profit
and stays within our constraints.
• We will cover three phases of rapid optimization application
development:
• Design
• Build
• Run
(c) 2018 by Michael Mina 3
Our hypothetical business case (cont'd)
(c) 2018 by Michael Mina 4
• Catalogs??? Is this business case even relevant? Yes it is!
• "Millennials are more interested in catalogs than your
grandmother is", by Courtney Reagan, CNBC, 12/21/17
(https://www.cnbc.com/2017/12/21/millennials-are-more-
interested-in-catalogs-than-your-grandmother-is.html)
• "The old-fashioned mail-order catalog is making a comeback" by
Ronald D. White, LA Times, 11/23/17
(http://www.latimes.com/business/la-fi-catalogs-return-
20171123-story.html)
• 44.4% of merchants increased catalog circulation in the last year
(2017) - "12 Marketing Trends You Should Know in 2018!" by
Neil O'Keefe, Data & Marketing Association, 2/22/18
(https://thedma.org/blog/marketing-analytics/12-marketing-
trends-you-should-know-in-2018/)
• We have detailed info on 1.12MM customers. However, even before optimization, we know we can't
contact all of them
• Some are on the Do Not Mail registry and should not be contacted
• Others we have deemed high risk for various reasons (e.g., too many returns, too many complaints)
• We must hold out a 5% control group.
• This leaves 1,000,000 customers for the next step.
• Note: All data used in this presentation are completely synthetic, and have not been sourced from
any real world data.
Our hypothetical business case (cont'd)
(c) 2018 by Michael Mina 5
Brief description of optimization as applied to business
Process Inputs
(c) 2018 by Michael Mina 6
Actual Decisions
• Of the possible decisions, these are the values
you have set in order to achieve the objective
and satisfy the constraints.
• Examples: customer 1 should get offer 1,
customer 2 should get no offer, customer 3
should get offer 1 through channel 2, all
customers in segment 1 should get offer 5,
etc.
Objective
• What you are trying to accomplish
• Examples: maximize profit, maximize sales, etc.
• It’s not always about maximizing profit – that’s just
one possibility.
• Maybe overall, your company already
exceeded its profit goals, but is falling short of
its sales goals.
• It could make sense to buy business – i.e., to
accept reduced profit in order to grow sales.
Constraints
• Limitations on your ability to achieve your objective.
• Examples: Limited number of customers to
contact, limited marketing budget.
Possible decisions
• Values which you must decide how to set so that you
achieve your objective and satisfy your constraints.
• Examples: Deciding which customers to contact to
meet your objective and satisfy your constraints.
Process Outputs
The R(apid) O(ptimization) A(pplication) D(evelopment) MAP
• Requirements for rapidly developing an optimization application are:
1. A segmentation scheme, preferably a pre-existing one
2. Values and formulas to calculate objectives and constraints for each segment
3. Microsoft Excel with the Solver add-in
• Steps to follow in creating your optimization application:
(c) 2018 by Michael Mina 7
Design Build Run
1. Determine which
segmentation
scheme to use
2. Determine your what
set of possible
decisions will be
3. Determine your
optimization-
relevant KPIs (key
performance
indicators)
4. Create your
application in Excel
using the above
information
5. Create a separate
optimization section
6. Load the Solver add-
in
7. Determine your
objectives and
constraints, and the
constraint values
8. Determine the type
of optimization you
should use
9. Configure Solver
10. Run the optimization
Design
Step 1: Determine which segmentation scheme to use
• Your segmentation scheme can be developed rigorously (e.g., with cluster analysis) or intuitively (e.g.,
using variables already known to affect your objectives).
• For our example, we have m=12 segments based on age bands (18-44, 45-64, 65+), likelihood to
respond (High Resp, Low Resp), and expected sales given a response (High Sales, Low Sales).
• The likelihood to respond, as well as the expected sales given a response, could be based on
previous campaign results, model scores, etc.
• We have 12 segments because 3 age bands x 2 response bands x 2 sales bands = 12
(c) 2018 by Michael Mina 9
Segment Age band
Response
band
Sales band
1 65+ High Resp High sales
2 65+ High Resp Low sales
3 65+ Low Resp High sales
4 65+ Low Resp Low sales
5 45-64 High Resp High sales
6 45-64 High Resp Low sales
7 45-64 Low Resp High sales
8 45-64 Low Resp Low sales
9 18-44 High Resp High sales
10 18-44 High Resp Low sales
11 18-44 Low Resp High sales
12 18-44 Low Resp Low sales
Step 1: Determine which segmentation scheme to use (cont'd)
Why segmentation and not personalization?
• The cost of personalization often outweighs the benefits
• In some organizations, a compliance team is required to independently
recreate some of the marketing data, including the decision made by
the optimization process. Having optimization decisions based on
individual customer characteristics rather than segment-level
characteristics can make this infeasible.
• In one specific case, "the authors clustered customers based on their
response parameters and then optimized for each segment." They
concluded that "the value of the 2 percent improvement over
segment-level customization must be traded off against the effort
needed to develop individual-level policies." – Advanced Database
Marketing: Innovative Methodologies and Applications for Managing
Customer Relationships by Koen W. De Bock et al
• "The principle of 'segment of one' is certainly possible in the longer
term, however, the technologies available to deliver the experience
will need to play catch-up with the technologies and data currently
available to analyze it." – Personas vs. Segments – What’s the Story?
by Ian Williams
• To rapidly develop optimization applications with the approach outlined in
this presentation, segmentation is necessary to control computational
complexity.
• Personalized decisions for a large customer base are likely beyond the
scope of what we can achieve with this methodology.
(c) 2018 by Michael Mina 10
Market
Segmentation
Behavioral
Geographic
Psycho-
graphic
Demo-
graphic
Step 1: Determine which segmentation scheme to use (cont'd)
Why segmentation and not personalization? (cont'd)
• If some of the KPIs you want to optimize or constrain upon are incremental, then they may be calculated at
the segment level anyway.
• For example, we have no way of knowing how an individual customer might have acted if treated or not,
since they were either treated, or not treated.
• To estimate this for a given KPI, we can calculate the average of the KPI for treated (i.e., test)
customers within segment, and the average of the KPI for not treated (i.e., control) customers
within segment, and use the difference as the estimated effect of the treatment on that KPI for
each customer in that segment.
• For this estimate to be meaningful, you need large numbers of accounts that all have the same
independent variable values to be treated in the same manner so that you can compare them to
another group (e.g., Test vs Control, A/B testing, multivariate testing).
• In the case of A/B testing, within each segment, we can use the average of the KPI for those receiving
treatment A, minus the average of the KPI for those receiving treatment B.
• In either case, this incremental value can be imputed to individual customers in the same segment, but
all customers in the segment used for the incremental calculation will end up having the same value for
that incremental KPI. Consequently, the advantages of personalization are reduced.
(c) 2018 by Michael Mina 11
Image from https://www.invespcro.com/blog/what-is-ab-testing-split-testing/
Step 2: Determine your what set of possible decisions will be
• For our example, we have n=1 decision to make per segment, and that is the proportion of customers to
contact in each segment.
• This is a relatively small optimization with 12 decisions overall (m x n = 12).
• Our decisions could have been the proportion of customers to contact with catalog 1 vs catalog 2, which
would have made n=2 decisions per segment, and 24 decisions overall.
• Clearly indicate quantities that will be set by the optimization process itself rather than by you (e.g.,
shade them in yellow), even though you will default them to an initial value (e.g., 100%).
(c) 2018 by Michael Mina 12
Segment Age band
Response
band
Sales band % to contact
1 65+ High Resp High sales 100%
2 65+ High Resp Low sales 100%
3 65+ Low Resp High sales 100%
4 65+ Low Resp Low sales 100%
5 45-64 High Resp High sales 100%
6 45-64 High Resp Low sales 100%
7 45-64 Low Resp High sales 100%
8 45-64 Low Resp Low sales 100%
9 18-44 High Resp High sales 100%
10 18-44 High Resp Low sales 100%
11 18-44 Low Resp High sales 100%
12 18-44 Low Resp Low sales 100%
Step 3: Determine your optimization-relevant KPIs
• Our optimization-relevant KPIs will include:
• Maximum customer count
• Contacted customer count
• Response rate
• Number of Responders
• Avg Sales per responder
• Avg Sales per catalog
• Sales amount
• Avg profit per responder from sales (excl marketing costs)
• Profit from sales
• Marketing costs
• Profit from marketing campaign
• Avg profit per responder (net of marketing costs)
• Avg profit per catalog (net of marketing costs)
• In practice, you might not know all of these before you start application development, but Excel is
flexible enough that you can generally add new KPIs during development.
(c) 2018 by Michael Mina 13
Build
Step 4: Create your application in Excel using the above information
Why Excel + Solver instead of more advanced software?
• Many analysts have used Excel for years, and are very familiar with it
• They are accustomed to the intuitive user interface.
• A custom-developed user interface may require additional time and training for application users,
and it's not clear that the end result would be superior to Excel from a user perspective.
• Excel usually provides sufficient scalability
• Admittedly, the term "scalable" is not often associated with Excel. However . . .
• If your number of segments (m) and possible decisions per segment (n) result in a total number
of decisions that is not too large (m x n), then this can be managed by Excel. I try to keep m x n <
175. Larger than 175 might work – it depends in part on the total number of calculations
involved, which has some correlation to m x n.
• Segmentation helps manage scalability, which would normally be an issue for Excel.
• Having 1MM customers divided into 20 segments does not necessarily mean that 10MM
customers must be divided into 200 segments.
• Depending on the mean and variance of optimization-relevant KPIs within each segment, it’s
possible that you can still use the same 20 segments for those 10MM customers, or maybe
only require 10 more.
(c) 2018 by Michael Mina 15
Step 4: Create your application in Excel using the above information
(cont'd)
Why Excel + Solver instead of more advanced software? (cont'd)
• Shorter development/implementation time, and Lower total cost of ownership
• There are optimization products on the market (e.g., SAS Marketing Optimization, Experian
Marketswitch Optimization, IBM Decision Optimization Center). However, they can be cost-
prohibitive and labor-intensive to purchase, implement, and maintain, and may require additional
physical and data infrastructure.
• In addition, developing your own optimization application with more advanced software (e.g. SAS)
can require a high level of expertise and long development time depending on the complexity of
the business being modeled, and whether or not a graphical user interface is needed.
(c) 2018 by Michael Mina 16
vs.
vs.1 week 6+ months
Step 4: Create your application in Excel using the above information
(cont'd)
• Clearly indicate quantities that will be set by you, or as part of the optimization process (e.g., shade in
yellow), less frequently changed parameters you set (e.g., shade in blue), formulas or quantities that
shouldn't change (e.g., keep unshaded), and unfavorable results (e.g., red conditional formatting).
• The first 4 columns ("Segment" thru "Sales band") are the segmentation scheme
• "Maximum customer count" is based on the actual or modeled distribution of customers by segment
• "% to contact" will be set by the optimization process, but is defaulted to 100% to facilitate verification
of the downstream calculations
• "Contacted customer count" is based on the actual or modeled distribution of customers by segment,
equal to "Maximum customer count" x "% to contact"
• "Response rate" and "Avg Sales per Responder" can be based on past experience, models (whether
segment level, or account level then averaged by segment), etc.
• In general, if the KPI can be determined on an individual basis, we use the mean of all individuals
within the segment as the value for each segment.
• Ideally you’ll want to verify that the variance within each segment is acceptable.
(c) 2018 by Michael Mina 17
CPP = 1.25$
Segment Age band
Response
band
Sales band % to contact
Maximum
customer
count
Contacted
customer
count
Response
rate
Resp-
onders
Avg Sales
per
responder
Avg Sales
per
catalog
Sales
amount
Avg profit per
responder
from sales
(excl
marketing
costs)
Profit
from sales
Marketing
costs
Profit from
marketing
campaign
Avg profit per
responder
(net of
marketing
costs)
Avg profit
per catalog
(net of
marketing
costs)
1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$
2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$
3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$
4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$
5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$
6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$
7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$
8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$
9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$
10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$
11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$
12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$
Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
Step 4: Create your application in Excel using the above information
(cont'd) – A closer look
(c) 2018 by Michael Mina 18
Segment Age band
Response
band
Sales band % to contact
Maximum
customer
count
Contacted
customer
count
Response
rate
Resp-
onders
Avg Sales
per
responder
1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$
2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$
3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$
4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$
5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$
6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$
7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$
8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$
9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$
10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$
11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$
12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$
Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ CPP = 1.25$
Avg Sales
per
catalog
Sales
amount
Avg profit per
responder
from sales
(excl
marketing
costs)
Profit
from sales
Marketing
costs
Profit from
marketing
campaign
Avg profit per
responder
(net of
marketing
costs)
Avg profit
per catalog
(net of
marketing
costs)
8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$
3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$
2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$
0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$
17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$
8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$
8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$
2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$
8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$
2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$
3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$
0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$
3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
Left half
Right half
Step 4: Create your application in Excel using the above information
(cont'd)
• "Responders" = "Contacted customer count" x "Response rate"
• "Avg Sales per catalog" = "Response rate" x "Avg Sales per responder"
• "Sales amount" = "Responders" x "Avg Sales per responder" (it also equals "Contacted customer count" x
"Avg Sales per catalog")
• "Avg profit per responder from sales (excl marketing costs)" can be based on past experience, models
(whether segment level, or account level then averaged by segment), etc.
• "Profit from sales" = "Avg profit per responder from sales (excl marketing costs)" x "Responders"
• "Marketing costs" = – "CPP" x "Contacted customer count"
• "Profit from marketing campaign" = "Profit from sales" + "Marketing costs"
• "Avg profit per responder (net of marketing costs)" = "Profit from marketing campaign" / "Responders" (0 if
"Responders" = 0)
• "Avg profit per catalog (net of marketing costs)" = "Profit from marketing campaign" / "Contacted customer
count" (0 if "Contacted customer count"=0)
• Notice that if we contacted 100% of all eligible customers, we would expect to lose $475K.
(c) 2018 by Michael Mina 19
CPP = 1.25$
Segment Age band
Response
band
Sales band % to contact
Maximum
customer
count
Contacted
customer
count
Response
rate
Resp-
onders
Avg Sales
per
responder
Avg Sales
per
catalog
Sales
amount
Avg profit per
responder
from sales
(excl
marketing
costs)
Profit
from sales
Marketing
costs
Profit from
marketing
campaign
Avg profit per
responder
(net of
marketing
costs)
Avg profit
per catalog
(net of
marketing
costs)
1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$
2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$
3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$
4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$
5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$
6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$
7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$
8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$
9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$
10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$
11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$
12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$
Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
Step 5: Create a separate optimization section
• Collecting the objectives and constraints to be used in the optimization into
a dedicated location ("the optimization section") makes usage of the
application much more convenient.
• The optimization section must be on the same sheet as the values to be set
by the optimization.
• i.e., the objective, constraints, and decisions need to be on the same
sheet.
• If you prefer the optimization section to be on a separate sheet, you
can do so, and have the above calculation section read in the decision
values (i.e., have the 12 values of "% to contact" be on the same sheet
as the optimization section, and have the above "% to contact" simply
refer to those values.
(c) 2018 by Michael Mina 20
The comparison criterion symbols
and desired values in the
optimization section do nothing at
this time. They will be used when
we configure Solver
(to be discussed below)
CPP = 1.25$
Segment Age band
Response
band
Sales band % to contact
Maximum
customer
count
Contacted
customer
count
Response
rate
Resp-
onders
Avg Sales
per
responder
Avg Sales
per
catalog
Sales
amount
Avg profit per
responder
from sales
(excl
marketing
costs)
Profit
from sales
Marketing
costs
Profit from
marketing
campaign
Avg profit per
responder
(net of
marketing
costs)
Avg profit
per catalog
(net of
marketing
costs)
1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$
2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$
3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$
4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$
5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$
6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$
7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$
8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$
9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$
10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$
11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$
12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$
Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
Objective: Maximize campaign profit (474,718)$
Subject to these constraints
Constraint name
Actual
value
Comparison
criterion
Desired
value
Marketing costs 1,250,000$ <= 1,000,000$
Segment 1 % 100% <= 100%
Segment 2 % 100% <= 100%
Segment 3 % 100% <= 100%
Segment 4 % 100% <= 100%
Segment 5 % 100% <= 100%
Segment 6 % 100% <= 100%
Segment 7 % 100% <= 100%
Segment 8 % 100% <= 100%
Segment 9 % 100% <= 100%
Segment 10 % 100% <= 100%
Segment 11 % 100% <= 100%
Segment 12 % 100% <= 100%
Sales amount 2,997,306$ >= 2,500,000$
Profit from campaign (474,718)$ >= -$
Optimization section
CPP = 1.25$
Segment Age band
Response
band
Sales band % to contact
Maximum
customer
count
Contacted
customer
count
Response
rate
Resp-
onders
Avg Sales
per
responder
Avg Sales
per
catalog
Sales
amount
Avg profit per
responder
from sales
(excl
marketing
costs)
Profit
from sales
Marketing
costs
Profit from
marketing
campaign
Avg profit per
responder
(net of
marketing
costs)
Avg profit
per catalog
(net of
marketing
costs)
1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$
2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$
3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$
4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$
5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$
6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$
7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$
8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$
9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$
10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$
11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$
12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$
Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
Objective: Maximize campaign profit (474,718)$
Subject to these constraints
Constraint name
Actual
value
Comparison
criterion
Desired
value
Marketing costs 1,250,000$ <= 1,000,000$
Segment 1 % 100% <= 100%
Segment 2 % 100% <= 100%
Segment 3 % 100% <= 100%
Segment 4 % 100% <= 100%
Segment 5 % 100% <= 100%
Segment 6 % 100% <= 100%
Segment 7 % 100% <= 100%
Segment 8 % 100% <= 100%
Segment 9 % 100% <= 100%
Segment 10 % 100% <= 100%
Segment 11 % 100% <= 100%
Segment 12 % 100% <= 100%
Sales amount 2,997,306$ >= 2,500,000$
Profit from campaign (474,718)$ >= -$
Optimization section
Step 5: Create a separate optimization section (cont'd)
• The optimization section should be viewed as dynamic
rather than static. Frequent changes to this section are
likely as the application is used more often and its
versatility becomes more widely known.
• In this example, our initial set up is an objective that
maximizes campaign profit, and constraints on the
decisions, marketing costs, sales amount, and overall
campaign profit
• The objectives and constraints in your optimization section
should reference the calculations and defaulted decisions
from the section above.
(c) 2018 by Michael Mina 21
The comparison criterion symbols
and desired values in the
optimization section do nothing at
this time. They will be used when
we configure Solver
(to be discussed below)
Step 6: Load the Solver add-in
These instructions apply to Excel 2016 for Windows 10.
1. From the Excel menu select File > Options.
2. Click "Add-ins", and set "Manage" to "Excel Add-ins", then
click "Go".
3. Check the box next to "Solver Add-in", then click "OK". If for
some reason it doesn't appear in the list, click on "Browse"
to find it.
4. Upon completion, the Solver command should appear in the
Analysis group in the Data tab. You can launch it when
needed by clicking Solver.
(c) 2018 by Michael Mina 22
2
2
3
4
Run
Step 7: Determine your objectives and constraints, and the constraint
values
• In Step 5: Create a separate optimization section, we
created an initial optimization layout where we made
some assumptions as to what we might want as our
objective, and constraints.
• In this step, we confirm the work we previously did,
and decide what specific values we want as
constraints.
• If the objective and/or the constraints are not in this
section, they need to be added at this time.
• For our first optimization scenario (optimization
scenario 1), we are asked to maximize campaign profit
subject to the constraints that
• Marketing costs <= $750K
• Sales amount >= $2MM
• Profit from campaign >= 0
• We need constraints on the percentage in each
segment to ensure that the optimization doesn't result
in telling us to mail 214% of segment 5, for example.
• The "Profit from campaign >= 0" constraint might seem
unnecessary in that we are maximizing profit, and we
can observe the maximum profit obtainable and
determine if it is greater than zero or not. By making it
a constraint, we ensure that failing to meet that
constraint will cause the optimization to fail (i.e., this is
a form of error messaging).
(c) 2018 by Michael Mina 24
Optimization section
Objective: Maximize campaign profit (474,718)$
Subject to these constraints
Constraint name
Actual
value
Comparison
criterion
Desired
value
Marketing costs 1,250,000$ <= 750,000$
Segment 1 % 100% <= 100%
Segment 2 % 100% <= 100%
Segment 3 % 100% <= 100%
Segment 4 % 100% <= 100%
Segment 5 % 100% <= 100%
Segment 6 % 100% <= 100%
Segment 7 % 100% <= 100%
Segment 8 % 100% <= 100%
Segment 9 % 100% <= 100%
Segment 10 % 100% <= 100%
Segment 11 % 100% <= 100%
Segment 12 % 100% <= 100%
Sales amount 2,997,306$ >= 2,000,000$
Profit from campaign (474,718)$ >= -$
Step 8: Determine the type of optimization you should use
• Excel Solver supports 3 types of optimization solving methods:
• GRG Nonlinear (GRG = Generalized Reduced Gradient)
• Simplex LP (LP = Linear programming)
• Evolutionary
• Our problem is linear, so we'll use Simplex LP.
• If you're not sure if you can use Simplex LP, try it. If you can't
use it, you'll get an error message when you run Solver (see
right).
• See Appendix for "Optimization types supported by Excel
Solver"
(c) 2018 by Michael Mina 25
CPP = 1.25$
Segment Age band
Response
band
Sales band % to contact
Maximum
customer
count
Contacted
customer
count
Response
rate
Responders
Avg Sales
per
responder
Avg Sales per
catalog
Sales amount
Avg profit per
responder from
sales (excl
marketing costs)
Profit from
sales
Marketing costs
Profit from
marketing
campaign
Avg profit per
responder
(net of
marketing
costs)
Avg profit per
catalog
(net of
marketing
costs)
1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$
2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$
3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$
4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$
5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$
6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$
7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$
8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$
9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$
10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$
11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$
12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$
Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
Optimization section
Objective: Maximize campaign profit (474,718)$
Subject to these constraints
Constraint name
Actual
value
Comparison
criterion
Desired
value
Marketing costs 1,250,000$ <= 1,000,000$
Segment 1 % 100% <= 100%
Segment 2 % 100% <= 100%
Segment 3 % 100% <= 100%
Segment 4 % 100% <= 100%
Segment 5 % 100% <= 100%
Segment 6 % 100% <= 100%
Segment 7 % 100% <= 100%
Segment 8 % 100% <= 100%
Segment 9 % 100% <= 100%
Segment 10 % 100% <= 100%
Segment 11 % 100% <= 100%
Segment 12 % 100% <= 100%
Sales amount 2,997,306$ >= 2,500,000$
Profit from campaign (474,718)$ >= -$
Step 9: Configure Solver
(c) 2018 by Michael Mina 26
1. Launch Solver. Make Set Objective
point to the objective in your
optimization section, and set to Max.
2. For "By changing Variable Cells",
select the "% to contact" values.
3. Click on "Add" to add constraints. This
is done most conveniently if all the
"less than" constraints are adjacent to
each other, all the "greater than"
constraints adjacent to each other,
etc. We need to do this twice - once
for each range of constraints (<=, >=).
4. Check "Make Unconstrained Variables
Non-Negative".
5. Select "Simplex LP" as your solving
method.
6. To run the optimization, click "Solve".
1
1
3
3
4
5
6
2
2
Step 10: Run the optimization
Optimization scenario 1 Optimization scenario 2
Maximize campaign profit while keeping sales at or over
$2MM, marketing costs at or under $750K, and profit at or
over $0.
We have a larger marketing budget than in scenario 1, but
sales expectations are higher. Maximize campaign profit
while keeping sales at or over $2.5MM, marketing costs at
or under $1MM, and profit at or over $0.
Result
Mail all customers in segments 1-2 and 5-7, and 64% of
customers in segment 11, and no one else. Expectations are
that sales will be $2MM, marketing costs will be $315K, and
expected profit will be $205K.
Result
Mail all customers in segments 1-3, 5-7, 9-11, and 44% of
customers in segment 8, and no one else. Expectations are
that sales will be $2.5MM, marketing costs will be $566K,
and expected profit will be $85K. As compared to scenario 1,
we bought more business (i.e., we accepted lower profits in
favor of sales growth).
(c) 2018 by Michael Mina 27
Objective: Maximize campaign profit 204,755$
Subject to these constraints
Constraint name
Actual
value
Comparison
criterion
Desired
value
Marketing costs 314,806$ <= 750,000$
Segment 1 % 100% <= 100%
Segment 2 % 100% <= 100%
Segment 3 % 0% <= 100%
Segment 4 % 0% <= 100%
Segment 5 % 100% <= 100%
Segment 6 % 100% <= 100%
Segment 7 % 100% <= 100%
Segment 8 % 0% <= 100%
Segment 9 % 100% <= 100%
Segment 10 % 0% <= 100%
Segment 11 % 64% <= 100%
Segment 12 % 0% <= 100%
Sales amount 2,000,000$ >= 2,000,000$
Profit from campaign 204,755$ >= -$
Optimization section
Objective: Maximize campaign profit 84,729$
Subject to these constraints
Constraint name
Actual
value
Comparison
criterion
Desired
value
Marketing costs 565,680$ <= 1,000,000$
Segment 1 % 100% <= 100%
Segment 2 % 100% <= 100%
Segment 3 % 100% <= 100%
Segment 4 % 0% <= 100%
Segment 5 % 100% <= 100%
Segment 6 % 100% <= 100%
Segment 7 % 100% <= 100%
Segment 8 % 44% <= 100%
Segment 9 % 100% <= 100%
Segment 10 % 100% <= 100%
Segment 11 % 100% <= 100%
Segment 12 % 0% <= 100%
Sales amount 2,500,000$ >= 2,500,000$
Profit from campaign 84,729$ >= -$
Optimization section
Dealing with challenges you may face
Obtaining stakeholder buy-in
• Some stakeholders may believe that Excel is unsuited to this task.
• In those cases, building a simple proof of concept model can be useful in winning them over.
Maintaining proper versioning
• Versioning can be a challenge with Excel applications.
• Managing version numbers and ensuring that improvements are not made to the wrong version
requires extra attention.
• Possible solutions include:
• Using Save As, and saving the file name with a version related suffix (e.g., opt_app_v2.4.xlsx)
• Using special software to manage file versioning
Thank you
(c) 2018 by Michael Mina 28
Acknowledgements
The author thanks all those who helped organize the 2018 Advanced Research Techniques
(ART) Forum, including the planning committee of Greg Allenby, Jeff Dotson, and Elea Feit for
accepting his presentation, with special thanks to Elea Feit for her assistance in editing this
presentation.
Author information
Michael Mina is a Vice President in the Retail Lending Decision Management department at
PNC Financial Services. In addition to banking, he has experience in consulting, insurance,
healthcare management, benefit services, and academia. He was a presenter at the 2009
Midwest SAS Users Group (MWSUG) Conference and the 2018 Ohio SAS Users Conference.
He is also a writer of science fiction, fantasy and horror whose work has won awards, and has
been published in a number of magazines.
Questions and comments can be sent to:
Michael Mina
Email: michael.mina@att.net
Website: http://michaelmina.info
LinkedIn: https://www.linkedin.com/in/michaelmina/
(c) 2018 by Michael Mina 29
Appendix
Optimization types supported by Excel Solver
• Excel Solver supports 3 types of optimization solving methods:
• GRG Nonlinear (GRG = Generalized Reduced Gradient)
• Simplex LP (LP = Linear programming)
• Evolutionary
• How do you choose? From https://www.solver.com/excel-
solver-what-solver-can-and-cannot-do :
• "If your objective and constraints are linear functions of
the decision variables, you can be confident of finding a
globally optimal solution reasonably quickly…. The Simplex
LP Solving method is designed for these problems."
• "If your objective and constraints are smooth nonlinear
functions of the decision variables…. The GRG Nonlinear
Solving method is designed for these problems."
• "If your objective and constraints are non-smooth and non-
convex functions of the decision variables (for example if
you use IF, CHOOSE and LOOKUP functions whose
arguments depend on decision variables), the best you can
hope for is a “good” solution (better than the initial values
of the variables)…. The Evolutionary Solving method is
designed for these problems."
• For additional details, also see "Excel Solver: Which Solving
Method Should I Choose?" at
http://www.engineerexcel.com/excel-solver-solving-method-
choose/
(c) 2018 by Michael Mina 31

More Related Content

What's hot

Wayfair's Data Science Team and Case Study: Uplift Modeling
Wayfair's Data Science Team and Case Study: Uplift ModelingWayfair's Data Science Team and Case Study: Uplift Modeling
Wayfair's Data Science Team and Case Study: Uplift ModelingPatricia Stichnoth
 
Introduction to Uplift Modelling
Introduction to Uplift ModellingIntroduction to Uplift Modelling
Introduction to Uplift ModellingPierre Gutierrez
 
Introduction to Random Forest
Introduction to Random Forest Introduction to Random Forest
Introduction to Random Forest Rupak Roy
 
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...Edureka!
 
Machine learning session5(logistic regression)
Machine learning   session5(logistic regression)Machine learning   session5(logistic regression)
Machine learning session5(logistic regression)Abhimanyu Dwivedi
 
Xgboost: A Scalable Tree Boosting System - Explained
Xgboost: A Scalable Tree Boosting System - ExplainedXgboost: A Scalable Tree Boosting System - Explained
Xgboost: A Scalable Tree Boosting System - ExplainedSimon Lia-Jonassen
 
Customer Clustering For Retail Marketing
Customer Clustering For Retail MarketingCustomer Clustering For Retail Marketing
Customer Clustering For Retail MarketingJonathan Sedar
 
Decision Tree and Bayesian Classification
Decision Tree and Bayesian ClassificationDecision Tree and Bayesian Classification
Decision Tree and Bayesian ClassificationKomal Kotak
 
Insurance risk pricing with XGBoost
Insurance risk pricing with XGBoostInsurance risk pricing with XGBoost
Insurance risk pricing with XGBoostMatthew Evans
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmJari Abbas
 
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...Jinwon Lee
 
Linear Regression With R
Linear Regression With RLinear Regression With R
Linear Regression With REdureka!
 
Genetic algorithm ppt
Genetic algorithm pptGenetic algorithm ppt
Genetic algorithm pptMayank Jain
 
A review of net lift models
A review of net lift modelsA review of net lift models
A review of net lift modelsZixia Wang
 
ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...
ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...
ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...Ajay Kumar
 
Introduction to Genetic algorithms
Introduction to Genetic algorithmsIntroduction to Genetic algorithms
Introduction to Genetic algorithmsAkhil Kaushik
 
Introduction to XGBoost
Introduction to XGBoostIntroduction to XGBoost
Introduction to XGBoostJoonyoung Yi
 

What's hot (20)

Wayfair's Data Science Team and Case Study: Uplift Modeling
Wayfair's Data Science Team and Case Study: Uplift ModelingWayfair's Data Science Team and Case Study: Uplift Modeling
Wayfair's Data Science Team and Case Study: Uplift Modeling
 
Introduction to Uplift Modelling
Introduction to Uplift ModellingIntroduction to Uplift Modelling
Introduction to Uplift Modelling
 
Introduction to Random Forest
Introduction to Random Forest Introduction to Random Forest
Introduction to Random Forest
 
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
 
Machine learning session5(logistic regression)
Machine learning   session5(logistic regression)Machine learning   session5(logistic regression)
Machine learning session5(logistic regression)
 
Xgboost: A Scalable Tree Boosting System - Explained
Xgboost: A Scalable Tree Boosting System - ExplainedXgboost: A Scalable Tree Boosting System - Explained
Xgboost: A Scalable Tree Boosting System - Explained
 
Customer Clustering For Retail Marketing
Customer Clustering For Retail MarketingCustomer Clustering For Retail Marketing
Customer Clustering For Retail Marketing
 
Decision Tree and Bayesian Classification
Decision Tree and Bayesian ClassificationDecision Tree and Bayesian Classification
Decision Tree and Bayesian Classification
 
Metaheuristics
MetaheuristicsMetaheuristics
Metaheuristics
 
Insurance risk pricing with XGBoost
Insurance risk pricing with XGBoostInsurance risk pricing with XGBoost
Insurance risk pricing with XGBoost
 
Confusion Matrix Explained
Confusion Matrix ExplainedConfusion Matrix Explained
Confusion Matrix Explained
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
 
Linear Regression With R
Linear Regression With RLinear Regression With R
Linear Regression With R
 
Firefly algorithm
Firefly algorithmFirefly algorithm
Firefly algorithm
 
Genetic algorithm ppt
Genetic algorithm pptGenetic algorithm ppt
Genetic algorithm ppt
 
A review of net lift models
A review of net lift modelsA review of net lift models
A review of net lift models
 
ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...
ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...
ADVANCED OPTIMIZATION TECHNIQUES META-HEURISTIC ALGORITHMS FOR ENGINEERING AP...
 
Introduction to Genetic algorithms
Introduction to Genetic algorithmsIntroduction to Genetic algorithms
Introduction to Genetic algorithms
 
Introduction to XGBoost
Introduction to XGBoostIntroduction to XGBoost
Introduction to XGBoost
 

Similar to Rapid Optimization Application Development Using Excel and Solver

Database Marketing, part two: data enhancement, analytics, and attribution
Database Marketing, part two: data enhancement, analytics, and attribution Database Marketing, part two: data enhancement, analytics, and attribution
Database Marketing, part two: data enhancement, analytics, and attribution Relevate
 
Unit I-Final MArketing analytics unit 1 ppt
Unit I-Final MArketing analytics unit 1 pptUnit I-Final MArketing analytics unit 1 ppt
Unit I-Final MArketing analytics unit 1 pptPriyadharshiniG41
 
Hero Conf London 2018 - Frameworks for Insights and Impact
Hero Conf London 2018 - Frameworks for Insights and ImpactHero Conf London 2018 - Frameworks for Insights and Impact
Hero Conf London 2018 - Frameworks for Insights and ImpactWijnand Meijer
 
OM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhh
OM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhhOM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhh
OM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhhrammanoharjharupnaga
 
Business summary template_2015
Business summary template_2015Business summary template_2015
Business summary template_2015a9653217 asd
 
Ctinaaworkkotakprojectsproject
CtinaaworkkotakprojectsprojectCtinaaworkkotakprojectsproject
CtinaaworkkotakprojectsprojectMike Grabill, PMP
 
HWZ-Darden Konferenz: Building a Sustainable Analytics Orientation
HWZ-Darden Konferenz: Building a Sustainable Analytics OrientationHWZ-Darden Konferenz: Building a Sustainable Analytics Orientation
HWZ-Darden Konferenz: Building a Sustainable Analytics OrientationHWZ Hochschule für Wirtschaft
 
Business case development workshop october 2019
Business case development workshop   october 2019Business case development workshop   october 2019
Business case development workshop october 2019Ben Carroll
 
Recency/Frequency and Predictive Analytics in the gaming industry
Recency/Frequency and Predictive Analytics in the gaming industryRecency/Frequency and Predictive Analytics in the gaming industry
Recency/Frequency and Predictive Analytics in the gaming industryQualex Asia
 
How We Reorganized Our Entire Post-Sales Organization
How We Reorganized Our Entire Post-Sales OrganizationHow We Reorganized Our Entire Post-Sales Organization
How We Reorganized Our Entire Post-Sales OrganizationGainsight
 
Step by Step Guide to Revenue Growth
Step by Step Guide to Revenue GrowthStep by Step Guide to Revenue Growth
Step by Step Guide to Revenue Growthsaastr
 
E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...
E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...
E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...E-Commerce Berlin EXPO
 
Making Better Joe Kilbride, Kilbride Consulting, Inc. Exce.docx
Making Better  Joe Kilbride, Kilbride Consulting, Inc. Exce.docxMaking Better  Joe Kilbride, Kilbride Consulting, Inc. Exce.docx
Making Better Joe Kilbride, Kilbride Consulting, Inc. Exce.docxsmile790243
 
Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...
Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...
Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...Gainsight
 

Similar to Rapid Optimization Application Development Using Excel and Solver (20)

Database Marketing, part two: data enhancement, analytics, and attribution
Database Marketing, part two: data enhancement, analytics, and attribution Database Marketing, part two: data enhancement, analytics, and attribution
Database Marketing, part two: data enhancement, analytics, and attribution
 
Unit I-Final MArketing analytics unit 1 ppt
Unit I-Final MArketing analytics unit 1 pptUnit I-Final MArketing analytics unit 1 ppt
Unit I-Final MArketing analytics unit 1 ppt
 
Marketing strategy
Marketing strategyMarketing strategy
Marketing strategy
 
Hero Conf London 2018 - Frameworks for Insights and Impact
Hero Conf London 2018 - Frameworks for Insights and ImpactHero Conf London 2018 - Frameworks for Insights and Impact
Hero Conf London 2018 - Frameworks for Insights and Impact
 
OM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhh
OM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhhOM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhh
OM2_Lecture 11vvvhhbbjjbjdjjeebjrhvhuuhh
 
Sdm 2.1
Sdm 2.1Sdm 2.1
Sdm 2.1
 
Product Strategy Case Study
Product Strategy Case StudyProduct Strategy Case Study
Product Strategy Case Study
 
Business summary template_2015
Business summary template_2015Business summary template_2015
Business summary template_2015
 
Ctinaaworkkotakprojectsproject
CtinaaworkkotakprojectsprojectCtinaaworkkotakprojectsproject
Ctinaaworkkotakprojectsproject
 
Project Ex
Project ExProject Ex
Project Ex
 
HWZ-Darden Konferenz: Building a Sustainable Analytics Orientation
HWZ-Darden Konferenz: Building a Sustainable Analytics OrientationHWZ-Darden Konferenz: Building a Sustainable Analytics Orientation
HWZ-Darden Konferenz: Building a Sustainable Analytics Orientation
 
Business case development workshop october 2019
Business case development workshop   october 2019Business case development workshop   october 2019
Business case development workshop october 2019
 
Recency/Frequency and Predictive Analytics in the gaming industry
Recency/Frequency and Predictive Analytics in the gaming industryRecency/Frequency and Predictive Analytics in the gaming industry
Recency/Frequency and Predictive Analytics in the gaming industry
 
GTM Masterclass Deck
GTM Masterclass DeckGTM Masterclass Deck
GTM Masterclass Deck
 
How We Reorganized Our Entire Post-Sales Organization
How We Reorganized Our Entire Post-Sales OrganizationHow We Reorganized Our Entire Post-Sales Organization
How We Reorganized Our Entire Post-Sales Organization
 
Step by Step Guide to Revenue Growth
Step by Step Guide to Revenue GrowthStep by Step Guide to Revenue Growth
Step by Step Guide to Revenue Growth
 
OE -2013.ppt
OE -2013.pptOE -2013.ppt
OE -2013.ppt
 
E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...
E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...
E-commerce Berlin Expo 2018 - How to boost your online sales using machine le...
 
Making Better Joe Kilbride, Kilbride Consulting, Inc. Exce.docx
Making Better  Joe Kilbride, Kilbride Consulting, Inc. Exce.docxMaking Better  Joe Kilbride, Kilbride Consulting, Inc. Exce.docx
Making Better Joe Kilbride, Kilbride Consulting, Inc. Exce.docx
 
Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...
Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...
Inside Gainsight’s New Post-Sales Structure: Reorganizing the Team to Drive C...
 

Recently uploaded

代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceSapana Sha
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAbdelrhman abooda
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 

Recently uploaded (20)

E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts Service
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 

Rapid Optimization Application Development Using Excel and Solver

  • 1. Rapid Optimization Application Development Using Excel and Solver Michael Mina 2018 Advanced Research Techniques (ART) Forum American Marketing Association June 21, 2018 | Columbus, OH
  • 2. Overview • Marketing optimization is the process of determining how to allocate marketing dollars in order to achieve specific goals (e.g., maximize profit), subject to certain constraints (e.g., a fixed marketing budget). This often takes the form of using mathematical techniques to determine who to target, through which channel, and with what message or offer. • A number of optimization applications are commercially available. However, many of them require changes to data and computational infrastructure that are labor-intensive and cost-prohibitive. This presentation will demonstrate how optimization applications can be developed easily and quickly using Excel combined with Excel Solver, even for large marketing campaigns. • This presentation will discuss how segmentation can be used to reduce the complexity of large optimization problems, and how to quickly develop a simple but effective optimization application using Excel combined with Excel Solver. • This presentation will be of interest to those seeking to optimize marketing campaigns of any size while managing operational and computational complexity. • An electronic copy of this presentation and the Excel worksheet used for optimization are available at tinyurl.com/mina2018artforum (c) 2018 by Michael Mina 2
  • 3. Our hypothetical business case • We are employees of a retailer that is planning a large catalog mailing. • We have 12 customer segments based on age, likelihood to respond, and expected sales given response. This will be reviewed in more detail below. • We are trying to decide how many catalogs to mail to each segment in order to maximize profit, subject to certain constraints that we will specify (e.g., limited marketing budget). • We already know how many customers are in each segment. • We will demonstrate below that it's unprofitable to mail all of our customers, even if our marketing budget allowed it. • The decision to be made is this – determine the percent of each segment that should be mailed that maximizes profit and stays within our constraints. • We will cover three phases of rapid optimization application development: • Design • Build • Run (c) 2018 by Michael Mina 3
  • 4. Our hypothetical business case (cont'd) (c) 2018 by Michael Mina 4 • Catalogs??? Is this business case even relevant? Yes it is! • "Millennials are more interested in catalogs than your grandmother is", by Courtney Reagan, CNBC, 12/21/17 (https://www.cnbc.com/2017/12/21/millennials-are-more- interested-in-catalogs-than-your-grandmother-is.html) • "The old-fashioned mail-order catalog is making a comeback" by Ronald D. White, LA Times, 11/23/17 (http://www.latimes.com/business/la-fi-catalogs-return- 20171123-story.html) • 44.4% of merchants increased catalog circulation in the last year (2017) - "12 Marketing Trends You Should Know in 2018!" by Neil O'Keefe, Data & Marketing Association, 2/22/18 (https://thedma.org/blog/marketing-analytics/12-marketing- trends-you-should-know-in-2018/)
  • 5. • We have detailed info on 1.12MM customers. However, even before optimization, we know we can't contact all of them • Some are on the Do Not Mail registry and should not be contacted • Others we have deemed high risk for various reasons (e.g., too many returns, too many complaints) • We must hold out a 5% control group. • This leaves 1,000,000 customers for the next step. • Note: All data used in this presentation are completely synthetic, and have not been sourced from any real world data. Our hypothetical business case (cont'd) (c) 2018 by Michael Mina 5
  • 6. Brief description of optimization as applied to business Process Inputs (c) 2018 by Michael Mina 6 Actual Decisions • Of the possible decisions, these are the values you have set in order to achieve the objective and satisfy the constraints. • Examples: customer 1 should get offer 1, customer 2 should get no offer, customer 3 should get offer 1 through channel 2, all customers in segment 1 should get offer 5, etc. Objective • What you are trying to accomplish • Examples: maximize profit, maximize sales, etc. • It’s not always about maximizing profit – that’s just one possibility. • Maybe overall, your company already exceeded its profit goals, but is falling short of its sales goals. • It could make sense to buy business – i.e., to accept reduced profit in order to grow sales. Constraints • Limitations on your ability to achieve your objective. • Examples: Limited number of customers to contact, limited marketing budget. Possible decisions • Values which you must decide how to set so that you achieve your objective and satisfy your constraints. • Examples: Deciding which customers to contact to meet your objective and satisfy your constraints. Process Outputs
  • 7. The R(apid) O(ptimization) A(pplication) D(evelopment) MAP • Requirements for rapidly developing an optimization application are: 1. A segmentation scheme, preferably a pre-existing one 2. Values and formulas to calculate objectives and constraints for each segment 3. Microsoft Excel with the Solver add-in • Steps to follow in creating your optimization application: (c) 2018 by Michael Mina 7 Design Build Run 1. Determine which segmentation scheme to use 2. Determine your what set of possible decisions will be 3. Determine your optimization- relevant KPIs (key performance indicators) 4. Create your application in Excel using the above information 5. Create a separate optimization section 6. Load the Solver add- in 7. Determine your objectives and constraints, and the constraint values 8. Determine the type of optimization you should use 9. Configure Solver 10. Run the optimization
  • 9. Step 1: Determine which segmentation scheme to use • Your segmentation scheme can be developed rigorously (e.g., with cluster analysis) or intuitively (e.g., using variables already known to affect your objectives). • For our example, we have m=12 segments based on age bands (18-44, 45-64, 65+), likelihood to respond (High Resp, Low Resp), and expected sales given a response (High Sales, Low Sales). • The likelihood to respond, as well as the expected sales given a response, could be based on previous campaign results, model scores, etc. • We have 12 segments because 3 age bands x 2 response bands x 2 sales bands = 12 (c) 2018 by Michael Mina 9 Segment Age band Response band Sales band 1 65+ High Resp High sales 2 65+ High Resp Low sales 3 65+ Low Resp High sales 4 65+ Low Resp Low sales 5 45-64 High Resp High sales 6 45-64 High Resp Low sales 7 45-64 Low Resp High sales 8 45-64 Low Resp Low sales 9 18-44 High Resp High sales 10 18-44 High Resp Low sales 11 18-44 Low Resp High sales 12 18-44 Low Resp Low sales
  • 10. Step 1: Determine which segmentation scheme to use (cont'd) Why segmentation and not personalization? • The cost of personalization often outweighs the benefits • In some organizations, a compliance team is required to independently recreate some of the marketing data, including the decision made by the optimization process. Having optimization decisions based on individual customer characteristics rather than segment-level characteristics can make this infeasible. • In one specific case, "the authors clustered customers based on their response parameters and then optimized for each segment." They concluded that "the value of the 2 percent improvement over segment-level customization must be traded off against the effort needed to develop individual-level policies." – Advanced Database Marketing: Innovative Methodologies and Applications for Managing Customer Relationships by Koen W. De Bock et al • "The principle of 'segment of one' is certainly possible in the longer term, however, the technologies available to deliver the experience will need to play catch-up with the technologies and data currently available to analyze it." – Personas vs. Segments – What’s the Story? by Ian Williams • To rapidly develop optimization applications with the approach outlined in this presentation, segmentation is necessary to control computational complexity. • Personalized decisions for a large customer base are likely beyond the scope of what we can achieve with this methodology. (c) 2018 by Michael Mina 10 Market Segmentation Behavioral Geographic Psycho- graphic Demo- graphic
  • 11. Step 1: Determine which segmentation scheme to use (cont'd) Why segmentation and not personalization? (cont'd) • If some of the KPIs you want to optimize or constrain upon are incremental, then they may be calculated at the segment level anyway. • For example, we have no way of knowing how an individual customer might have acted if treated or not, since they were either treated, or not treated. • To estimate this for a given KPI, we can calculate the average of the KPI for treated (i.e., test) customers within segment, and the average of the KPI for not treated (i.e., control) customers within segment, and use the difference as the estimated effect of the treatment on that KPI for each customer in that segment. • For this estimate to be meaningful, you need large numbers of accounts that all have the same independent variable values to be treated in the same manner so that you can compare them to another group (e.g., Test vs Control, A/B testing, multivariate testing). • In the case of A/B testing, within each segment, we can use the average of the KPI for those receiving treatment A, minus the average of the KPI for those receiving treatment B. • In either case, this incremental value can be imputed to individual customers in the same segment, but all customers in the segment used for the incremental calculation will end up having the same value for that incremental KPI. Consequently, the advantages of personalization are reduced. (c) 2018 by Michael Mina 11 Image from https://www.invespcro.com/blog/what-is-ab-testing-split-testing/
  • 12. Step 2: Determine your what set of possible decisions will be • For our example, we have n=1 decision to make per segment, and that is the proportion of customers to contact in each segment. • This is a relatively small optimization with 12 decisions overall (m x n = 12). • Our decisions could have been the proportion of customers to contact with catalog 1 vs catalog 2, which would have made n=2 decisions per segment, and 24 decisions overall. • Clearly indicate quantities that will be set by the optimization process itself rather than by you (e.g., shade them in yellow), even though you will default them to an initial value (e.g., 100%). (c) 2018 by Michael Mina 12 Segment Age band Response band Sales band % to contact 1 65+ High Resp High sales 100% 2 65+ High Resp Low sales 100% 3 65+ Low Resp High sales 100% 4 65+ Low Resp Low sales 100% 5 45-64 High Resp High sales 100% 6 45-64 High Resp Low sales 100% 7 45-64 Low Resp High sales 100% 8 45-64 Low Resp Low sales 100% 9 18-44 High Resp High sales 100% 10 18-44 High Resp Low sales 100% 11 18-44 Low Resp High sales 100% 12 18-44 Low Resp Low sales 100%
  • 13. Step 3: Determine your optimization-relevant KPIs • Our optimization-relevant KPIs will include: • Maximum customer count • Contacted customer count • Response rate • Number of Responders • Avg Sales per responder • Avg Sales per catalog • Sales amount • Avg profit per responder from sales (excl marketing costs) • Profit from sales • Marketing costs • Profit from marketing campaign • Avg profit per responder (net of marketing costs) • Avg profit per catalog (net of marketing costs) • In practice, you might not know all of these before you start application development, but Excel is flexible enough that you can generally add new KPIs during development. (c) 2018 by Michael Mina 13
  • 14. Build
  • 15. Step 4: Create your application in Excel using the above information Why Excel + Solver instead of more advanced software? • Many analysts have used Excel for years, and are very familiar with it • They are accustomed to the intuitive user interface. • A custom-developed user interface may require additional time and training for application users, and it's not clear that the end result would be superior to Excel from a user perspective. • Excel usually provides sufficient scalability • Admittedly, the term "scalable" is not often associated with Excel. However . . . • If your number of segments (m) and possible decisions per segment (n) result in a total number of decisions that is not too large (m x n), then this can be managed by Excel. I try to keep m x n < 175. Larger than 175 might work – it depends in part on the total number of calculations involved, which has some correlation to m x n. • Segmentation helps manage scalability, which would normally be an issue for Excel. • Having 1MM customers divided into 20 segments does not necessarily mean that 10MM customers must be divided into 200 segments. • Depending on the mean and variance of optimization-relevant KPIs within each segment, it’s possible that you can still use the same 20 segments for those 10MM customers, or maybe only require 10 more. (c) 2018 by Michael Mina 15
  • 16. Step 4: Create your application in Excel using the above information (cont'd) Why Excel + Solver instead of more advanced software? (cont'd) • Shorter development/implementation time, and Lower total cost of ownership • There are optimization products on the market (e.g., SAS Marketing Optimization, Experian Marketswitch Optimization, IBM Decision Optimization Center). However, they can be cost- prohibitive and labor-intensive to purchase, implement, and maintain, and may require additional physical and data infrastructure. • In addition, developing your own optimization application with more advanced software (e.g. SAS) can require a high level of expertise and long development time depending on the complexity of the business being modeled, and whether or not a graphical user interface is needed. (c) 2018 by Michael Mina 16 vs. vs.1 week 6+ months
  • 17. Step 4: Create your application in Excel using the above information (cont'd) • Clearly indicate quantities that will be set by you, or as part of the optimization process (e.g., shade in yellow), less frequently changed parameters you set (e.g., shade in blue), formulas or quantities that shouldn't change (e.g., keep unshaded), and unfavorable results (e.g., red conditional formatting). • The first 4 columns ("Segment" thru "Sales band") are the segmentation scheme • "Maximum customer count" is based on the actual or modeled distribution of customers by segment • "% to contact" will be set by the optimization process, but is defaulted to 100% to facilitate verification of the downstream calculations • "Contacted customer count" is based on the actual or modeled distribution of customers by segment, equal to "Maximum customer count" x "% to contact" • "Response rate" and "Avg Sales per Responder" can be based on past experience, models (whether segment level, or account level then averaged by segment), etc. • In general, if the KPI can be determined on an individual basis, we use the mean of all individuals within the segment as the value for each segment. • Ideally you’ll want to verify that the variance within each segment is acceptable. (c) 2018 by Michael Mina 17 CPP = 1.25$ Segment Age band Response band Sales band % to contact Maximum customer count Contacted customer count Response rate Resp- onders Avg Sales per responder Avg Sales per catalog Sales amount Avg profit per responder from sales (excl marketing costs) Profit from sales Marketing costs Profit from marketing campaign Avg profit per responder (net of marketing costs) Avg profit per catalog (net of marketing costs) 1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$ 2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$ 3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$ 4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$ 5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$ 6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$ 7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$ 8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$ 9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$ 10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$ 11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$ 12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$ Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
  • 18. Step 4: Create your application in Excel using the above information (cont'd) – A closer look (c) 2018 by Michael Mina 18 Segment Age band Response band Sales band % to contact Maximum customer count Contacted customer count Response rate Resp- onders Avg Sales per responder 1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ CPP = 1.25$ Avg Sales per catalog Sales amount Avg profit per responder from sales (excl marketing costs) Profit from sales Marketing costs Profit from marketing campaign Avg profit per responder (net of marketing costs) Avg profit per catalog (net of marketing costs) 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$ Left half Right half
  • 19. Step 4: Create your application in Excel using the above information (cont'd) • "Responders" = "Contacted customer count" x "Response rate" • "Avg Sales per catalog" = "Response rate" x "Avg Sales per responder" • "Sales amount" = "Responders" x "Avg Sales per responder" (it also equals "Contacted customer count" x "Avg Sales per catalog") • "Avg profit per responder from sales (excl marketing costs)" can be based on past experience, models (whether segment level, or account level then averaged by segment), etc. • "Profit from sales" = "Avg profit per responder from sales (excl marketing costs)" x "Responders" • "Marketing costs" = – "CPP" x "Contacted customer count" • "Profit from marketing campaign" = "Profit from sales" + "Marketing costs" • "Avg profit per responder (net of marketing costs)" = "Profit from marketing campaign" / "Responders" (0 if "Responders" = 0) • "Avg profit per catalog (net of marketing costs)" = "Profit from marketing campaign" / "Contacted customer count" (0 if "Contacted customer count"=0) • Notice that if we contacted 100% of all eligible customers, we would expect to lose $475K. (c) 2018 by Michael Mina 19 CPP = 1.25$ Segment Age band Response band Sales band % to contact Maximum customer count Contacted customer count Response rate Resp- onders Avg Sales per responder Avg Sales per catalog Sales amount Avg profit per responder from sales (excl marketing costs) Profit from sales Marketing costs Profit from marketing campaign Avg profit per responder (net of marketing costs) Avg profit per catalog (net of marketing costs) 1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$ 2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$ 3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$ 4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$ 5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$ 6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$ 7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$ 8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$ 9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$ 10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$ 11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$ 12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$ Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$
  • 20. Step 5: Create a separate optimization section • Collecting the objectives and constraints to be used in the optimization into a dedicated location ("the optimization section") makes usage of the application much more convenient. • The optimization section must be on the same sheet as the values to be set by the optimization. • i.e., the objective, constraints, and decisions need to be on the same sheet. • If you prefer the optimization section to be on a separate sheet, you can do so, and have the above calculation section read in the decision values (i.e., have the 12 values of "% to contact" be on the same sheet as the optimization section, and have the above "% to contact" simply refer to those values. (c) 2018 by Michael Mina 20 The comparison criterion symbols and desired values in the optimization section do nothing at this time. They will be used when we configure Solver (to be discussed below) CPP = 1.25$ Segment Age band Response band Sales band % to contact Maximum customer count Contacted customer count Response rate Resp- onders Avg Sales per responder Avg Sales per catalog Sales amount Avg profit per responder from sales (excl marketing costs) Profit from sales Marketing costs Profit from marketing campaign Avg profit per responder (net of marketing costs) Avg profit per catalog (net of marketing costs) 1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$ 2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$ 3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$ 4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$ 5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$ 6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$ 7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$ 8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$ 9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$ 10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$ 11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$ 12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$ Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$ Objective: Maximize campaign profit (474,718)$ Subject to these constraints Constraint name Actual value Comparison criterion Desired value Marketing costs 1,250,000$ <= 1,000,000$ Segment 1 % 100% <= 100% Segment 2 % 100% <= 100% Segment 3 % 100% <= 100% Segment 4 % 100% <= 100% Segment 5 % 100% <= 100% Segment 6 % 100% <= 100% Segment 7 % 100% <= 100% Segment 8 % 100% <= 100% Segment 9 % 100% <= 100% Segment 10 % 100% <= 100% Segment 11 % 100% <= 100% Segment 12 % 100% <= 100% Sales amount 2,997,306$ >= 2,500,000$ Profit from campaign (474,718)$ >= -$ Optimization section
  • 21. CPP = 1.25$ Segment Age band Response band Sales band % to contact Maximum customer count Contacted customer count Response rate Resp- onders Avg Sales per responder Avg Sales per catalog Sales amount Avg profit per responder from sales (excl marketing costs) Profit from sales Marketing costs Profit from marketing campaign Avg profit per responder (net of marketing costs) Avg profit per catalog (net of marketing costs) 1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$ 2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$ 3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$ 4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$ 5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$ 6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$ 7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$ 8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$ 9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$ 10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$ 11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$ 12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$ Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$ Objective: Maximize campaign profit (474,718)$ Subject to these constraints Constraint name Actual value Comparison criterion Desired value Marketing costs 1,250,000$ <= 1,000,000$ Segment 1 % 100% <= 100% Segment 2 % 100% <= 100% Segment 3 % 100% <= 100% Segment 4 % 100% <= 100% Segment 5 % 100% <= 100% Segment 6 % 100% <= 100% Segment 7 % 100% <= 100% Segment 8 % 100% <= 100% Segment 9 % 100% <= 100% Segment 10 % 100% <= 100% Segment 11 % 100% <= 100% Segment 12 % 100% <= 100% Sales amount 2,997,306$ >= 2,500,000$ Profit from campaign (474,718)$ >= -$ Optimization section Step 5: Create a separate optimization section (cont'd) • The optimization section should be viewed as dynamic rather than static. Frequent changes to this section are likely as the application is used more often and its versatility becomes more widely known. • In this example, our initial set up is an objective that maximizes campaign profit, and constraints on the decisions, marketing costs, sales amount, and overall campaign profit • The objectives and constraints in your optimization section should reference the calculations and defaulted decisions from the section above. (c) 2018 by Michael Mina 21 The comparison criterion symbols and desired values in the optimization section do nothing at this time. They will be used when we configure Solver (to be discussed below)
  • 22. Step 6: Load the Solver add-in These instructions apply to Excel 2016 for Windows 10. 1. From the Excel menu select File > Options. 2. Click "Add-ins", and set "Manage" to "Excel Add-ins", then click "Go". 3. Check the box next to "Solver Add-in", then click "OK". If for some reason it doesn't appear in the list, click on "Browse" to find it. 4. Upon completion, the Solver command should appear in the Analysis group in the Data tab. You can launch it when needed by clicking Solver. (c) 2018 by Michael Mina 22 2 2 3 4
  • 23. Run
  • 24. Step 7: Determine your objectives and constraints, and the constraint values • In Step 5: Create a separate optimization section, we created an initial optimization layout where we made some assumptions as to what we might want as our objective, and constraints. • In this step, we confirm the work we previously did, and decide what specific values we want as constraints. • If the objective and/or the constraints are not in this section, they need to be added at this time. • For our first optimization scenario (optimization scenario 1), we are asked to maximize campaign profit subject to the constraints that • Marketing costs <= $750K • Sales amount >= $2MM • Profit from campaign >= 0 • We need constraints on the percentage in each segment to ensure that the optimization doesn't result in telling us to mail 214% of segment 5, for example. • The "Profit from campaign >= 0" constraint might seem unnecessary in that we are maximizing profit, and we can observe the maximum profit obtainable and determine if it is greater than zero or not. By making it a constraint, we ensure that failing to meet that constraint will cause the optimization to fail (i.e., this is a form of error messaging). (c) 2018 by Michael Mina 24 Optimization section Objective: Maximize campaign profit (474,718)$ Subject to these constraints Constraint name Actual value Comparison criterion Desired value Marketing costs 1,250,000$ <= 750,000$ Segment 1 % 100% <= 100% Segment 2 % 100% <= 100% Segment 3 % 100% <= 100% Segment 4 % 100% <= 100% Segment 5 % 100% <= 100% Segment 6 % 100% <= 100% Segment 7 % 100% <= 100% Segment 8 % 100% <= 100% Segment 9 % 100% <= 100% Segment 10 % 100% <= 100% Segment 11 % 100% <= 100% Segment 12 % 100% <= 100% Sales amount 2,997,306$ >= 2,000,000$ Profit from campaign (474,718)$ >= -$
  • 25. Step 8: Determine the type of optimization you should use • Excel Solver supports 3 types of optimization solving methods: • GRG Nonlinear (GRG = Generalized Reduced Gradient) • Simplex LP (LP = Linear programming) • Evolutionary • Our problem is linear, so we'll use Simplex LP. • If you're not sure if you can use Simplex LP, try it. If you can't use it, you'll get an error message when you run Solver (see right). • See Appendix for "Optimization types supported by Excel Solver" (c) 2018 by Michael Mina 25
  • 26. CPP = 1.25$ Segment Age band Response band Sales band % to contact Maximum customer count Contacted customer count Response rate Responders Avg Sales per responder Avg Sales per catalog Sales amount Avg profit per responder from sales (excl marketing costs) Profit from sales Marketing costs Profit from marketing campaign Avg profit per responder (net of marketing costs) Avg profit per catalog (net of marketing costs) 1 65+ High Resp High sales 100% 7,725 7,725 4.20% 324 201.20$ 8.45$ 65,282$ 72.43$ 23,501$ (9,657)$ 13,845$ 42.67$ 1.79$ 2 65+ High Resp Low sales 100% 18,026 18,026 3.50% 631 100.60$ 3.52$ 63,468$ 37.22$ 23,483$ (22,532)$ 951$ 1.51$ 0.05$ 3 65+ Low Resp High sales 100% 43,875 43,875 1.40% 614 176.05$ 2.46$ 108,138$ 61.62$ 37,848$ (54,843)$ (16,995)$ (27.67)$ (0.39)$ 4 65+ Low Resp Low sales 100% 102,374 102,374 0.70% 717 50.30$ 0.35$ 36,046$ 18.86$ 13,517$ (127,968)$ (114,451)$ (159.71)$ (1.12)$ 5 45-64 High Resp High sales 100% 26,056 26,056 7.00% 1,824 251.50$ 17.61$ 458,707$ 65.39$ 119,264$ (32,569)$ 86,694$ 47.53$ 3.33$ 6 45-64 High Resp Low sales 100% 78,167 78,167 5.95% 4,651 138.33$ 8.23$ 643,337$ 35.96$ 167,268$ (97,708)$ 69,559$ 14.96$ 0.89$ 7 45-64 Low Resp High sales 100% 60,695 60,695 3.85% 2,337 213.78$ 8.23$ 499,536$ 55.58$ 129,879$ (75,868)$ 54,011$ 23.11$ 0.89$ 8 45-64 Low Resp Low sales 100% 182,084 182,084 2.45% 4,461 88.03$ 2.16$ 392,684$ 23.33$ 104,061$ (227,604)$ (123,543)$ (27.69)$ (0.68)$ 9 18-44 High Resp High sales 100% 11,008 11,008 5.60% 616 150.90$ 8.45$ 93,023$ 30.93$ 19,070$ (13,760)$ 5,310$ 8.61$ 0.48$ 10 18-44 High Resp Low sales 100% 48,054 48,054 4.90% 2,355 50.30$ 2.46$ 118,438$ 11.07$ 26,056$ (60,067)$ (34,011)$ (14.44)$ (0.71)$ 11 18-44 Low Resp High sales 100% 78,642 78,642 2.80% 2,202 125.75$ 3.52$ 276,898$ 26.41$ 58,149$ (98,302)$ (40,154)$ (18.24)$ (0.51)$ 12 18-44 Low Resp Low sales 100% 343,296 343,296 1.40% 4,806 50.30$ 0.70$ 241,749$ 11.07$ 53,185$ (429,120)$ (375,935)$ (78.22)$ (1.10)$ Total 100% 1,000,000 1,000,000 2.55% 25,538 117.37$ 3.00$ 2,997,306$ 30.36$ 775,282$ (1,250,000)$ (474,718)$ (18.59)$ (0.47)$ Optimization section Objective: Maximize campaign profit (474,718)$ Subject to these constraints Constraint name Actual value Comparison criterion Desired value Marketing costs 1,250,000$ <= 1,000,000$ Segment 1 % 100% <= 100% Segment 2 % 100% <= 100% Segment 3 % 100% <= 100% Segment 4 % 100% <= 100% Segment 5 % 100% <= 100% Segment 6 % 100% <= 100% Segment 7 % 100% <= 100% Segment 8 % 100% <= 100% Segment 9 % 100% <= 100% Segment 10 % 100% <= 100% Segment 11 % 100% <= 100% Segment 12 % 100% <= 100% Sales amount 2,997,306$ >= 2,500,000$ Profit from campaign (474,718)$ >= -$ Step 9: Configure Solver (c) 2018 by Michael Mina 26 1. Launch Solver. Make Set Objective point to the objective in your optimization section, and set to Max. 2. For "By changing Variable Cells", select the "% to contact" values. 3. Click on "Add" to add constraints. This is done most conveniently if all the "less than" constraints are adjacent to each other, all the "greater than" constraints adjacent to each other, etc. We need to do this twice - once for each range of constraints (<=, >=). 4. Check "Make Unconstrained Variables Non-Negative". 5. Select "Simplex LP" as your solving method. 6. To run the optimization, click "Solve". 1 1 3 3 4 5 6 2 2
  • 27. Step 10: Run the optimization Optimization scenario 1 Optimization scenario 2 Maximize campaign profit while keeping sales at or over $2MM, marketing costs at or under $750K, and profit at or over $0. We have a larger marketing budget than in scenario 1, but sales expectations are higher. Maximize campaign profit while keeping sales at or over $2.5MM, marketing costs at or under $1MM, and profit at or over $0. Result Mail all customers in segments 1-2 and 5-7, and 64% of customers in segment 11, and no one else. Expectations are that sales will be $2MM, marketing costs will be $315K, and expected profit will be $205K. Result Mail all customers in segments 1-3, 5-7, 9-11, and 44% of customers in segment 8, and no one else. Expectations are that sales will be $2.5MM, marketing costs will be $566K, and expected profit will be $85K. As compared to scenario 1, we bought more business (i.e., we accepted lower profits in favor of sales growth). (c) 2018 by Michael Mina 27 Objective: Maximize campaign profit 204,755$ Subject to these constraints Constraint name Actual value Comparison criterion Desired value Marketing costs 314,806$ <= 750,000$ Segment 1 % 100% <= 100% Segment 2 % 100% <= 100% Segment 3 % 0% <= 100% Segment 4 % 0% <= 100% Segment 5 % 100% <= 100% Segment 6 % 100% <= 100% Segment 7 % 100% <= 100% Segment 8 % 0% <= 100% Segment 9 % 100% <= 100% Segment 10 % 0% <= 100% Segment 11 % 64% <= 100% Segment 12 % 0% <= 100% Sales amount 2,000,000$ >= 2,000,000$ Profit from campaign 204,755$ >= -$ Optimization section Objective: Maximize campaign profit 84,729$ Subject to these constraints Constraint name Actual value Comparison criterion Desired value Marketing costs 565,680$ <= 1,000,000$ Segment 1 % 100% <= 100% Segment 2 % 100% <= 100% Segment 3 % 100% <= 100% Segment 4 % 0% <= 100% Segment 5 % 100% <= 100% Segment 6 % 100% <= 100% Segment 7 % 100% <= 100% Segment 8 % 44% <= 100% Segment 9 % 100% <= 100% Segment 10 % 100% <= 100% Segment 11 % 100% <= 100% Segment 12 % 0% <= 100% Sales amount 2,500,000$ >= 2,500,000$ Profit from campaign 84,729$ >= -$ Optimization section
  • 28. Dealing with challenges you may face Obtaining stakeholder buy-in • Some stakeholders may believe that Excel is unsuited to this task. • In those cases, building a simple proof of concept model can be useful in winning them over. Maintaining proper versioning • Versioning can be a challenge with Excel applications. • Managing version numbers and ensuring that improvements are not made to the wrong version requires extra attention. • Possible solutions include: • Using Save As, and saving the file name with a version related suffix (e.g., opt_app_v2.4.xlsx) • Using special software to manage file versioning Thank you (c) 2018 by Michael Mina 28
  • 29. Acknowledgements The author thanks all those who helped organize the 2018 Advanced Research Techniques (ART) Forum, including the planning committee of Greg Allenby, Jeff Dotson, and Elea Feit for accepting his presentation, with special thanks to Elea Feit for her assistance in editing this presentation. Author information Michael Mina is a Vice President in the Retail Lending Decision Management department at PNC Financial Services. In addition to banking, he has experience in consulting, insurance, healthcare management, benefit services, and academia. He was a presenter at the 2009 Midwest SAS Users Group (MWSUG) Conference and the 2018 Ohio SAS Users Conference. He is also a writer of science fiction, fantasy and horror whose work has won awards, and has been published in a number of magazines. Questions and comments can be sent to: Michael Mina Email: michael.mina@att.net Website: http://michaelmina.info LinkedIn: https://www.linkedin.com/in/michaelmina/ (c) 2018 by Michael Mina 29
  • 31. Optimization types supported by Excel Solver • Excel Solver supports 3 types of optimization solving methods: • GRG Nonlinear (GRG = Generalized Reduced Gradient) • Simplex LP (LP = Linear programming) • Evolutionary • How do you choose? From https://www.solver.com/excel- solver-what-solver-can-and-cannot-do : • "If your objective and constraints are linear functions of the decision variables, you can be confident of finding a globally optimal solution reasonably quickly…. The Simplex LP Solving method is designed for these problems." • "If your objective and constraints are smooth nonlinear functions of the decision variables…. The GRG Nonlinear Solving method is designed for these problems." • "If your objective and constraints are non-smooth and non- convex functions of the decision variables (for example if you use IF, CHOOSE and LOOKUP functions whose arguments depend on decision variables), the best you can hope for is a “good” solution (better than the initial values of the variables)…. The Evolutionary Solving method is designed for these problems." • For additional details, also see "Excel Solver: Which Solving Method Should I Choose?" at http://www.engineerexcel.com/excel-solver-solving-method- choose/ (c) 2018 by Michael Mina 31