# US 12,217,193 B2 · Content recommendations based upon historical future data

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

- Number: US 12,217,193 B2
- Document ID: US12217193B2
- Status: Granted
- Kind: B2
- Application number: 18/137,456
- Filed: 2023-04-21
- Published: 2023-09-21
- Granted: 2025-02-04
- Earliest claimed: 2020-07-14
- Assignees: Yahoo Assets LLC
- Applicants: Yahoo Assets LLC
- Inventors: Roie Melamed; Yohay Kaplan; Yair Koren
- Web page: https://patentgrep.com/patent/US12217193B2

## CPC

- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06Q 30/0631: {Recommending goods or services}
- 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

One or more computing devices, systems, and/or methods for content recommendations using historical future data are provided. A model serving delay time is computed as an average of training delays of events. A historical data time interval is determined based upon the model serving delay time. A model is trained for predicting user content preferences using historic user distribution data and historic content distribution data associated with the historic data time interval. The model is utilized to generate and provide content recommendations to users.

## Claims

### Claim 1

A method, comprising:
computing, by a recommendation system hosted by one or more servers, a model serving delay time as an average of training delays of events, wherein a training delay corresponds to a difference between an event serve time of an event and a train time of a model that served a recommendation associated with the event;
in response to determining that a current time period occurs within a set of time periods, determining, by the recommendation system hosted by the one or more servers, a historical data time interval as a time period prior to the current time period plus the model serving delay time;
using the historical data time interval determined by the recommendation system hosted by the one or more servers to identify historic user distribution data and historic content distribution data associated with the historical data time interval;
training, by the recommendation system hosted by the one or more servers, the model for predicting user content preferences using the historic user distribution data and the historic content distribution data associated with the historical data time interval;
utilizing, by the recommendation system hosted by the one or more servers, the model to generate a content recommendation for a user;
providing, by the recommendation system hosted by the one or more servers, the content recommendation for display on a client device of the user; and
in response to detecting a first event corresponding to the user interacting with the content recommendation, generating, by the recommendation system hosted by the one or more servers, an entry indicating at least one of an event type of the first event, a first serve time of the model serving the content recommendation, or a first train time of the model being trained using at least one of the historic user distribution data or the historic content distribution data;
providing, by the recommendation system hosted by the one or more servers, second content recommendation for display on the client device of the user; and
in response to detecting a second event associated with the second content recommendation, generating, by the recommendation system hosted by the one or more servers, a second entry indicating a second event type of the second event, a second serve time of the model serving the second content recommendation, and a second train time of the model being trained using the historic user distribution data and the historic content distribution data, wherein the second event corresponds to an impression of the user viewing the second content recommendation.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
applying a first step size to the historic user distribution data and the historic content distribution data for training the model.

### Claim 3 (depends on 2)

The method of claim 2, wherein the first step size is less than a second step size applied to current user distribution data and current content distribution data used to train the model.

### Claim 4 (depends on 1)

The method of claim 1, comprising:
applying a historical interval ratio to the historic user distribution data and the historic content distribution data to select a subset of the historic user distribution data and the historic content distribution data for training the model.

### Claim 5 (depends on 4)

The method of claim 4, comprising:
determining the historical interval ratio based upon at least one of a current training time of training the model or an amount of data available to train the model.

### Claim 6 (depends on 4)

The method of claim 4, comprising:
determining the historical interval ratio based upon experimental results of training the model using historical user and content distribution data.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
determining a first step size for the historic user distribution data and the historic content distribution data; and
determining a second step size for current user distribution data and current content distribution data.

### Claim 8 (depends on 7)

The method of claim 7, comprising:
signaling to the model, based upon the first step size being larger than the second step size, to take the historic user distribution data and the historic content distribution data into greater consideration for training the model than the current user distribution data and the current content distribution data.

### Claim 9 (depends on 8)

The method of claim 8, wherein the training the model is based upon the signaling associated with the first step size and the second step size.

### Claim 10 (depends on 1)

The method of claim 1, comprising:
in response to determining that the current time period is a first type of time period, determining the historical data time interval as a second time period prior to the current time period plus the model serving delay time.

### Claim 11 (depends on 1)

The method of claim 1, comprising:
in response to determining that the current time period is a first type of time period not within the set of time periods, determining the historical data time interval as a plurality of time periods prior to the current time period plus the model serving delay time.

### Claim 12 (depends on 1)

The method of claim 1, comprising:
in response to determining that the current time period is a first type of time period, determining the historical data time interval as a time period prior to the current time period plus the model serving delay time.

### Claim 13

