# Patent

## Title
Method and system for determining an order of presentation of search results

## Abstract

A method and system for determining an order of presentation of the search results is provided. An example system comprises a search request detector, a search engine, and an intermingler. The search request detector may be configured to receive a search request, and the search engine may be configured to determine search results based on the search request. The search results may comprise a first set of items of a first type and a second set of items of a second type. The number of items in the first set and the number of items in the second may reflect a predetermined target ratio. The intermingler may be configured to determine an order of presentation of the search results in a list of search results based on the target ratio.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 12/475,997, filed on Jun. 1, 2009, the benefit of priority of which is claimed hereby, and is incorporated herein by reference in its entirety.


TECHNICAL FIELD
This application relates to a computer-implemented method and system for determining an order of presentation of search results.
BACKGROUND
When a user submits a search request via a web page, a search engine (e.g., a search engine designed to search for information on the World Wide Web or a search engine designed to search for items available within a particular on-line trading platform) may be able to sort through the vast amount of data and present the user with results that match the tennis in the search request. With some search engines, matches may even be ranked, so that the most relevant results are displayed at the top of the search results list presented on the user's display device.



BRIEF DESCRIPTION OF DRAWINGS
Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numbers indicate similar elements and in which:
FIG. 1 is a diagrammatic representation of a network environment within which an example method and system for determining an order of presentation of search results may be implemented;
FIG. 2 is block diagram of a system for determining an order of presentation of search results, in accordance with one example embodiment;
FIG. 3 is a flow chart of a method for determining an order of presentation of search results, in accordance with an example embodiment;
FIG. 4 is a flow chart of a method for determining an order of presentation of search results, utilizing a target exposure percentage for items associated with a certain format, in accordance with an example embodiment;
FIG. 5 is a flow chart of a method for dynamically updating a target ratio reflecting respective exposures of items associated with different formats, in accordance with an example embodiment;
FIG. 6 is an example user interface illustrating a presentation of search results, in accordance with an example embodiment; and
FIG. 7 is a diagrammatic representation of an example machine in the form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.



