In one embodiment, the decay function, Decay( ), is applied to aggregate a user's event activities, over time, and is expressed as: Decay ( { A event , t | t 0 ??? t ??? t n } ) = ??? t = t 0 t n ?? t n - t A event , t ?? ??? ( 0 , 1 ] ?? is a constant for all event types and all categories.