IP Library Granted Patent US 12,051,091
Granted Patent B2
US 12,051,091 · App. 15/337,562 · Granted Jul 30, 2024

Systems and methods for optimal automatic advertising transactions on networked devices

Inventors: Changfeng Wang (Lexington, MA); Xin Chen (Waltham, MA)
Assignee: ADELPHIC LLC
G06Q30/0269G06Q30/0267G06Q30/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 12,051,091
App. No.
15/337,562
Granted
Jul 30, 2024
Kind
B2
Abstract

A method relates to receiving, by a processing device executing a decision framework, a request comprising a plurality of attribute values associated with an opportunity to place an ad on one or more devices associated with a user, generating a state dynamic model comprising a plurality of state variables based on the plurality of attribute values associated with the opportunity, determining a plurality of utility functions, wherein each one of the plurality of utility function is determined based on at least one of the plurality of state variables, calculating a decision based on the plurality of utility functions, wherein the decision comprises finding an extreme value of the utility functions to match one or more ads to the ad opportunity, and causing to provide the ad to a selection the one or more devices.

Claims (81)

1. A method comprising:

receiving, by a processing device executing a decision framework, a request comprising a plurality of attribute values associated with an ad opportunity to place an ad on one or more devices and device types across multiple different media channels associated with a user;

generating a state dynamic model that characterizes a state of an advertising system via states in a state-space representation, wherein:

the state dynamic model comprises information needed to make a transaction decision including a plurality of state variables that represent the ad and the ad opportunity for all digital devices, media channels, and advertising metrics;

the plurality of state variables are used to describe and address the ad opportunity and the ad and state dynamics specify how the plurality of state variables are related together for calculating a runtime decision;

the state dynamics are modeled using a set of probabilistic scores to predict outcomes with respect to user events associated with the ad and the ad opportunity; and

the plurality of state variables are based on the plurality of attribute values associated with the ad opportunity;

generating a learning module that empirically learns and provides the state and state dynamics from historical data, wherein:

the state and state dynamics are fed from the learning module to a decision logic creator module for creating decision logics;

the historical data input into the learning module comprises data independent of users and user specific data;

the learning module learns the state and state dynamics based on the historical data, a time horizon, user dimensions, and performance data;

a feedback loop provides updated performance data back to the learning module to update the state dynamics;

determining, in the decision logic creator module, a plurality of utility functions, wherein each one of the plurality of utility functions is determined based on at least one of the plurality of state variables, wherein the plurality of utility functions measure an effect of ad placement as a function of the advertising metrics, and wherein different utility functions are determined for advertisers and media content providers;

calculating the runtime decision using the decision logics and based on the plurality of utility functions, wherein the runtime decision comprises a selection of an ad from an inventory as an optimal match to the ad opportunity, and wherein the optimal match is determined in real time for the advertisers and the media content providers;

providing the ad to a selection of the one or more devices;

tracking performance data for interactions with the provided ad across all of the one or more devices and media channels;

dynamically improving performance of the decision framework using the tracked performance data and the feedback loop back to the learning module, wherein the decision framework dynamically generates optimal decisions in an automated manner based on the tracked performance data, and wherein the decision framework autonomously calculates runtime decisions that updates the state dynamics and creates new runtime decision logics via the feedback loop; and

automatically performing, via programmatic advertising through machine-to-machine interfaces, real-time buying and selling of ad opportunities based on the updated state dynamics and new runtime decision logics.

2. The method of claim 1 , wherein the plurality of attribute values comprise at least one of a user identifier, a media identifier, a location identifier, or an ad spot identifier, wherein the media identifier is associated with at least one of a publisher, an application for a mobile device, a web page, a video source, or a media segment, and wherein the user identifier is associated with at least one of a user device identifier or a media channel identifier.

3. The method of claim 1 , wherein the ad opportunity is associated with at least one of placing an individual ad or placing a bucket of ads on the one or more devices.

4. The method of claim 1 , wherein the plurality of state variables are associated with representing a plurality of ads, a plurality of opportunities, a plurality of events, a plurality of state dynamic variables, and a plurality of scores, and wherein the plurality of scores are a plurality of probabilities predicting the plurality of events relating to user interactions with respect to the plurality of ads when the plurality of ads are placed on the one or more devices.

5. The method of claim 4 , wherein the plurality of scores comprise at least one of a probability of clicking an ad by the user, a probability of an ad conversion, or probabilities of traffic associated with buckets of ads.

6. The method of claim 1 , wherein the plurality of utility functions are specified for at least one of a buyer of the opportunity, a seller of the opportunity, or a media content provider, and wherein the plurality of utility functions are associated with at least one of a budget of the buyer, a media inventory, a price movement with respect to the request, a probability of a user action, or a probability of a competing ad campaign for an ad portfolio.

