Patent Publication Number: US-2020279298-A1

Title: Targeted ads based on user to-do and shopping lists

Description:
BACKGROUND 
     Field of the Invention 
     The present invention relates to targeted advertisements. 
     Related Art 
     Targeting an advertisement to a desired audience often increases the likelihood that the advertisement will be successful in generating commercial activity for the advertiser. Advertisements are often targeted differently based on the medium through which they are delivered. For example, television advertisements are often targeted based on the content of the television program. Information about the television program is used to determine information about the audience. However, the task of determining information about an audience, in television and other mediums, can be complex and difficult to automate. Although determining audience information based on programming content individually on a case-by-case basis may be practical for some advertising mediums, determining audience information in such a manner for advertisements communicated over the Internet can be time consuming. Therefore, providing relevant Internet advertisements to users visiting an Internet website can become inefficient and costly. 
     Thus, what is needed is methods and systems for reducing the costs and improving the efficiency of providing advertisements on a website that are relevant to a user visiting the website. 
     SUMMARY 
     The present invention relates to systems and methods for providing advertisements on websites. In an embodiment, a method for providing an advertisement on a website includes obtaining user-sourced information regarding a future event, analyzing the content of the user-sourced information to identify a characteristic of at least one of a product or service relevant to the future event, comparing the characteristic to a descriptor associated with a list-based advertisement, and selecting the list-based advertisement for display on a website visited by the user when the characteristic matches the descriptor associated with the advertisement. 
     In another embodiment, a system for providing an advertisement on a website includes a user-sourced information database that stores user-sourced information regarding a future event, a content analyzer that analyzes the user-sourced information from the user-sourced information database and determines a characteristic of at least one of a product or service relevant to the future event, an ad database that stores a list-based advertisement having an associated descriptor, and an ad server that selects the list-based advertisement from the ad database for display on a website visited by the user when the characteristic matches the associated descriptor. 
     Further embodiments, features, and advantages of the invention, as well as the structure and operation of the various embodiments of the invention are described in detail below with reference to accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       Embodiments of the invention are described with reference to the accompanying drawings. In the drawings, like reference numbers may indicate identical or functionally similar elements. The drawing in which an element first appears is generally indicated by the left-most digit in the corresponding reference number. 
         FIGS. 1 and 2  illustrate systems for providing advertisements. 
         FIG. 3  illustrates a system for providing advertisements, according to an embodiment of the present invention. 
         FIGS. 4-5  show flowcharts illustrating methods for providing advertisements, according to an embodiment of the present invention. 
         FIG. 6  shows an advertisement, according to an embodiment of the present invention. 
         FIG. 7  illustrates a to-do list, according to an embodiment of present invention. 
         FIG. 8  illustrates a shopping list, according to an embodiment of present invention. 
         FIG. 9  shows a flowchart illustrating a method for providing advertisements, according to an embodiment of the present invention. 
         FIG. 10  is a block diagram of an exemplary computer system useful for implementing the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those skilled in the art with access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional-fields in which the invention would be of significant utility. 
     Embodiments described herein refer to advertisements being provided on a website. In providing an advertisement for a website, an ad server typically may choose from a variety of advertisements stored in an ad database. In choosing between different advertisements, an ad server may select an advertisement that is relevant to a user visiting the website. As would be apparent to those skilled in the relevant art(s), advertisements that are relevant to a user are typically more effective, i.e., have a higher likelihood of being selected by the user, when compared to advertisements that are not relevant to the user. 
     Advertisements, as described herein, may refer to any type of advertisement that may be displayed while a user is visiting a website. For example and without limitation, an advertisement may be a text advertisement, an image advertisement, a video advertisement, an audio advertisement, or a multimedia advertisement. 
     Relevant advertisements may be selected from an ad database in a variety of ways. For example,  FIG. 1  shows an example system  100  for providing advertisements on a website based on information provided by a user. The information provided is used to determine one or more interests of the user. The interests of the user, then, are used to select relevant advertisements to be provided on a website. 
     System  100  includes a user system  102 , an ad server  104 , a user provided information database  106 , an ad database  108 , and a user provided information analyzer  110 . As shown in  FIG. 1 , user system  102 , user provided information database  106 , ad database  108 , and user provided information analyzer  110  are all coupled to ad server  104 . The connections may be direct or indirect, such as over a network  112 . Ad server  104  is configured to provide advertisements on a website that the user is visiting. Ad server  104  may provide advertisements in response to requests for advertisements from the user, user system  102 , and/or a publisher of the website. Moreover, ad server  104  may also be configured to allow elements of system  100  to interact with each other. For example, ad server  104  may allow user provided information analyzer  110  to analyze information stored in user provided information database  106 . Alternatively, user provided information analyzer  110  may be directly coupled to user provided information database  106 . Ad server  104  may also be configured to provide websites requested by the user to user system  102 . 
     User system  102  is configured to allow the user to access the Internet or other communication network. Thus, through user system  102 , the user may visit one or more websites. In visiting a website, user system  102  requests the website from a server. In response to the request, the website is downloaded to and displayed on user system  102 . An advertisement provided on the website is displayed on user system  102  when the user visits the website. The advertisement may be embedded within the website or otherwise displayed. In an embodiment, ad server  104  may be configured to operate as the server and service requests for websites from user system  102 . 
     User provided information is stored in user provided information database  106 . Information stored in user provided information database  106  may be collected in a variety of ways. For example, the user may be queried for information in the form of a survey. Additionally or alternatively, a user may provide information by performing a search. For example, a user may visit a search engine. In providing search terms to the search engine, the search terms may also be stored in user provided information database  106 . Ad server  104  may be configured to receive user provided information and to transmit that information to user provided information database  106 . 
     Ad database  108  is configured to store advertisements that may be displayed on websites. Ad database  108  may also be configured to store entries associated with each of the stored advertisements. The stored entries may include descriptors that are used to compare the content of the advertisement with information associated with one or more interests of the user. 
     User provided information analyzer  110  is configured to analyze information stored in user provided information database  106 . In an embodiment, user provided information analyzer  110  is configured to analyze input information and identify one or more characteristics of at least one product or service relevant to the information, The identified characteristics, then, are provided to ad server  104 . Ad server  104  selects an advertisement from ad database  108  that has descriptors that match the identified characteristics. Ad server  104  provides the selected advertisement on the website, Thus, user provided information analyzer  110  takes generally unprocessed data related to one or more interests of the user and identities one or more characteristics that can be used to search ad database  108  for advertisements relevant to the user&#39;s interests. 
     As described above, system  100  provides a system for providing advertisements on a website that are relevant to the interests of the user. However, in cases where no information is provided by the user, advertisements are often provided that are not relevant to the user.  FIG. 2  shows an exemplary system  200  for providing advertisements on a website that are relevant to a user&#39;s interests. In contrast to system  100  shown in  FIG. 1 , system  200  determines one or more interests of the user based on the website that the user is visiting. 
     System  200  includes an ad server  202 , a content analyzer  204 , an ad database  206 , and user system  102 . Ad server  202  is configured to interact with user system  102 , content analyzer  204 , and ad database  206 . Connections between ad server  202  and user system  102 , content analyzer  204 , and ad database  206  may be direct or indirect, such as over a network  208 . Similar to ad server  104  described with reference to system  100  shown in  FIG. 1 , ad server  104  is configured to search ad database  206  based on identified characteristics. In contrast to ad server  104 , ad server  202  is configured to search ad database  206  for relevant advertisements based on characteristics identified by content analyzer  204  instead of user provided information analyzer  110 . 
     Content analyzer  204  is configured to analyze websites and identify one or more characteristics of at least one product or service relevant to the content of the website. For example, ad server  202  may input the website that the user is visiting to content analyzer  204 . Content analyzer  204  analyzes the website and identifies one or more characteristics associated with the website. In response to a request for an advertisement, ad server  202  queries content analyzer  204  for the identified characteristics and searches ad database  206  for advertisements that have one or more descriptors that match the identified characteristics. For more information regarding the operation of content analyzer  204 , please refer to Patent Publication No. US 2004/0059708 published Mar. 25, 2004 to Dean et al., which is incorporated by reference herein in its entirety. 
     Thus, by analyzing information provided by a user and/or the content of a website visited by the user, one or more interests of a user may be determined. Although such advertisements are more likely to be relevant to the user&#39;s interest, an ad server often cannot determine whether such an interest is indicative of a future event. For example, if it is determined that a user is interested in fishing, an ad server may provide an advertisement that advertises fishing related products without knowing whether the user intends to go fishing. In such a case, advertisements selected based on their relevance to one or more interests of a user may not be as effective as advertisements selected based on their relevance to one or more future events. 
     In embodiments described herein, however, advertisements may be selected based on their relevance to user-sourced information regarding a future event in addition to or instead of their relevance to one or more interests of a user. In an embodiment, user-sourced information may include user-provided information. Additionally or alternatively, user-sourced information may include information not expressly provided by the user. For example, and without limitation, such information may include a set of planned events stored on a computer of the user. In such an embodiment, the set of planned events is not expressly provided by the user, but rather is obtained through appropriate interaction between a server and the user&#39;s computer. In a further embodiment, the server may be configured to obtain such information only with the user&#39;s permission. 
     In an embodiment, user-sourced information regarding a future event includes information regarding an event that the user intends, desires, and/or expects to happen. For example, such an event may be a fishing trip. 
     Since the information is obtained directly or indirectly from the user, i.e., it is user-sourced, future events contained therein may be considered relevant to the user. As would be appreciated by those skilled in the relevant art(s), user-sourced information may include other types of information without departing from the scope and spirit of the invention. 
       FIG. 3  shows an exemplary system  300  for providing an advertisement on a website, according to an embodiment of the present invention. System  300  includes user system  102 , an ad server  304 , a user-sourced information database  306 , a content analyzer  308 , an ad database  310 , a response register  312 , and a performance indicator  314 . System  300  also optionally includes a third-party feed  316 . Ad server  304  is configured to select an advertisement for display on a website visited by the user from ad database  310 . 
     Content analyzer  308  is configured to receive information and identify one or more characteristics of at least one product or service relevant to the future event. For example, content analyzer  308  may analyze information stored in user-sourced information database  306  and identify one or more associated characteristics. Methods of obtaining user-sourced information will be described in further detail below. In an embodiment, content analyzer  308  also includes, but is not limited to, the functionality of content analyzer  204  described with reference to system  200 , shown in  FIG. 2 . Ad database  310  is generally similar to ad database  206  described with reference to  FIG. 2 . However, ad database  310  may also be configured to store descriptors in entries associated with stored advertisements that are configured to be compared to characteristics identified by content analyzer  308 . In an embodiment, each advertisement stored in ad database  310  is analyzed by content analyzer  308 , in a manner similar to the analyses of user-provided information or a web page. Identified characteristics associated with each advertisement may be stored as descriptors in the entry associated with each respective advertisement in ad database  310 . 
     As would be appreciated by those skilled in the relevant art(s), elements of system  300  may also be directly connected instead of or in addition to being coupled through ad server  304 . For example, content analyzer  308  may be directly connected to user-sourced information database  306 . The elements and operation of system  300  will be described in further detail with respect to flowcharts  400  and  500 . 
     As would be appreciated by those skilled in the relevant art(s), each of the elements of system  300  may be implemented as a server or otherwise as hardware, software, firmware, or any combination thereof. Each element of system  300  may be coupled to other elements of system  300  through the use of a communication network  318  such as the Internet. Network  318  can be any network or combination of networks that can carry data communication, and may be referred to herein as a computer network. Such network  318  can include, but is not limited to, a local area network, medium area network, and/or wide area network such as the Internet. Network.  318  can support protocols and technology including, but not limited to, World Wide Web protocols and/or services. Intermediate web servers, gateways, or other servers may be provided between components of system  300  depending upon a particular application or environment. Moreover, one or more of the elements of system  300  may include one or more sub-elements. In such an embodiment, each of the sub-elements may be coupled together through wired and/or wireless connections. 
     As shown in  FIG. 4 , an exemplary method  400  for providing an advertisement on a website is provided, according to an embodiment of the present invention. As would be apparent to those skilled in the relevant art(s), such a method may be automated through the use of hardware, software, firmware, or any combination thereof. Method  400  will be described with reference to the embodiment in which advertisements are provided to a user interacting with system  300  shown in  FIG. 3 , but is not limited in that regard. 
     Method  400  begins with step  402 . In step  402 , user-sourced information regarding a future event is obtained. For example, in  FIG. 3 , ad server  304  may obtain user-sourced information regarding a future event from user system  102 . Ad server  304  may store the user-sourced information in user-sourced information database  306 . 
     In an embodiment, user-sourced information regarding a future event is obtained from information entered by the user at user system  102 . The information entered by the user may be for the purpose of receiving relevant advertisements. For example, the user may complete a questionnaire or survey from which information regarding a future event may be directly or indirectly obtained. Such a questionnaire may be received by ad server  304 . 
     Additionally or alternatively, the obtained information regarding a future event may be entered by the user at user system  102  for other purposes. For example, the user may use user system  102  to maintain a to-do list, shopping list, wish list, task list, and/or other type of structure that stores information regarding future events relevant to the user. For example,  FIGS. 7 and 8  show an exemplary to-do list  700  and an exemplary shopping list  800 , respectively, that may be stored at user system  302 . 
     Additionally or alternatively, the information regarding future events may be included in a calendar or other management tool that provides planning tools for future events maintained on user system  102 . For example, the user may maintain a calendar through the Microsoft Outlook software application distributed by the Microsoft Corporation of Redmond, Wash. Information regarding a future event may be obtained from information entered in the calendar. Information obtained from such an application may or may not be entered by the user. For example, an individual, group of individuals, or other entity associated with the user in addition to or instead of the user may enter an event on the user&#39;s calendar. Information in such a calendar, entered by the user and/or an associated entity, may be received by ad server  304  and stored in user-sourced information database  306 . 
     Additionally or alternatively, user-sourced information regarding a future event may be obtained from a third party. In such an embodiment, the information may or may not be stored at user system  102 . In an embodiment, the information is stored at a third party storage. For example, the user may access the Internet from user system  302  and may transmit information regarding a future event to a search engine or other website. For example, the user may transmit the information to a website affiliated with the Yahoo! search engine provided by Yahoo! Inc. of Sunnyvale, Calif. The information transmitted to the third party may include a list, schedule, calendar, or other structure that stores information regarding future events relevant to the user. This information may be retrieved via a third party feed. As shown in  FIG. 3 , information from third-party feed  316  may be retrieved by ad server  304 . 
     In an embodiment, the user-sourced information regarding a future event is dynamic. For example, the user may update to-do list  700  as tasks are completed. In a further embodiment, information regarding future events derived from completed tasks may be determined to be no longer relevant. Alternatively, a task or other entry type (e.g., an item on a shopping list) may be determined to be representative of a recurring future event, and thus still relevant even though such an entry may be marked as being completed or otherwise having already occurred. 
     In the embodiment in which the information is dynamic, ad server  304  may periodically receive the user&#39;s to-do list from system  302 . Updated information may be stored in user-sourced information database  306  along with or instead of previously obtained information. 
     In an embodiment, information that is entered for purposes other than receiving relevant advertisements may be received at ad server  304  only through appropriate permission by the user. Additionally or alternatively, the user may set intermediate permissions that allow ad server  304  to receive information from certain sources while restricting access to other sources. 
     In step  404 , the content of the user-sourced information is analyzed to identify one or more characteristics of a product and/or service relevant to the future event. For example, ad server  304  may access user-sourced information database  306  to retrieve to-do list  700  and/or shopping list  800 . Ad server  304  transmits the information regarding a future event to content analyzer  308 . Content analyzer  308  analyzes to-do list  700  and/or shopping list  800  to determine one or more characteristics of a product and/or service relevant to a future event described in to-do list  700  and/or shopping list  800 . 
     In an embodiment, the characteristic may include a product and/or service to be purchased by the user, a classification and/or feature of a product and/or service to be purchased by the user, and/or a location of the user. For example, content analyzer  308  may analyze to-do list  700  and determine from an entry  702  of to-do list  700  a characteristic to be groceries (i.e., a classification of a product to be purchased by the user). Additionally or alternatively, content analyzer  308  may determine from an entry  802  of shopping list  800 , a characteristic to be milk (i.e., a product to be purchased by the user). As would be appreciated by those skilled in the relevant art(s), characteristics relevant to future events may include other types of characteristics not listed above without departing from the scope and spirit of the present invention. 
     In step  406 , the characteristic is compared to an advertisement descriptor. For example, ad server  304  may compare groceries, i.e., one of the determined characteristics to descriptors associated with advertisements stored in ad database  310 . 
     In step  408 , an advertisement is selected for display when the characteristic matches the advertisement descriptor. For example,  FIG. 6  shows an advertisement  600  for a detergent. Advertisement  600  may have groceries as an associated descriptor. In such an embodiment, ad server  304  may select advertisement  600  for display since the associated descriptor matches an identified characteristic (e.g., groceries). 
     In alternate embodiments, a match may be determined even though the descriptor is not identical to the identified characteristic. For example, advertisements stored in ad database  310  that have descriptors that are related to groceries (e.g., vegetables) may be selected for display. 
     In an embodiment, multiple characteristics may be matched so that an advertisement may be displayed. For example, ad server  304  may find multiple advertisements stored in ad database  310  having a descriptor that matches groceries. In such an embodiment, ad server  304  may select an advertisement that matches an additional identified characteristic associated with to-do list  700  and/or shopping list  800 . For example, ad server  304  may select an advertisement that has a location descriptor that matches a location of the user. In an embodiment, a location associated with an advertisement is determined by inputting the advertisement to content analyzer  308 , which determines the associated location as one of the identified characteristics associated with the advertisement. Similarly, the location of the user may determined by inputting information regarding a future event (e.g., to-do list  700  and/or shopping list  800 ) into content analyzer, which determines the location of the user as one of the identified characteristics. Comparing location related descriptors to location related identified characteristics may be done independently of or in tandem with other comparisons. 
     As described above, a match may be determined even in cases where the descriptor of the advertisement is not identical to a characteristic associated with the information regarding a future event. In the embodiment in which the location associated with the advertisement and user is matched to select an advertisement for display, a match may be determined when the location associated with the advertisement is within a specified distance of the location associated with the user. The specified distance may be determined by the user or ad server  304 . 
     As described above, user-sourced information regarding a future event is analyzed to identify one or more characteristics of at least one product or service relevant to the future event. In alternate embodiments the user-sourced information may be associated with multiple future events. In those embodiments, characteristics may be determined for each future event and an advertisement may be chosen based on the highest number of descriptors that match the identified characteristics. Multiple advertisements may be selected in a similar manner. Multiple future events may be determined from a single source of user-sourced information (e.g., a single to-do list) or multiple sources of user-sourced information (e.g., one or more to-do lists and/or shopping lists). 
     In an embodiment, ad server  304  may receive a request from the user for advertisements relevant to information regarding a future event. In a further embodiment, the request from the user may be a time-based request that corresponds to a date of a future event. For example, the user-sourced information may indicate that the user has a friend whose birthday is in a week. In response to a request from the user for advertisements relevant to the friend&#39;s birthday, ad server  304  may provide the user with relevant advertisements until the friend&#39;s birthday occurs. Ad server  304  may stop providing advertisements relevant to the friend&#39;s birthday after the birthday occurs. 
     In an alternative embodiment, ad server  304  may receive a request from a publisher of a website for advertisements relevant to information regarding future events associated with users that visit the website. For example, the publisher of the website may determine that advertisements relevant to the interests of users visiting the website, determined through user provided information, suitable analysis of the website, or otherwise, will not be effective. In such an embodiment, advertisements relevant to future events associated with the users that visit the website may be requested by the publisher. 
     As shown in  FIG. 5 , an exemplary method  500  for providing an advertisement on a website is provided, according to an embodiment of the present invention. As would be apparent to those skilled in the relevant art(s), such a method may be automated through the use of hardware, software, firmware, or any combination thereof. Method  500  will be described with reference to the embodiment in which advertisements are provided to a user who is visiting a website through suitable interaction with system  300  shown in  FIG. 3 , but is not limited in that regard. 
     Method  500  begins with step  502 . In step  502 , the content of a list or other information regarding a future event is analyzed to identify one or more characteristics. In an embodiment, step  502  is substantially similar to step  404  described with reference to method  400  described above. For example, content analyzer  308  may identify one or more characteristics of at least one product or service relevant to future event(s) described within to-do list  700  and/or shopping list  800 . 
     In step  504 , a list-based advertisement is selected when one or more advertisement descriptors match one or more identified characteristics. In an embodiment, step  504  is substantially similar to step  408  described with reference to method  400  described above. For example, ad server  304  may select advertisement  600  because its associated descriptor matches an identified characteristic. 
     In step  506 , a performance metric indicative of the success of the list-based advertisement when displayed on the website is determined. For example, in  FIG. 3 , performance indicator  314  may determine a performance metric indicative of the success of the list-based advertisement (e.g., advertisement  600 ). 
     In an embodiment, performance indicator  314  determines the performance metric through suitable interaction with response register  312 . As described above, response register  312  is configured to register the response of the user to different advertisements. Thus, performance indicator  314  may query response register  312  to retrieve previous responses of the user to the list-based advertisement. In an embodiment, if the list-based advertisement has never been provided to the user or only provided to the user a relatively few number of times, so that a meaningful performance metric cannot be determined, the performance metric may be set to a default value or may be determined based on responses from different users. 
     in an embodiment, a response may be whether the user selects the list-based advertisement and/or whether the user does not select the advertisement. In a further embodiment, the performance metric is indicative of a probability that the user will select the list-based advertisement. As would be appreciated by those skilled in the relevant arts), performance indicator  314  may employ one of many different algorithms to determine the performance metric. For example, performance metric  314  may be configured to assign more weight to recent responses compared to older responses. 
     In step  508 , the content of the website is analyzed to identify a characteristic of at least one product or service relevant to the content of the website. For example, ad server  304  may input the website into content analyzer  308  that identifies one or more associated characteristics. As described with reference to  FIG. 2  above, characteristics of a website may be indicative of one or more interests of the user who visits the website. 
     In step  510 , an advertisement relevant to the website is selected when the descriptor of the advertisement matches one or more identified characteristics associated with the website. For example, ad server  304  may select a website-based advertisement from ad database  310  when the descriptor of the advertisement matches one or more identified characteristics associated with the website. 
     In step  512 , a performance metric indicative of the success of the website-based advertisement is determined. For example, performance indicator  314  may determine the performance metric associated with the website-based advertisement through suitable interaction with response register  316  in a manner substantially similar to the determination of the performance metric associated with the list-based advertisement described in step  506  above. 
     Thus, steps  502 - 512  of method  500  result in the selection of an advertisement relevant to a future event (e.g., the list-based advertisement) and an advertisement relevant to one or more interests of the user (e.g., the website-based advertisement) and the determination of a performance metric associated with each advertisement indicative of each of their success when displayed on the website. 
     In decision step  514 , it is determined whether the website-based advertisement will perform relatively well when displayed on the website. For example, ad server  304  may query performance indicator  314  to retrieve the performance metric associated with the website-based advertisement. 
     in an embodiment, ad server  304  determines whether the website-based advertisement will perform relatively well by comparing the associated performance metric with a threshold. If the performance metric exceeds the threshold, ad server  304  may determine that the website-based advertisement will perform relatively well, The threshold may be indicative of an average or other statistical computation of performance metrics of some or all website-based advertisements, some or all list-based advertisements, or other types of advertisements. As would be appreciated by those skilled in the relevant art(s), whether the website-based advertisement will perform relatively well may be determined in other ways without departing from the scope and spirit of the invention. 
     If it is determined that the website-based advertisement will perform relatively well when displayed on the website, step  516  is reached. In decision step  516 , it is determined whether the list-based advertisement will perform relatively well when displayed on the website. For example, in  FIG. 3 , ad server  304  may determine whether the list-based advertisement will perform relatively well when displayed on the website by comparing the associated performance metric to a second threshold. In an embodiment, the second threshold is determined in a manner substantially similar to the threshold described with reference to step  514 . Alternatively, the second threshold may be determined independently of the threshold associated with the web-site based advertisement. As would be appreciated by those skilled in the relevant art(s), whether the list-based advertisement will perform relatively well may be determined in other ways without departing from the scope and spirit of the invention. 
     If it is determined that the list-based advertisement will not perform relatively well, step  518  is reached. In step  518 , the website-based advertisement is displayed. For example, in  FIG. 3 , ad server  304  may display the website-based advertisement on the website. 
     If it is determined that the list-based advertisement will perform relatively well, step  520  is reached. In step  520 , the website-based advertisement is displayed. For example, in  FIG. 3 , ad server  304  may display either the website-based advertisement or both the website-based advertisement and the list-based advertisement on the website. 
     Returning to step  514 , if it is determined that the website-based advertisement will not perform relatively well, step  522  is reached. Step  522  is generally similar to step  516  described above except that if it is determined that the list-based advertisement will perform relatively well step  524  is reached, if not, step  520  is reached. 
     In step  524 , the list-based advertisement is displayed. For example, in  FIG. 3 , ad server  304  may display the list-based advertisement on the website. 
     In optional step  526 , content representative of a second future event is displayed in addition to the displayed advertisement. In an embodiment, content representative of a second future event may include information that is relevant to a current time period and information that is relevant to a future time period. For example, tasks may include tasks to be completed in a current week and tasks that are to be completed the following week. In such an embodiment, a to-do list (e.g., to-do list  700 ) may be configured to display tasks that are relevant to the current period of time (e.g., tasks to be completed during the current week). In a further embodiment, the to-do list may be updated with tasks to be completed the following week when the current week has expired. 
     In an embodiment, optional step  526  results in content representative of a second future event that is relevant to a future time period being displayed. For example, optional step  526  may result in the to-do list displaying tasks that are relevant to a future period of time (e.g., the next week) in addition to or instead of tasks that are currently displayed. In alternate embodiments, content representative of the second future event may be displayed as content on the webpage the user is visiting. 
     In an embodiment, optional step  526  may be executed if it is determined that displaying content representative of the second future event may increase the user&#39;s interest in an advertisement currently being displayed. For example, it may be determined that information regarding the second future event has an associated characteristic that is relevant to an advertisement descriptor of the advertisement currently being displayed (e.g., a website-based advertisement, list-based advertisement, or other type of advertisement). In such an embodiment, displaying the content representative of the second future event may increase the user&#39;s interest in the advertisement currently being displayed. In an alternate embodiment, optional step  526  may be executed if it is determined that both the list-based advertisement and the website-based advertisement will not perform well. In such an embodiment, the content representative of the second future event may also increase the user&#39;s interest in the advertisement being displayed. 
     Thus, as described in method  500 , an advertisement relevant to a user&#39;s interest (e.g., a website-based advertisement) and/or an advertisement relevant to a future event associated with the user (e.g., a list-based advertisement) may be displayed. One of skill in the art will recognize that other comparisons may be made to determine whether a website-based advertisement or a list-based advertisement (or both) will appear on the website. In the example of  FIG. 5 , if both the website-based advertisement and the list-based advertisement perform well, the website-based advertisement is displayed. However, in an alternate embodiment, the list-based advertisement may be displayed if both the website-based advertisement and the list-based advertisement perform well. In yet another embodiment, both the website-based advertisement and the list-based advertisement may be displayed on the website if both perform well and there is sufficient space allocated to advertisements on the website. Similarly, in the example of  FIG. 5 , if both the website-based advertisement and the list-based advertisement perform poorly, the website-based advertisement is displayed. In an alternate embodiment, the list-based advertisement may be displayed if both the website-based advertisement and the list-based advertisement perform poorly. In yet another embodiment, both the website-based advertisement and the list-based advertisement may be displayed on the website if both perform poorly and there is sufficient space allocated to advertisements on the website. 
     In alternate embodiments, the advertisement relevant to the user&#39;s interest as well as the advertisement relevant to a future event may be determined in other ways. For example, as described with reference to  FIG. 1 , an advertisement relevant to one or more interests of the user may be determined based on user provided information. In such an embodiment, content analyzer  308  may be configured to function in a manner similar to user provided information analyzer  110  when provided with user provided information. 
     As shown in  FIG. 9 , an exemplary method  900  for providing an advertisement on a website is provided, according to an embodiment of the present invention. As would be apparent to those skilled in the relevant art(s), such a method may be automated through the use of hardware, software, firmware, or any combination thereof. Method  900  will be described with reference to the embodiment in which advertisements are provided to a user who is visiting a website through suitable interaction with system  300  shown in  FIG. 3 , but is not limited in that regard. 
     Method  900  begins with step  902 . In step  902 , the content of a list or other information regarding a future event is analyzed to identify one or more characteristics. In an embodiment, the operation of step  902  is substantially similar to the operation of step  502  described with respect to method  500 . 
     In step  904 , the content of the website is analyzed to identify a characteristic of the website. In an embodiment, the operation of step  904  is substantially similar to the operation of step  508 , described with respect to method  500 . 
     In step  906 , one or more joint characteristics are identified. For example, ad server  304  may compare a group of characteristics of to-do list  700  and/or shopping list  800  with a group of characteristics of the website to identify joint characteristics. 
     In an embodiment, a joint characteristic may be a characteristic that is found in the characteristics of the user-sourced information regarding the future event and in the characteristics of the website. In alternate embodiments, a joint Characteristic may be a characteristic of the user-sourced information regarding the future event that is relevant to a characteristic of the website or vice versa. In a further embodiment, a relevance between characteristics may be determined by ad server  304 . For example, if “groceries” is identified as a characteristic of the user-sourced information and “milk” is identified as a characteristic of the website, ad server  304  may identify the characteristics as being relevant so that “groceries” and/or “milk” may be identified as joint characteristics. 
     In step  908 , an advertisement relevant to one or more joint characteristics is selected. For example, ad server  304  may select an advertisement that has one or more descriptors that match one or more joint characteristics. 
     In step  908 , the selected advertisement is displayed. For example, ad server  304  may display the selected advertisement on the website. 
     Aspects of the present invention, for example method  400 , method  500 , and/or method  900  or system  300  or any part(s) or function(s) thereof may be implemented using hardware, software, firmware, or a combination thereof and may be implemented in one or more computer systems or other processing systems. However, the manipulations performed by the present invention were often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention. Rather, the operations are machine operations. Useful machines for performing the operation of the present invention include general purpose digital computers or similar devices. 
     In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. An example of a computer system  1000  is shown in  FIG. 10 . 
     The computer system  1000  includes one or more processors, such as processor  1004 . The processor  1004  is connected to a communication infrastructure  1006  (e.g., a communications bus, cross over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures. 
     Computer system  1000  can include a display interface  1002  that forwards graphics, text, and other data from the communication infrastructure  1006  (or from a frame buffer not shown) for display on the display unit  1030 . 
     Computer system  1000  also includes a main memory  1008 , preferably random access memory (RAM), and may also include a secondary memory  1010 . The secondary memory  1010  may include, for example, a hard disk drive  1012  and/or a removable storage drive  1014 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive  1014  reads from and/or writes to a removable storage unit  1018  in a well known manner. Removable storage unit  1018  represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive  1014 . As will be appreciated, the removable storage unit  1018  includes a computer usable storage medium having stored therein computer software and/or data. 
     In alternative embodiments, secondary memory  1010  may include other similar devices for allowing computer programs or other instructions to be loaded into computer system  1000 . Such devices may include, for example, a removable storage unit  1022  and an interface  1020 . Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units  1022  and interfaces  1020 , which allow software and data to be transferred from the removable storage unit  1022  to computer system  1000 . 
     Computer system  1000  may also include a communications interface  1024 . Communications interface  1024  allows software and data to be transferred between computer system  1000  and external devices, Examples of communications interface  1024  may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface  1024  are in the form of signals  1028  which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface  1024 . These signals  1028  are provided to communications interface  1024  via a communications path (e.g., channel)  1026 . This channel  1026  carries signals  1028  and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and other communications channels. 
     In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive  1014  and a hard disk installed in hard disk drive  1012 . These computer program products provide software to computer system  1000 . The invention is directed to such computer program products. 
     Computer programs (also referred to as computer control logic) are stored in main memory  1008  and/or secondary memory  1010 . Computer programs may also be received via communications interface  1024 . Such computer programs, when executed, enable the computer system  1000  to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor  1004  to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system  1000 . 
     In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system  1000  using removable storage drive  1014 , hard drive  1012  or communications interface  1024 . The control logic (software), when executed by the processor  1004 , causes the processor  1004  to perform the functions of the invention as described herein. 
     In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). 
     In yet another embodiment, the invention is implemented using a combination of both hardware and software. 
     Exemplary embodiments of the present invention have been presented. The invention is not limited to these examples. These examples are presented herein for purposes of illustration, and not limitation. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the invention. Thus, the present invention should not be limited by any of the above described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. 
     In addition, it should be understood that the figures illustrated in the attachments, which highlight the functionality and advantages of the present invention, are presented for example purposes only. The architecture of the present invention is sufficiently flexible and configurable, such that it may be utilized (and navigated) in ways other than that shown in the accompanying figures. 
     Further, the purpose of the foregoing Abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The Abstract is not intended to be limiting as to the scope of the present invention in any way.