Mining association rules on relational data I have recently started working on my master's thesis, which is a collaboration between my university and an IT company. The problem from the company's point of view is to identify correlations in their web marketing campaigns for various properties, with the purpose of applying this information to future ads in order to increase the relevant metrics (e.g. clicks or conversion rate).
The area of the thesis is somewhat new to me, even though I have the basics in for example statistics, algorithms and AI. I am currently pursuing the idea of applying data mining techniques to the data set, and more specifically association rule mining as described by Agrawal et al. (1993). Association rule mining work on transactional databases rather than relational, though the latter can be converted into the former with the disadvantage that the new table will become incredibly large, especially considering the most natural transaction type in this case is an impression (i.e. one table row for every time an ad is shown) which easily leads to many, many millions of rows where only a fraction will actually lead to clicks. (A relevant question might be https://stats.stackexchange.com/questions/26311/find-association-rules-for-a-given-value, but it has not been answered yet.)
My idea is thus to build a transaction table of impressions from the relational data, apply an association rule algorithm and finally filter out any rules that do not lead to a click, since such rules are at least for now of little interest.
The question I'd like to ask is if this is a reasonable approach? I feel somewhat confident that this will work, however it doesn't feel like an obvious solution. This might not be a problem for the company who will use the result, however from an academic point of view I wish to cover my bases. If this is not a good approach, which areas might be better suited for the purpose?
Don't hesitate to ask if there is anything you would like me to clarify!
 A: No, association rule mining is not the way to go. Theoretically it could be applied in such a way that only rules are generated where the premise does not contain click=yes and the conclusion only contains click=yes. However, as soon as one of your premise variables is numerical, you are going to run into trouble.
Hence I suggest to take a look at white box classification models, for example decision trees. By learning such a model one can either predict the clickrate (regression, numerical label) or the click itself (classification, binomial label) for a given add. There was a related question here about whether to model a related problem as regression or classification, but without conclusion: Performance metric for algorithm predicting probability of low probability events.
As a "side effect", such a model delivers ...


*

*differentiation power of variables, i.e. how much influence this variable has on the performance of the add

*rules with the premise/conclusion constraints as described above


I recommend to try Random Forests, the current state of the art in the area of decision trees, first. It is more stable then a single decision tree, but the downside is that extracting meaningful rules is more complicated. In the book The Elements of Statistical Learning is a whole chapter devoted to this algorithm, also note that we have already a tag random-forest and hence a bunch of helpful questions here on stats.SE.
Regarding the problem of class imbalance (small amount of clicks, many showns without clicks), you may want to look at the tag unbalanced classes and at this question How do I report error from imbalanced data in a random forest algorithm?, i.e. at the comments to the question itself.
