SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Expanding Your Sales Funnel
with SAS®
Michael Mina
2018 Ohio SAS Users Group Conference
May 21, 2018
Introduction
• The process by which many sales leads are narrowed
down to a smaller number of actual sales is often
referred to as a sales funnel.
• The idea behind the funnel image is that many sales
leads enter into the wider top of the funnel, but as a
result of exclusions, specific targeting criteria, and
customer choices, only some of them will actually
emerge from the narrow end of the funnel and result in
sales.
• Several different versions and graphical representations
of the sales funnel exist. A typical, simplified version
appears on this slide.
2
• We will focus on a specific application of SAS, namely
• how to structure a SAS data set to facilitate sales funnel analysis, and
• how to analyze this data to find expansion opportunities in any industry to which the sales
funnel concept is applicable.
• With a properly structured data set, the SAS code needed for sales funnel analysis is straightforward,
and can generate significant return on investment.
• The waterfall is a key concept in sales funnel analysis, and it will be covered, but this paper will focus on
increasing the number of waterfall survivors rather than the technical aspects of creating a waterfall
chart in SAS.
The waterfall and/or the waterfall chart
• All or part of the sales funnel is often described in more detail using a waterfall, which shows the
sequential reductions in leads as they fail to pass certain qualifications.
• Sales funnel analytics includes, but is not limited to, expanding your sales funnel – In other words,
increasing some metric (generally the number of qualified leads) that come out of the funnel, or
getting more customers to survive the previously mentioned qualifications.
3
/*
Sample waterfall - Code was modified from that which appeared in
http://support.sas.com/rnd/datavisualization/yourGraphs/businessQuick/waterfall
/
*/
data waterfall;
length id $10;
format Amount best.;
input ID $ Amount type $;
datalines;
Initial 1000000 Subtotal
Exclusion1 -250000 Exclusion
Exclusion2 -150000 Exclusion
Exclusion3 -100000 Exclusion
;
/* Open the LISTING destination and assign the ANALYSIS style to the graph */
ods listing style=analysis;
ods graphics / width=5in height=2.81in;
title 'Sample Waterfall';
proc sgplot data=waterfall noautolegend;
waterfall category=id response=amount / colorgroup=type dataskin=sheen
datalabel name='a';
keylegend 'a' / location=inside position=topright across=1;
xaxis display=(nolabel);
yaxis grid display=(nolabel) offsetmin=0;
run;
Waterfall charts were popularized by McKinsey & Company in its presentations to clients. (https://en.wikipedia.org/wiki/Waterfall_chart)
Our hypothetical business case
• Suppose we are employed in the marketing analytics department of a retailer
with a number of stores and a significant online presence.
• Our company launched a loyalty program several months ago and has
enrolled 100,000 customers to date.
• Our primary means of interacting with program members has been:
1) Email – when we have an email address, which we do have for 80,120
customers
2) Point of sale – at the cash register
3) Direct mail – we have mailing addresses for all 100.000 members, but
sending mail is costly
• Senior management wants to running campaigns where we mail retail
circulars to members of the loyalty program
• The circulars would have special deals, coupons, etc., which customers
would redeem (which would count as a response to the campaign).
• Whether the circulars are paper or electronic is yet to be determined
by senior management.
• Our analysis may play a role in their decision.
• We need to analyze the sales funnel in two ways:
1) By assuming we will use email only (electronic circular)
2) By assuming we will use direct mail only (paper circular)
• Essentially, we need to justify using direct mail or email as our contact
channel.
4
Structuring the analytical data set
• Suppose that as our starting point, we are given the following data for all loyalty program customers:
• Based on past experience, we already suspect that we will not be permitted to contact customers with special
restrictions (special_restrictions=1), or premier customers (premier_customer=1), regardless of whether we use
direct mail or email. When we run our first waterfall for either the direct mail or email channels, we will apply
those exclusions.
• Exclusions depend on a variety of factors, including legal requirements, channel-specific factors, and business
objectives. Consider our "homeowner" variable.
• If you wanted to sell homeowners insurance, you would likely exclude everyone who was not a homeowner.
• However, if you wanted to sell renters insurance, you would likely exclude everyone who was a homeowner.
• Note that there are people who are neither homeowners nor renters, but homeowner=0 would be strongly
correlated with renters, especially with customers in their mid-twenties or above. Also note that one can be a
renter of their primary residence, and still be the owner of a home.
5
Variable Definition
customer_id A unique customer identifier.
sales_region The sales region (A, B, or C) in which the customer resides.
email_provided If the customer provided an email address, then 1, otherwise 0.
homeowner If the customer owns their primary residence, then 1, otherwise 0.
special_restrictions
These customers were flagged with a 1 to indicate that additional marketing to them is unlikely to be
beneficial, and is thus discouraged (e.g., too many complaints, too many returns).
premier_customer
These are our best customers, flagged with a 1, as determined by several metrics, not all of which are
contained in this data set. As a segment, they are normally managed by a dedicated team, and are usually
excluded from marketing efforts not originating from the management team of that segment.
credit_score
The range containing the customer FICO score. This data came from the team that manages our store credit
card and they use it to exclude certain customers from certain credit card marketing promotions. However,
credit score may not be applicable to our particular marketing plans. We question whether affiliate sharing
laws would even allow us to use this data.
household_income
The range containing household (not customer) income. This was either provided by the customer, or derived
using demographic data, or modeled using variables not contained in this data set.
Structuring the analytical data set (cont'd)
• This is a sample of the data set we were given:
6
Customer file for sales funnel analysis
(obs=20)
Obs customer_id sales_region email_provided homeowner special_restrictions premier_customer credit_score household_income
1 1 A 1 1 0 0 B. 650 - 679 D. $75K - $100K
2 2 A 1 1 0 0 C. 680 - 749 A. $0 - $25K
3 3 A 1 0 0 0 B. 650 - 679 D. $75K - $100K
4 4 A 1 1 0 1 C. 680 - 749 B. $25K - $50K
5 5 A 1 0 0 0 E. 800 - 850 D. $75K - $100K
6 6 A 0 1 0 0 C. 680 - 749 D. $75K - $100K
7 7 B 0 1 0 0 E. 800 - 850 C. $50K - $75K
8 8 A 1 1 0 0 D. 750 - 799 C. $50K - $75K
9 9 B 1 1 0 0 D. 750 - 799 C. $50K - $75K
10 10 A 0 1 0 0 B. 650 - 679 E. $100K+
11 11 A 1 1 0 0 D. 750 - 799 A. $0 - $25K
12 12 B 1 1 0 0 A. 300 - 649 C. $50K - $75K
13 13 A 1 1 0 0 E. 800 - 850 C. $50K - $75K
14 14 A 1 1 0 0 E. 800 - 850 B. $25K - $50K
15 15 A 1 1 1 0 E. 800 - 850 B. $25K - $50K
16 16 B 1 1 1 0 D. 750 - 799 D. $75K - $100K
17 17 C 1 1 0 0 D. 750 - 799 C. $50K - $75K
18 18 A 1 1 0 0 D. 750 - 799 E. $100K+
19 19 B 0 1 0 0 C. 680 - 749 D. $75K - $100K
20 20 A 1 1 0 0 B. 650 - 679 D. $75K - $100K
Defining exclusion variables
• Exclusion variables should be defined negatively, so that the variable for a particular exclusion is equal
to one when the customer should be excluded, and zero otherwise.
• For example, if you want to exclude people who are not homeowners, then don't exclude them using
homeowner=0. Instead, define a variable non_homeowner so that:
if homeowner=0 then non_homeowner=1; else non_homeowner=0;
and then exclude a customer with non_homeowner=1
• This will make your coding consistent and allows quick summation of the number of customers affected
by one or more exclusions.
• Even though we're not entirely certain which exclusions we will apply, we can create possible exclusion
variables for them with this code:
7
/* Define exclusion variables as needed */
data s.customer_file_mod;
set s.customer_file;
if homeowner=0 then non_homeowner=1;
else non_homeowner=0;
if email_provided=0 then email_not_provided=1;
else email_not_provided=0;
length credit1 $ 1;
length income1 $ 1;
credit1=substr(credit_score,1,1);
if credit1='A' or credit1='B' then credit_score_exclude=1;
else credit_score_exclude=0;
income1=substr(household_income,1,1);
if income1='A' or income1='B' then income_exclude=1;
else income_exclude=0;
run;
Why would you define possible exclusions
before you've created your waterfall code?
Because at this stage, you probably don't know
for certain which exclusions will be used in your
final waterfall, and it's generally easier to have
all possible exclusions coded.
In some situations, you will develop one
waterfall after another and have senior
management review the results each time
before a final decision is made as to which
exclusions to apply.
Creating the email waterfall code – applying the exclusion variables
• Note: The data used are synthetically constructed. The exclusions used here are for illustrative
purposes only and should not be construed as support for excluding customers from marketing
campaigns due to their specific circumstances or characteristics.
• The waterfall code will take the customer_file_mod data set and classify customers on the basis
of the exclusion affecting them, if any.
• If desired, one could combine defining exclusion variables with applying those variables in a waterfall.
They have not been combined in this presentation.
• If our goal is to email customers, then we need to exclude customers that haven't given us their email
address. The code for applying exclusions should create an order in which each exclusion is applied,
and a description of each exclusion, like so:
• Exclusion order matters - The order in which exclusions appear in your code will affect the number of
customers listed as being excluded by that particular exclusion, even though the final number of
waterfall survivors will be the same in either case.
• For example, consider the following two waterfalls.
• In waterfall 1, the email not provided exclusion is the first exclusion applied.
• In waterfall 2, it is the last. First, we run the waterfalls:
8
if email_not_provided=1 then do;
exclusion_order=1;
exclusion_desc='email not provided';
end;
Exclusion order matters – a demonstration
9
data waterfall1;
set s.customer_file_mod;
length exclusion_desc $ 25.;
if email_not_provided=1 then do;
exclusion_order=1;
exclusion_desc='email not provided';
end;
else if special_restrictions=1 then do;
exclusion_order=2;
exclusion_desc='special_restrictions';
end;
else if premier_customer=1 then do;
exclusion_order=3;
exclusion_desc='premier customer';
end;
else if not_homeowner=1 then do;
exclusion_order=4;
exclusion_desc='not homeowner';
end;
else if credit_score_exclude=1 then do;
exclusion_order=5;
exclusion_desc='low credit score';
end;
else if income_exclude=1 then do;
exclusion_order=6;
exclusion_desc='low income';
end;
else do;
exclusion_order=7;
exclusion_desc='do not exclude';
end;
exclusion_count=sum(email_not_provided,
special_restrictions, premier_customer,
not_homeowner, credit_score_exclude,
income_exclude);
if exclusion_count=1
then exactly_one_excl=1;
else exactly_one_excl=0;
run;
data waterfall2;
set s.customer_file_mod;
length exclusion_desc $ 25.;
if special_restrictions=1 then do;
exclusion_order=1;
exclusion_desc='special_restrictions';
end;
else if premier_customer=1 then do;
exclusion_order=2;
exclusion_desc='premier customer';
end;
else if not_homeowner=1 then do;
exclusion_order=3;
exclusion_desc='not homeowner';
end;
else if credit_score_exclude=1 then do;
exclusion_order=4;
exclusion_desc='low credit score';
end;
else if income_exclude=1 then do;
exclusion_order=5;
exclusion_desc='low income';
end;
else if email_not_provided then do;
exclusion_order=6;
exclusion_desc='email not provided';
end;
else do;
exclusion_order=7;
exclusion_desc='do not exclude';
end;
exclusion_count=sum(email_not_provided,
special_restrictions, premier_customer,
not_homeowner, credit_score_exclude,
income_exclude);
if exclusion_count=1
then exactly_one_excl=1;
else exactly_one_excl=0;
run;
Exclusion order matters – a demonstration (cont'd)
10
/* Create waterfall 1 components */
proc sql;
create table s.waterfall1_sum as
select exclusion_order, exclusion_desc
, count(*) as customer_count
from waterfall1
group by exclusion_order, exclusion_desc
order by exclusion_order
;
quit;
/* Create waterfall 2 components */
proc sql;
create table s.waterfall2_sum as
select exclusion_order, exclusion_desc
, count(*) as customer_count
from waterfall2
group by exclusion_order, exclusion_desc
order by exclusion_order
;
quit;
Waterfall 1
Obs exclusion_order exclusion_desc customer_count
1 1 email not provided 19,880
2 2 special restrictions 5,942
3 3 premier customer 2,303
4 4 not homeowner 14,325
5 5 low credit score 11,554
6 6 low income 9,261
7 7 do not exclude 36,735
Waterfall 2
Obs exclusion_order exclusion_desc customer_count
1 1 special restrictions 7,482
2 2 premier customer 2,855
3 3 not homeowner 17,882
4 4 low credit score 14,427
5 5 low income 11,540
6 6 email not provided 9,079
7 7 do not exclude 36,735
• In waterfall 1, the number of customers excluded due to email not provided is 19,880. In waterfall 2,
the number is 9,079 - less than half the number excluded in waterfall 1.
• The waterfall, whether in table or chart form, is a very useful tool for showing how exclusions narrow
your sales funnel, but comparing two otherwise identical waterfalls with just one exclusion in a
different order shows that waterfalls are not the best tool for assessing the impact of individual
exclusions. Two better tools for that purpose are the general exclusion profile, and the unique
exclusion profile.
The general exclusion profile and the unique exclusion profile
• The general exclusion profile in its simplest form is a table showing customer count by each
combination of exclusion variables.
• The unique exclusion profile also groups customers by each combination of exclusion variables, but it
selects only those customers with exactly_one_excl=1. This gives a more accurate view of the impact of
each exclusion.
11
/* Create waterfall 1 general exclusion profile */
proc sql;
create table s.waterfall1_gep as
select email_not_provided
, special_restrictions, premier_customer
, not_homeowner, credit_score_exclude
, income_exclude
, count(*) as customer_count
from waterfall1
/* There is no "where" clause */
group by email_not_provided
, special_restrictions, premier_customer
, not_homeowner, credit_score_exclude
, income_exclude
;
quit;
/* Create waterfall 1 unique exclusion profile */
proc sql;
create table s.waterfall1_uep as
select email_not_provided
, special_restrictions, premier_customer
, not_homeowner, credit_score_exclude
, income_exclude
, count(*) as customer_count
from waterfall1
where exactly_one_excl=1
group by email_not_provided
, special_restrictions, premier_customer
, not_homeowner, credit_score_exclude
, income_exclude
;
quit;
The general exclusion profile and the unique exclusion profile (cont'd)
• Notice that the top row of the general exclusion
profile, with all exclusion variables equal to
zero, is the number of waterfall survivors (i.e.,
customers that are not excluded).
• The general exclusion profile is useful for
showing the impact of the interaction of
multiple exclusions
• The unique exclusion profile is useful for
showing the impact of a single exclusion.
• A misinterpretation of waterfall 1 would suggest
that removing the email not provided non-
homeowner exclusion alone would result in
14,325 additional waterfall survivors. The
unique exclusion profile shows that removing
that exclusion alone would result in only 9,207
additional waterfall survivors.
12
Waterfall 1: General exclusion profile (obs=20)
Obs email_not_provided special_restrictions premier_customer not_homeowner credit_score_exclude income_exclude customer_count
1 0 0 0 0 0 0 36,735
2 0 0 0 0 0 1 9,261
3 0 0 0 0 1 0 9,234
4 0 0 0 0 1 1 2,320
5 0 0 0 1 0 0 9,207
6 0 0 0 1 0 1 2,241
7 0 0 0 1 1 0 2,289
8 0 0 0 1 1 1 588
9 0 0 1 0 0 0 1,130
10 0 0 1 0 0 1 297
11 0 0 1 0 1 0 307
12 0 0 1 0 1 1 81
13 0 0 1 1 0 0 315
14 0 0 1 1 0 1 69
15 0 0 1 1 1 0 85
16 0 0 1 1 1 1 19
17 0 1 0 0 0 0 2,939
18 0 1 0 0 0 1 709
19 0 1 0 0 1 0 794
20 0 1 0 0 1 1 205
Waterfall 1: Unique exclusion profile
Obs email_not_provided special_restrictions premier_customer not_homeowner credit_score_exclude income_exclude customer_count
1 0 0 0 0 0 1 9,261
2 0 0 0 0 1 0 9,234
3 0 0 0 1 0 0 9,207
4 0 0 1 0 0 0 1,130
5 0 1 0 0 0 0 2,939
6 1 0 0 0 0 0 9,079
• Note that waterfall 1 had "low income" as the last exclusion (the row before "do not exclude" is the last exclusion),
and it affects 9,261 customers, which is the amount indicated in the unique exclusion profile table.
• Similarly, note that waterfall 2 had "email not provided" as the last exclusion, which affects 9,079 customers, and
that matches the figure indicated in the unique exclusion profile table.
• The last exclusion in a waterfall will have the quantity impacted by only that exclusion, and should match the
quantity associated with that exclusion in the unique exclusion profile.
Steps to building your own waterfall code
• Due to constraints on time and/or resources, or other reasons, you may inherit a pre-existing waterfall and be
tasked with modifying it, rather than being given time to construct a new one. Alternatively, stakeholders may
want a new waterfall created with exclusions they already have in mind.
• In either case, to increase the number of waterfall survivors and expand your sales funnel, do the following:
1) Ensure that there are no problematic exclusions under consideration
2) Determine which exclusions are absolutely required
3) Remove unnecessary or inapplicable exclusions
4) Size the opportunity and effort involved in minimizing the impact of the remaining exclusions
• In our hypothetical example, we follow the above steps and get the following:
1) Ensure that there are no problematic exclusions under consideration
• We suspect that the credit score exclusion might have been applicable for another waterfall that
was used by the team that gave us the data, but we are convinced that (a) it's not relevant for our
marketing campaign and (b) might have been given to us in violation of affiliate sharing laws.
• Consider involving members of a Compliance and/or Legal team to help determine which
exclusions should not be applied. We will remove the credit_score exclusion.
2) Determine which exclusions are absolutely required
• Discussions between the appropriate departments have failed to convince the premier customer
segment manager to allow marketing to that segment. As a result, the premier_customer
exclusion cannot be removed.
• We agree that the special_restrictions exclusion should not be removed.
• Also, if we don't have email addresses, we cannot email customers, so the email_not_provided
exclusion cannot be removed.
13
Steps to building your own waterfall code (cont'd)
• In our hypothetical example, we follow the above steps and get the following (cont'd):
3) Remove unnecessary or inapplicable exclusions
• Homeownership is not relevant to our marketing campaign, so we will remove the non-
homeowner exclusion.
• Income is not relevant to our marketing campaign, so we will remove the income exclusion.
• Income may be relevant to a future part of our sales funnel analysis, but at this point, we should
not exclude customers on this basis.
• Data that may be unsuitable for purposes of exclusion may be suitable for analytical purposes.
4) Size the opportunity and effort involved in minimizing the impact of the remaining exclusions
• As previously mentioned, if we don't have email addresses, we cannot email customers, so the
email not provided exclusion cannot be removed.
• Getting additional email addresses is a method of expanding the sales funnel, and we will size the
effort associated with getting those email addresses.
14
Our final waterfall for contact via email
• Create the email waterfall by making these changes to waterfall 1:
• Comment out (or delete) code related to the unused exclusions, and change the formula for
exclusion_count to account for the actual exclusions used. Name the new waterfall "waterfall3"
• Running waterfall 3 and summarizing the results shows 71,785 waterfall survivors – almost double the
36,735 survivors of waterfalls 1 and 2.
15
Keep these exclusions Remove these exclusions
email_not_provided credit_score_exclude
special_restrictions not_homeowner
premier_customer income_exclude
/*
else if credit_score_exclude=1 then do;
exclusion_order=4;
exclusion_desc='low credit score';
end;
else if income_exclude=1 then do;
exclusion_order=5;
exclusion_desc='low income';
end;
else email_not_provided then do;
exclusion_order=6;
exclusion_desc='email not provided';
end;
*/
/*
exclusion_count=sum(email_not_provided,
special_restrictions, premier_customer,
not_homeowner, credit_score_exclude,
income_exclude);
*/
exclusion_count=sum(email_not_provided,
special_restrictions, premier_customer);
Waterfall 3
Obs exclusion_order exclusion_desc customer_count
1 1 email not provided 19,880
2 2 special restrictions 5,942
3 3 premier customer 2,303
4 7 do not exclude 71,785
Exclusion profiles for waterfall3
16
Waterfall 3: General exclusion profile
Obs email_not_provided special_restrictions premier_customer customer_count
1 0 0 0 71,875
2 0 0 1 2,303
3 0 1 0 5,773
4 0 1 1 169
5 1 0 0 17,788
6 1 0 1 552
7 1 1 0 1,492
8 1 1 1 48
Waterfall 3: Unique exclusion profile
Obs email_not_provided special_restrictions premier_customer customer_count
1 0 0 1 2,303
2 0 1 0 5,773
3 1 0 0 17,788
Our status thus far
• We started out being given a waterfall that suggested we would only be able to contact 36,735
customers by email. Through our efforts, we now have a waterfall that allows us to contact 71,785
customers by email.
• However, note that even after we've doubled the number of waterfall survivors, we're still missing the
email addresses of 20% of customers enrolled in the program (recall that we have valid email addresses
for 80,120 customers in the loyalty program).
• We can proceed with the email campaign, but at some point, senior management wants us to
investigate the issue of email addresses not being provided.
• The hope is that we will determine the causes, and suggest remedies.
• We want to know how much effort would be involved in determining the causes, and what the
expected benefits would be. This will be discussed in more detail below.
• In the meantime, our two options for contacting these customers – this is really just a choice of contact
channel – are:
• To help senior management decide which option to use, we will create performance estimates for each
(i.e., do some opportunity sizing).
• At this time, incorporating financial data into our analysis would be helpful.
17
1) Contact all eligible loyalty program customers by email (where eligibility is
determined by the email waterfall), since email has a much lower cost than direct
mail, even though it is much less effective in generating responses, or
2) Contact all eligible loyalty program customers by direct mail (where eligibility is
determined by the direct mail waterfall – not yet developed), since direct mail has a
much better response rate than email, even though it is much more expensive.
• We need some financial data appended to the above data to help us evaluate option 1 vs option 2. This
is the information we were able to obtain:
• A sample of the data set appears here:
Appending financial data for opportunity sizing
Variable Definition
customer_id A unique customer identifier.
exp_ann_sales_from_us
The amount that we expect the customer to spend in the next 12 months from our stores
in the absence of any special marketing promotion. This can be based on actual sales,
demographic data, predictive models, etc.
exp_ann_sales_total
The amount that we expect the customer to spend in the next 12 months from all stores,
including our own. This can be based on actual sales, demographic data, predictive
models, etc.
exp_ann_sales_oppty Defined as exp_ann_sales_total minus exp_ann_sales_from_us.
18
Traditional sales funnel
analysis often focuses on
customers that fall out at each
stage of the waterfall.
By adding a financial
component to that analysis,
and learning where financial
opportunity falls out, you can
make more informed decisions.
• We merge the financial data with the source data set we used in waterfall 3 using customer_id, then
we run that combined data set though waterfall 3.
• We then summarize the results as previously shown, but we include summations of financial data in
our exclusion profile code, to get the following exclusion profiles with sizing information:
• This tells us that the 71,875 customers who would be eligible for our email campaign already generate
$27.1MM in sales for us, and about $40.9MM for our competitors.
Exclusion profiles with financial information appended for sizing
19
Waterfall 3: General exclusion profile with sizing information
Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty
1 0 0 0 71,875 27,128,911$ 67,996,310$ 40,867,399$
2 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$
3 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$
4 0 1 1 169 68,205$ 236,036$ 167,831$
5 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$
6 1 0 1 552 210,006$ 737,378$ 527,372$
7 1 1 0 1,492 567,509$ 1,417,768$ 850,259$
8 1 1 1 48 18,100$ 68,260$ 50,160$
Waterfall 3: Unique exclusion profile with sizing information
Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty
1 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$
2 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$
3 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$
Sizing contact via direct mail without a direct mail waterfall
• You world create the direct mail waterfall by making these changes to the email waterfall (waterfall 3):
• Important note:
• While a new direct mail waterfall would be necessary to conduct a direct mail campaign, it is not
always necessary to create new waterfall code for opportunity sizing.
• In this case, by inspecting the unique exclusion profile for waterfall 3, we know that removing the
email_not_provided exclusion (and no others) will add 17,788 waterfall survivors to the 71,785
waterfall 3 survivors, so that we end up with 89,663 customers that we can contact through
direct mail.
• Similarly, we see that the expected annual sales opportunity is $40.9MM if the
email_not_provided exclusion is applied, but if it is removed, it will increase by $10.0MM so that
it equals $50.9MM.
20
Waterfall 3: General exclusion profile with sizing information
Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty
1 0 0 0 71,875 27,128,911$ 67,996,310$ 40,867,399$
2 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$
3 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$
4 0 1 1 169 68,205$ 236,036$ 167,831$
5 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$
6 1 0 1 552 210,006$ 737,378$ 527,372$
7 1 1 0 1,492 567,509$ 1,417,768$ 850,259$
8 1 1 1 48 18,100$ 68,260$ 50,160$
Waterfall 3: Unique exclusion profile with sizing information
Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty
1 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$
2 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$
3 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$
Opportunity sizing direct mail vs email
• We develop performance estimates using some assumptions based on past experience, models,
etc., and obtain the following:
• Note that email is not free. The cost of email includes everything from server and software costs to
legal review of the email piece.
• Overall, the direct mail option is expected to generate more sales than the email option (see
column I: $687K vs $110K). However, when considering incremental sales per marketing dollar
spent, email is 6x more effective ($34.12 vs. $5.68).
• Senior management reviewed this information and decided that they would rather use email than
direct mail, because they would rather spend $3.2K to increase sales by $110K, than spend $121K
to increase sales by $687K.
21
Channel
Customers
Eligible for
Contact
Control
Group %
Customers
Contacted
Expected
Response
Rate
Expected
Responders
Expected Avg
Annual Sales
Opportunity
(from profiles)
Expected
Incremental
Sales (%)
Expected
Incremental
Sales ($)
Expected
Sales from us
(from
profiles)
Increase in
sales (%)
Contact
Cost per
Piece
Contact
Cost
Incremental
Sales per
Marketing
Dollar
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N)
=(B)x(1-(C)) =(E)x(D) =(F)x(G)x(H) =(I)/(J) =(L)x(D) =(I)/(M)
Direct mail 89,663 10% 80,697 5.0% 4,035 568$ 30.00% 687,297$ 33,836,833$ 2.0% 1.50$ 121,045$ 5.68$
Email 71,875 10% 64,688 1.0% 647 569$ 30.00% 110,342$ 27,128,911$ 0.4% 0.05$ 3,234$ 34.12$
= Assumptions based on past experience, models, etc.
Our status thus far
• We expanded our sales funnel by reviewing our exclusions and only keeping those that were
necessary.
• We used that information to size the expected results of a direct mail campaign vs an email
campaign.
• Senior management used our work to make an informed marketing decision – use email rather
than direct mail.
• However, this decision makes the number of customers excluded due to our not having
customer email address a much more visible issue.
• What can be done about the fact that 17,788 customers would be excluded simply because
we don't have their email address?
22
Channel
Customers
Eligible for
Contact
Control
Group %
Customers
Contacted
Expected
Response
Rate
Expected
Responders
Expected Avg
Annual Sales
Opportunity
(from profiles)
Expected
Incremental
Sales (%)
Expected
Incremental
Sales ($)
Expected
Sales from us
(from
profiles)
Increase in
sales (%)
Contact
Cost per
Piece
Contact
Cost
Incremental
Sales per
Marketing
Dollar
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N)
=(B)x(1-(C)) =(E)x(D) =(F)x(G)x(H) =(I)/(J) =(L)x(D) =(I)/(M)
Direct mail 89,663 10% 80,697 5.0% 4,035 568$ 30.00% 687,297$ 33,836,833$ 2.0% 1.50$ 121,045$ 5.68$
Email 71,875 10% 64,688 1.0% 647 569$ 30.00% 110,342$ 27,128,911$ 0.4% 0.05$ 3,234$ 34.12$
= Assumptions based on past experience, models, etc.
A closer look at the email sales exclusion by region
• Investigation of our data by sales region led to the discovery that there are significant differences by sales
region in whether or not a customer's email has been provided.
• We observe in the table on the left that sales region B has a significantly higher percentage of customers with
no email provided: 41.07%, vs 4.73% for region A and 16.65% for region C.
• In addition, the table on the right shows that of the $11.5MM worth of expected annual sales opportunity
belonging to customers with email_not_provided=1, $8.0MM (70%) belongs to the 13,877 customers in
region B with email_not_provided=1.
23
/* Frequency of email_not_provided by
sales_region */
proc freq data=s.waterfall3_w_appends;
/* No 'weight' */
tables sales_region*email_not_provided /
format=comma12. nocol nopercent;
title 'Customer count by sales region and email
exclusion';
run;
/* Frequency of email_not_provided by
sales_region */
proc freq data=s.waterfall3_w_appends;
weight exp_ann_sales_oppty;
tables sales_region*email_not_provided /
format=dollar12. nocol nopercent;
title 'Expected annual sales opportunity by
sales region and email exclusion';
run;
Customer count by sales region and email exclusion
The FREQ Procedure
Table of sales_region by email_not_provided
email_not_provided
0 1 Total
sales_region
A Frequency 40,139 1,994 42,133
Row Pct 95.27 4.73
B Frequency 19,914 13,877 33,791
Row Pct 58.93 41.07
C Frequency 20,067 4,009 24,076
Row Pct 83.35 16.65
Total Frequency 80,120 19,880 100,000
Expected annual sales opportunity by sales region and email exclusion
The FREQ Procedure
Table of sales_region by email_not_provided
email_not_provided
0 1 Total
sales_region
A Frequency $23,291,547 $1,150,341 $24,441,888
Row Pct 95.29 4.71
B Frequency $11,507,738 $8,025,619 $19,533,357
Row Pct 58.91 41.09
C Frequency $11,385,378 $2,295,319 $13,680,697
Row Pct 83.22 16.78
Total Frequency $46,184,663 $11,471,279 $57,655,942
Sizing a sales funnel expansion
• The higher percentage of customers with email not provided in sales region B could be for any number
of reasons, including but not limited to:
1) Fewer customers in this region having an email address.
2) More customers in this region choosing not to provide their email address.
3) Sales associates in this region unsuccessfully requesting, or failing to request email addresses.
4) Problems with the process by which loyalty program enrollment data from this region, but not
the others, is made available for use within the corporation (e.g., problem with the data feed).
• Understanding the root cause of the problem, and how it might be addressed, are necessary for
effectively sizing the expansion.
• Senior management wants us to size the effort and likely outcome of an initiative to gather more
emails from customers in sales region B. In theory, this could result in a significant sales funnel
expansion.
• We can rerun waterfall3 just for customers in sales region B, remembering to ensure that
exactly_one_excl=sum(email_not_provided,special_restrictions,premier_customer), since those are
the only three exclusions in effect for the email waterfall.
• We summarize and get the following unique exclusion profile:
24
Sizing a sales funnel expansion (cont'd)
• This tells us that if we get emails for every customer in sales region B, the maximum impact it would
have is
• Allowing 12,416 more customers to survive the waterfall, and
• Increasing annual sales by an estimated $7,024,480.
• If fully realized, this would be an expansion of the sales funnel:
• By 17% in terms of customers: 12,416/71,875 = 17%
• By 26% in terms of possible sales: ($7,024,480 in exp_ann_sales_oppty)/($27,128,911 in
exp_ann_sales_on_us) = 26%
• However, it is unlikely in the extreme that we would get an email address for all of these customers,
much less fully realize the full sales opportunity. That would be expecting all of them to get email
addresses and give them to us, and respond to our campaign, and to shop only with us and nowhere
else.
• Even so, the unique exclusion profile suggests that addressing this exclusion offers more opportunity
(by customers and by sales) than addressing the others.
• We would expect an additional sales opportunity of $566 for each customer in sales region B that gives
us an email address ($7,024,480 / 12,416 = $566).
25
Sizing a sales funnel expansion (cont'd)
• Sizing this more completely results in the following:
• Even with the favorable assumptions in the above table, the expansion would result in a paltry sales increase of
0.03%.
• Another way to look at this: Out of $7.0MM in potential additional sales opportunity (from the unique exclusion
profile), we're expecting to realize only $7.6K (0.11% of the total).
• To get the full $7.0MM in additional sales opportunity, we would need
• Column C = 100% (i.e., get every person to create and give us their email address)
• Column E = 0% (i.e., no control group)
• Column G = 100% (i.e., all of them redeem their offers in store or online)
• Column J = 100% (i.e., all of them buy from us whatever they would have bought from a competitor)
26
Channel
Customers
Eligible for
Contact
Add'l
Emails
Expected
(%)
Add'l
Emails
Expected
($)
Control
Group %
Customers
Contacted
Expected
Response
Rate
Expected
Responders
Expected Avg
Annual Sales
Opportunity
(from profiles)
Expected
Incremental
Sales (%)
Expected
Incremental
Sales ($)
Expected Sales from us
for customers in the
email campaign (from
profiles)
Increase in
sales (%)
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M)
=(C)x(B) =(B)x(1-(E)) =(G)x(F) =(H)x(I)x(J) =(K)/(L)
Email 12,416 20% 2,483 10% 2,235 2.0% 45 566$ 30.00% 7,586$ 27,128,911$ 0.03%
= Assumptions based on past experience, models, etc.
Final thoughts on sizing a sales funnel expansion
• The most important part of sizing is ensuring that you really captured all the necessary information:
• What are the costs associated with the expansion? For example, if training will be done, how much does the
training cost? What about lost work time to train sales associates?
• How would our numbers change if we expected the loyalty program enrollment to grow 1% per month,
rather than stay at 100,000?
• What if sales region B was enrolling new members at twice the rate of other sales regions?
• We're assuming that the only gains we get are from additional sales. What if we would lose sales from not
running these campaigns when our competitors did run such campaigns? That would mean that our
incremental sales figures are understated.
• What about the halo effect? It's possible that customers who received a circular but didn't redeem any offers
could have increased their spending on other items in your store.
• Should we size the impact on one campaign only? Wouldn't the benefits of training the sales associates
positively impact every campaign from that point forward?
• If the training is successful, wouldn't we consider conducting it in other sales regions? Should we size the
benefits and costs of that?
• After you've answered those questions, derive a performance estimate, consider the costs, and ask if the sales
funnel expansion is worth it.
27
Thank you
Acknowledgements
The author thanks Kaiqing Fan for accepting his presentation, and Mary MacDougall for her tireless efforts over
many years in keeping SAS users connected, and all those who helped organize the 2018 Ohio SAS Users
Conference.
Disclaimer
The contents of this paper are the work of the author and do not necessarily represent the opinions,
recommendations, or practices of his employer.
Trademarks
SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS
Institute Inc. in the USA and other countries. ® indicates USA registration. Other brand and product names are
trademarks of their respective companies.
Author information
Michael Mina is a Vice President in the Decision Science Department of PNC Financial Services. Over the course of
his career, he has worked in banking, consulting, insurance, healthcare management, benefit services, and
academia. He was a presenter at the 2009 Midwest SAS Users Group (MWSUG) Conference, and is scheduled to
present at the upcoming 2018 Advanced Research Techniques (ART) Forum of the American Marketing
Association.
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/
28

Mais conteúdo relacionado

Semelhante a Expanding Your Sales Funnel with SAS® Email Waterfall Analysis

Minimize Fraud And Maximize Revenue Deposit Risk Scoring
Minimize Fraud And Maximize Revenue   Deposit Risk ScoringMinimize Fraud And Maximize Revenue   Deposit Risk Scoring
Minimize Fraud And Maximize Revenue Deposit Risk Scoringjiz95001
 
Working Capital Modeling PowerPoint Presentation Slides
Working Capital Modeling PowerPoint Presentation Slides Working Capital Modeling PowerPoint Presentation Slides
Working Capital Modeling PowerPoint Presentation Slides SlideTeam
 
Become a Formula Ninja
Become a Formula NinjaBecome a Formula Ninja
Become a Formula NinjaConfigero
 
Win and keep your customers in changing markets
Win and keep your customers in changing markets Win and keep your customers in changing markets
Win and keep your customers in changing markets The BrainLink Group
 
Intro to Financial Modeling - EI
Intro to Financial Modeling - EIIntro to Financial Modeling - EI
Intro to Financial Modeling - EIMartin Zych
 
IRJET- Finding Optimal Skyline Product Combinations Under Price Promotion
IRJET- Finding Optimal Skyline Product Combinations Under Price PromotionIRJET- Finding Optimal Skyline Product Combinations Under Price Promotion
IRJET- Finding Optimal Skyline Product Combinations Under Price PromotionIRJET Journal
 
Abcwealthmgr2002
Abcwealthmgr2002Abcwealthmgr2002
Abcwealthmgr2002Guan Khoo
 
1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx
1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx
1.1DetailsCase Study Scenario - Global Trading PLCGlo.docxelliotkimberlee
 
10 features to check out in your subscription management solution
10 features to check out in your subscription management solution10 features to check out in your subscription management solution
10 features to check out in your subscription management solutionkanimozhin
 
10 features to check out in your subscription management solution
10 features to check out in your subscription management solution10 features to check out in your subscription management solution
10 features to check out in your subscription management solutionTechcello
 
Working Capital Analysis PowerPoint Presentation Slides
Working Capital Analysis PowerPoint Presentation Slides Working Capital Analysis PowerPoint Presentation Slides
Working Capital Analysis PowerPoint Presentation Slides SlideTeam
 
Fin 534 financial management – fin534 homework
Fin 534 financial management – fin534 homeworkFin 534 financial management – fin534 homework
Fin 534 financial management – fin534 homeworkHomework Help Online
 
Business Valuation PowerPoint Presentation Slides
Business Valuation PowerPoint Presentation SlidesBusiness Valuation PowerPoint Presentation Slides
Business Valuation PowerPoint Presentation SlidesSlideTeam
 
Neural Network Model
Neural Network ModelNeural Network Model
Neural Network ModelEric Esajian
 
2015 Alberta WCB Rate Calculator
2015 Alberta WCB Rate Calculator2015 Alberta WCB Rate Calculator
2015 Alberta WCB Rate CalculatorRussell Vasseur
 
Impact Data Introduction
Impact Data IntroductionImpact Data Introduction
Impact Data IntroductionChris Shearer
 

Semelhante a Expanding Your Sales Funnel with SAS® Email Waterfall Analysis (20)

Minimize Fraud And Maximize Revenue Deposit Risk Scoring
Minimize Fraud And Maximize Revenue   Deposit Risk ScoringMinimize Fraud And Maximize Revenue   Deposit Risk Scoring
Minimize Fraud And Maximize Revenue Deposit Risk Scoring
 
Working Capital Modeling PowerPoint Presentation Slides
Working Capital Modeling PowerPoint Presentation Slides Working Capital Modeling PowerPoint Presentation Slides
Working Capital Modeling PowerPoint Presentation Slides
 
Become a Formula Ninja
Become a Formula NinjaBecome a Formula Ninja
Become a Formula Ninja
 
My Portfolio
My PortfolioMy Portfolio
My Portfolio
 
Win and keep your customers in changing markets
Win and keep your customers in changing markets Win and keep your customers in changing markets
Win and keep your customers in changing markets
 
Big Data Hadoop Customer 360 Degree View
Big Data Hadoop Customer 360 Degree ViewBig Data Hadoop Customer 360 Degree View
Big Data Hadoop Customer 360 Degree View
 
Intro to Financial Modeling - EI
Intro to Financial Modeling - EIIntro to Financial Modeling - EI
Intro to Financial Modeling - EI
 
IRJET- Finding Optimal Skyline Product Combinations Under Price Promotion
IRJET- Finding Optimal Skyline Product Combinations Under Price PromotionIRJET- Finding Optimal Skyline Product Combinations Under Price Promotion
IRJET- Finding Optimal Skyline Product Combinations Under Price Promotion
 
Abcwealthmgr2002
Abcwealthmgr2002Abcwealthmgr2002
Abcwealthmgr2002
 
1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx
1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx
1.1DetailsCase Study Scenario - Global Trading PLCGlo.docx
 
10 features to check out in your subscription management solution
10 features to check out in your subscription management solution10 features to check out in your subscription management solution
10 features to check out in your subscription management solution
 
10 features to check out in your subscription management solution
10 features to check out in your subscription management solution10 features to check out in your subscription management solution
10 features to check out in your subscription management solution
 
Working Capital Analysis PowerPoint Presentation Slides
Working Capital Analysis PowerPoint Presentation Slides Working Capital Analysis PowerPoint Presentation Slides
Working Capital Analysis PowerPoint Presentation Slides
 
Fin 534 financial management – fin534 homework
Fin 534 financial management – fin534 homeworkFin 534 financial management – fin534 homework
Fin 534 financial management – fin534 homework
 
Business Valuation PowerPoint Presentation Slides
Business Valuation PowerPoint Presentation SlidesBusiness Valuation PowerPoint Presentation Slides
Business Valuation PowerPoint Presentation Slides
 
Achieve Your Business Dreams
Achieve Your Business DreamsAchieve Your Business Dreams
Achieve Your Business Dreams
 
Neural Network Model
Neural Network ModelNeural Network Model
Neural Network Model
 
2015 Alberta WCB Rate Calculator
2015 Alberta WCB Rate Calculator2015 Alberta WCB Rate Calculator
2015 Alberta WCB Rate Calculator
 
Impact Data Introduction
Impact Data IntroductionImpact Data Introduction
Impact Data Introduction
 
Decision analysis
Decision analysisDecision analysis
Decision analysis
 

Último

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
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanMYRABACSAFRA2
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
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
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
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
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
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
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSINGmarianagonzalez07
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxdolaknnilon
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfBoston Institute of Analytics
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Último (20)

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...
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population Mean
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
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
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
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
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
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
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptx
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 

Expanding Your Sales Funnel with SAS® Email Waterfall Analysis

  • 1. Expanding Your Sales Funnel with SAS® Michael Mina 2018 Ohio SAS Users Group Conference May 21, 2018
  • 2. Introduction • The process by which many sales leads are narrowed down to a smaller number of actual sales is often referred to as a sales funnel. • The idea behind the funnel image is that many sales leads enter into the wider top of the funnel, but as a result of exclusions, specific targeting criteria, and customer choices, only some of them will actually emerge from the narrow end of the funnel and result in sales. • Several different versions and graphical representations of the sales funnel exist. A typical, simplified version appears on this slide. 2 • We will focus on a specific application of SAS, namely • how to structure a SAS data set to facilitate sales funnel analysis, and • how to analyze this data to find expansion opportunities in any industry to which the sales funnel concept is applicable. • With a properly structured data set, the SAS code needed for sales funnel analysis is straightforward, and can generate significant return on investment. • The waterfall is a key concept in sales funnel analysis, and it will be covered, but this paper will focus on increasing the number of waterfall survivors rather than the technical aspects of creating a waterfall chart in SAS.
  • 3. The waterfall and/or the waterfall chart • All or part of the sales funnel is often described in more detail using a waterfall, which shows the sequential reductions in leads as they fail to pass certain qualifications. • Sales funnel analytics includes, but is not limited to, expanding your sales funnel – In other words, increasing some metric (generally the number of qualified leads) that come out of the funnel, or getting more customers to survive the previously mentioned qualifications. 3 /* Sample waterfall - Code was modified from that which appeared in http://support.sas.com/rnd/datavisualization/yourGraphs/businessQuick/waterfall / */ data waterfall; length id $10; format Amount best.; input ID $ Amount type $; datalines; Initial 1000000 Subtotal Exclusion1 -250000 Exclusion Exclusion2 -150000 Exclusion Exclusion3 -100000 Exclusion ; /* Open the LISTING destination and assign the ANALYSIS style to the graph */ ods listing style=analysis; ods graphics / width=5in height=2.81in; title 'Sample Waterfall'; proc sgplot data=waterfall noautolegend; waterfall category=id response=amount / colorgroup=type dataskin=sheen datalabel name='a'; keylegend 'a' / location=inside position=topright across=1; xaxis display=(nolabel); yaxis grid display=(nolabel) offsetmin=0; run; Waterfall charts were popularized by McKinsey & Company in its presentations to clients. (https://en.wikipedia.org/wiki/Waterfall_chart)
  • 4. Our hypothetical business case • Suppose we are employed in the marketing analytics department of a retailer with a number of stores and a significant online presence. • Our company launched a loyalty program several months ago and has enrolled 100,000 customers to date. • Our primary means of interacting with program members has been: 1) Email – when we have an email address, which we do have for 80,120 customers 2) Point of sale – at the cash register 3) Direct mail – we have mailing addresses for all 100.000 members, but sending mail is costly • Senior management wants to running campaigns where we mail retail circulars to members of the loyalty program • The circulars would have special deals, coupons, etc., which customers would redeem (which would count as a response to the campaign). • Whether the circulars are paper or electronic is yet to be determined by senior management. • Our analysis may play a role in their decision. • We need to analyze the sales funnel in two ways: 1) By assuming we will use email only (electronic circular) 2) By assuming we will use direct mail only (paper circular) • Essentially, we need to justify using direct mail or email as our contact channel. 4
  • 5. Structuring the analytical data set • Suppose that as our starting point, we are given the following data for all loyalty program customers: • Based on past experience, we already suspect that we will not be permitted to contact customers with special restrictions (special_restrictions=1), or premier customers (premier_customer=1), regardless of whether we use direct mail or email. When we run our first waterfall for either the direct mail or email channels, we will apply those exclusions. • Exclusions depend on a variety of factors, including legal requirements, channel-specific factors, and business objectives. Consider our "homeowner" variable. • If you wanted to sell homeowners insurance, you would likely exclude everyone who was not a homeowner. • However, if you wanted to sell renters insurance, you would likely exclude everyone who was a homeowner. • Note that there are people who are neither homeowners nor renters, but homeowner=0 would be strongly correlated with renters, especially with customers in their mid-twenties or above. Also note that one can be a renter of their primary residence, and still be the owner of a home. 5 Variable Definition customer_id A unique customer identifier. sales_region The sales region (A, B, or C) in which the customer resides. email_provided If the customer provided an email address, then 1, otherwise 0. homeowner If the customer owns their primary residence, then 1, otherwise 0. special_restrictions These customers were flagged with a 1 to indicate that additional marketing to them is unlikely to be beneficial, and is thus discouraged (e.g., too many complaints, too many returns). premier_customer These are our best customers, flagged with a 1, as determined by several metrics, not all of which are contained in this data set. As a segment, they are normally managed by a dedicated team, and are usually excluded from marketing efforts not originating from the management team of that segment. credit_score The range containing the customer FICO score. This data came from the team that manages our store credit card and they use it to exclude certain customers from certain credit card marketing promotions. However, credit score may not be applicable to our particular marketing plans. We question whether affiliate sharing laws would even allow us to use this data. household_income The range containing household (not customer) income. This was either provided by the customer, or derived using demographic data, or modeled using variables not contained in this data set.
  • 6. Structuring the analytical data set (cont'd) • This is a sample of the data set we were given: 6 Customer file for sales funnel analysis (obs=20) Obs customer_id sales_region email_provided homeowner special_restrictions premier_customer credit_score household_income 1 1 A 1 1 0 0 B. 650 - 679 D. $75K - $100K 2 2 A 1 1 0 0 C. 680 - 749 A. $0 - $25K 3 3 A 1 0 0 0 B. 650 - 679 D. $75K - $100K 4 4 A 1 1 0 1 C. 680 - 749 B. $25K - $50K 5 5 A 1 0 0 0 E. 800 - 850 D. $75K - $100K 6 6 A 0 1 0 0 C. 680 - 749 D. $75K - $100K 7 7 B 0 1 0 0 E. 800 - 850 C. $50K - $75K 8 8 A 1 1 0 0 D. 750 - 799 C. $50K - $75K 9 9 B 1 1 0 0 D. 750 - 799 C. $50K - $75K 10 10 A 0 1 0 0 B. 650 - 679 E. $100K+ 11 11 A 1 1 0 0 D. 750 - 799 A. $0 - $25K 12 12 B 1 1 0 0 A. 300 - 649 C. $50K - $75K 13 13 A 1 1 0 0 E. 800 - 850 C. $50K - $75K 14 14 A 1 1 0 0 E. 800 - 850 B. $25K - $50K 15 15 A 1 1 1 0 E. 800 - 850 B. $25K - $50K 16 16 B 1 1 1 0 D. 750 - 799 D. $75K - $100K 17 17 C 1 1 0 0 D. 750 - 799 C. $50K - $75K 18 18 A 1 1 0 0 D. 750 - 799 E. $100K+ 19 19 B 0 1 0 0 C. 680 - 749 D. $75K - $100K 20 20 A 1 1 0 0 B. 650 - 679 D. $75K - $100K
  • 7. Defining exclusion variables • Exclusion variables should be defined negatively, so that the variable for a particular exclusion is equal to one when the customer should be excluded, and zero otherwise. • For example, if you want to exclude people who are not homeowners, then don't exclude them using homeowner=0. Instead, define a variable non_homeowner so that: if homeowner=0 then non_homeowner=1; else non_homeowner=0; and then exclude a customer with non_homeowner=1 • This will make your coding consistent and allows quick summation of the number of customers affected by one or more exclusions. • Even though we're not entirely certain which exclusions we will apply, we can create possible exclusion variables for them with this code: 7 /* Define exclusion variables as needed */ data s.customer_file_mod; set s.customer_file; if homeowner=0 then non_homeowner=1; else non_homeowner=0; if email_provided=0 then email_not_provided=1; else email_not_provided=0; length credit1 $ 1; length income1 $ 1; credit1=substr(credit_score,1,1); if credit1='A' or credit1='B' then credit_score_exclude=1; else credit_score_exclude=0; income1=substr(household_income,1,1); if income1='A' or income1='B' then income_exclude=1; else income_exclude=0; run; Why would you define possible exclusions before you've created your waterfall code? Because at this stage, you probably don't know for certain which exclusions will be used in your final waterfall, and it's generally easier to have all possible exclusions coded. In some situations, you will develop one waterfall after another and have senior management review the results each time before a final decision is made as to which exclusions to apply.
  • 8. Creating the email waterfall code – applying the exclusion variables • Note: The data used are synthetically constructed. The exclusions used here are for illustrative purposes only and should not be construed as support for excluding customers from marketing campaigns due to their specific circumstances or characteristics. • The waterfall code will take the customer_file_mod data set and classify customers on the basis of the exclusion affecting them, if any. • If desired, one could combine defining exclusion variables with applying those variables in a waterfall. They have not been combined in this presentation. • If our goal is to email customers, then we need to exclude customers that haven't given us their email address. The code for applying exclusions should create an order in which each exclusion is applied, and a description of each exclusion, like so: • Exclusion order matters - The order in which exclusions appear in your code will affect the number of customers listed as being excluded by that particular exclusion, even though the final number of waterfall survivors will be the same in either case. • For example, consider the following two waterfalls. • In waterfall 1, the email not provided exclusion is the first exclusion applied. • In waterfall 2, it is the last. First, we run the waterfalls: 8 if email_not_provided=1 then do; exclusion_order=1; exclusion_desc='email not provided'; end;
  • 9. Exclusion order matters – a demonstration 9 data waterfall1; set s.customer_file_mod; length exclusion_desc $ 25.; if email_not_provided=1 then do; exclusion_order=1; exclusion_desc='email not provided'; end; else if special_restrictions=1 then do; exclusion_order=2; exclusion_desc='special_restrictions'; end; else if premier_customer=1 then do; exclusion_order=3; exclusion_desc='premier customer'; end; else if not_homeowner=1 then do; exclusion_order=4; exclusion_desc='not homeowner'; end; else if credit_score_exclude=1 then do; exclusion_order=5; exclusion_desc='low credit score'; end; else if income_exclude=1 then do; exclusion_order=6; exclusion_desc='low income'; end; else do; exclusion_order=7; exclusion_desc='do not exclude'; end; exclusion_count=sum(email_not_provided, special_restrictions, premier_customer, not_homeowner, credit_score_exclude, income_exclude); if exclusion_count=1 then exactly_one_excl=1; else exactly_one_excl=0; run; data waterfall2; set s.customer_file_mod; length exclusion_desc $ 25.; if special_restrictions=1 then do; exclusion_order=1; exclusion_desc='special_restrictions'; end; else if premier_customer=1 then do; exclusion_order=2; exclusion_desc='premier customer'; end; else if not_homeowner=1 then do; exclusion_order=3; exclusion_desc='not homeowner'; end; else if credit_score_exclude=1 then do; exclusion_order=4; exclusion_desc='low credit score'; end; else if income_exclude=1 then do; exclusion_order=5; exclusion_desc='low income'; end; else if email_not_provided then do; exclusion_order=6; exclusion_desc='email not provided'; end; else do; exclusion_order=7; exclusion_desc='do not exclude'; end; exclusion_count=sum(email_not_provided, special_restrictions, premier_customer, not_homeowner, credit_score_exclude, income_exclude); if exclusion_count=1 then exactly_one_excl=1; else exactly_one_excl=0; run;
  • 10. Exclusion order matters – a demonstration (cont'd) 10 /* Create waterfall 1 components */ proc sql; create table s.waterfall1_sum as select exclusion_order, exclusion_desc , count(*) as customer_count from waterfall1 group by exclusion_order, exclusion_desc order by exclusion_order ; quit; /* Create waterfall 2 components */ proc sql; create table s.waterfall2_sum as select exclusion_order, exclusion_desc , count(*) as customer_count from waterfall2 group by exclusion_order, exclusion_desc order by exclusion_order ; quit; Waterfall 1 Obs exclusion_order exclusion_desc customer_count 1 1 email not provided 19,880 2 2 special restrictions 5,942 3 3 premier customer 2,303 4 4 not homeowner 14,325 5 5 low credit score 11,554 6 6 low income 9,261 7 7 do not exclude 36,735 Waterfall 2 Obs exclusion_order exclusion_desc customer_count 1 1 special restrictions 7,482 2 2 premier customer 2,855 3 3 not homeowner 17,882 4 4 low credit score 14,427 5 5 low income 11,540 6 6 email not provided 9,079 7 7 do not exclude 36,735 • In waterfall 1, the number of customers excluded due to email not provided is 19,880. In waterfall 2, the number is 9,079 - less than half the number excluded in waterfall 1. • The waterfall, whether in table or chart form, is a very useful tool for showing how exclusions narrow your sales funnel, but comparing two otherwise identical waterfalls with just one exclusion in a different order shows that waterfalls are not the best tool for assessing the impact of individual exclusions. Two better tools for that purpose are the general exclusion profile, and the unique exclusion profile.
  • 11. The general exclusion profile and the unique exclusion profile • The general exclusion profile in its simplest form is a table showing customer count by each combination of exclusion variables. • The unique exclusion profile also groups customers by each combination of exclusion variables, but it selects only those customers with exactly_one_excl=1. This gives a more accurate view of the impact of each exclusion. 11 /* Create waterfall 1 general exclusion profile */ proc sql; create table s.waterfall1_gep as select email_not_provided , special_restrictions, premier_customer , not_homeowner, credit_score_exclude , income_exclude , count(*) as customer_count from waterfall1 /* There is no "where" clause */ group by email_not_provided , special_restrictions, premier_customer , not_homeowner, credit_score_exclude , income_exclude ; quit; /* Create waterfall 1 unique exclusion profile */ proc sql; create table s.waterfall1_uep as select email_not_provided , special_restrictions, premier_customer , not_homeowner, credit_score_exclude , income_exclude , count(*) as customer_count from waterfall1 where exactly_one_excl=1 group by email_not_provided , special_restrictions, premier_customer , not_homeowner, credit_score_exclude , income_exclude ; quit;
  • 12. The general exclusion profile and the unique exclusion profile (cont'd) • Notice that the top row of the general exclusion profile, with all exclusion variables equal to zero, is the number of waterfall survivors (i.e., customers that are not excluded). • The general exclusion profile is useful for showing the impact of the interaction of multiple exclusions • The unique exclusion profile is useful for showing the impact of a single exclusion. • A misinterpretation of waterfall 1 would suggest that removing the email not provided non- homeowner exclusion alone would result in 14,325 additional waterfall survivors. The unique exclusion profile shows that removing that exclusion alone would result in only 9,207 additional waterfall survivors. 12 Waterfall 1: General exclusion profile (obs=20) Obs email_not_provided special_restrictions premier_customer not_homeowner credit_score_exclude income_exclude customer_count 1 0 0 0 0 0 0 36,735 2 0 0 0 0 0 1 9,261 3 0 0 0 0 1 0 9,234 4 0 0 0 0 1 1 2,320 5 0 0 0 1 0 0 9,207 6 0 0 0 1 0 1 2,241 7 0 0 0 1 1 0 2,289 8 0 0 0 1 1 1 588 9 0 0 1 0 0 0 1,130 10 0 0 1 0 0 1 297 11 0 0 1 0 1 0 307 12 0 0 1 0 1 1 81 13 0 0 1 1 0 0 315 14 0 0 1 1 0 1 69 15 0 0 1 1 1 0 85 16 0 0 1 1 1 1 19 17 0 1 0 0 0 0 2,939 18 0 1 0 0 0 1 709 19 0 1 0 0 1 0 794 20 0 1 0 0 1 1 205 Waterfall 1: Unique exclusion profile Obs email_not_provided special_restrictions premier_customer not_homeowner credit_score_exclude income_exclude customer_count 1 0 0 0 0 0 1 9,261 2 0 0 0 0 1 0 9,234 3 0 0 0 1 0 0 9,207 4 0 0 1 0 0 0 1,130 5 0 1 0 0 0 0 2,939 6 1 0 0 0 0 0 9,079 • Note that waterfall 1 had "low income" as the last exclusion (the row before "do not exclude" is the last exclusion), and it affects 9,261 customers, which is the amount indicated in the unique exclusion profile table. • Similarly, note that waterfall 2 had "email not provided" as the last exclusion, which affects 9,079 customers, and that matches the figure indicated in the unique exclusion profile table. • The last exclusion in a waterfall will have the quantity impacted by only that exclusion, and should match the quantity associated with that exclusion in the unique exclusion profile.
  • 13. Steps to building your own waterfall code • Due to constraints on time and/or resources, or other reasons, you may inherit a pre-existing waterfall and be tasked with modifying it, rather than being given time to construct a new one. Alternatively, stakeholders may want a new waterfall created with exclusions they already have in mind. • In either case, to increase the number of waterfall survivors and expand your sales funnel, do the following: 1) Ensure that there are no problematic exclusions under consideration 2) Determine which exclusions are absolutely required 3) Remove unnecessary or inapplicable exclusions 4) Size the opportunity and effort involved in minimizing the impact of the remaining exclusions • In our hypothetical example, we follow the above steps and get the following: 1) Ensure that there are no problematic exclusions under consideration • We suspect that the credit score exclusion might have been applicable for another waterfall that was used by the team that gave us the data, but we are convinced that (a) it's not relevant for our marketing campaign and (b) might have been given to us in violation of affiliate sharing laws. • Consider involving members of a Compliance and/or Legal team to help determine which exclusions should not be applied. We will remove the credit_score exclusion. 2) Determine which exclusions are absolutely required • Discussions between the appropriate departments have failed to convince the premier customer segment manager to allow marketing to that segment. As a result, the premier_customer exclusion cannot be removed. • We agree that the special_restrictions exclusion should not be removed. • Also, if we don't have email addresses, we cannot email customers, so the email_not_provided exclusion cannot be removed. 13
  • 14. Steps to building your own waterfall code (cont'd) • In our hypothetical example, we follow the above steps and get the following (cont'd): 3) Remove unnecessary or inapplicable exclusions • Homeownership is not relevant to our marketing campaign, so we will remove the non- homeowner exclusion. • Income is not relevant to our marketing campaign, so we will remove the income exclusion. • Income may be relevant to a future part of our sales funnel analysis, but at this point, we should not exclude customers on this basis. • Data that may be unsuitable for purposes of exclusion may be suitable for analytical purposes. 4) Size the opportunity and effort involved in minimizing the impact of the remaining exclusions • As previously mentioned, if we don't have email addresses, we cannot email customers, so the email not provided exclusion cannot be removed. • Getting additional email addresses is a method of expanding the sales funnel, and we will size the effort associated with getting those email addresses. 14
  • 15. Our final waterfall for contact via email • Create the email waterfall by making these changes to waterfall 1: • Comment out (or delete) code related to the unused exclusions, and change the formula for exclusion_count to account for the actual exclusions used. Name the new waterfall "waterfall3" • Running waterfall 3 and summarizing the results shows 71,785 waterfall survivors – almost double the 36,735 survivors of waterfalls 1 and 2. 15 Keep these exclusions Remove these exclusions email_not_provided credit_score_exclude special_restrictions not_homeowner premier_customer income_exclude /* else if credit_score_exclude=1 then do; exclusion_order=4; exclusion_desc='low credit score'; end; else if income_exclude=1 then do; exclusion_order=5; exclusion_desc='low income'; end; else email_not_provided then do; exclusion_order=6; exclusion_desc='email not provided'; end; */ /* exclusion_count=sum(email_not_provided, special_restrictions, premier_customer, not_homeowner, credit_score_exclude, income_exclude); */ exclusion_count=sum(email_not_provided, special_restrictions, premier_customer); Waterfall 3 Obs exclusion_order exclusion_desc customer_count 1 1 email not provided 19,880 2 2 special restrictions 5,942 3 3 premier customer 2,303 4 7 do not exclude 71,785
  • 16. Exclusion profiles for waterfall3 16 Waterfall 3: General exclusion profile Obs email_not_provided special_restrictions premier_customer customer_count 1 0 0 0 71,875 2 0 0 1 2,303 3 0 1 0 5,773 4 0 1 1 169 5 1 0 0 17,788 6 1 0 1 552 7 1 1 0 1,492 8 1 1 1 48 Waterfall 3: Unique exclusion profile Obs email_not_provided special_restrictions premier_customer customer_count 1 0 0 1 2,303 2 0 1 0 5,773 3 1 0 0 17,788
  • 17. Our status thus far • We started out being given a waterfall that suggested we would only be able to contact 36,735 customers by email. Through our efforts, we now have a waterfall that allows us to contact 71,785 customers by email. • However, note that even after we've doubled the number of waterfall survivors, we're still missing the email addresses of 20% of customers enrolled in the program (recall that we have valid email addresses for 80,120 customers in the loyalty program). • We can proceed with the email campaign, but at some point, senior management wants us to investigate the issue of email addresses not being provided. • The hope is that we will determine the causes, and suggest remedies. • We want to know how much effort would be involved in determining the causes, and what the expected benefits would be. This will be discussed in more detail below. • In the meantime, our two options for contacting these customers – this is really just a choice of contact channel – are: • To help senior management decide which option to use, we will create performance estimates for each (i.e., do some opportunity sizing). • At this time, incorporating financial data into our analysis would be helpful. 17 1) Contact all eligible loyalty program customers by email (where eligibility is determined by the email waterfall), since email has a much lower cost than direct mail, even though it is much less effective in generating responses, or 2) Contact all eligible loyalty program customers by direct mail (where eligibility is determined by the direct mail waterfall – not yet developed), since direct mail has a much better response rate than email, even though it is much more expensive.
  • 18. • We need some financial data appended to the above data to help us evaluate option 1 vs option 2. This is the information we were able to obtain: • A sample of the data set appears here: Appending financial data for opportunity sizing Variable Definition customer_id A unique customer identifier. exp_ann_sales_from_us The amount that we expect the customer to spend in the next 12 months from our stores in the absence of any special marketing promotion. This can be based on actual sales, demographic data, predictive models, etc. exp_ann_sales_total The amount that we expect the customer to spend in the next 12 months from all stores, including our own. This can be based on actual sales, demographic data, predictive models, etc. exp_ann_sales_oppty Defined as exp_ann_sales_total minus exp_ann_sales_from_us. 18 Traditional sales funnel analysis often focuses on customers that fall out at each stage of the waterfall. By adding a financial component to that analysis, and learning where financial opportunity falls out, you can make more informed decisions.
  • 19. • We merge the financial data with the source data set we used in waterfall 3 using customer_id, then we run that combined data set though waterfall 3. • We then summarize the results as previously shown, but we include summations of financial data in our exclusion profile code, to get the following exclusion profiles with sizing information: • This tells us that the 71,875 customers who would be eligible for our email campaign already generate $27.1MM in sales for us, and about $40.9MM for our competitors. Exclusion profiles with financial information appended for sizing 19 Waterfall 3: General exclusion profile with sizing information Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty 1 0 0 0 71,875 27,128,911$ 67,996,310$ 40,867,399$ 2 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$ 3 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$ 4 0 1 1 169 68,205$ 236,036$ 167,831$ 5 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$ 6 1 0 1 552 210,006$ 737,378$ 527,372$ 7 1 1 0 1,492 567,509$ 1,417,768$ 850,259$ 8 1 1 1 48 18,100$ 68,260$ 50,160$ Waterfall 3: Unique exclusion profile with sizing information Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty 1 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$ 2 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$ 3 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$
  • 20. Sizing contact via direct mail without a direct mail waterfall • You world create the direct mail waterfall by making these changes to the email waterfall (waterfall 3): • Important note: • While a new direct mail waterfall would be necessary to conduct a direct mail campaign, it is not always necessary to create new waterfall code for opportunity sizing. • In this case, by inspecting the unique exclusion profile for waterfall 3, we know that removing the email_not_provided exclusion (and no others) will add 17,788 waterfall survivors to the 71,785 waterfall 3 survivors, so that we end up with 89,663 customers that we can contact through direct mail. • Similarly, we see that the expected annual sales opportunity is $40.9MM if the email_not_provided exclusion is applied, but if it is removed, it will increase by $10.0MM so that it equals $50.9MM. 20 Waterfall 3: General exclusion profile with sizing information Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty 1 0 0 0 71,875 27,128,911$ 67,996,310$ 40,867,399$ 2 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$ 3 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$ 4 0 1 1 169 68,205$ 236,036$ 167,831$ 5 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$ 6 1 0 1 552 210,006$ 737,378$ 527,372$ 7 1 1 0 1,492 567,509$ 1,417,768$ 850,259$ 8 1 1 1 48 18,100$ 68,260$ 50,160$ Waterfall 3: Unique exclusion profile with sizing information Obs email_not_provided special_restrictions premier_customer customer_count exp_ann_sales_from_us exp_ann_sales_total exp_ann_sales_oppty 1 0 0 1 2,303 852,873$ 2,971,919$ 2,119,046$ 2 0 1 0 5,773 2,204,740$ 5,535,127$ 3,330,387$ 3 1 0 0 17,788 6,707,992$ 16,751,480$ 10,043,488$
  • 21. Opportunity sizing direct mail vs email • We develop performance estimates using some assumptions based on past experience, models, etc., and obtain the following: • Note that email is not free. The cost of email includes everything from server and software costs to legal review of the email piece. • Overall, the direct mail option is expected to generate more sales than the email option (see column I: $687K vs $110K). However, when considering incremental sales per marketing dollar spent, email is 6x more effective ($34.12 vs. $5.68). • Senior management reviewed this information and decided that they would rather use email than direct mail, because they would rather spend $3.2K to increase sales by $110K, than spend $121K to increase sales by $687K. 21 Channel Customers Eligible for Contact Control Group % Customers Contacted Expected Response Rate Expected Responders Expected Avg Annual Sales Opportunity (from profiles) Expected Incremental Sales (%) Expected Incremental Sales ($) Expected Sales from us (from profiles) Increase in sales (%) Contact Cost per Piece Contact Cost Incremental Sales per Marketing Dollar (A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N) =(B)x(1-(C)) =(E)x(D) =(F)x(G)x(H) =(I)/(J) =(L)x(D) =(I)/(M) Direct mail 89,663 10% 80,697 5.0% 4,035 568$ 30.00% 687,297$ 33,836,833$ 2.0% 1.50$ 121,045$ 5.68$ Email 71,875 10% 64,688 1.0% 647 569$ 30.00% 110,342$ 27,128,911$ 0.4% 0.05$ 3,234$ 34.12$ = Assumptions based on past experience, models, etc.
  • 22. Our status thus far • We expanded our sales funnel by reviewing our exclusions and only keeping those that were necessary. • We used that information to size the expected results of a direct mail campaign vs an email campaign. • Senior management used our work to make an informed marketing decision – use email rather than direct mail. • However, this decision makes the number of customers excluded due to our not having customer email address a much more visible issue. • What can be done about the fact that 17,788 customers would be excluded simply because we don't have their email address? 22 Channel Customers Eligible for Contact Control Group % Customers Contacted Expected Response Rate Expected Responders Expected Avg Annual Sales Opportunity (from profiles) Expected Incremental Sales (%) Expected Incremental Sales ($) Expected Sales from us (from profiles) Increase in sales (%) Contact Cost per Piece Contact Cost Incremental Sales per Marketing Dollar (A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N) =(B)x(1-(C)) =(E)x(D) =(F)x(G)x(H) =(I)/(J) =(L)x(D) =(I)/(M) Direct mail 89,663 10% 80,697 5.0% 4,035 568$ 30.00% 687,297$ 33,836,833$ 2.0% 1.50$ 121,045$ 5.68$ Email 71,875 10% 64,688 1.0% 647 569$ 30.00% 110,342$ 27,128,911$ 0.4% 0.05$ 3,234$ 34.12$ = Assumptions based on past experience, models, etc.
  • 23. A closer look at the email sales exclusion by region • Investigation of our data by sales region led to the discovery that there are significant differences by sales region in whether or not a customer's email has been provided. • We observe in the table on the left that sales region B has a significantly higher percentage of customers with no email provided: 41.07%, vs 4.73% for region A and 16.65% for region C. • In addition, the table on the right shows that of the $11.5MM worth of expected annual sales opportunity belonging to customers with email_not_provided=1, $8.0MM (70%) belongs to the 13,877 customers in region B with email_not_provided=1. 23 /* Frequency of email_not_provided by sales_region */ proc freq data=s.waterfall3_w_appends; /* No 'weight' */ tables sales_region*email_not_provided / format=comma12. nocol nopercent; title 'Customer count by sales region and email exclusion'; run; /* Frequency of email_not_provided by sales_region */ proc freq data=s.waterfall3_w_appends; weight exp_ann_sales_oppty; tables sales_region*email_not_provided / format=dollar12. nocol nopercent; title 'Expected annual sales opportunity by sales region and email exclusion'; run; Customer count by sales region and email exclusion The FREQ Procedure Table of sales_region by email_not_provided email_not_provided 0 1 Total sales_region A Frequency 40,139 1,994 42,133 Row Pct 95.27 4.73 B Frequency 19,914 13,877 33,791 Row Pct 58.93 41.07 C Frequency 20,067 4,009 24,076 Row Pct 83.35 16.65 Total Frequency 80,120 19,880 100,000 Expected annual sales opportunity by sales region and email exclusion The FREQ Procedure Table of sales_region by email_not_provided email_not_provided 0 1 Total sales_region A Frequency $23,291,547 $1,150,341 $24,441,888 Row Pct 95.29 4.71 B Frequency $11,507,738 $8,025,619 $19,533,357 Row Pct 58.91 41.09 C Frequency $11,385,378 $2,295,319 $13,680,697 Row Pct 83.22 16.78 Total Frequency $46,184,663 $11,471,279 $57,655,942
  • 24. Sizing a sales funnel expansion • The higher percentage of customers with email not provided in sales region B could be for any number of reasons, including but not limited to: 1) Fewer customers in this region having an email address. 2) More customers in this region choosing not to provide their email address. 3) Sales associates in this region unsuccessfully requesting, or failing to request email addresses. 4) Problems with the process by which loyalty program enrollment data from this region, but not the others, is made available for use within the corporation (e.g., problem with the data feed). • Understanding the root cause of the problem, and how it might be addressed, are necessary for effectively sizing the expansion. • Senior management wants us to size the effort and likely outcome of an initiative to gather more emails from customers in sales region B. In theory, this could result in a significant sales funnel expansion. • We can rerun waterfall3 just for customers in sales region B, remembering to ensure that exactly_one_excl=sum(email_not_provided,special_restrictions,premier_customer), since those are the only three exclusions in effect for the email waterfall. • We summarize and get the following unique exclusion profile: 24
  • 25. Sizing a sales funnel expansion (cont'd) • This tells us that if we get emails for every customer in sales region B, the maximum impact it would have is • Allowing 12,416 more customers to survive the waterfall, and • Increasing annual sales by an estimated $7,024,480. • If fully realized, this would be an expansion of the sales funnel: • By 17% in terms of customers: 12,416/71,875 = 17% • By 26% in terms of possible sales: ($7,024,480 in exp_ann_sales_oppty)/($27,128,911 in exp_ann_sales_on_us) = 26% • However, it is unlikely in the extreme that we would get an email address for all of these customers, much less fully realize the full sales opportunity. That would be expecting all of them to get email addresses and give them to us, and respond to our campaign, and to shop only with us and nowhere else. • Even so, the unique exclusion profile suggests that addressing this exclusion offers more opportunity (by customers and by sales) than addressing the others. • We would expect an additional sales opportunity of $566 for each customer in sales region B that gives us an email address ($7,024,480 / 12,416 = $566). 25
  • 26. Sizing a sales funnel expansion (cont'd) • Sizing this more completely results in the following: • Even with the favorable assumptions in the above table, the expansion would result in a paltry sales increase of 0.03%. • Another way to look at this: Out of $7.0MM in potential additional sales opportunity (from the unique exclusion profile), we're expecting to realize only $7.6K (0.11% of the total). • To get the full $7.0MM in additional sales opportunity, we would need • Column C = 100% (i.e., get every person to create and give us their email address) • Column E = 0% (i.e., no control group) • Column G = 100% (i.e., all of them redeem their offers in store or online) • Column J = 100% (i.e., all of them buy from us whatever they would have bought from a competitor) 26 Channel Customers Eligible for Contact Add'l Emails Expected (%) Add'l Emails Expected ($) Control Group % Customers Contacted Expected Response Rate Expected Responders Expected Avg Annual Sales Opportunity (from profiles) Expected Incremental Sales (%) Expected Incremental Sales ($) Expected Sales from us for customers in the email campaign (from profiles) Increase in sales (%) (A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) =(C)x(B) =(B)x(1-(E)) =(G)x(F) =(H)x(I)x(J) =(K)/(L) Email 12,416 20% 2,483 10% 2,235 2.0% 45 566$ 30.00% 7,586$ 27,128,911$ 0.03% = Assumptions based on past experience, models, etc.
  • 27. Final thoughts on sizing a sales funnel expansion • The most important part of sizing is ensuring that you really captured all the necessary information: • What are the costs associated with the expansion? For example, if training will be done, how much does the training cost? What about lost work time to train sales associates? • How would our numbers change if we expected the loyalty program enrollment to grow 1% per month, rather than stay at 100,000? • What if sales region B was enrolling new members at twice the rate of other sales regions? • We're assuming that the only gains we get are from additional sales. What if we would lose sales from not running these campaigns when our competitors did run such campaigns? That would mean that our incremental sales figures are understated. • What about the halo effect? It's possible that customers who received a circular but didn't redeem any offers could have increased their spending on other items in your store. • Should we size the impact on one campaign only? Wouldn't the benefits of training the sales associates positively impact every campaign from that point forward? • If the training is successful, wouldn't we consider conducting it in other sales regions? Should we size the benefits and costs of that? • After you've answered those questions, derive a performance estimate, consider the costs, and ask if the sales funnel expansion is worth it. 27
  • 28. Thank you Acknowledgements The author thanks Kaiqing Fan for accepting his presentation, and Mary MacDougall for her tireless efforts over many years in keeping SAS users connected, and all those who helped organize the 2018 Ohio SAS Users Conference. Disclaimer The contents of this paper are the work of the author and do not necessarily represent the opinions, recommendations, or practices of his employer. Trademarks SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. Other brand and product names are trademarks of their respective companies. Author information Michael Mina is a Vice President in the Decision Science Department of PNC Financial Services. Over the course of his career, he has worked in banking, consulting, insurance, healthcare management, benefit services, and academia. He was a presenter at the 2009 Midwest SAS Users Group (MWSUG) Conference, and is scheduled to present at the upcoming 2018 Advanced Research Techniques (ART) Forum of the American Marketing Association. 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/ 28