7. The method of claim 1 , wherein calculating the runtime decision comprises employing a plurality of decision rules to calculate the runtime decision based on the plurality of utility functions and a set of control parameters, and wherein the set of control parameters are received at a user interface.

8. The method of claim 7 , wherein the plurality of control parameters comprise at least one of an average click rate, an average conversion rate, a revenue goal, a margin goal, a profit margin tolerance, an ad price range, ad placement priorities, an overbid margin, a throttle rate, a pricing tolerance, or trade-offs among control parameters.

9. The method of claim 7 , wherein calculating the runtime decision comprises determining an extreme value for at least one of the plurality of utility functions for at least one of the plurality of state variables.

10. The method of claim 7 , wherein at least one of the plurality of utility functions comprises a score representing a probability associated with occurrence of an event, and wherein a representation of the runtime decision comprises comparing the score with a threshold parameter.

11. The method of claim 7 , further comprising:

responsive to providing the ad to the selection of the one or more devices, tracking user interactions with the ad placed on the selection of the one or more devices;

recording the user interactions in a transaction log stored in a storage device; and

updating the plurality of decision rules based on the user actions.

12. The method of claim 8 , wherein calculating the runtime decision comprises calculating the runtime decision using the user data stored in the transaction log associated with a time window prior to a current time window in which the runtime decision is being calculated, wherein the time window is a sliding window along a time axis.

13. The method of claim 1 , wherein calculating the runtime decision comprises determining the selection of the one or more devices based on the plurality of utility functions, wherein the selection of the one or more devices comprises at least one of a mobile device, a desktop device, and a networked television set, and wherein the selection of one or more devices comprises at least one media channel associated with the user.

14. The method of claim 1 , wherein the runtime decision comprises a selection of channels identified by a path identifier relating to an event of interest.

15. The method of claim 1 , wherein calculating the runtime decision comprises making a tradeoff between a revenue utility function and a profit margin utility function.

16. A system comprising:

a memory; and

a processing device, communicatively coupled to the memory, executing a decision framework to:

receive a request comprising a plurality of attribute values associated with an ad opportunity to place an ad on one or more devices and device types across multiple different media channels associated with a user;

generate a state dynamic model that characterizes a state of an advertising system via states in a state-space representation, wherein:

the state dynamic model comprises information needed to make a transaction decision including a plurality of state variables that represent the ad and the ad opportunity for all digital devices, media channels, and advertising metrics;

the plurality of state variables are used to describe and address the ad opportunity and the ad and state dynamics specify how the plurality of state variables are related together for calculating a runtime decision;

the state dynamics are modeled using a set of probabilistic scores to predict outcomes with respect to user events associated with the ad and the ad opportunity; and

the plurality of state variables are based on the plurality of attribute values associated with the ad opportunity;

generate a learning module that empirically learns and provides the state and state dynamics from historical data, wherein:

the state and state dynamics are fed from the learning module to a decision logic creator module for creating decision logics;

the historical data input into the learning module comprises data independent of users and user specific data;

the learning module learns the state and state dynamics based on the historical data, a time horizon, user dimensions, and performance data;

a feedback loop provides updated performance data back to the learning module to update the state dynamics;

determine, in the decision logic creator module, a plurality of utility functions, wherein each one of the plurality of utility function is determined based on at least one of the plurality of state variables, wherein the plurality of utility functions measure an effect of ad placement as a function of the advertising metrics, and wherein different utility functions are determined for advertisers and media content providers;

calculate the runtime decision using the decision logics and based on the plurality of utility functions, wherein the runtime decision comprises a selection of an ad from an inventory as an optimal match to the ad opportunity, and wherein the optimal match is determined in real time for the advertisers and the media content providers;

provide the ad to a selection of the one or more devices;

track performance data for interactions with the provided ad across all of the one or more devices and media channels;

dynamically improve performance of the decision framework using the tracked performance data and the feedback loop back to the learning module, wherein the decision framework dynamically generates optimal decisions in an automated manner based on the tracked performance data, and wherein the decision framework autonomously calculates runtime decisions that updates the state dynamics and creates new runtime decision logics via the feedback loop; and

automatically perform, via programmatic advertising through machine-to- machine interfaces, real-time buying and selling of ad opportunities based on the updated state dynamics and new runtime decision logics.

17. The system of claim 16 , wherein the plurality of attribute values comprise at least one of a user identifier, a media identifier, a location identifier, or an ad spot identifier, wherein the media identifier is associated with at least one of a publisher, an application for a mobile device, a web page, a video source, or a media segment, and wherein the user identifier is associated with at least one of a user device identifier or a media channel identifier.

