Abstract:
A method and system of generating a user profile for advertisement over a computer network is disclosed. A webpage identifier that identifies a webpage is generated. The webpage identifier can be a universal resource locator. A content category identifier that identifies a content category is generated. The webpage identifier is associated with the content category identifier if web content depicted in the webpage is relevant to the content category. A web server then receives a request for the webpage, the request including the webpage identifier and a first user identifier, the request being received from a client computer connected to the computer network. The webpage request can include a webpage request timestamp. A user profile is located by determining whether the first user identifier matches a second user identifier corresponding to the user profile. The user profile includes at least one user content category identifier and a corresponding user interest score. A predetermined amount is established independently from the web content depicted in the webpage being viewed by the user. The corresponding user interest score is increased by the predetermined amount if the content category identifier matches the at least one user content category identifier.

Description:
BACKGROUND OF THE DISCLOSURE  
       [0001]     1. Field of the Disclosure  
         [0002]     The present disclosure relates to ad delivery methods and systems. In particular, it relates to delivering personalized ads to online users based on user behavior.  
         [0003]     2. General Background  
         [0004]     Internet advertising has become a prime direct marketing channel for companies selling goods and services. Furthermore, Internet advertising offers the unprecedented opportunity to tailor individualized ads to online users because online users generate behavioral and demographic data that provide insight into their goals and preferences. However, Internet advertising is moving well beyond targeting the user solely by demographic data or by the content of the page being viewed, and is currently being focused on consumers&#39; online behavior. User behavior can be established by tracking user activities online, storing user preferences, etc. Internet advertising, however, is in need of more innovative and effective ways to generate user behavior patterns.  
         [0005]     Behavior targeting goes beyond reach, frequency and monetary value of a user and can addresses the goal of online advertising which delivers a relevant ad to an interested user at the right time. Behavioral targeting looks at the past behavior of the users and targets advertisements accordingly. Behavioral targeting can be seen as a basic business practice that allows marketers to segment their audiences into manageable groups, deliver the right message to the right person at the right time, and better manage the relationship between marketers and their customers. Behavior targeting uses integrated data from user&#39;s online activities to create a comprehensive profile that can be targeted using delivery mechanisms.  
         [0006]     Current systems of behavior targeting, however, typically record every user visit to a website, the visit time, and other information that has proven to be excessive because of the associated storage space required to record such information. In other current systems, a user that visits a website a certain threshold number of visits is automatically tagged as having one behavior so no further action is taken to reflect user behavior changes. As such, current systems have not yet exploited the full potential of behavior targeting on Internet advertising.  
       SUMMARY  
       [0007]     In one aspect, there is a method of generating a user profile for advertisement over a computer network. A webpage identifier that identifies a webpage is generated. The webpage identifier can be a universal resource locator. A content category identifier that identifies a content category is generated. The webpage identifier is associated with the content category identifier if web content depicted in the webpage is relevant to the content category. A web server then receives a request for the webpage, the request including the webpage identifier and a first user identifier, the request being received from a client computer connected to the computer network. The webpage request can include a webpage request timestamp. A user profile is located by determining whether the first user identifier matches a second user identifier corresponding to the user profile. The user profile includes at least one user content category identifier and a corresponding user interest score. A predetermined amount is established independently from the web content depicted in the webpage being viewed by the user. The corresponding user interest score is increased by the predetermined amount if the content category identifier matches the at least one user content category identifier.  
         [0008]     In a further aspect, the corresponding user interest score is indicative of a level of interest of the user in a content category identified by the at least one user content category identifier. The corresponding user interest score can also be reduced according to a decay rate. In addition, the corresponding user interest score is reduced daily regardless of whether a webpage request has been received at the web server. In another aspect, the corresponding user interest score is reduced periodically or from time-to-time regardless of whether a webpage request has been received at the web server.  
         [0009]     In another aspect, the corresponding user interest score can be reduced according to a long-term decay rate which slowly reduces the corresponding user interest score. The corresponding user interest score can be reduced by a long-term decay rate if the corresponding user interest score surpasses a high threshold. In another aspect, the corresponding user interest score can also be reduced according to a short-term decay rate which rapidly reduces the corresponding user interest score. The corresponding user interest score is reduced by a short-term decay rate if the corresponding user interest score decreases below a low threshold.  
         [0010]     In yet another aspect, the corresponding user interest score can be further reduced according to a short-term decay rate which rapidly reduces the corresponding user interest score, wherein if the corresponding user interest score surpasses a high threshold the corresponding user interest score ceases to be reduced by the short-term decay and instead is reduced by a long-term decay rate. A plurality of decay rates can be used to decay the corresponding user interest score, wherein a decay rate from the plurality of decay rates is chosen to be utilized depending upon the user behavior.  
         [0011]     In another aspect, the corresponding user interest score of a first content category in the user profile can be decayed at a different rate from the corresponding user interest score of a second content category, wherein the difference is due to the user behaving differently with respect to the first content category in comparison to the second content category. The corresponding user interest score of the first content category in the user profile is decayed slowly if the user shows a long-term interest in the content category. The user can be deemed to show a long-term interest if the user makes webpages requests frequent enough such that the corresponding user interest score increases beyond a predefined threshold. The corresponding user interest score of the second content category in the user profile can be decayed quickly if the user shows a short-term interest in the content category.  
         [0012]     In a further aspect, the corresponding user interest score can be assigned to be reduced by a long-term decay rate which if the corresponding user interest score of the content category identifier surpasses a high threshold. It is then determined whether the user has a long-term interest in the content category by checking whether the content category is assigned to be reduced by a long-term decay rate. If it is determined that the user has a long-term interest in the content category, the corresponding user interest score is decayed utilizing the long-term decay rate, wherein the long-term decay rate slowly reduces the corresponding user interest score. If it is determined that the user does not have a long-term interest in the content category, the corresponding user interest score is decayed utilizing the short-term decay rate. The user profile can be deleted if a webpage request is not received from a user after a threshold time. The user profile can be deleted if the corresponding user interest score decreases beyond a low threshold. The content category identifier and the corresponding user interest score can be deleted from the user profile if the corresponding user interest score decreases beyond a low threshold.  
         [0013]     In another aspect, the corresponding user interest score can be further increased by taking into account an elapsed time between the time of a last webpage request and the time of the webpage request received. The corresponding user interest score can be increased in inversely proportion to the length of time of the elapsed time. The predetermined amount can be utilized to increase the corresponding user interest score every time the user makes a request to a website that has an associated content category. Alternatively, the predetermined amount can be utilized to increase all of the corresponding user interest score. The corresponding user interest score can be a numerical value in a range from zero to one hundred. The predetermined amount can be ten points.  
         [0014]     In a further aspect, the webpage identifier, and the user identifier, in a log file are logged in a log file. The webpage identifier can be further associated with a second content category identifier that identifies a second content category, such that the when the webpage is requested, a second user interest score corresponding to the second content category identifier is increased by the predetermined amount. In another aspect, the user profile is implemented utilizing a data structure comprising a content category field, an interest score field, and a timestamp field. The user profile can be for example a database record, a map, or an instance of a class.  
         [0015]     In one aspect, there is a system to deliver advertisement over a computer network, comprising a merchant server and a user profile database. The merchant server is can be configured to receive a webpage request from a web browser on the user computer, the webpage request including a universal resource locator and a user identifier. The user profile database can be configured to store user profiles, each user profile comprising a plurality of content category identifiers, wherein each of the plurality of content category identifier has a corresponding user interest score and a timestamp indicating when the webpage request is last received. The corresponding user interest score increases based on the frequency a webpage associated with the content category is requested.  
         [0016]     In another aspect, the corresponding user interest score can be indicative of a level of interest of the user in a content category identified by the at least one user content category identifier. The user interest can also be reduced according to a decay rate. Further, the user interest score can be reduced daily regardless of whether a webpage request has been received at the web server. In another aspect, the user interest score can be reduced according to a long-term decay rate which slowly reduces the corresponding user interest score.  
         [0017]     In a further aspect, the corresponding user interest score can be reduced by a long-term decay rate if the corresponding user interest score surpasses a high threshold. The corresponding user interest score can also be reduced according to a short-term decay rate which rapidly reduces the corresponding user interest score. In addition, the corresponding user interest score can be reduced by a short-term decay rate if the corresponding user interest score decreases below a low threshold.  
         [0018]     In one aspect there is a method of receiving a targeted advertisement over a computer network. A client computer transmits a request for a webpage, the request including a webpage identifier and a first user identifier. The request being received by a web server that locates a user profile by determining whether the first user identifier matches a second user identifier corresponding to the user profile. The web server further locates a content category identifier in the user profile by determining whether web content depicted in the webpage is associated to the content identified by the content category identifier. The web server increases a corresponding user interest score by a predetermined amount that is independent from the web content depicted in the webpage. The requested webpage is then received from the web server at the client computer. The webpage received at the client computer can include Internet content wherein the Internet content is related to a content category in the user profile having an associated interest score higher than a predetermined amount. The Internet content can include advertisement, music, or video. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]     By way of example, reference will now be made to the accompanying drawings.  
         [0020]      FIG. 1  illustrates a component diagram of an ad delivery system for an Internet website.  
         [0021]      FIG. 2  illustrates a flow diagram of a process in which a user computer accesses the Internet website for the first time.  
         [0022]      FIG. 3  illustrates a flow diagram of a process in which a user computer accesses the Internet website subsequent to the first time access.  
         [0023]      FIG. 4A  illustrates content categories and web pages associated to the content categories.  
         [0024]      FIG. 4B  illustrates the data structure of a user profile.  
         [0025]      FIG. 4C  illustrates a user profile and associated short-term and long-term decay rates.  
         [0026]      FIG. 4D  illustrates a user profile and associated short-term and long-term decay rates.  
         [0027]      FIG. 5A  illustrates a decay curve wherein the decay rate is a short-term decay rate.  
         [0028]      FIG. 5B  illustrates a decay curve wherein the decay rate is a long-term decay rate. 
     
    
     DETAILED DESCRIPTION  
       [0029]     The method and system described herein establishes the level of interest that a user has in a given content category and delivers ads or content based on such interest level. A user interest is defined as the user&#39;s preference in the content categories. Thus, the interest is the result of a human being&#39;s behavior pattern which drives the user back to collect information in the same content category. The interest can be quantified by a number to be used to compare and select among the users. Unlike other systems, in which all demographic and behavioral information is recorded, the current system simply stores a numerical value that represents the user interest.  
         [0030]     As such, the overall profile of a user can be established by assigning an interest score for each content category. Each interest score varies depending on the frequency of the visits and the amount of time in between visits to any webpage within an content category.  
         [0031]     Thus, ad serving platforms and content management systems can present ads or adjust content of the ad depending on the interest score of each visitor. Furthermore, the variability of the interest score permits merchants to use this system to efficiently take advantage of fleeting revenue opportunities.  
         [0032]     In the system and method described below, a user profile includes multiple interest scores, each interest score representing user interest for a particular content category. Moreover, each interest score can be increased according to a high frequency of visits, or decreased depending on decay. A short-term decay or a long-term decay rate can be applied to the interest score depending on the user behavior after over a period of time.  
         [0033]      FIG. 1  illustrates a component diagram of an ad delivery system for an Internet website. A merchant server  108  provides information, sells merchant products, and advertises according to user behavior. The merchant server  108  includes a web server application  110  which retrieves a requested web page from the web pages database  112 . The web server application also conducts online sales transactions such as providing a product catalog stored in a product catalog database  134  and storing buyers&#39; information in an orders and buyers database  132 . Furthermore, the web server application  110  interacts with an ad delivery application  114  which provides ad information to the web server application  110 . In another embodiment, a content delivery application can also be used to interact with the web server application  110  and deliver targeted content to a user.  
         [0034]     Once the web server application  110  receives a request through the Internet  106 , the web pages sent back are routed to the user&#39;s computer  100 . The user&#39;s computer  100  utilizes a web browser  102  to interface through the Internet  106  with the web server application  110 . The web browser  102  has access to a cookies database  104  where cookies received from web server application  110  can be stored. The web browser  102  can also interact with the cookies database  104  to transmit the cookie message back to the web server application  110  when a web page associated with the cookie is requested.  
         [0035]     A logging server  130  provides capabilities of logging and recording data regarding user webpage requests. The logging server  130  includes a logging application  128  that interacts with the web server application  110  in order to receive user webpage request information and store such information on a log files database  124 . In one embodiment, the log files database  124  includes hash tables indexed by a user identifier.  
         [0036]     In one embodiment, a scoring application  126  can be located at the logging server  130  and can utilize webpage request information received from logging application  128  in order to calculate interest scores. In one embodiment, the scoring application  128  utilizes algorithms that emulate the human memory function. Thus, the scoring application  128  can be configured with algorithms that calculate short-term interest scores and long-term interest scores. Short-term interest scores emulate short-term memory, while long-term interest score emulate long-term memory. Once the interest scores are calculated, the scoring application  126  populates interest score data on a user profile database  122  located on a data access server  116 . The data access server  116  also includes a cleanup application  118  and a reporting application  120 . The cleanup application  118  and the reporting application  120  can be configured as scheduled jobs within a scheduling framework. When running together, the cleanup application  118  should be scheduled prior to the reporting application  120 . Both the cleanup application  118  and the reporting application  120  recursively read, process, and update all the user profiles.  
         [0037]     In one embodiment, the data access server  116  and logging server  130  can be combined to be on one single server. The logging application  128 , the scoring application  126 , the clean up application  118 , and the reporting application  120  can run in simultaneously on the single server, as well as the user profile database  122  and the log file database  124  being stored on the same server.  
         [0038]      FIG. 2  illustrates a flow diagram of a process  200  in which a user computer accesses the Internet website for the first time. In process block  210 , a webpage request is received from the user&#39;s computer  100 . The web server application  110  receives a request through the Internet  106 . In one embodiment, the web server application  110  can assume that the web browser  102  is accessing the website hosted by the merchant server  108  for the first time.  
         [0039]     Next, in process block  212  a user identifier is generated by the web server application  110 . If the web server application  110  determines that the web browser  102  is accessing the website for the first time, a user identifier is uniquely assigned to the user&#39;s computer  100 . In one embodiment, the user identifier can be the internet protocol (IP) address of the user&#39;s computer  100 .  
         [0040]     In another embodiment, the user identifier is generated by the logging application  128 . Because the logging application  128  can store the user identifiers in a log file in the log files database  124 , the logging application  128  can generate a user identifier based on the previously assigned user identifiers.  
         [0041]     In process block  214 , a cookie is implanted on the user&#39;s computer  100 . After generation of the user identifier, the web server application  110  packages the user identifier into a cookie and sends the cookie to the web browser  102 . In subsequent times that the user accesses the website hosted by the web server application  110 , the web browser can also send the user identifier which permits the ad delivery system to target personalized ads to the user.  
         [0042]     In process block  216 , the user identifier, the request time, and the universal resource locator requested are stored in the log files database  124 . In one embodiment, the user identifier, the time at which the webpage was received by the web server  110 , and the universal resource locator are hashed to a swapping hash table. The user identifier can be used as the key for the hash table.  
         [0043]     In another embodiment, a new hash table can be created for each user and be stored as part of the log files database  124 . The request time can be used as the key for the user hash table. Thus, the user&#39;s activities can be combined together and ordered by request time.  
         [0044]     In process block  218 , the scoring application  126  populates the user profile database  122  with the calculated interest score, content category, and request time. In one embodiment, the log files database  124  is periodically processed by the scoring application  126  to update the user profile database  122 . The scoring application  126  can be configured to look up the user identifier in the user profile database  122  in order to locate the user profile and adjust the interest scores of the user.  
         [0045]     As stated above, the scoring application  126  follows the model, and emulates the function of the human cerebellum, a brain subdivision whose main function is associative memory. Like the cerebellum, which makes strong neural associations for information that is constantly revisited, the scoring application  126  stores the user interest and increases the interest score according to an increase on the website visit frequency. The user interest score for each content category is increased according to the frequency of webpage requests. Thus, more webpage requests by a user in a certain amount of time, the higher the user interest for that particular content category. Moreover, like memory associations that are not constantly revisited in the brain, if the user does not visit a website frequently enough, the score continually decreases until the interest score reaches a low threshold level. If the interest score reaches the low threshold level, the corresponding user profile can be deleted, or at least the content category within the user profile can be removed.  
         [0046]     In one embodiment, the scoring application  126  populates the user profile database  122  every time a new entry is made on the log file database  124 . Thus, every time a user requests a webpage, the scoring application  126  updates the interest scores for that user. For each visit by each user, the scoring application  126  updates the user profile and sends the new profile data to the user profile database  122 . In another embodiment, the scoring application  126  populates the user profile database  122  periodically or at any regular or irregular time interval.  
         [0047]     In another embodiment, because the user&#39;s interest score for each content category is always decaying, the scoring application  126  updates the user profile database  122  to reduce all the interest scores in the user profile database  122 . The scoring application  126  updates the interest scores depending on either a short-term interest formula or a long-term interest formula. Factors such as the frequency of webpage requests and time delay in between webpage requests can equally be applied by both the short-term interest formula and the long-term interest formula. However, the short-term interest formula can have a decay rate higher than the decay rate of the long-term interest formula. Thus, the long-term interest of a user on a particular content category can be reflected based on the decay rate.  
         [0048]     In process block  222 , the cleanup application  118  disposes of redundant or useless user profiles in the user profile database  122 . In one embodiment, a user profile is considered no longer useful if the user profile has not been modified for a long period of time. If the user profile has not been modified for a long period of time, the cleanup application  118  can assume that the user has not visited the website for a long time. Through this mechanism, the cleanup application  118  ensures that user profiles with long-term interest decay rates are eliminated if the user profile has been stored for a period of time beyond a threshold level.  
         [0049]     In another embodiment, a user profile is considered no longer useful if each interest score in the user profile is below a predefined threshold level. For example, where the interest score decays rapidly, the user profile may be eliminated unless the user visits the website very frequently. This mechanism can help the cleanup application  118  to ensure that the user profile database  122  keeps user profiles of users genuinely interested in short-term content.  
         [0050]     In process block  224 , the reporting application  120  queries the user profile database  122  and reports the user profile information. In one embodiment, the reporting application  120  queries the user profile database  122  and utilizes the extracted information to forecast inventory, adjust ad and content delivery strategy, or retrieve any information on the user profiles.  
         [0051]     In process block  220 , the webpage requested by the user is transmitted from the web server application  110  to the web browser  102 . The web server application  110  then retrieves the necessary data from the webpages database  112  in order to transmit the requested webpage.  
         [0052]      FIG. 3  illustrates a flow diagram of a process  300  in which a user computer accesses the Internet website subsequent to the first time access. In process block  310 , a webpage request and a cookie message are received from the user&#39;s computer  100 . In one embodiment, because the webpage request occurs subsequent to a first webpage request, the user&#39;s computer already has an implanted cookie on the cookies database  104 . When the user inputs the universal resource locator, the user&#39;s computer  100  automatically generates a webpage request with the message indicated by the cookie, namely the user identifier. When the web server application  110  receives the webpage request from the web browser  102 , a cookie accompanies the webpage request which indicates to the web server application  110  that the user is a returning user.  
         [0053]     Much like the first time a user requests the webpage, subsequent requests of the webpage triggers the above-mentioned of storing of webpage request information as shown in process block  216 , populating the user profile database  218  as shown in process block  218 , and performing cleanup and reporting operations as shown in process blocks  22  and  224 , respectively. Therefore, as stated above, in process block  216  the user identifier, the request time, and the universal resource locator requested are stored in the log files database  124 . In process block  218 , the scoring application  126  can populate the user profile database  122  with a recalculated interest score. In addition, in process block  222  unused user profiles are eliminated, and in process block  224  user profiles can be outputted on a report format.  
         [0054]     In process block  312 , a user profile is retrieved from the user profile database  122  by the ad delivery application  114 . In one embodiment, after the web server  110  receives the webpage request, the web server  110  sends the user identifier to the ad delivery application  114 . The ad delivery application  114  utilizes the user identifier to query the user profile database  122  and obtain the user profile corresponding to the user requesting the webpage. With the user profile available, the ad delivery application  114  can generate an ad tailored to the interests of the user.  
         [0055]     In process block  314 , an ad is generated based on the user profile retrieved from the user profile database  122 . In one embodiment, the ad delivery application  114  retrieves user profiles directly from the user profile database  122 . In another embodiment, the user profile binary information can be decoded by a user segmentation application layer and later sent to the ad delivery application  114  in a format compatible with the ad delivery application  114 .  
         [0056]     As such, the segmentation application layer decodes the user profile and makes the user profile available to the ad delivery application  114 . Furthermore, other applications located at the merchant server  130  can also retrieve user profiles efficiently without having to access and decode the user profile information from the user profile database  122 .  
         [0057]     In another embodiment, the user profile information is decoded dynamically. When the ad delivery application  114  receives a user identifier, the user identifier is used to query the segmentation application layer. If the user profile exists in the user profile database  122 , the user profile can be decoded and modified to adjust the interest score that indicates the current interest level for each segment according to the current webpage request. A communication protocol between the ad delivery application  114  and the segmentation application layer is applied to transform the profile into a string of data that can be used directly by the ad delivery application  114  to apply the targeting logic.  
         [0058]     Furthermore, the user profile database  122  can be updated immediately after receiving webpage request such that the user profile retrieved by the ad delivery application  114  includes the latest webpage request. For example, if the user requested a sports webpage, the webpage request information is reflected on the user profile, such that when ad delivery application  114  access the user profile, the user profile includes the webpage request for the sports webpage. Thus, the ad delivery application  114  can utilize interest scores that are updated with real-time data so the webpage requested includes behavioral ad targeting that takes into account the current webpage request.  
         [0059]     In one embodiment, the ad delivery application  122  can be further utilized for inventory. An inventory management system can be utilized in tandem with the ad delivery application  122  in order to forecast inventory needs. The interest scores retrieved from the user profile database  122  and the advertisement presented to the users can be computed to calculate the demand for merchant products.  
         [0060]     In another embodiment, the ad delivery application  122  can be used for targeted content delivery. Interest scores can further be used by the web server application  110  to tailor content displayed to the user. By providing personalized content, the user overall experience is enhanced thus increasing the probabilities that the user can continue requesting webpages from the merchant.  
         [0061]     Finally, as stated above, in process block  320  the webpage requested by the user is transmitted from the web server application  110  to the web browser  102 . However, because the ad delivery application  122  has generated an ad for the user, the web server application  110  can include the generated ad as part of the requested webpage.  
         [0062]     Webpages with similar content can be classified under similar content categories. As mentioned earlier, human behavior is considered as a consistent process, and therefore online users consistently access the same or similar websites. Grouping similar webpages into content categories facilitates the segmentation of user behavior because a user can be assigned an interest score for each content category.  
         [0000]     Content Categories  
         [0063]      FIG. 4A  illustrates content categories and web pages associated to the content categories. Universal resource locators and corresponding content categories can be stored in a local database in the merchant server  108  or in the logging server  124 . In one embodiment, the local database includes a relational table of content categories and universal resource locators associated with at least one content category.  
         [0064]     Each content category can reflect a common area of interest. For example, a website  402  for the Entertainment and Sports Programming Network (ESPN) can have a content category  404  for Golf, a content category  406  for Formula One Car Racing, and a content category  408  for IndyCar Car Racing. One or more webpages can be associated with each content category.  
         [0065]     For example, a webpage  416  related to the Golf US Open can be associated with the content category  404 . When a user requests webpage  416 , an identifier for webpage  416  is matched with the content category that had been previously associated with the webpage  416 , namely content category  404 . A user requesting a webpage  416  about the Golf US Open indicates a general level of interest in the content category  404  corresponding to Golf. Likewise, a webpage  418  related to the Golf Players can be matched with the content category  404 . When a user requests webpage  418 , the request can be associated with content category  404 . A user that is interested in information on Golf Players can be assumed to be interested, at least partially, in Golf.  
         [0066]     In another example, a user that is interested in Formula One Drivers, Formula One Cars, and Car Racing News can be assumed to be generally interested in Formula One Car Racing. Thus, a webpage  420  that includes content on Formula One Drivers can be associated with content category  406  for Formula One Car Racing. A webpage  422  related to the Formula One Cars can be associated with the content category  406 . A webpage  424  related to Car Racing News can also be associated with Formula One Car Racing. Then, if a user requests webpage  424 , the request is matched with content category  406  reflecting the user interest in Formula One Car Racing.  
         [0067]     In yet another example, a content category  408  corresponding to IndyCar Car Racing can have one or more webpages associated with the content category  408 . A webpage  426  that includes content on IndyCar Drivers, and a webpage  428  that includes content on IndyCar Cars can be associated with content category  406  for IndyCar Car Racing. In one embodiment, a user that visits the car racing news webpage  424  can also be deemed to be interested in IndyCar Car Racing. As such, a webpage can be associated with one or more content categories. Webpage  424 , for example, can be associated with both Formula One Car Racing and IndyCar Car Racing. Thus, when a user requests the car racing new website  424 , the user can be assumed to be interested in Formula One Car Racing and IndyCar Car Racing.  
         [0068]     As previously explained, whenever a user requests a webpage, the user is assumed to have a certain level of interest in the associated content category. In order to profile the interest of the user in individual content categories a user profile is developed for each user.  
         [0000]     User Profiling  
         [0069]      FIG. 4B  illustrates the data structure of a user profile. Each user profile  430  can be implemented utilizing known data structures such as tables, database records, instances of an object-oriented class (an object), etc. In one embodiment, a user profile  430  can be a record of a user profile table  432  located in database  122 . In another embodiment, a user profile can be an instance of a class having multiple attributes. Each user profile  430  can be uniquely identified by a user identifier. For example, the user profile table  432  can include a plurality of user identifiers and the data for each corresponding user profile.  
         [0070]     In one embodiment, each profile  430  can be a generic map that includes values corresponding to the content category identifier  440 , the interest score  436 , and the timestamp  438 . The content category identifier  440  can be numerical value that is interpreted as a content category. In another embodiment, the content category identifier  440  can be character string corresponding to the name of the content category, for example if the content category is Golf, the category identifier  440  can be a character string “Golf.” 
         [0071]     In another embodiment, the interest score  436  is a point system represented by a numerical value with a range of 0 to 100 points. In another embodiment, the interest score  436  is a numerical value with a range of 0.00 to 1.00 points. In yet another embodiment, the interest score  436  can have any other numerical value range or be stored as a character string. Furthermore, the timestamp  436  can also be stored as a numerical value as well as a character string.  
         [0072]     While utilizing various data types for storing the category content identifier  440 , the interest score  436 , and the timestamp  438 , a numerical data type can be used by any of these. Having the content category identifier  440 , the interest score  436 , and the timestamp  438  stored in numerical values facilitates quick access to information as well as the ability to store larger numbers of user profiles  430 . In addition, user profiles can be stored for longer periods of time without having to purge them in order to save memory space. Furthermore, utilizing numerical values to represent user interest prevents the usage of private information of users. This protects the user&#39;s privacy without sacrificing the effectiveness of the behavioral targeting system.  
         [0073]     The user profile  430  includes illustrated in  FIG. 4B , includes three content categories: Golf, Formula One Car Racing, and IndyCar Car Racing. The interest score  436  for Golf is 25 points, and the last request was made at Mar. 6, 2005 at 8:32 AM. The user profile  430  in  FIG. 4B  indicates that the user has in interest level of 15 points for the content category Formula One Car Racing and that the last visit to a webpage associated with the Formula One Car Racing content category was on Aug. 21, 2004 at 7:57 PM. Finally, the user category for IndyCar Car Racing shows that the user does not have an interest in this content category. In another embodiment, the user profile can simply not include content category in which the user has no interest. For example, a user profile  430  can simply have one entry for Golf as the content category identifier  440 , the interest score  436  as 25 points and the timestamp  438  of the last request. In another example, the user profile can have five content categories, each with a corresponding interest score  436  and a timestamp  438 .  
         [0000]     Score Calculation  
         [0074]     The interest score  436  corresponding to each of the content categories can be calculated according to different contributing factors. The factors that can determine the interest score can include 1) the frequency of visits to any of the webpages associated with the content category; 2) the time elapsed from one visit to the next; and 3) a decay rate.  
         [0075]     In one embodiment, the interest score  436  changes based on the frequency of visits to any of the webpages associated with the content category. The more frequent a user visits any of the webpages associated with the content category, the higher the interest score  436 . Thus, every time a user visits any of the webpages associated with the content category, the interest score  436  can be increased by a fixed amount. On every visit to a given webpage, the content category associated the webpage is identified. For example, if a user visits the Formula One Car Racing webpage  428  illustrated in  FIG. 4A , the system maps the universal resource locator associated with the Formula One Car Racing webpage  428  to the corresponding category Formula One Car Racing  406 . Based on the user identifier, the user profile  430  is retrieved and the interest score  436  for Formula One Car Racing is updated. The interest score  436  can be increased by 1, 5, 10 or any other arbitrary setting configured in the system to be the standard increase for a visit to a webpage in the content category. As such, in one embodiment, the amount of increase can be configured to be, for example, 10 points every time the user visits a webpage in the content category. In another embodiment, the amount of increase can be 5 points.  
         [0076]     As such, the interest score  436  for a content category can increase based on the total number of visits to the webpages associated with the content. For example, referring to  FIG. 4A , visits the webpage  416  about the Golf US Open as well as visits to webpage  418  related to the Golf Players increases the interest score  436  of the content category Golf in the user profile  430 . In the user profile  430  illustrated in  FIG. 4B , for instance, the fixed increase can be configured to be 10 points. If the user visits both, the webpage  416  for Golf US Open as well as visits to webpage  418  related to the Golf Players, the total increase would be 20 points for the content category Golf, 10 for each webpage visit. The interest score  436  increases from 25 points to 45 points.  
         [0077]     In another embodiment, if a webpage is associated with more than one content category, each of the interest scores in the content categories can be increased. For example, in  FIG. 4A  the car racing news webpage  424  is associated with two content categories, namely content category  408  corresponding to IndyCar Car Racing, and the content category  408  corresponding to Formula One Car Racing. Thus, when a user requests the car racing new website  424 , the interest score  436  corresponding to each of the content categories increases. In the user profile illustrated in  FIG. 4B , for instance, if the fixed increase is configured to be 10 points, the interest score  436  for Formula One Car Racing increases from 15 points to 25 points. Likewise, the interest score  436  for IndyCar Car Racing will now be 10 points.  
         [0078]     In another embodiment, the interest score  436  changes based on the time elapsed from one visit to the next. While the number of visits over a certain period of time is directly proportional to the interest score  436 , the time between visits can also provides with insightful information about user behavior. For example, a first user might visit the Formula One Car Racing webpage four times in a period of twelve weeks. The four visits can occurred within a period of four minutes during the first week. A second user might also visit Formula One Car Racing webpage four times in a period of twelve weeks. However, the second user might visit once a week for the last four weeks of the twelve-week period. While the visitation frequency of both users is the same, namely four visits in twelve weeks, the behavior is not the same. To better account for this disparity, the elapsed time between visits can also be taken into account when calculating the interest score  436  for each category. In that way, the user profile  430  corresponding to each user is a closer prediction of user&#39;s interest for certain content.  
         [0079]     In one embodiment, the elapsed time is calculated by subtracting the current time from the timestamp  438  the last visit. As discussed above, the user profile  430  include the timestamp  438  the last visit to any of the webpages associated with the content category  440 . For example, if the content category is Golf, the timestamp  438  can be for the last visit to the webpage  416  related to the Golf US Open. If the user then visits the same webpage  416 , two days later, the calculated time elapsed will be two days. In another example, if the timestamp  438  can be for the last visit to the webpage  416  related to the Golf US Open and the user visits another webpage  418  for Golf Players two days later, the elapsed time will also be two days because webpage  418  and webpage  416  correspond to the same content category Golf.  
         [0080]     A user that visits a webpage within short intervals of time is assumed to have higher interest in the content of the webpage, and therefore in the content category. As such, the relationship between the interest score and the amount of time elapsed is inversely proportional. The shorter the time elapsed from one visit to the next, the higher the interest score. In one embodiment, the elapsed time can be expressed in terms of a multiplier fraction that has the amount of time in the denominator and one in the numerator. The elapsed time can be expressed in number of minutes, hours, etc.  
         [0081]     In yet another embodiment, the interest score  436  changes based on a decay rate. A previously mentioned, the interest score  436  is decayed based on a configured decay rate. Users that visit websites of a certain content might not come back to visit for a long time, if ever. The current system therefore applies a decay rate for every user interest score  436 . Thus, if the user continues to visit the website the interest score  436  is maintained, but if the user ceases to visit websites of the given content category, the user interest score  436  decreases to the point that the system no longer recognizes the user as being interested in the content category. This decay mimics the human memory function of forgetting where repeated access to a memory maintains that memory, but non-access to the memory eliminates the memory over time. The decay rate applied to the interest score functions as a “forgetting” mechanism. If a user does not revisit a webpage for a content category, the user interest in the category decreases over time, which is reflected in the decreasing interest score  436 .  
         [0082]     In one embodiment, the decay rate is applied uniformly to all interest scores  436  of all the user profiles. As such, the system can decay interest scores on a regular basis. In one embodiment, all interest scores of all user profiles are decayed by a percentage (e.g. 7.5%) everyday. In one embodiment, all interest scores of all user profiles are decayed by a percentage (e.g. 15%) every week. In yet another embodiment, the decay is a constant fixed number. For example, if interest score range is 1 to 100 points, the decay rate can be 1 point per day. In yet another embodiment, each interest score is decayed every time the user visits certain category, wherein the decay takes into consideration the amount of time elapsed such that the higher the time elapsed, the higher the decay rate applied.  
         [0083]     In another embodiment, a long-term and short-term decay rates can be used. When a user visits webpages associated with a particular content category a high number of times, the user can be assumed to have a long-term interest in that content category. For example, some content categories can have seasonal information that by definition greatly attracts users for short period of time until the next season arrives. If the user makes many visits to webpages related to a specific content category, the user can be deemed to have a long-term interest in that content category. In order to preserve the user profile in the system, the decay rate applied can be a long-term decay rate that decays the interest score for the seasonal content category much slower.  
         [0084]      FIG. 4C  illustrates a user profile and associated short-term decay rates. In one embodiment, each user profile in the system can be divided into two portions: a first portion containing content categories and corresponding interest scores that decay with a short-term decay rate, and a second portion containing content categories and corresponding interest scores that decay with a long-term decay rate. Depending upon the data structure utilized, the user profile  430  can be configured to differentiate between the content categories in which the user has a long-term interest and a short-term interest.  
         [0085]     For example each of the content category in a the user profile  430  can have a corresponding attribute or flag (implemented with any data type) that can indicate whether the decay applied to the interest score that particular content category is to be decayed with the short-term decay rate or the long term decay rate. In another example, each user profile  430  can include two tables, one for the content categories with long-term interest, and another for the content categories with short-term interest.  
         [0086]     In one embodiment, when a user first accesses a particular content, that is any webpage associated with a particular content, the user is assumed to have short-term interest. As shown in  FIG. 4C , the user profile  430  can have all of the content categories having a short term applied. Namely, the decay rate attributes  442 ,  444 , and  446  are all “Short Term,” showing that the user has a short-term interest in Golf, Formula One Car Racing and IndyCar Car Racing. As discussed above, the decay can be calculated periodically for all of the interest scores in the system. The three interest scores in user profile  430  as shown in  FIG. 4C  can decrease gradually but quickly as the short-term decay applies.  
         [0087]     The interest score  436  for each category can increase, decrease or remain approximately the same. In order to remain the same, the user must frequently visit webpages associated with the content category. As the decay is applied to the interest score of the category, the decrease due to the decay can be compensated by the increase due to visits to webpages corresponding to the content category.  
         [0088]     In another embodiment, a low threshold can be established such that when the interest score decreases due to decay applied, interest score that reaches the low threshold indicates to the system that the user is no longer interested in the content category corresponding to the low interest score. The content category can then be removed from the content categories in the user profile. If the content category was the only one left in the listing of content categories, the user profile can be removed from the user profile database.  
         [0089]     In yet another embodiment, a high threshold can be established such that when the interest score increases due very frequent visitation to webpages associated with the content category. When the interest score reaches the high threshold, the system can recognize the user as a “power user” and change the decay rate applied to the content category to be a long-term decay.  
         [0090]      FIG. 4D  illustrates a user profile and associated short-term and long-term decay rates. When a user visits webpages related to the content category with a frequency that causes the interest score to increase and reach the high threshold level, the user can be considered to have a long-term interest in that content category. For example, a threshold level for a category “Golf” can be established to be 40 points. Any user that reaches 40 points or beyond qualifies as a “power user” on the category of Golf, and therefore the decay rate applied can be a long-term decay rate. If the user has an interest score of 25 points for the Golf content category, the user can visit a Golf-related webpage twice in one day and accumulate 20 extra points (assuming 10 points are awarded per visit). Taking into consideration that a daily short-term decay rate of 7.5% was applied earlier, and without taking into consideration the elapsed time between visits, the total interest score for the user can be (25−1.875)+20=43.125. Thus, the interest score for the Golf category for that user has surpassed the threshold level. Once the interest score reaches the high threshold, the decay rate applied  442  changes from short-term to long-term. Subsequently, all further application of decay to the interest level of the section golf can be long-term. The decay rate attributes  444  and  446  remain as “Short Term,” reflecting that the user has a short-term interest in Formula One Car Racing and IndyCar Car Racing. The decay rate attribute  442  is now “Long Term” reflecting that the user has a long-term interest in Golf.  
         [0091]     In another example, the high threshold level can be 50 points. If the user visits webpages associated with the Golf content category four times in day one, the interest score can increase to 40 points. Then in day two, if the user does not revisit a webpage associated with the Golf content category the user score can decay to 37 points. In day three, however, if the user visits two webpages associated with the Golf content category the interest score for the Golf content category can be (37−2.775)+20=54.225 thus surpassing the threshold level of 50 points.  
         [0092]     As discussed above, the decay can be calculated periodically for all of the interest scores in the system. The system applies the long-term decay rate to the interest scores that are flagged to have a long-term decay, and a short-term decay rate to the interest score that are flagged to have a short-term decay. For example, if the short-term decay rate is 20% and the long-term decay rate is 7.5%, all interest scores in all user profiles that are associated with content categories that have a long-term decay rate applied will be decayed by 7.5%. Likewise, all interest scores in all user profiles that are associated with content categories that have a short-term decay rate applied are decayed by 20%.  
         [0093]     In one embodiment, the high threshold level can be the same for all content categories (e.g. 50 points). In another embodiment, the high threshold level can be different for each content category (e.g. 50 points for Golf, and 40 points for Formula One Car Racing).  
         [0094]      FIG. 5A  illustrates a decay curve wherein the decay rate is a short-term decay rate. The curve shows the decay of the interest score for a content category in which the decay rate applied is a 20% decay. The initial interest score is 40 points. Without further interaction by the user, such as user visits to webpages related to the content category, the interest score decreases rapidly. For example, point  402  shows that on the seventh day the interest score has decreased down to 10 points.  
         [0095]      FIG. 5B  illustrates a decay curve wherein the decay rate is a long-term decay rate. The curve shows the decay of the interest score for a content category in which the decay rate applied is a 7.5% decay rate. The initial interest score is 40 points. Without further interaction by the user, such as user visits to webpages related to the content category, the interest score decreases but not as rapidly as with a decay rate of 20% as show in  FIG. 5A  above. For example, point  404  of  FIG. 5B  shows that not until the nineteenth day does the interest score decrease down to 10 points.  
         [0096]     Although certain illustrative embodiments and methods have been disclosed herein, it will be apparent form the foregoing disclosure to those skilled in the art that variations and modifications of such embodiments and methods may be made without departing from the true spirit and scope of the art disclosed. For example, a user can show interest in a content category not only by viewing associated webpages, by also by accessing web content related to the content category. For example images, video, audio, text, ads, flash animations, and any other web content that is related to the substance of the particular content category.  
         [0097]     Many other examples of the art disclosed exist, each differing from others in matters of detail only. Accordingly, it is intended that the art disclosed shall be limited only to the extent required by the appended claims and the rules and principles of applicable law.