1. A method for calculating a time-decayed aggregate from a data stream comprising a sequence of tuples, each tuple comprising an item identifier and an associated timestamp, comprising the steps of: generating a smooth decay function wherein said smooth decay function is a function of the difference between a current time and the timestamps; generating a set of linear data summaries, based at least in part on a first set of timestamps; generating a set of boundaries, based at least in part on the smooth decay function and on a second set of timestamps; adding, with a data processor, each tuple to a specific linear data summary based at least in part on the timestamp associated with the tuple; merging two linear data summaries based at least in part on the set of boundaries; and, calculating, with the data processor, said aggregate from the set of linear data summaries.