1. A computer implemented method for modeling event data using a pre-existing taxonomy of events, the event data representing a plurality of sequences of events, each sequence comprising an order of events initiated by a corresponding user, each event mapping to a leaf node of the taxonomy, the method comprising: identifying a plurality of candidate Markov models, each Markov model representing probabilities of a user transitioning from any first node in the Markov model to any second node in the Markov model according to the sequences of events, each Markov model formed from a subset of nodes in the taxonomy by merging selected nodes of the taxonomy into corresponding ancestor nodes of the taxonomy, wherein each event is represented by a node in each Markov model, and further wherein no Markov model contains both a particular node and an ancestor of that particular node; measuring the fitness of the candidate Markov models with a fitness policy; selecting at least some of the plurality of candidate Markov models with reference to the fitness measure and one or more resource constraints; and choosing a preferred Markov model from the selected candidate Markov models with reference to an objective function.