BookmarkSubscribeRSS Feed
Big-B
Calcite | Level 5

Hi,

I’m working on a dataset collected from a 2-way Anova design (kind of) on binary data. The purpose of the experiment is to explore how different types of email marketing incentives affect customers propensity to buy certain fruits.

 

  • The dependent variable is Purchase rate (Binary; if a customer purchased the offered fruit or not)
  • Factor A has 3 Levels:
    1. Silent Communication (No incentive offered. To observe customers natural propensity to buy any given fruit.)
    2. Email explaining the benefits of consuming the fruit being offered
    3. Same as 2 but with a 15% discount on the fruit offered
  • Factor B has 5 levels. Customers in these groups are incentivized to consume:
    1. Bananas
    2. Apples
    3. Oranges
    4. Kiwis
    5. Fruit of choice (Of the 4 above)

A sample of 150 000 subscribers were randomly allocated to one of the 15 groups with 10k subscribers in each group.

 

The questions I have are the following:
- Which method or technique should I use to account for the binary response variable?
- When testing the main effect for Factor B, I do not want to test the difference in purchase rates shown in Table 1 (which is what is computed by default in SAS?). Rather, I’m interested in comparing the differences in purchase rate uplifts between the groups, i.e. the numbers in table 2 highlighted in green.

I would appreciate to get some guidance and advise on how to handle the two issues described?

 

BigB_1-1677167755851.png

 

2 REPLIES 2
awesome_opossum
Obsidian | Level 7

I don't use ANOVA much.  But regression is essentially the same; I would just do a logistic account for the binary response.

 


proc logistic data= data; 
    class factorA(ref='Silent') factorB(ref='Banana') / param=ref; 
    model purchase(event='1') = factorA factorB factorA*factorB; 
run;
    

To get the percentages is a bit more work.  You could do some lengthy code to get it, but I would probably just do this, and calculate the differences I wanted manually: 

 

proc freq data= data; 
    tables factorA * purchase; 
    tables factorB * purchase; 
    tables factorA * factorB * purchase; 
run; 

 

 

 

 

 

Big-B
Calcite | Level 5
Thanks for the help! Will look into it. Much appreciated!

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 530 views
  • 0 likes
  • 2 in conversation