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!

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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