DETAILED DESCRIPTION
A method and system for determining an order of presentation of search results is described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of an embodiment of the present invention. It will be evident, however, to one skilled in the art, that the present invention may be practiced without these specific details.
In response to a search request, a search engine may return search results that include data items of disparate information formats. For example, where a user is interacting with an on-line trading platform, the formats of search result items may include, for example, an auction format, a known fixed price format, or an unknown fixed-price format. Each of these formats may conceptually be associated with populations or buckets of data items that need to be positioned into a list of search results before they may be presented to a user. Each of the formats are further associated with a different algorithm that is used to compute a score (e.g., a relevance score) for each of the data items for positioning them among the search results. Intermingling of the data items in the search results based on respective scores associated with the data items may not always reflect relative relevance of the items accurately, because a score for a data item from one population (e.g., associated with a first format) may not be directly comparable with a score of a data item from another population (e.g., associated with a second format).
In one example embodiment, a method and system may be implemented to determine an order of presentation in the search results, where the search results include sets of data items (populations) associated with different formats, based on a target ratio that reflects exposure percentage in a list of search results to be presented to a user for each of the populations. For example, population exposure percentages for items associated with different formats may be designated as 60% for the auction bucket (containing items associated with the auction format), 30% for the known fixed-price bucket (containing items associated with the known fixed-price format), and 10% for the unknown fixed-price bucket (containing items associated with the unknown fixed-price format). The known fixed-price population refers to items for sale within an on-line trading platform that have an associated purchase history. For example, an on-line trading platform may have static and dynamic information for an item that was previously sold. Such information may be obtained from the demand side (e.g., buyer) or the supply side (seller). The unknown fixed-price population refers to items that have not been previously identified as being for sale within an on-line trading platform. Accordingly, a purchase history does not exist for such an item.
The method and system for determining an order of presentation in the search results may operate by 1) positioning a data item associated with the dominant format type (in this example, the auction format) as the first item in the search results list; 2) selecting, at random, another format type and the associated candidate bucket; 3) calculating the candidate bucket exposure percentage if an item from the selected format type were to be added to the search results list; and 4) comparing the candidate bucket exposure percentage with the desired bucket exposure percentage. Steps 2-4 may be iterated until a bucket exposure percentage that is closest to the desired bucket exposure percentage is identified. For example, the system may first select a data item from the auction population because the auction format is the dominant format (in this example, 60%). Next, the system may select a data item from the known fixed price population to achieve a ratio of 50%, 50%, 0%, which is closest to the desired ratio (in this example, 60%, 30%, 10%).
A relationship between the bucket exposures of items of any two format types may be expressed as a ratio (termed “target ratio”). In the example above, the target ratio between the number of items in the auction format and the number of items in the fixed-price format is 6:3. An example system for determining an order of presentation in the search results may be configured to first obtain search results in the form of a first set comprising items in the auction format and a second set comprising items in the fixed-price format and then generate a list of search results ordered based on the 6:3 target ratio. As in the example above, the first item selected to be placed in the list of search results is from the auction set (as the auction set is the dominating format type in this example). In order to determine the next item to be added to the list of results, the system may determine respective resulting ratios in the list of results, assuming the next selected item is from the fist set or from the second set. The next item is selected from a set if an assumed selection of the next item from that set results in a ratio that is closer to the target ratio.
The target ratio may be optimized by monitoring revenue while adjusting respective exposure percentages for items in different formats. For example, where search results comprise two populations including auction items and fixed priced items, the search results may be experimentally presented to users based on the target ratio or based on exposure percentages. The revenue generated with respect to items associated with different formats may be monitored for a period of time, and, based on the monitored revenue, the target ratio may be adjusted to increase exposure of items in a format that was determined as associated with greater revenue. For example, revenues may be measured for bucket exposure percentages, including 47% auction and 53% fixed price mix, or 48% auction and 52% fixed-price mix, or 49% auction and 51% fixed-price mix, or any other mix that adds up to 100%. The combination of exposure percentages associated with the highest revenue may be used for configuring the system for determining an order of presentation of the search results.
It will be noted that the method and system for determining an order of presentation of the search results may be utilized beneficially outside of the field of electronic commerce, e.g., wherever disparate information formats are identified. An example method and system for determining an order of presentation of the search results may be implemented in the context of a network environment 100 illustrated in FIG. 1.
As shown in FIG. 1, the network environment 100 may include client systems (or simply clients) 110 and 120 and a server system 140. The server system (or simply the server) 140, in one example embodiment, may host an on-line trading platform 142. The client systems 110 and 120 may run respective browser applications 112 and 122 and may have access to the server system 140 via a communications network 130. The communications network 130 may be a public network (e.g., the Internet, a wireless network, etc.) or a private network (e.g., a local area network (LAN), a wide area network (WAN), Intranet, etc.).
The client system 110 may utilize the browser application 112 to access services provided by the server system 140. For example, the client 110 may access services provided by a system associated with the on-line trading platform 142. The server 140 may also host a system 144 for determining an order of presentation of search results. The system 144 may be configured to process search results associated with the on-line trading platform 142 or any results of searching for information on the World Wide Web. While the system 144 is illustrated as a stand-alone module, the system 144 may be implemented, e.g., as part of the on-line trading platform 142. As shown in FIG. 1, the server 140 is connected to a database 150 that may store items 152 that may be associated with different information formats, such as the auction format, the known fixed-price format and the unknown fixed-price format. An example system 144 for determining an order of presentation of search results is illustrated in FIG. 2.
FIG. 2 is a block diagram of a system 200 for determining an order of presentation of the search results, in accordance with one example embodiment. As shown in FIG. 2, the system 200 includes a search request detector 202, a search engine 204, an intermingler 206, and a target ratio module 208. The search request detector 202 may be configured to receive a search request (e.g., from the client systems 110 and 120 of FIG. 1 controlled by users), and the search engine 204 may be configured to determine search results based on the search request. The search results may comprise a first set of items in a first format (e.g., a set of items in the auction format) and a second set of items in a second format (e.g., a set of items in the fixed-price format). The number of items in the first set and the number of items in the second set may reflect a predetermined target ratio and respective exposure percentages for items in the first format and items in the second format, determined by the target ratio module 208.
The intermingler 206 may be configured to determine an order of presentation of the search results based on the target ratio, which is described in further detail below, with reference to FIG. 3 and FIG. 4. The target ratio module 208 may include an adjusting module 210 configured to dynamically adjust the target ratio and the associated exposure percentages based on the monitored revenue with respect to items in different formats. An example method for determining an order of presentation of the search results can be described with reference to FIG. 3.
FIG. 3 is a flow chart of a method 300 for determining an order of presentation of the search results based on the target ratio, according to one example embodiment. The method 300 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one example embodiment, the processing logic resides at the server system 140 of FIG. 1 and, specifically, at the system 200 for determining an order of presentation of the search results shown in FIG. 2.
As shown in FIG. 3, the method 300 commences at operation 310, when the target ratio module 208 determines a target ratio reflecting exposure percentages of items in different formats in a search results list, ordered for presentation to the requesting user. At operation 320, the search request detector 202 of FIG. 2 receives a search request. The search engine 204 of FIG. 2 determines search results based on the search request, at operation 330. The search results may include a first set of items in a first format and a second set of items in a different format. The number of items in the first set and the number of items in the second set may reflect the target ratio determined at operation 310. At operation 340, the intermingler 206 of FIG. 2 determines an order of presentation of the search results returned by the search engine 204, based on the target ratio.
The operation 340, determining of an order of presentation of the search results, may be performed as shown in operations 350-390. At operation 350, an item from the first set is selected and positioned in a list of search results. Then, in operation 360, a first new ratio between items from the first set in the list of search results and items from the second set in the list of search results is determined, assuming the next selected item is from the fist set. A second new ratio (between items from the first set in the list of search results and items from the second set in the list of search results), assuming the next selected item is from the second set, is determined at operation 370. At operation 380, the intermingler 206 compares a first difference (between the first new ratio and the target ratio with a second difference between the second new ratio and the target ratio) and selects the next item for positioning in the list of search results, based on a result of the comparing, at operation 390. For example, the intermingler 206 may be configured to select the next item from the first set of items in the first format and position it in the list of search results as the next item if it is determined that the first difference is less than the second difference.
As mentioned above, the target ratio may reflect respective exposure percentages for items in the first format and items in the second format. FIG. 4 is a flow chart of a method 400 for determining an order of presentation of the search results based on respective exposure percentages designated for items in different formats, according to one example embodiment. The method 400 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one example embodiment, the processing logic resides at the server system 140 of FIG. 1 and, specifically, at the system 200 for determining an order of presentation of the search results shown in FIG. 2.
As shown in FIG. 4, the method 400 commences at operation 410, when the target ratio module 208 determines a target exposure percentage for items in a first format in a search results list. At operation 420, the search request detector 202 of FIG. 2 receives a search request. The search engine 204 of FIG. 2 determines search results based on the search request, at operation 430. The search results include a first set of items in a first format and a second set of items in a different format. The number of items in the first set reflects the target exposure percentage determined at operation 410. At operation 440, the intermingler 206 of FIG. 2 determines an order of presentation of the search results returned by the search engine 204, based on the target exposure percentage.
At operation 442, an item from the first set is selected and positioned in the list of search results. At operation 444, the intermingler 206 determines a first new exposure percentage associated with items in the first format in the list of search results, assuming the next selected item is from the first set. Then the intermingler 206 determines a second new exposure percentage associated with items in the first format in the list of search results, assuming the next selected item is from the second set, at operation 446. The comparing of a first difference between the first new exposure percentage and the target exposure percentage with a second difference between the second new exposure percentage and the target exposure percentage occurs at operation 448. The result of the comparing is used, at operation 449, for selecting the next item for positioning in the list of search results, based on a result of the comparing. Specifically, in one example embodiment, the determination of whether to select the next item to be presented in the list of search results from the first set or from the second set is made such that the resulting exposure of the items in the first format is closer to the target exposure percentage.
As mentioned above, the target ratio and respective exposure percentages for items in different formats may be optimized based on monitored revenue associated with items in these different formats while the target ratio and exposure percentages are being enforced by the intermingler 206 of FIG. 2. This approach to optimizing the target ratio may be utilized, e.g., in the context of an on-line trading platform. An example method for dynamically updating a target ratio reflecting respective exposures of items associated with different formats may be described with reference to FIG. 5.
FIG. 5 is a flow chart of a method 500 for optimizing an exposure percentage of items in a certain format, according to one example embodiment. The method 500 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. In one example embodiment, the processing logic resides at the server system 140 of FIG. 1 and, specifically, at the system 200 for determining an order of presentation of the search results shown in FIG. 2.
As shown in FIG. 5, the method 500 commences with the target ratio module 208 of FIG. 2 setting a target ratio between the number of retrieved search results in a first format and a number of retrieved search results in a second format, at operation 510. Revenue associated with items in the first and second formats is monitored for a period of time and stored (e.g., as “R.old”), at operation 520. At operation 530, the target ratio module 208 sets a default value “K” for adjusting the target ratio. In one embodiment, “K” represents how much the exposure of items in the first format is to be changed. At operation 540, the adjusting module 210 adjusts the target ratio to increase the exposure of items in first format, using “K,” will be noted that, in other embodiments, the first adjustment of the target ratio may be to decrease the exposure of items in the first format. After the target ratio is adjusted, another period of monitoring revenue associated with items in the first and second format commences at operation 550. The revenue monitored at operation 550 is stored as “R.new.” The operations that follow relate to determining whether the adjustment of the target ratio resulted in increased revenue and, if so, adjusting the target ratio further in the same direction. If, however, the adjustment of the target ratio resulted in decreased revenue, the target ratio is adjusted in reverse direction, as is shown in operations 560-580.
At operation 560, the revenue associated with the target ratio prior to adjustment (R.old) is compared to the revenue R.new associated with the adjusted target ratio. If the revenue has increased as a result of the adjustment (R.new is greater than R.old), the method 500 proceeds to operation 540 to further increase exposure of items in the first format. Prior to that, however, R.new is saved in R.old (such that R.new becomes the new R.old), and a new “K” may be set at operation 580. If, however, it is determined, at operation 560, that the revenue has not increased as a result of the adjustment (R.new is not greater than R.old), the method 500 proceeds to operation 592 to decrease exposure of items in the first format using anew “K” set at operation 590, R.new is saved in R.old (such that R.new becomes the new R.old), at operation 594. The method 500 may continue to adjust the target ratio periodically in order to optimise revenue derived from items in the first and second formats.
FIG. 6 illustrates an example user interface (UI) 600 for presenting search results. In this example, the target ratio between the number of items in the first format and the number of items in the second format is 3:1, and the respective exposure percentages are 75% and 25%. The results displayed by the UI 600 may be scrolled up and down using a scroll bar 610.
FIG. 7 shows a diagrammatic representation of a machine in the example form of a computer system 700 within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. In alternative embodiments, the machine operates as a stand-alone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The example computer system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (CPU) or both), a main memory 704 and a static memory 706, which communicate with each other via a bus 708. The computer system 700 may further include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 700 also includes an alpha-numeric input device 712 (e.g., a keyboard), a user interface (LA) navigation device 714 (e.g., a cursor control device), a disk drive unit 716, a signal generation device 718 (e.g., a speaker) and a network interface device 720.
The disk drive unit 716 includes a machine-readable medium 722 on which is stored one or more sets of instructions and data structures (e.g., software) 724 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 724 may also reside, completely or at least partially, within the main memory 704 and/or within the processor 702 during execution thereof by the computer system 700, with the main memory 704 and the processor 702 also constituting machine-readable media.
The instructions 724 may further be transmitted or received over a network 726 via the network interface device 720 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).
While the machine-readable medium 722 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing and encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of embodiments of the present invention, or that is capable of storing and encoding data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like.
The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.
Thus, a method and system for determining an order of presentation of the search results has been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the inventive subject matter. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. For example, while an embodiment has been described with reference to an on-line trading platform, a method and system may be implemented and utilized advantageously in the context of various other on-line platforms, as well as a stand-alone application.

