1. A method comprising: receiving, via a processor, a plurality of events, wherein an event comprises an instance of online activity between a user and at least one website; processing, via the processor, the received events by analyzing each event and determining, based on said analysis, content of each event, said processing further comprising identifying, based on the determined content of each event, a type of predictive model; generating, via the processor, a plurality of input features for use by the type of predictive model by grouping the events into one or more clusters based on the content of each event, wherein each cluster corresponds to a unique input feature; generating, via the processor, the predictive model, based on a machine-learning model, in accordance with said generated clusters, event content and the type of predictive model; applying, via the processor, said generated predictive model to said received plurality of events; and targeting, via the processor, an advertisement to the user based on the applied predictive model.