IP Library Granted Patent US 11,790,030
Granted Patent B2
US 11,790,030 · App. 17/171,713 · Granted Oct 17, 2023

Creating an effective product using an attribute solver

Inventor: Andrew Donald Yates (San Francisco, CA)
Assignee: Promoted.ai, Inc.
G06F16/958G06F16/9577G06N20/00G06Q10/06393G06Q30/0245G06Q30/0254G06Q30/0255G06Q30/0275G06Q30/0276G06Q30/0277
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,790,030
App. No.
17/171,713
Granted
Oct 17, 2023
Kind
B2
Abstract

Disclosed here is a system that can obtain attributes of an advertisement, where an attribute has a continuous value, and a range of acceptable values is uncertain. The system can create a file including contents that when provided to a predetermined function produce a value of the attribute. Based on the file, the system can generate values corresponding to the attributes. Based on the generated values, the system can create the advertisement. The system can obtain a response data to the created advertisement and can fit a multidimensional function to the attributes and the user response data. Based on the multidimensional function, the system can determine next values and next ranges, where the next values and the next ranges indicate an improvement in the response data.

Claims (87)

1. A method to continually generate an effective advertisement by determining attributes of an advertisement presented to a user at a user device, the method comprising:

training a neural network to fit attribute values and context variables to a set of user response data;

obtaining a plurality of attributes of the advertisement to be presented at the user device and a plurality of context variables,

wherein the plurality of attributes comprises a percentage of a screen of the user device occupied by advertisements, and advertisement quality control,

wherein an attribute in the plurality of attributes comprises a continuous value, wherein a range of acceptable values is uncertain, and

wherein the plurality of context variables comprises at least a device type of the user device;

creating a configuration file having each of the plurality of attributes with a distribution indicating a probability of occurrence of a value of an attribute,

wherein the configuration file is adapted to be stored in a version control system;

generating a plurality of attribute values corresponding to the plurality of attributes based on the configuration file;

generating the advertisement based on the plurality of attribute values;

presenting the generated advertisement to a device associated with the user;

obtaining a user response data to the presented advertisement;

fitting a multidimensional function to at least a part of the plurality of attributes, the plurality of context variables, and one or more objective functions extracted from the user response data by applying the neural network to the plurality of attributes, the plurality of context variables, and the one or more objective functions;

determining a causal relation between a plurality of variables comprising the plurality of attributes, the plurality of context variables, and the user response data by analyzing the plurality of values, the plurality of attributes, and the user response data;

upon determining the causal relation, increasing speed of calculating the multidimensional function by removing a dimension associated with the plurality of variables having the causal relation with each other; and

modifying the configuration file using a plurality of next attribute values and a plurality of next ranges associated with the plurality of next attribute values determined based on the multidimensional function, wherein the plurality of next attribute values and the plurality of next ranges indicate an improvement in the user response data.

2. The method of claim 1 , comprising:

modifying the configuration file based on the plurality of next attribute values in the plurality of next ranges;

generating a second plurality of values, wherein the second plurality of values is within the plurality of next ranges and the plurality of next attribute values;

generating a second advertisement based on the second plurality of values;

obtaining the user response data to the second advertisement; and

determining, by the multidimensional function, a second plurality of next attribute values and a second plurality of next ranges, associated with the attribute, wherein the second plurality of next attribute values and the second plurality of next ranges indicate a second improvement in the user response data.

3. The method of claim 1 , said obtaining the user response data to the advertisement comprising:

simulating the user response data; and

obtaining the simulated user response data.

4. The method of claim 1 , the user response data comprising at least one of a click, an engagement, and a revenue.

5. The method of claim 1 , comprising:

determining the value of the attribute in the plurality of attributes based on the plurality of context variables.

6. The method of claim 1 , comprising:

evaluating a fit of the multidimensional function to the user response data by determining a difference between the multidimensional function and the user response data;

evaluating a second fit of the multidimensional function to a second user response data different from the user response data by determining a second difference between the multidimensional function and the second user response data; and

when the fit is smaller than the second fit, selecting the multidimensional function as fitting the user response data.

7. The method of claim 1 , said determining the plurality of next attribute values and the plurality of next ranges comprising:

obtaining a property of the multidimensional function to optimize;

based on the plurality of values, determining a direction associated with the multidimensional function in which the property is optimized; and

based on the direction, determining the plurality of next attribute values and the plurality of next ranges associated with the plurality of next attribute values.

8. The method of claim 1 , comprising:

obtaining from the configuration file a name of the attribute, a distribution indicating a probability of occurrence of the value of the attribute, and an epoch counter;

obtaining a unique user identification (ID) associated with the user;

generating a unique seed based on the user ID, the name of the attribute and the epoch counter;

generating a random number based on the unique seed; and

