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!

  • $\begingroup$ by saying "between for different properties", do you mean "between four different properties" ? If this is true, what kind of properties are we talking about (numeric, ordinal, what you they represent) ? $\endgroup$
    – steffen
    Jun 4, 2012 at 11:59
  • $\begingroup$ And here I thought I had proofread my text thoroughly.. I have changed this to "for various properties". In any case, the values of the properties can be pretty much anything, such as integers, ranges, strings, et cetera. I assume however that these can all be coded to numerical values in accordance with Srikant and Agrawal (1996). Does that clear things up? $\endgroup$ Jun 4, 2012 at 13:15

1 Answer 1


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.

  • $\begingroup$ Thank you very much @steffen! I'm currently reading up on decision trees as per your suggestion, however as you mention their purpose is classification. One of the expected outcomes from applying the final algorithm on a data set would be suggestions of other combinations of properties that are likely to yield good results (i.e. clicks). Would you still consider decision trees to be the way to go? Also, regarding the problem with non-binary valued properties in association rule mining, I originally considered that a possible research subject for the thesis. $\endgroup$ Jun 7, 2012 at 9:05
  • $\begingroup$ @erik.brannstrom if your goal is the creation of rules, then DT is the way to go because rules can be easily generated from them (btw set of rules with conclusion click yes/no is also a classification model). If the decision tree is effective => rules are effective => you can extract the important property/value combinations from the rules. On the other hand, if you cannot build an effective DT, there is not property/value-combination with important influence on the clickrate of the add. Think about it ;) $\endgroup$
    – steffen
    Jun 8, 2012 at 7:10
  • $\begingroup$ @erik.brannstrom regarding numerical properties/variables: When you build a DT, you also have to find a way to deal with them. So if you can solve this for DT, you have solved it for rule generation and vice versa. Again, learning a DT and learning a set of rules is the same task because a transformation between both models without loss of information exists. $\endgroup$
    – steffen
    Jun 8, 2012 at 7:14
  • $\begingroup$ Thanks for your clarifications! I think I'm following you now :) $\endgroup$ Jun 8, 2012 at 9:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.