# US 12,008,625 B2 · Systems and methods for estimating personal replenishment cycles

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

- Number: US 12,008,625 B2
- Document ID: US12008625B2
- Status: Granted
- Kind: B2
- Application number: 17/321,922
- Filed: 2021-05-17
- Published: 2021-09-02
- Granted: 2024-06-11
- Earliest claimed: 2017-09-01
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: Abhimanyu Mitra; Kannan Achan; Venkata Syam Prakash Rapaka
- Web page: https://patentgrep.com/patent/US12008625B2

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/08726: {for replenishment processing, procedures, or recommendations using forecasting or optimisation}
- G06Q 10/0877: {by inventory control or reporting using inventory tracking or counting}
- 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
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system including one or more processors and one or more non-transitory computer-readable media storing computing instructions configured to run on the one or more processors and perform: coordinating displaying a personalized list of recommended items on a graphical user interface of a user device of a user; determining a personal replenishment cycle for an item of a set of items previously purchased by the user; increasing available storage space in the one or more non-transitory computer-readable media of the system by removing a first item from the set of items to identify that the user has stopped purchasing the first item; and increasing a network bandwidth of the system by reducing a number of database requests for the set of items previously purchased by the user. Other embodiments are disclosed.

## Claims

### Claim 1

A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations comprising:
coordinating displaying a personalized list of recommended items on a graphical user interface of a user device of a user, wherein the coordinating displaying occurs after:
determining a personal replenishment cycle for an item of a set of items previously purchased by the user by executing a first set of rules on historical sales data available to a retailer;
increasing available storage space in the one or more non-transitory computer-readable media of the system by removing a first item from the set of items based on executing a second set of rules to identify that the user has stopped purchasing the first item; and
increasing a network bandwidth of the system by reducing a number of database requests for the set of items previously purchased by the user based on executing a third set of rules on the personal replenishment cycle for the item, wherein the third set of rules comprises:
identifying an elapsed time since the user bought the item from the retailer;
estimating a number of times the user has replenished the item;
estimating a number of times the user has replenished remaining items of the set of items; and
determining a score for each remaining (user, item) pair comprising a respective user, item information.

### Claim 2 (depends on 1)

The system of claim 1, wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform operations comprising:
receiving, at a point of sale system, receipts of the set of items purchased by the user;
analyzing, at the point of sale system, the set of items, wherein executing the first set of rules further comprises determining, at the point of sale system, an estimated time period when the user will again purchase the item of the set of items, and wherein the estimated time period includes an estimated next purchase date for the item;
and
transferring an identification of the item and the estimated next purchase date from the point of sale system to a user database system.

### Claim 3 (depends on 1)

The system of claim 1, wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform operations comprising:
displaying, on the graphical user interface of the user device of the respective user, item information for the item of the set of items available for sale from the retailer and purchased by the user at a first time;
displaying, on the graphical user interface of the user device at a second time after the first time, a promotion for the item, wherein (1) the second time is within a predetermined time period from completion of a personal replenishment cycle for the item that began at the first time, and (2) executing the first set of rules on the historical sales data for the item further comprises determining an estimated time period during which the user will purchase the item again, and (3) the historical sales data comprises a record of the user purchasing the item on one or more dates, wherein increasing the available storage space further comprises identifying a first personalized list of items the user has stopped purchasing, wherein the first personalized list of items comprises the first item; and
displaying, on the graphical user interface, a second personalized list of recommended items, wherein executing the third set of rules to the personal replenishment cycle further comprises determining the second personalized list of recommended items.

### Claim 4 (depends on 1)

The system of claim 1, wherein determining the personal replenishment cycle comprises:
detecting the personal replenishment cycle for the item of the set of items purchased by the user, wherein (1) the personal replenishment cycle for the item purchased by the user comprises an estimated time period of how often the user purchases the item and (2) the historical sales data comprises a record of the user purchasing the item on one or more dates; and
identifying a time between a (k−1)-th replenishment and a k-th replenishment for the user and the item as obtained from the historical sales data of the retailer.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first set of rules comprises:
identifying a number of replenishments for the item that the user has made since the user last bought the item from the retailer, wherein the number of replenishments includes a k-th replenishment from the retailer;
identifying a mean replenishment cycle for the user and the item;
assuming a relationship of a model based on using independent random variables that are (1) mutually independent of one another and (2) identically distributed random variables for a (user, item) pair with an expectation and a variance, wherein the (user, item) pair comprises the respective user, item information;
assuming a number of inter-replenishment times for the (user, item) pair from the historical sales data of the retailer; and
estimating parameters of the model.

