Patent ID: 8423410

Claim:
A computer-implemented method, comprising: identifying event data for a user identifier based on past user sessions associated with the user identifier that occurred during a first time period, the event data specifying events that occurred during the past user sessions; categorizing each of the events as belonging to one or more vertical categories; selecting a subset of the one or more vertical categories; for each vertical category in the subset of the one or more vertical categories, determining a user identifier interest weight for the user identifier based on the events that belong to the vertical category, wherein each vertical category in the subset of vertical categories satisfies a first threshold and a second threshold, and wherein: the first threshold is based on a quotient of a user identifier interest weight of a vertical category in the subset with a highest user identifier interest weight of all vertical categories in the subset and a user identifier interest weight of a vertical category in the subset with a lowest user identifier interest weight of all vertical categories in the subset, and the second threshold is based on a quotient of the user identifier interest weight of the vertical category in the subset with the lowest user identifier interest weight and a user identifier interest weight of a vertical category not in the subset with a next lowest user identifier interest weight of all vertical categories not in the subset relative to the user identifier interest weight of the vertical category in the subset with the lowest user identifier interest weight; generating, by one or more processors, long-term user identifier profile data for the user identifier based on user identifier interest weights from the event data that are based on past user sessions that occurred during the first time period; generating, by the one or more processors, short-term user identifier profile data for the user identifier based on user identifier interest weights from the event data that are based on past user sessions that occurred during a second time period that is a most recent sub-period of the first time period; selecting a candidate advertisement set based only on the long-term user identifier profile data; and adjusting a ranking order of the candidate advertisement set based only on the short-term user identifier profile data.