More and more people are purchasing items over the Internet. Indeed, recent studies have suggested that nearly 90% of all consumers have purchased something online and each year a greater percentage of all purchases are made online. Correspondingly, there are many retail-related web sites to which a computer user can navigate in order to conduct a purchase transaction.
Dynamic pricing is often used by businesses to entice people into impulse purchases, i.e., the purchase of an item based on an immediate urge or impulse. A typical dynamic pricing scenario might occur within a retail store where a public announcement to the customers indicates that, for a limited period of time, a certain product will be offered at a greatly reduced price.
The following Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. The Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
According to aspects of the disclosed subject matter, a computer-implemented method for presenting dynamic offers to a computer user is presented. One or more items are identified within a page of content that is to be displayed (or is already displayed) to a computer user. A dynamic determination is made to make a dynamic offer to the computer user for one of the identified items. The page of content is updated to include a presentation of the dynamic offer for the one item and the updated content is provided to the computer user for display.
According to further aspects of the disclosed subject matter, a computer-implemented dynamic offer system for responding to a content request is presented. The dynamic offer system includes a processor and a memory, as well as additional executable components which, together, cause the system to respond to a content request from a computer user. The additional components include an item identification component and a dynamic offer component. The item identification component is configured to identify a set of items in content requested by the computer user. The dynamic offer component dynamically determines whether to provide a dynamic offer and, if so, associates a dynamic offer with at least one item of the identified items in the requested content.
According to still further aspects of the disclosed subject matter, a computer system for displaying content to a computer user is presented. The computer system includes a processor and a memory, as well as additional executable components which, together, cause the computer system to display content to a computer user, where the content includes one or more dynamic offers for items in the content. The additional components include a dynamic offer request component, a content update component, and a content presentation module. The dynamic offer request component is configured to dynamically obtain at least one dynamic offer from a dynamic offer system for an item in the content to be displayed to the computer user. The content update component is configured to update the content with the at least one dynamic offer such that the dynamic offer is presented to the computer user in conjunction with the presentation of the updated content. The content presentation module is configured to present the updated content to the computer user.
The foregoing aspects and many of the attendant advantages of the disclosed subject matter will become more readily appreciated as they are better understood by reference to the following description when taken in conjunction with the following drawings, wherein:
For purposed of clarity, the use of the term “exemplary” in this document should be interpreted as serving as an illustration or example of something, and it should not be interpreted as an ideal and/or a leading illustration of that thing. Additionally, the term “item,” in conjunction with a dynamic offer, should be viewed as being a product or service that is available for sale, access, rent or lease. While, for convenience in writing, the term “sell” will most often be used with regard to a dynamic offer for an item, the disclosed subject matter should be viewed as covering sales, rent, lease, or granted access of the item.
The term “dynamic offer” refers to an offer to sell a corresponding item. A dynamic offer is “dynamic” in that a determination to make the dynamic offer to a computer user is made just prior to making the dynamic offer available to the computer user. For example, as a computer user navigates a browser to a network site (i.e., directs the browser to display content from the network site), a determination is dynamically made as to whether or not to make a dynamic offer to the computer user regarding an item in the content at the network site. As will be described in more detail below, even if a determination is made to make a dynamic offer regarding the item to the computer user, the dynamic offer may or may not be displayed with the content depending on whether or not the dynamic offer is dependent on the occurrence of a triggering event before the dynamic offer is presented (displayed) to the computer user. Furthermore, because dynamic offers are based on “at-the-moment” determinations, a dynamic offer for an item that is made to a computer user as the computer user navigates to a specific network site a first time might not be made to the computer user as the computer user navigates to the same network site a subsequent time. A dynamic offer is temporal, meaning that the offer is valid for a limited period of time. The period of time that a dynamic offer is valid may be a fixed period of time or corresponds to the occurrence of a terminating event, such as the computer user navigating away from the network site that includes the item for which the dynamic offer is made. A dynamic offer has a corresponding discount or offer price that is typically, but not necessarily, less than a common price for the item. As suggested above, the purpose of making a dynamic offer to a computer user is to encourage the computer user to make a prompt purchase.
Turning to
As will be readily appreciated, the search engine 110 is configured to provide search results (i.e., content) in response to search queries received from one or more persons/computer users, such as computer user 101 by way of user computer 102 over the network 108. In particular, in response to receiving a search query from a computer user, the search engine 110 identifies search results related and/or relevant to the received search query and generates one or more search results pages that include the identified search results as well as additional content. It should be appreciated that search results may include and/or correspond to items for sale or lease. Hence, dynamic offers may be made for an item among the search results. Additional information in the search results pages may also be the subject of dynamic offers. Advertisements included in the search results pages typically correspond to items for sale or lease and dynamic offers may be made in regard to one or more advertisements in addition to items among the search results.
Vendor sites, such as vendor sites 112 and 116, offer items (e.g., products and services) for sale and/or lease. The items available at these vendor sites may be exclusive to the host of the vendor site (i.e., items of the vendor's own line of products), items from other vendors, and/or a combination of the host site's products as well as products of other vendors. In navigating the content of a vendor site, one or more dynamic offers may be made to the computer user in conjunction with corresponding items in the various pages of content.
It should be appreciated that web content sites, such as news site 114, host or reference news content, such as articles, editorials, commentary, and the like generally referred to as articles. As the computer user navigates to view the various articles of a content site, the page of content in which an article is presented will typically include one or more advertisements. Of course, these advertisements correspond to various items and services for sale or lease. Moreover, one or more dynamic offers may be made to the computer user for these various items.
Though
To better understand the process of making a dynamic offer to a computer user, reference is now made to
As indicated by block 206, in addition to accessing or generating the requested page of content, the dynamic offer system 202 identifies one or more items among the requested content for which a dynamic offer might be made. At block 208, the dynamic offer system 202 determines for which items a corresponding dynamic offer should be made. The determinations are typically, but not exclusively, made on a per item and/or a per-request basis. Determining whether to make a dynamic offer for an item may be made according to (by way of illustration and not limitation) one or more of: predetermined advertising plans; internal sales and/or fulfillment goals; random selection; consultation with one or more vendors offering the particular items; events such as the Super Bowl™ or World Series™; festivals and holiday seasons/events; and the like. These determinations may be made based on user information corresponding to the requesting computer user include. This user information may include, by way of illustration and not limitation: geographic location, preferences and/or interests (both implicitly and explicitly identified), browsing history, purchase history, search query history, demographics, social networking information (as approved and knowingly shared by the computer user); and the like.
At block 210, for those dynamic offers to be made to the computer user, dynamic offer details are obtained. These details include, by way of illustration and not limitation, an offer price or offer discount of a common price associated with the item, a duration identifying the length of time that the dynamic offer is valid, presentation information identifying the manner in which the dynamic offer is to be presented to the computer user, triggering events that trigger the dynamic offer to be presented to the computer user, offer acceptance data identifying the process for accepting the dynamic offer, and the like. At block 212 the dynamic offers are incorporated into the requested content. At block 214 the requested content is provided to the computer user 101. At block 216, on the user computer 102 the requested content, which includes dynamic offers, is displayed to the computer user 101.
While
At block 232, a dynamic offer component operating on the user computer 102 identifies items in the obtained content for which dynamic offers might be made. At block 234 the component requests dynamic offer details for the identified items. According to various embodiments, identification of items in the content may be made prior to the display of the content to the computer user 101 on the user computer 102 or, alternatively, after the obtained content is displayed to the computer user. Except for the display step of 244, the process 225 is largely the same as that described in process 200. In one embodiment (as shown in
At block 236, in response to the request for dynamic offers, dynamic offer system 224 determines for which of the identified items a corresponding dynamic offer will be made to the computer user 101. As discussed above in regard to
At block 238, dynamic offer details for those dynamic offers to be made to the computer user 101 are obtained. At block 240, the dynamic offers to be made to the computer user 101, including the dynamic offer details, are returned to the user computer 102. At block 242, the presentations of the dynamic offers are included in the obtained content and, at block 244, the content with the dynamic offers is displayed to the computer user 101.
While not shown, in various embodiments a combination of the two exemplary interactions may also be implemented. In particular, in addition to obtaining a page of content from an external network site, where the obtained page of content already includes one or more dynamic offers, the component on the user computer 102 (discussed above in regard to
To illustrate the visual presentation of dynamic offers, reference is now made to
According to various embodiments, a computer user accepts a dynamic offer, such as the dynamic offer represented by dynamic offer presentation 314, by interacting with the dynamic offer presentation. The specific manner in which a computer user interacts with a dynamic offer presentation, such as dynamic offer presentation 314, depends on the user interface paradigm of the user computer and the particular manner in which the vendor offering the dynamic offer has specified (through the dynamic offer details discussed above.) Interaction may comprise, by way of illustration and not limitation, clicking on the dynamic offer presentation (as is known in the art), making a specific key-press identify by the dynamic offer presentation, touching the dynamic offer presentation on the display device of the user computer, speaking a command, making a gesture that is detectable by the user computer (e.g., detectable by camera, triangulation, accelerometers, etc.), and the like. As indicated above, if the computer user does not to accept (and, therefore does not interact with) the dynamic offer within the predetermined amount of time associated with the dynamic offer, the dynamic offer becomes invalid. Alternatively, termination events may terminate a dynamic offer, such as navigating away from the content 302 in which the dynamic offer is presented. In various embodiments, when the dynamic offer is no longer valid, the corresponding offer presentation, such as offer presentation 314, is no longer displayed with the content 302. The content 302 may further be included in sponsored search results of a search results page.
While not shown, dynamic offer presentations, such as offer presentation 314, are not necessarily static presentations. Dynamic offer presentations may be configured to be displayed in any number of manners. Dynamic offer presentations may include color, color changes, animation, and the like. The level of discount associated with a dynamic offer may be reflected in the particular presentation of the dynamic offer. For example, the amount of discount associated with the dynamic offer may be reflected in the color of the dynamic offer presentation, where greater discounts are displayed in a more intense color than those dynamic offers with lesser discounts. Hence, turning to
According to various embodiments, the amount of discount of a dynamic offer may be a function of the length of time that computer user takes to accept the offer (through interaction with the presentation of the dynamic offer). For example a dynamic offer may begin with a price discount of 50% off of a normal price for an item, and be reduced to a 10% discount just prior to the expiration of the dynamic offer. In another non-exclusive embodiment, a dynamic offer presentation may indicate the amount of time that is remaining for the dynamic offer. For example,
While the offer presentations shown in
In contrast to the product listings shown in
As suggested above, according to various embodiments of the disclosed subject matter, the presentation of a dynamic offer does not necessarily coincide with the display of a page of content that includes the dynamic offers. Indeed, a dynamic offer may be associated with an item but, according to dynamic offer details, becomes active and is and presented to a computer user based on the occurrence of a triggering event. Triggering events may include, by way of illustration and not limitation, hovering over an item with a pointing device, initial interaction with an item, a time of day, active display of the item for a pre-established amount of time, and the like.
Turning now to
After identifying (or generating) the requested content, at block 404, a set of items within the page of content is identified. These identified items are potential candidates for which corresponding dynamic offers may be made. At block 406, an iteration loop is begun to iterate through the set of identified items in the requested content. As those skilled in the art will appreciate, in iterating through the identified items, each item in turn is selected as a current item and processed. Iteration continues until all items have been processed. Hence, for each identified item, at decision block 408 a determination is made as to whether to make a dynamic offer to the computer user 101 for the currently iterated item. If it is determined to not make a dynamic offer for the currently iterated item, the routine 400 returns to block 406 where the next identified item is selected for processing. Alternatively, if a dynamic offer is to be made in association with the currently iterated item, the routine 400 proceeds to block 410.
In regard to the determination made in decision block 408 regarding whether to make a dynamic offer for the currently selected item to the computer user 101, typically, but not exclusively, these determinations are made on a per item basis. Determining whether to make a dynamic offer for the currently selected item may be made according to (by way of illustration and not limitation) one or more of: predetermined advertising plans; internal sales and/or fulfillment goals and metrics regarding the advertisement or sale of an item; random selection; consultation with one or more vendors offering the particular items; and the like. These determinations may be made based on user information corresponding to the requesting computer user include. The user information is typically, but not exclusively, obtained according to the user identification information that is included in (or accompanies) the content request from the computer user. This user information may include, by way of illustration and not limitation: geographic location, preferences and/or interests (both implicitly and explicitly identified), browsing history, purchase history, search query history, demographics, and the like.
At block 410, details regarding the dynamic offer for the currently selected item to be made to the computer user are obtained. These dynamic offer details may include, without limitation: the price or discount associated with the dynamic offer; the length of time that the dynamic offer remains valid; triggering events to occur before the offer becomes valid (and presented); terminating events that terminate dynamic offer (other than expiration of time); the type of dynamic offer presentation; the mode of accepting the dynamic offer; and the like. These dynamic details may be included with a corresponding pre-established plan or may be obtained from the vendor/producer/promoter of the item. After obtaining the dynamic offer details for the dynamic offer for the current selected item, the routine 400 returns to block 406 where the iteration to the next identified item continues.
After iterating through all of the identified items, at block 412, the dynamic offers (those that are to be made to the computer user) are incorporated into the requested content to be returned to the computer user 101. As a result, the requested content includes information and/or code for presenting the dynamic offer to the computer user for each of the identified products having a corresponding dynamic offer. At block 414, the requested content is returned to the computer user 101 in response to the computer user's request. Thereafter, the routine 400 terminates.
Regarding the requested content discussed above in regard to routine 400, as mentioned above while a requested page of content may correspond to a predetermined, static or mostly static page of content, the disclosed subject matter is not so limited. Indeed, the request page of content may be generated in response to the request. For example, the browser view 300 shown in
Regarding routine 400, as well as the other routines described below, while these routines are expressed in regard to discrete steps, these steps should be viewed as being logical in nature and may or may not correspond to any actual and/or discrete steps of a particular implementation. Nor should the order in which these steps are presented in the various routines be construed as the only order in which the steps may be carried out. Moreover, while these routines include various novel features of the disclosed subject matter, other steps (not listed) may also be carried out in the execution of the routines. Further, those skilled in the art will appreciate that logical steps of these routines may be combined together or be comprised of multiple steps. Steps of routines 400 (as well as 500 and 600 discussed below) may be carried out in parallel or in series. Often, but not exclusively, the functionality of the various routines is embodied in software (e.g., applications, system services, libraries, and the like) that is executed on computer hardware and/or systems as described below in regard to
While many novel aspects of the disclosed subject matter are expressed in routines embodied in applications (also referred to as computer programs), apps (small, generally single or narrow purposed, applications), and/or methods, these aspects may also be embodied as computer-executable instructions stored by computer-readable media, also referred to as computer-readable storage media. As those skilled in the art will recognize, computer-readable media can host computer-executable instructions for later retrieval and execution. When the computer-executable instructions store stored on the computer-readable storage devices are executed, they carry out various steps, methods and/or functionality, including those steps, methods, and routines described above in regard to routines 400, 500 and 600. Examples of computer-readable media include, but are not limited to: optical storage media such as Blu-ray discs, digital video discs (DVDs), compact discs (CDs), optical disc cartridges, and the like; magnetic storage media including hard disk drives, floppy disks, magnetic tape, and the like; memory storage devices such as random access memory (RAM), read-only memory (ROM), memory cards, thumb drives, and the like; cloud storage (i.e., an online storage service); and the like. For purposes of this disclosure, however, computer-readable media expressly excludes carrier waves and propagated signals.
Beginning at block 502, the user computer obtains a page of content for display to the computer user 101. At block 504, an item identification component identifies one or more items in the page of content for which a dynamic offer may be made. At block 506, for efficiency purposes, the item identification component optionally identifies dynamic offers for corresponding identified from a local cache on the user computer. As will be readily appreciated, the identification of dynamic offers from a local cache may include determining whether to make a dynamic offer to the computer user 101 for a particular item based on various criteria, as previously discussed.
At block 506, a request is made of an external network site, such as dynamic offer system 224, to obtain dynamic offers for the identified items (or for those identified items for which there is not already a corresponding dynamic offer). After obtaining the dynamic offers in response to the request, at block 510 the dynamic offers (those obtained from local cache—if any—as well as those obtained from an external network site such as dynamic offer system 224) are incorporated into the page of content such that they may be displayed with the content to the computer user 101. At block 512, the page of content is displayed to the computer user and includes dynamic offers for corresponding items in the page. Thereafter, routine 500 terminates.
Of course, it should be appreciated that, according to various aspects of the disclosed subject matter, even at the beginning of routine 500 the page of content may include dynamic offers. This may arise when a page of content is obtained from a network site that included one or more dynamic offers in the page of requested content
At block 610, the dynamic offer details (for those dynamic offers to be made to the computer user) are returned to the requesting computer user and the routine 600 terminates. Of course, if (as suggested above) the computer user submits the content rather than a list of items, the routine 600 would incorporate the dynamic offers into the content before returning the content to the computer user.
Turning now to
The processor 702 executes instructions retrieved from the memory 704 in carrying out various functions, particularly in responding to product listing requests with product listing pages that may include dynamic offers. The processor 702 may be comprised of any of various commercially available processors such as single-processor, multi-processor, single-core units, and multi-core units. Moreover, those skilled in the art will appreciate that the novel aspects of the disclosed subject matter may be practiced with other computer system configurations, including but not limited to: mini-computers; mainframe computers, personal computers (e.g., desktop computers, laptop computers, tablet computers, etc.); handheld computing devices such as smartphones, personal digital assistants, and the like; microprocessor-based or programmable consumer electronics; game consoles, and the like.
The system bus 710 provides an interface for the various components to inter-communicate. The system bus 710 can be of any of several types of bus structures that can interconnect the various components (including both internal and external components). The network site 700 further includes a network communication component 712 for interconnecting the network site with other computers (including, but not limited to, user computers such as user computers 102-106, other network sites including network sites 112-116, and a search engine 110) as well as other devices on a computer network 108. The network communication component 712 may be configured to communicate with an external network, such as network 108, via a wired connection, a wireless connection, or both.
The network site 700 also includes an item identification component 716. The item identification component 716 scans content (or pages of content) and identifies items within content that are candidates for making a dynamic offer. In short, the item identification component 716 identifies the items in the content for which a dynamic offer may be made.
Also included in the network site 700 is a dynamic offer component 720. The dynamic offer component 720 is used to determine whether to offer a dynamic offer to the computer user for a specific item. Typically, the dynamic offer component 720 operates in conjunction with the item identification component 716, making determinations as to whether to offer a dynamic offer to the computer user in conjunction with an item identified by the item identification component. The content update component 718 incorporates the dynamic offers (as determined by the dynamic offer component 720) into the content which is then returned to the computer user.
Also included in the network site 700 is a content store 726 that stores content that may be requested by the computer user. A dynamic offer store 722 includes information regarding one or more dynamic offers that may be made to computer users in conjunction with one or more items. Also, a user profile store 724 includes user information corresponding to a plurality of users. Typically, but not exclusively, the user information is obtained according to the user identification information that accompanies a content request.
It should be appreciated that the network site 700 may be configured to respond to computer user requests for content which may include one or more dynamic offers. Alternatively or in addition to being configured to respond to content requests, the network site may also respond to requests for dynamic offers from a computer user, such as described in regard to routine 600 of
The processor 802 executes instructions retrieved from the memory 804 in carrying out various functions, particularly in identifying items for which a dynamic offer may be made as well as displaying content that includes dynamic offers. The processor 802 may be comprised of any of various commercially available processors such as single-processor, multi-processor, single-core units, and multi-core units. Moreover, those skilled in the art will appreciate that the novel aspects of the disclosed subject matter may be practiced with other computer system configurations, including but not limited to: mini-computers; mainframe computers, personal computers (e.g., desktop computers, laptop computers, tablet computers, etc.); handheld computing devices such as smartphones, personal digital assistants, and the like; microprocessor-based or programmable consumer electronics; and the like.
The system bus 810 provides an interface for the various components to inter-communicate. The system bus 810 can be of any of several types of bus structures that can interconnect the various components (including both internal and external components). The search engine 110 also includes a network communication component 812 for interconnecting the vendor site with other computers (including, but not limited to, user computers including user computers 102-106, and network sites including network sites 110-116) as well as other devices on a computer network 108. The network communication component 812 may be configured to communicate with an external network, such as network 108, via a wired connection, a wireless connection, or both.
The user computer 800 also includes an item identification component 816. The item identification component 816 scans content (or pages of content) to be displayed on the user computer by way of a content presentation module 814 and identifies items within content that are candidates for making a dynamic offer.
Also included in the user computer 800 is a dynamic offer request component 820. The dynamic offer request component 820 is used to request/obtain one or more dynamic offers corresponding to items in content from a network site, such as network site 700. Typically, the dynamic offer request component 820 operates in conjunction with the item identification component 816, in requesting dynamic offers from items identified by the item identification component. The content update component 818 incorporates the dynamic offers obtained by the dynamic offer request component 820 into the content which is then displayed to the computer user. As indicated above, a local cache 822 may include one or more dynamic offers for purposes of efficiency.
Those skilled in the art will appreciate that the various components of
While various novel aspects of the disclosed subject matter have been described, it should be appreciated that these aspects are exemplary and should not be construed as limiting. Variations and alterations to the various aspects may be made without departing from the scope of the disclosed subject matter.