Despite the growth in online shopping individuals still spend a considerable amount of time shopping at physically present (“brick and mortar) stores in their local neighborhood and their larger geographic region. However, it is often not sufficient for buyers to simply compare the price of a product at store A versus the same product at store B. Often many additional factors need to be taken into account. For instance, to save time, individuals will often attempt to consolidate their purchases from a relatively small list of vendors so that they do not have to visit any more vendors than necessary.
The process of making a shopping list can be relatively time-consuming, particularly as both the number of desired products and the criteria used to select those products increases. While price is often the most important criteria, there are also other factors that buyers take into consideration when determining the store or stores to visit such as their current location, their willingness to travel to multiple stores, the availability of preferred brands at certain stores and so on. Even if a buyer is willing to spend the time needed to determine which products to purchase and the stores they should be purchased from, the evaluation process can involve tradeoffs among many variables that can often be difficult for buyers to fully and accurately take into account. Accordingly, optimizing a shopping lost in accordance with a buyer's criteria and preferences can be a laborious, error prone and time-consuming task.
An online shopping optimization system takes a list of items a user wants to purchase by going, in one implementation, to one more local stores or vendors and identifies those local stores from which the user can make the purchases in an optimal manner in accordance with any criterion or criteria that the user desires. For instance, the user may wish to visit the least number of stores while also traveling the shortest total distance and paying the least amount of money. The user may also rank these criteria in order of importance. Once the system identifies the local stores or vendors from which the products may be obtained, the system can use various optimization techniques to select the most optimal set of stores that satisfies the user's criteria.
In some implementations, one of more of the vendors are web-based or other on-line vendors from which the buyer will purchase products without physically visiting the vendor's premises.
in one particular implementation, a user enters a search query through a web browser. The search query includes an identification of two or more products that a buyer wishes to purchase from one or more local vendors by visiting their respective premises. The search query also includes one or more criteria that are to be optimizing when establishing a shopping list which includes the plurality of products. In response to the query, an online service returns to the user at least one optimized shopping list that identifies two or more vendors from which the desired products are collectively available. The optimized shopping list is a shopping list that most optimally satisfies the one or more criteria specified in the search query.
This summary is provided to introduce simplified concepts for managing an immerse environment that are further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
An online shopping optimization system can quickly and accurately develop a shopping list that allows buyers to visit and purchase products or other goods from stores in a manner that is optimized in accordance with any criteria they wish. For example, the shopping list may be developed to minimize the total price of the goods, the number of stores that need to be visited to purchase all the items on the shopping list and/or the total travel distance needed to visit all of the stores. For example, the buyer would input their flexibility to travel (e.g., a 5 mile radius from their current location) and how flexible they are to cost, product type (e.g., organic vs. non-organic and so on. The optimization system would use this information to build a list of stores that can adequately fulfill the buyers list of items based on their configuration. In some cases a single optimized shopping list will be provided to the buyers, whereas in other cases two or more shopping lists are provided which are each differently optimized.
For purposes of illustration only the following discussion and examples will be presented in the context of vendors who maintain a physical (“brick and motor”) store or other presence that the buyer intends to visit in order to obtain the products on the shopping list. More generally, however, the methods, techniques and systems discussed herein are equally applicable to web-based or other on-line vendors from which the buyer will purchase products without physically visiting the vendor's premises. In some particular implementations the shopping list may include both vendors who have a physical premises that the buyer will visit and vendors from which the buyer will purchase products online. Of course, some vendors may have both a physical presence locally accessible to the buyer and an on-line presence front which they can purchase products directly.
The online shopping optimization system 10 typically includes one or more physical server computers with one or more physical storage devices and databases as well as various processing engines. Of course, the system 10 may include a number of other devices and databases not shown in
The logical architecture of application server cluster 42 may comprise one or more modules 46 to perform the method described below in connection with
Both clusters 40 and 42 are operatively connected to database cluster 44. Database cluster 44 includes an application database 62 for storing profile information concerning the buyers. Database cluster 44 also includes a vendor database 60 for storing profile information concerning vendors who are registered with the system. The information stored in database cluster 44 can be used by the search engine 52 to facilitate the search process and, for example, to maintain pertinent information (e.g., their location) about the buyers so that buyers do not have to reenter the information each and every time. As with the modules 46, the databases 56 may be distributed over multiple devices that are in communication with one another over a communications network (e.g., a LAN or WAN).
In operation, a buyer visits a website hosted by web server cluster 40. The buyer uses the website to search for a number of items offered by local vendors at their respective stores. That is, the buyer may initiate a session to develop a shopping list by performing a search for the desired items through the use of search engine 52.
The user interface in
As shown in
The fields in
In order to create the shopping list, the online shopping optimization system 10 uses the information provided by the buyer through the interface shown in
After the user has provided the information in
The search results obtained by the search engine 52 and the information extracted by optimization interface 50 are passed to optimization engine 54. The optimization engine 54 uses this information to create an optimized shopping list that best meets the buyer's criteria. The optimization engine 54 may formulate the optimization problem and perform the optimization process using any of a variety of different optimization techniques available to those of ordinary skill in the art.
One or more optimal solutions (i.e., shopping lists) developed by the optimization engine 54 are provided to the shopping application 48. The shopping application 48, in turn, presents one or more of the optimal solutions to the buyer as optimized shopping lists. For example, the shopping application 48 may present the three most optimal solutions. The shopping application 48 may allow the buyer to compare the different solutions to determine which shopping list is the most appropriate. The resulting shopping lists may be ranked by various characteristics, such as by information representative of the buyer's desired objective, such as the total cost of each list, the total number of stores to be visited and/or the total distance traveled. If the buyer is not satisfied with any of the solutions, the buyer may interact with the system by giving instructions to revise them. This may include searching for additional items, providing additional constraints, or selecting a different problem to be solved.
As noted above, while the aforementioned examples refer to vendors who maintain a physical store or other presence that the buyer intends to visit in order to obtain the products on the shopping list, the methods, techniques and systems discussed herein are equally applicable to web-based or other online vendors from which the buyer will purchase products without physically visiting the vendor's premises.
As used in this application, the terms “component,” “module,” “engine,” “system,” “apparatus,” “interface,” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application finning on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. For instance, the claimed subject matter may be implemented as a computer-readable medium embedded with a computer executable program, which encompasses a computer program accessible from any computer-readable storage device or storage media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.