### Claim 6 (depends on 5)

The system of claim 5, wherein estimating the parameters of the model comprises:
solving an optimization problem for the (user, item) pair, to obtain a set of estimates for the (user, item) pair, based on an estimate of a mean of the set of estimates and an estimate of a standard deviation of the personal replenishment cycle for the user and the item.

### Claim 7 (depends on 6)

The system of claim 6, wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform operations comprising:
updating a set of estimates for the (user, item) pair by:
identifying one or more items of the set of items belonging to a category;
creating one or more groups of similar items of the set of items;
creating, a vector for the user and the set of items, wherein items of the set of items belong to a same group of the one or more groups; and
when the vector for the item and the user cannot be estimated, selecting the vector equal to zero; and
for the user in a cluster of users who purchase the item, identifying one or more percentile vectors for the user.

### Claim 8 (depends on 1)

The system of claim 1, wherein the second set of rules comprises:
determining a MAXGAP for the user and the item, wherein the MAXGAP is a maximum number of times the user skipped replenishing the item based on a time between a (k−1)-th replenishment and a k-th replenishment for the user as obtained from the historical sales data of the retailer;
for the item and a cluster of users, including the user, who purchase the item, determining a p-th percentile of the MAXGAP of the user of the cluster of users; and
when the user of the cluster of users has bought the item last from the retailer more than an N number of days before a predetermined day:
determining that the user will no longer replenish the item; and
removing the item from the personal replenishment cycle of the item for the user.

### Claim 9 (depends on 1)

The system of claim 1, wherein the third set of rules further comprises:
identifying the personalized list of recommended items for the user to consider replenishing, and a likelihood that the user has purchased the item from a different retailer;
modeling an elapsed time using at least different (user, item) pairs, wherein a (user, item) pair of the at least different (user, item) pairs comprises independent random variables, wherein each independent random variable of the independent random variables comprises a respective expectation and a respective variance; and wherein the respective variance comprises a respective mean replenishment cycle based on the (user, item) pair corresponding to an estimated standard deviation; and
estimating a number of replenishments of the item that the user has made since the user last bought the item from the retailer, wherein the number of replenishments of the item comprises the number of times the user has replenished the item.

### Claim 10 (depends on 9)

The system of claim 9, wherein the third set of rules further comprises:
removing from consideration any items from the set of items greater than a p-th percentile of MAXGAP for the item, where the user belongs to a cluster of users who purchase the item; and
estimating the independent random variables for the user and the remaining items of the set of items for the user.

### Claim 11

A method being implemented via execution of computing instructions configured to run on one or more processors and stored one or more non-transitory computer-readable media, the method comprising:
coordinating displaying a personalized list of recommended items on a graphical user interface of a user device of a user, wherein the coordinating displaying occurs after:
determining a personal replenishment cycle for an item of a set of items previously purchased by the user by executing a first set of rules on historical sales data available to a retailer;
increasing available storage space in the one or more non-transitory computer-readable media of a system by removing a first item from the set of items based on executing a second set of rules to identify that the user has stopped purchasing the first item; and
increasing a network bandwidth of the system by reducing a number of database requests for the set of items previously purchased by the user based on executing a third set of rules on the personal replenishment cycle for the item, wherein the third set of rules comprises:
identifying an elapsed time since the user bought the item from the retailer;
estimating a number of times the user has replenished the item;
estimating a number of times the user has replenished remaining items of the set of items; and
determining a score for each remaining (user, item) pair comprising a respective user, item information.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
receiving, at a point of sale system, receipts of the set of items purchased by the user;
analyzing, at the point of sale system, the set of items, wherein executing the first set of rules further comprises determining, at the point of sale system, an estimated time period when the user will again purchase the item of the set of items, and wherein the estimated time period includes an estimated next purchase date for the item;
and
transferring an identification of the item and the estimated next purchase date from the point of sale system to a user database system.

### Claim 13 (depends on 11)