A computing device comprising:
a processor; and
memory comprising processor-executable instructions that when executed by the processor cause performance of operations, the operations comprising:
computing, by a recommendation system hosted by one or more servers, a model serving delay time as an average of training delays of events, wherein a training delay corresponds to a difference between an event serve time of an event and a train time of a model that served a recommendation associated with the event;
in response to determining that a current time period is a first type of time period, determining, by the recommendation system hosted by the one or more servers, a historical data time interval as a second time period prior to the current time period plus the model serving delay time;
using the historical data time interval determined by the recommendation system hosted by the one or more servers to identify historic user distribution data and historic content distribution data associated with the historical data time interval;
training, by the recommendation system hosted by the one or more servers, the model for predicting user content preferences using the historic user distribution data and the historic content distribution data associated with the historical data time interval;
utilizing, by the recommendation system hosted by the one or more servers, the model to generate a content recommendation for a user;
providing, by the recommendation system hosted by the one or more servers, the content recommendation for display on a client device of the user;
in response to detecting a first event corresponding to the user interacting with the content recommendation, generating, by the recommendation system hosted by the one or more servers, an entry indicating at least one of an event type of the first event, a first serve time of the model serving the content recommendation, or a first train time of the model being trained using at least one of the historic user distribution data and the historic content distribution data;
providing, by the recommendation system hosted by the one or more servers, second content recommendation for display on the client device of the user; and
in response to detecting a second event associated with the second content recommendation, generating, by the recommendation system hosted by the one or more servers, a second entry indicating a second event type of the second event, a second serve time of the model serving the second content recommendation, and a second train time of the model being trained using the historic user distribution data and the historic content distribution data, wherein the second event corresponds to an impression of the user viewing the second content recommendation.

### Claim 14 (depends on 13)

The computing device of claim 13, comprising:
in response to determining that the current time period occurs within a set of time periods, determining the historical data time interval as a time period prior to the current time period plus the model serving delay time.

### Claim 15 (depends on 14)

The computing device of claim 14, comprising:
in response to determining that the current time period is a first type of time period not within the set of time periods, determining the historical data time interval as a plurality of time periods prior to the current time period plus the model serving delay time.

### Claim 16 (depends on 15)

The computing device of claim 15, wherein the plurality of time periods correspond to 3 time periods prior to the current time period.

### Claim 17

A non-transitory machine readable medium having stored thereon processor-executable instructions that when executed cause performance of operations, the operations comprising:
computing, by a recommendation system hosted by one or more servers, a model serving delay time as an average of training delays of events, wherein a training delay corresponds to a difference between an event serve time of an event and a train time of a model that served a recommendation associated with the event;
in response to determining that a current time period is a first type of time period that does not occur within a set of time periods, determining, by the recommendation system hosted by the one or more servers, a historical data time interval as a plurality of time periods prior to the current time period plus the model serving delay time;
using the historical data time interval determined by the recommendation system hosted by the one or more servers to identify historic user distribution data and historic content distribution data associated with the historical data time interval;
training, by the recommendation system hosted by the one or more servers, the model for predicting user content preferences using the historic user distribution data and the historic content distribution data associated with the historical data time interval;
utilizing, by the recommendation system hosted by the one or more servers, the model to generate a content recommendation for a user;
providing, by the recommendation system hosted by the one or more servers, the content recommendation for display on a client device of the user;
in response to detecting a first event corresponding to the user interacting with the content recommendation, generating, by the recommendation system hosted by the one or more servers, an entry indicating at least one of an event type of the first event, a first serve time of the model serving the content recommendation, or a first train time of the model being trained using at least one of the historic user distribution data or the historic content distribution data;
providing, by the recommendation system hosted by the one or more servers, second content recommendation for display on the client device of the user; and
in response to detecting a second event associated with the second content recommendation, generating, by the recommendation system hosted by the one or more servers, a second entry indicating a second event type of the second event, a second serve time of the model serving the second content recommendation, and a second train time of the model being trained using the historic user distribution data and the historic content distribution data, wherein the second event corresponds to an impression of the user viewing the second content recommendation.

### Claim 18 (depends on 17)

The non-transitory machine readable medium of claim 17, wherein the plurality of time periods correspond to 3 time periods prior to the current time period.

### Claim 19 (depends on 17)

The non-transitory machine readable medium of claim 17, wherein the operations comprise:
in response to determining that a second current time period occurs within the set of time periods, determining a second historical data time interval as a time period prior to the second current time period plus a second model serving delay time.

### Claim 20 (depends on 17)

The non-transitory machine readable medium of claim 17, wherein the operations comprise:
in response to determining that the current time period is a first type of time period, determining the historical data time interval as a second time period prior to the current time period plus the model serving delay time.
