15. A computer program product 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, comprising at least one non-transitory computer-readable medium having computer instructions stored therein which are configured to cause one or more computing devices to: identify a plurality of candidate Markov models representing the probabilities of a user transitioning from any first node in the model to any second node in the 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, further wherein no Markov model contains both a particular node and an ancestor of that particular node; measure the fitness of the candidate Markov models with a fitness policy; select at least some of the plurality of candidate Markov models with reference to the fitness measure and one or more resource constraints; and choose a preferred Markov model from the selected candidate Markov models with reference to an objective function.
16. The computer program product of claim 15 , wherein the objective function balances a likelihood score of each selected candidate Markov model with a number of states corresponding to the model.