I have a large dataset of customers in an online shop, where many features regarding their history of buying behavior are recorded: who bought what, at which time, how often they entered the shop, at which points inside the shop the stood longest etc. To some customers I'm sending randomly ads at periodic time intervals, to others not.
Now I want to use this data to predict which customers will react to ads I'm sending them periodically by buying more stuff.
I think the only sensible way to treat this problem is as a supervised learning problem. So I need to define a target feature for myself by defining what "react" means. But here's the catch, since one can fall prey to the following logical fallacy: One could think that if I define my target feature in the following way, I will solve my problem:
\begin{cases} 1, & \text{customer bought at least one item from the ad after he saw an ad}\\ 0, & \text{otherwise} \end{cases}
But this is wrong. Because a model using this target feature this will catch customers who reacted to the as well as customers who wanted to buy that product anyway before they received the ad, so there was actually no need to send them one.
A better feature, that only catches those that reacted and not everybody who bought the stuff is:
\begin{cases} 1, & \text{customer bought at least one item *that he'd normally not buy* after he saw an ad }\\ 0, & \text{otherwise} \end{cases}
But in order to be able to define this target feature, I'd need to do some machine learning to assess if and what he had bought if there were no ads. I have no idea how to do that. Maybe anomaly analysis - but what should I then use as features? So when using this target feature, I need to carry out preliminary machine learning tasks, for which I don't know what the best practices are.
Hence the "chicken and egg" title: Using supervised learning to make sense of the customers depends for the latter feature on some other, to me unknown, machine learning approach - that also needs to make sense (but in a different way) of how the customers behave.
Therefore my final questions are:
1) What would a good definition of a target feature be?
2) In case I settle on my second propose feature, what machine learning methods help me to predict what a customer would normally buy?