## Claims

1. A computer-implemented system comprising:
a search request detector, implemented using one or more processors, to receive a search request;
a search engine, implemented using one or more processors, to determine search results based on the search request, the search results comprising a first set of items of a first type and a second set of items of a second type, a number of items in the first set and a number of items in the second set reflecting a target ratio; and
an intermingler, implemented using one or more processors, to determine an order of presentation of the search results in a presentation list of search results based on the target ratio, wherein the intermingler is to:
select an item from the first set and position it in the presentation list of search results,
determine a first new ratio between items from the first set in the list and items from the second set in a first candidate list, the first candidate list is the presentation list of search results with a first additional item appended at the end, the first additional item is from the first set,
determine a second new ratio between items from the first set in the list and items from the second set in a second candidate list, the second candidate list is the presentation list of search results with a second additional item appended at the end, the second additional item is from the second set,
compare a first difference between the first new ratio and the target ratio with a second difference between the second new ratio and the target ratio, and
select a next item for positioning in the list from the first set or from the second set, based on a result of the comparing; and

a user interface generated using at least one processor to display the presentation list of search results in the determined order.

2. The system of claim 1, wherein the intermingler is to:
determine that the first difference is less than the second difference; and
select the next item from the first set of items in the first format and position it in the list as the next item.

3. The system of claim 1, wherein the search request is related to an on-line trading platform.