generating the value of the attribute based on the unique seed and the distribution.

9. The method of claim 1 , comprising:

defining a property of the multidimensional function to optimize, wherein the property includes a long-term goal, and wherein optimizing the property over a long-term includes a short-term loss.

10. The method of claim 1 , wherein the plurality of attributes comprises a percentage of screen occupied by advertisements, and advertisement quality control.

11. The method of claim 1 , wherein the plurality of context variables comprises at least one of a country, a device, or a season.

12. The method of claim 1 , comprising:

iteratively applying the neural network to new sets of attributes, context variables, and user response data for a plurality of versions of the configuration file until the multidimensional function reaches a global optimum.

13. A system for continually generating an effective advertisement by determining attributes of an advertisement presented to a user at a user device, the system comprising:

one or more processors;

a memory coupled to the one or more processors, wherein the memory includes instructions executable by the one or more processors to:

train a neural network to fit attribute values and context variables to a set of user response data;

obtain a plurality of attributes of the advertisement to be presented at the user device and a plurality of context variables,

wherein the plurality of attributes comprises a percentage of a screen of the user device occupied by advertisements, and advertisement quality control,

wherein an attribute in the plurality of attributes comprises a continuous value, wherein a range of acceptable values is uncertain, and

wherein the plurality of context variables comprises at least a device type of the user device;

create a configuration file having each of the plurality of attributes with a distribution indicating a probability of occurrence of a value of an attribute,

wherein the configuration file is adapted to be stored in a version control system,

generate a plurality of attribute values corresponding to the plurality of attributes based on the configuration file;

generate the advertisement based on the plurality of attribute values;

present the generated advertisement to a device associated with the user;

obtain a user response data to the presented advertisement;

fit a multidimensional function to at least a part of the plurality of attributes, the plurality of context variables, and one or more objective functions extracted from the user response data by applying the neural network to the plurality of attributes, the plurality of context variables, and the one or more objective functions;

determine a causal relation between a plurality of variables comprising the plurality of attributes, the plurality of context variables, and the user response data by analyzing the plurality of values, the plurality of attributes, and the user response data;

upon determining the causal relation, increase speed of calculating the multidimensional function by removing a dimension associated with the plurality of variables having the causal relation with each other; and

modify the configuration file using a plurality of next attribute values and a plurality of next ranges associated with the plurality of next attribute values determined based on the multidimensional function, wherein the plurality of next attribute values and the plurality of next ranges indicate an improvement in the user response data.

14. The system of claim 13 , further comprising a version control system configured to store the configuration file.

15. The system of claim 13 , further comprising instructions executable by the one or more processors to:

create a second configuration file based on the plurality of next values and the plurality of next ranges;

based on the second configuration file, generate a second plurality of values corresponding to the plurality of attributes;

create a second product based on the second plurality of values; obtaining a second response data to the second product;

fit a second multidimensional function to at least a part of the plurality of attributes having the second plurality of values and the second response data; and

based on the second multidimensional function, determine a second plurality of next values and a second plurality of next ranges associated with the plurality of next values, wherein the plurality of next values and the plurality of next ranges indicate a second improvement in the response data, and wherein the second plurality of next values and the second plurality of next ranges are configured to be used in a next iteration.

16. The system of claim 13 , the instructions to determine the plurality of next values and the plurality of next ranges comprising instructions to:

obtain a property of the multidimensional function to optimize;

based on the plurality of values, determine a direction associated with the multidimensional function in which the property is optimized; and

based on the direction, determine the plurality of next values and the plurality of next ranges associated with the plurality of next values.

17. The system of claim 13 , further comprising instructions executable by the one or more processors to:

obtain from the file a name of the attribute, a distribution indicating a probability of occurrence of the value of the attribute, and an epoch counter;

obtain a unique user identification (ID) associated with a user;

generate a unique seed based on the user ID, the name of the attribute and the epoch counter; generate a random number based on the unique seed; and

generate the value of the attribute based on the unique seed and the distribution.

18. The system of claim 13 , the instructions to obtain the response data to the created product comprising instructions to:

simulate the response data; and

obtain the simulated response data.

19. The system of claim 13 , further comprising instructions executable by the one or more processors to:

iteratively apply the neural network to new sets of attributes and user response data for a plurality of versions of the file until the multidimensional function reaches a global optimum.

Assignments (3)
SECURITY INTEREST Recorded May 21, 2025
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071177/0701 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2025
From: PROMOTED.AI, INC.
To: DROPBOX, INC.
Reel/Frame 071061/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2021
From: YATES, ANDREW DONALD
To: PROMOTED AI, INC.
Reel/Frame 055215/0808 →
Continuity (2)
Provisional Application 63034894 · Jun 4, 2020
Related Publication 20210383426A1 · Dec 9, 2021