The method of claim 11 further comprising:
displaying, on the graphical user interface of the user device of the respective user, item information for the item of the set of items available for sale from the retailer and purchased by the user at a first time;
displaying, on the graphical user interface of the user device at a second time after the first time, a promotion for the item, wherein (1) the second time is within a predetermined time period from completion of a personal replenishment cycle for the item that began at the first time, and (2) executing the first set of rules on the historical sales data for the item further comprises determining an estimated time period during which the user will purchase the item again, and (3) the historical sales data comprises a record of the user purchasing the item on one or more dates, wherein increasing the available storage space further comprises identifying a first personalized list of items the user has stopped purchasing, wherein the first personalized list of items comprises the first item; and
displaying, on the graphical user interface, a second personalized list of recommended items, wherein executing the third set of rules to the personal replenishment cycle further comprises determining the second personalized list of recommended items.

### Claim 14 (depends on 11)

The method of claim 11, wherein determining the personal replenishment cycle comprises:
detecting the personal replenishment cycle for the item of the set of items purchased by the user, wherein (1) the personal replenishment cycle for the item purchased by the user comprises an estimated time period of how often the user purchases the item and (2) the historical sales data comprises a record of the user purchasing the item on one or more dates; and
identifying a time between a (k−1)-th replenishment and a k-th replenishment for the user and the item as obtained from the historical sales data of the retailer.

### Claim 15 (depends on 11)

The method of claim 11, wherein the first set of rules comprises:
identifying a number of replenishments for the item that the user has made since the user last bought the item from the retailer, wherein the number of replenishments includes a k-th replenishment from the retailer;
identifying a mean replenishment cycle for the user and the item;
assuming a relationship of a model based on using independent random variables that are (1) mutually independent of one another and (2) identically distributed random variables for a (user, item) pair with an expectation and a variance, wherein the (user, item) pair comprises the respective user, item information;
assuming a number of inter-replenishment times for the (user, item) pair from the historical sales data of the retailer; and
estimating parameters of the model.

### Claim 16 (depends on 15)

The method of claim 15, wherein estimating the parameters of the model comprises:
solving an optimization problem for the (user, item) pair, to obtain a set of estimates for the (user, item) pair, based on an estimate of a mean of the set of estimates and an estimate of a standard deviation of the personal replenishment cycle for the user and the item.

### Claim 17 (depends on 16)

The method of claim 16 further comprising:
updating a set of estimates for the (user, item) pair by:
identifying one or more items of the set of items belonging to a category;
creating one or more groups of similar items of the set of items;
creating, a vector for the user and the set of items, wherein items of the set of items belong to a same group of the one or more groups; and
when the vector for the item and the user cannot be estimated, selecting the vector equal to zero; and
for the user in a cluster of users who purchase the item, identifying one or more percentile vectors for the user.

### Claim 18 (depends on 11)

The method of claim 11, wherein the second set of rules comprises:
determining a MAXGAP for the user and the item, wherein the MAXGAP is a maximum number of times the user skipped replenishing the item based on a time between a (k−1)-th replenishment and a k-th replenishment for the user as obtained from the historical sales data of the retailer;
for the item and a cluster of users, including the user, who purchase the item, determining a p-th percentile of the MAXGAP of the user of the cluster of users; and
when the user of the cluster of users has bought the item last from the retailer more than an N number of days before a predetermined day:
determining that the user will no longer replenish the item; and
removing the item from the personal replenishment cycle of the item for the user.

### Claim 19 (depends on 11)

The method of claim 11, wherein the third set of rules further comprises:
identifying the personalized list of recommended items for the user to consider replenishing, and a likelihood that the user has purchased the item from a different retailer;
modeling an elapsed time using at least different (user, item) pairs, wherein a (user, item) pair of the at least different (user, item) pairs comprises independent random variables, wherein each independent random variable of the independent random variables comprises a respective expectation and a respective variance; and wherein the respective variance comprises a respective mean replenishment cycle based on the (user, item) pair corresponding to an estimated standard deviation; and
estimating a number of replenishments of the item that the user has made since the user last bought the item from the retailer, wherein the number of replenishments of the item comprises the number of times the user has replenished the item.

### Claim 20 (depends on 19)

The method of claim 19, wherein the third set of rules further comprises:
removing from consideration any items from the set of items greater than a p-th percentile of MAXGAP for the item, where the user belongs to a cluster of users who purchase the item; and
estimating the independent random variables for the user and the remaining items of the set of items for the user.
