1. A computer-implemented method comprising: accessing a plurality of search results for multiple different queries submitted by a client device; generating an interest category profile for a user identifier associated with the client device, the interest category profile comprising a hierarchical classification of estimated interest categories based on the plurality of search results for the multiple different queries; storing the interest category profile in a database, wherein each category of the interest category profile has a weighting associated therewith; identifying a parent interest category of the interest category profile, wherein the parent interest category comprises a top level of the hierarchical classification; filtering the interest category profile to remove a sub-interest category from the hierarchical classification; based on the filtering, extracting the sub-interest category and transferring a weighting associated with the sub-interest category into the parent interest category of the stored interest category profile; and distributing the weighting of the sub-interest category to one or more other interest categories of the hierarchical classification.