18. The system of claim 16 , wherein the ad opportunity is associated with at least one of placing an individual ad or placing a bucket of ads on the one or more devices.

19. The system of claim 16 , wherein the plurality of state variables are associated with representing a plurality of ads, a plurality of opportunities, and a plurality of probabilities predicting events relating to user interactions with respect to the plurality of ads when the plurality of ads are placed on the one or more devices.

20. The system of claim 16 , wherein the plurality of utility functions are specified for at least one of a buyer of the opportunity, a seller of the opportunity, or a media content provider, and wherein the plurality of utility functions are associated with at least one of a budget of the buyer, a media inventory, a price movement with respect to the request, a probability of a user action, or a probability of a competing ad campaign for an ad portfolio.

21. The system of claim 16 , wherein to calculate the runtime decision, the processing device is further to employ a plurality of decision rules to calculate the runtime decision based on the plurality of utility functions and a set of control parameters received at a user interface.

22. The system of claim 16 , wherein to calculate the runtime decision, the processing device is further to determine the selection of the one or more devices based on the plurality of utility functions, wherein the selection of the one or more devices comprises at least one of a mobile device, a desktop device, and a networked television set, and wherein the selection of one or more devices comprises at least one media channel associated with the user.

23. A computer-readable non-transitory medium stored thereon codes that, when executed by a processing device, cause the processing device to:

receive, by the processing device executing a decision framework, a request comprising a plurality of attribute values associated with an opportunity to place an ad on one or more devices associated and device types across multiple different media channels with a user;

generate a state dynamic model that characterizes a state of an advertising system via states in a state-space representation, wherein:

the state dynamic model comprises information needed to make a transaction decision including a plurality of state variables that represent the ad and the ad opportunity for all digital devices, media channels, and advertising metrics;

the plurality of state variables are used to describe and address the ad opportunity and the ad and state dynamics specify how the plurality of state variables are related together for calculating a runtime decision;

the state dynamics are modeled using a set of probabilistic scores to predict outcomes with respect to user events associated with the ad and the ad opportunity; and

the plurality of state variables are based on the plurality of attribute values associated with the ad opportunity;

generate a learning module that empirically learns and provides the state and state dynamics from historical data, wherein:

the state and state dynamics are fed from the learning module to a decision logic creator module for creating decision logics;

the historical data input into the learning module comprises data independent of users and user specific data;

the learning module learns the state and state dynamics based on the historical data, a time horizon, user dimensions, and performance data;

a feedback loop provides updated performance data back to the learning module to update the state dynamics;

determine, in the decision logic creator module, a plurality of utility functions, wherein each one of the plurality of utility function is determined based on at least one of the plurality of state variables wherein the plurality of utility functions measure an effect of ad placement as a function of the advertising metrics, and wherein different utility functions are determined for advertisers and media content providers;

calculate the runtime decision using the decision logics and based on the plurality of utility functions, wherein the runtime decision comprises a selection of an ad from an inventory as an optimal match to the ad opportunity, and wherein the optimal match is determined in real time for the advertisers and the media content providers;

provide the ad to a selection of the one or more devices;

track performance data for interactions with the provided ad across all of the one or more devices and media channels;

dynamically improving performance of the decision framework using the tracked performance data and the feedback loop back to the learning module, wherein the decision framework dynamically generates optimal decisions in an automated manner based on the tracked performance data, and wherein the decision framework autonomously calculates runtime decisions that updates the state dynamics and creates new runtime decision logics via the feedback loop; and

automatically perform, via programmatic advertising through machine-to-machine interfaces, real-time buying and selling of ad opportunities based on the updated state dynamics and new runtime decision logics.

24. The computer-readable non-transitory medium of claim 23 , wherein the plurality of attribute values comprise at least one of a user identifier, a media identifier, a location identifier, or an ad spot identifier, wherein the media identifier is associated with at least one of a publisher, an application for a mobile device, a web page, a video source, or a media segment, and wherein the user identifier is associated with at least one of a user device identifier or a media channel identifier.

25. The computer-readable non-transitory medium of claim 23 , wherein the ad opportunity is associated with at least one of placing an individual ad or placing a bucket of ads on the one or more devices.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Nov 10, 2019
From: VIANT TECHNOLOGY LLC; ADELPHIC LLC; MYSPACE LLC
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 050977/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: ADELPHIC, INC.
To: ADELPHIC LLC
Reel/Frame 043201/0661 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2016
From: WANG, CHANGFENG; CHEN, XIN
To: ADELPHIC, INC.
Reel/Frame 040173/0763 →
Continuity (2)
Provisional Application 62248886 · Oct 30, 2015
Related Publication 20170124596A1 · May 4, 2017
Cited By (1)
US 12,537,612