# US 2021/0240722 A1 · Methods and apparatus for automatically providing a ranking of items in response to a search request

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240722 A1
- Document ID: US20210240722A1
- Status: Published application
- Kind: A1
- Application number: 16/777,465
- Filed: 2020-01-30
- Published: 2021-08-05
- Earliest claimed: 2020-01-30
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: Ajit Varghese PUTHENPUTHUSSERY; Sachin ADLAKHA; Alessandro MAGNANI; Nikita Maple SUDAN; Sapeksha Virinchi VEMULAPATI; Zhenrui WANG; Isha GHAI
- Web page: https://patentgrep.com/patent/US20210240722A1

## CPC

- G06F 16/24578: {using ranking}
- G06F 16/9536: Search customisation based on social or collaborative filtering
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/00: Machine learning
- G06N 20/20: Ensemble learning
- G06Q 30/0256: {User search}
- G06Q 30/0631: {Recommending goods or services}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

This application relates to apparatus and methods for ranking search results. In some examples, a computing device receives item data identifying items for a search query provided by a user. The computing determines, for each item, a first value based on a relevance of the item to the search query. The computing device also determines user engagement data for the user, where the user engagement data identifies engagements by the user on a webpage. The computing device determines, for each item, a second value based on the user engagement data. In some examples, the computing device determines the first values and second values by executing one or more machine learning models. The computing device further determines a ranking of the plurality of items based on the first values and the second values. The computing may transmit the ranking of the plurality of items, such as to a web server.

## Claims

### Claim 1

A system comprising:
a computing device configured to:
receive item data identifying a plurality of items for a search query provided by a user;
determine, for each of the plurality of items, a first value based on a relevance of each of the plurality of items to the search query;
determine user engagement data for the user, wherein the user engagement data identifies engagements by the user on a webpage;
determine, for each of the plurality of items, a second value based on the user engagement data;
determine, based on the first values and the second values, a ranking of the plurality of items; and
transmit the ranking of the plurality of items.

### Claim 2 (depends on 1)

The system of claim 1, wherein the item data identifies an initial ranking of the plurality of items, and wherein the computing device is configured to:
determine, for each of the plurality of items, item engagement data identifying engagements by the user for each of the plurality of items; and
determine, for each of the plurality of items, a third value based on the initial ranking of the plurality of items and the item engagement data corresponding to each of the plurality of items, wherein determining the second value for each of the plurality of items is based on the third value.

### Claim 3 (depends on 2)

The system of claim 2, wherein determining, for each of the plurality of items, the third value comprises determining a weight value based on the item engagement data for each of the plurality of items, wherein, for each of the plurality of items, the third value is determined based on the weight value.

### Claim 4 (depends on 3)

The system of claim 3, wherein the item engagement data for each of the plurality of items comprises a number of clicks, a number of add-to-cart events, and a number of orders, wherein determining the weight value comprises:
determining the weight value is a first weight value when the number of clicks is above a first threshold;
determining the weight value is a second weigh value when the number of clicks is not above the first threshold and the number of add-to-cart events is above a second threshold;
determining the weight value is a third weight value when the number of add-to-cart events is not above the second threshold and the number of orders is above a third threshold; and
determining the weight value is a fourth weight value when the number of orders is not above the third threshold.

### Claim 5 (depends on 4)

The system of claim 4, wherein the first weight value is greater than the second weight value, the second weigh value is greater than the third weight value, and the third weight value is greater than the fourth weight value.

### Claim 6 (depends on 1)

The system of claim 1, wherein determining, for each of the plurality of items, a first value based on the relevance of each of the plurality of items to the search query comprises executing a machine learning model based on gradient boosted trees.

### Claim 7 (depends on 6)

The system of claim 6, wherein the computing device is configured to train the machine learning model with crowd model data.

### Claim 8 (depends on 1)

The system of claim 1, wherein determining, for each of the plurality of items, the second value based on the user engagement data comprises executing a machine learning model based on gradient boosted trees.

### Claim 9 (depends on 8)

The system of claim 8, wherein the computing device is configured to train the machine learning model with historical engagement data identifying previous engagements by a plurality of users on the webpage.