4. The system of claim 3, wherein the first format is associated with auction items available via the on-line trading platform.

5. The system of claim 3, wherein the first format is associated with fixed-price items available via the on-line trading platform.

6. The system of claim 3, comprising an adjusting module to update the target ratio based on revenue associated with items in the first format and items in the second format.

7. The system of claim 6, wherein the adjusting module is to:
monitor revenue associated with items in the first format and revenue associated with items in the second format;
determine that the monitored revenue associated with items in the first format is greater than monitored revenue associated with items in the second format; and
adjust the target ratio to increase exposure of items in the first format.

8. The system of claim 1, wherein the search request is related to searching for information on the World Wide Web.

9. A computer-implemented method comprising:
using one or more processors to perform operations of:
receiving a search request;
determining search results based on the search request, the search results comprising a first set of items of a first type and a second set of items of a second type, a number of items in the first set and a number of items in the second set reflecting a target ratio; and

determining an order of presentation of the search results in a presentation list of search results based on the target ratio, wherein the determining of the order of presentation comprises:
selecting an item from the first set and position it in the presentation list of search results,
determining a first new ratio between items from the first set in the list and items from the second set in a first candidate list, the first candidate list is the presentation list of search results with a first additional item appended at the end, the first additional item is from the first set,
determining a second new ratio between items from the first set in the list and items from the second set in a second candidate list, the second candidate list is the presentation list of search results with a second additional item appended at the end, the second additional item is from the second set,
comparing a first difference between the first new ratio and the target ratio with a second difference between the second new ratio and the target ratio, and
selecting a next item for positioning in the list from the first set or from the second set, based on a result of the comparing; and

