I think the main issue that you have to deal with is what is the variance of the population. I would just use the simplest approach of getting a t score to look for differences in the population.
For example, if you run your initial trials and you see that the targeted groups are all 20% above the control groups and there is zero variance, then you will need fewer samples.
It sounds like you are running two separate tests:
- See if the mean increase in purchases for group A (specific group of people) improves with the catalog. Let's call the groups A-catalog and A-no-catalog
- See if the mean increase in purchases for group B (random) improves with the catalog. Let's call the groups B-catalog and B-no-catalog
This will give you two groups for each test. Each group with have a mean change with the catalog. Hopefully it's a positive change ;)
Just common sense would tell us that if every single person in A-catalog increases purchases 50% and A-no-catalog is flat then there must be a difference.
But more likely we will see variance. So we will have to see what the mean change in each group is and what is the variance of each change.
We then will divide the each sample mean by the sample standard deviation. Then you can see what the p-value of the t-score would be for each sample group to see how likely the two population means are really different.
If you anticipate the difference in the means to be small or the variance to be large then you will need a larger sample size.
If you can start off with a few tests that will let you get a better handle on the underlying characteristics of your data set.
Just my $.02. Good luck.