### Claim 10 (depends on 1)

The system of claim 1, wherein the computing device is configured to:
receive the search query from a web server;
request the item data identifying the plurality of items from an item recommendation system; and
receive the item data from the item recommendation system.

### Claim 11 (depends on 1)

The system of claim 1, wherein transmitting the ranking of the plurality of items comprises transmitting the ranking of the plurality of items to a web server, wherein the web server is configured to display item advertisements for the plurality of items according to the received ranking of the plurality of items.

### Claim 12

A method comprising:
receiving item data identifying a plurality of items for a search query provided by a user;
determining, for each of the plurality of items, a first value based on a relevance of each of the plurality of items to the search query;
determining user engagement data for the user, wherein the user engagement data identifies engagements by the user on a webpage;
determining, for each of the plurality of items, a second value based on the user engagement data;
determining, based on the first values and the second values, a ranking of the plurality of items; and
transmitting the ranking of the plurality of items.

### Claim 13 (depends on 12)

The method of claim 12 wherein the item data identifies an initial ranking of the plurality of items, and wherein the method further comprises:
determining, for each of the plurality of items, item engagement data identifying engagements by the user for each of the plurality of items; and
determining, for each of the plurality of items, a third value based on the initial ranking of the plurality of items and the item engagement data corresponding to each of the plurality of items, wherein determining the second value for each of the plurality of items is based on the third value.

### Claim 14 (depends on 13)

The method of claim 13 wherein determining, for each of the plurality of items, the third value comprises determining a weight value based on the item engagement data for each of the plurality of items, wherein, for each of the plurality of items, the third value is determined based on the weight value.

### Claim 15 (depends on 14)

The method of claim 14, wherein the item engagement data for each of the plurality of items comprises a number of clicks, a number of add-to-cart events, and a number of orders, wherein determining the weight value comprises:
determining the weight value is a first weight value when the number of clicks is above a first threshold;
determining the weight value is a second weigh value when the number of clicks is not above the first threshold and the number of add-to-cart events is above a second threshold;
determining the weight value is a third weight value when the number of add-to-cart events is not above the second threshold and the number of orders is above a third threshold; and
determining the weight value is a fourth weight value when the number of orders is not above the third threshold.

### Claim 16 (depends on 1)

The method of claim 1 further comprising:
receiving the search query from a web server;
requesting the item data identifying the plurality of items from an item recommendation system; and
receiving the item data from the item recommendation system.

### Claim 17

A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by at least one processor, cause a device to perform operations comprising:
receiving item data identifying a plurality of items for a search query provided by a user;
determining, for each of the plurality of items, a first value based on a relevance of each of the plurality of items to the search query;
determining user engagement data for the user, wherein the user engagement data identifies engagements by the user on a webpage;
determining, for each of the plurality of items, a second value based on the user engagement data;
determining, based on the first values and the second values, a ranking of the plurality of items; and
transmitting the ranking of the plurality of items.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the item data identifies an initial ranking of the plurality of items, further comprising instructions stored thereon that, when executed by at least one processor, further cause the device to perform operations comprising:
determining, for each of the plurality of items, item engagement data identifying engagements by the user for each of the plurality of items; and
determining, for each of the plurality of items, a third value based on the initial ranking of the plurality of items and the item engagement data corresponding to each of the plurality of items, wherein determining the second value for each of the plurality of items is based on the third value.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18 further comprising instructions stored thereon that, when executed by at least one processor, further cause the device to perform operations comprising determining a weight value based on the item engagement data for each of the plurality of items, wherein, for each of the plurality of items, the third value is determined based on the weight value.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the item engagement data for each of the plurality of items comprises a number of clicks, a number of add-to-cart events, and a number of orders, further comprising instructions stored thereon that, when executed by at least one processor, further cause the device to perform operations comprising:
determining the weight value is a first weight value when the number of clicks is above a first threshold;
determining the weight value is a second weigh value when the number of clicks is not above the first threshold and the number of add-to-cart events is above a second threshold;
determining the weight value is a third weight value when the number of add-to-cart events is not above the second threshold and the number of orders is above a third threshold; and
determining the weight value is a fourth weight value when the number of orders is not above the third threshold.