generating a user interface to display the presentation list of search results in the determined order.

10. The method of claim 9, wherein the selecting of the next item for presentation comprises:
determining that the first difference is less than the second difference; and
selecting the next item from the first set of items in the first format and positioning it in the list as the next item.

11. The method of claim 9, wherein the search request is related to an on-line trading platform.

12. The method of claim 11, wherein the first format is associated with auction items available via the on-line trading platform.

13. The method of claim 11, comprising updating the target ratio based on revenue associated with items in the first format and items in the second format.

14. The method of claim 13, wherein the updating of the target ratio comprises:
monitoring revenue associated with items in the first format and revenue associated with items in the second format;
determining that the monitored revenue associated with items in the first format is greater than the monitored revenue associated with items in the second format; and
adjusting the target ratio to increase exposure of items in the first format.

15. The method of claim 9, wherein the search request is related to searching for information on the World Wide Web.

16. A non-transitory machine-readable medium having instruction data executable by a machine to cause the machine to perform operations comprising:
receiving a search request;
determining search results based on the search request, the search results comprising a first set of items of a first type and a second set of items of a second type, a number of items in the first set and a number of items in the second set reflecting a target ratio; and
determining an order of presentation of the search results in a presentation list of search results based on the target ratio, wherein the determining of the order of presentation comprises:
selecting an item from the first set and position it in the presentation list of search results,
determining a first new ratio between items from the first set in the list and items from the second set in a first candidate list, the first candidate list is the presentation list of search results with a first additional item appended at the end, the first additional item is from the first set,
determining a second new ratio between items from the first set in the list and items from the second set in a second candidate list, the second candidate list is the presentation list of search results with a second additional item appended at the end, the second additional item is from the second set
comparing a first difference between the first new ratio and the target ratio with a second difference between the second new ratio and the target ratio, and
selecting a next item for positioning in the list from the first set or from the second set, based on a result of the comparing; and

generating a user interface to display the presentation list of search results in the determined order.