1. A system comprising: one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors cause the system to perform operations comprising: executing a crawling process to identify event occurrences, the crawling process comprising: retrieving a set of webpages from remote webservers, the set of webpages being related to a category associated with a set of predetermined keywords; processing content of the webpages to identify occurrences of strings from the set of predetermined keywords in the content; determining, based on the occurrences of the keywords identified in the content, whether one or more rules from a set of predetermined rules have been satisfied, wherein each rule from the set of predetermined rules dictates a threshold number of occurrences of at least a first and second string from the set of predetermined keywords that must be identified within a predetermined proximity of each other for the rule to be satisfied, each rule further identifying at least one product record in a product record database as being associated with the rule; and for each satisfied rule from the set of predetermined rules: generating an event data record in an event database, the event data record including an associated date, and associating the event data record with the at least one product record in the product record database that is associated with the satisfied rule; receiving, from a client device, a request for product records, wherein the request is associated with a receipt date and includes a query; generating a ranked list of product records from the product database based on the query; for each particular product record in the ranked list of product records: determining whether the particular product record is associated with a particular event data record that has a date within a threshold distance of the receipt data of the particular product record; and in response to determining that the particular product record is associated with the particular event data record that has the date within the threshold distance of the receipt data of the particular product record, increasing a ranking of the particular product record, yielding an updated ranked list of product records; and transmitting the updated ranked list of product records to the client device.