OPTIMIZING MEDIA REQUESTS WITH ENSEMBLE LEARNING
The subject technology optimizes media requests to improve the efficiency and reduce the costs of online media campaigns. The request optimization system may implement one or more ensemble learning techniques that leverage multiple machine learning systems trained on different datasets. The request optimization system may use the ensemble learning techniques to generate optimized media requests that account for one or more campaign goals and minimize price inefficiencies incurred while purchasing placements in online media exchanges. In various embodiments, dynamic data including real time exchange and impression data may be collected and used to retrain one or more machine learning systems. Retaining the machine learning systems on dynamic data may improve the performance of optimized media requests determined by the retrained systems.
1 . (canceled)
2 . A media request optimization system comprising:
one or more processors; and
a memory storing instructions that, when executed by at least one processor of the one or more processors, cause the at least one processor to:
encode one or more pieces of request data and one or more pieces of exchange data for a media request included in a completed media campaign in a feature vector, the encoding using an encoder and the feature vector being representative of at least a portion of the request data and a portion of the exchange data of the media request;
generate a feature vector for multiple media requests of the completed media campaign to create a training sample including a set of feature vectors:
train a machine learning system using the training sample including the set of feature vectors;
determine, for an in-progress media campaign associated with an online media exchange, a plurality of feature vectors for a first set of media requests, each of the plurality of feature vectors encoding a portion of at least one of the request data, campaign data, exchange data, or dynamic data for one or more particular media requests of the first set of media requests;
generate, using the trained machine learning system, one or more predicted outcomes for the one or more particular media requests in the first set of media requests, the one or more predicted outcomes comprising at least one goal probability;
transmit an initial set of request metadata for the one or more particular media requests to the online media exchange, the initial set of request metadata including the one or more predicted outcomes for the one or more particular media requests;
receive, from a logging engine monitoring the online media exchange during the in-progress media campaign, dynamic data associated with the one or more particular media requests of the first set of media requests;
match, using a request identifier associated with the one or more particular media requests of the first set of media requests, the dynamic data for the one or more particular media requests with the initial set of request metadata for the one or more particular media requests to determine one or more known outcomes associated with the one or more particular media requests;
encode the dynamic data for the one or more particular media requests received from the logging engine as a set of retraining features;
generate a retraining sample by combining the set of retraining features with one or more training features generated by encoding a portion of the request data, exchange data, and initial set of request metadata for the one or more particular media requests;
optimize the trained machine learning system for the in-progress campaign by retraining the trained machine learning system using retraining sample;
determine, using the retrained machine learning system, an optimal set of request metadata for one or more optimized media requests for the in-progress media campaign; and
update the initial set of request metadata for the one or more particular media requests to the optimal set of request metadata while the in-progress media campaign is running.
3 . The system of claim 2 , wherein the at least one processor is further configured to train the machine learning system by initializing a weight for more one or more independent variables with a random value and optimizing the weight using an optimization algorithm to minimize a loss value that corresponds to a difference between the predicted outcome and the known outcomes.
4 . The system of claim 2 , wherein the at least one processor is further configured to transmit the one or more optimized media requests including the optimal set of request metadata to the online media exchange during the in-progress media campaign.
5 . The system of claim 2 , wherein the at least one goal probability comprises at least one of a probability that a media request results in a conversion event, a probability that a piece of media displayed at a requested placement is viewed by a user, a probability that a media request results in a click by a user, a probability that a media request results in a user watching a piece of video media to completion, an impression probability score, a bid winning price, or a placement price.
6 . The system of claim 2 , wherein the initial set of request metadata comprises at least one of a placement price, an auction type, or a channel.
7 . The system of claim 2 , wherein the dynamic data comprises at least one of one or more exchange outcomes or one or more pieces of exchange impression data associated with one or more placements obtained by the first set of media requests and one or more goal probabilities for the in-progress media campaign that are updated while the in-progress media campaign is running on a publishing system.
8 . The system of claim 2 , wherein the request identifier is a unique identifier generated to identify a media request and an event across databases.
9 . The system of claim 2 , wherein the retraining sample further includes a retraining feature vector for the one or more particular media requests, the retraining feature vector including the retraining features determined for the one or more particular media requests and a prediction target associated with the one or more particular media requests, the prediction target comprising at least one of a winning bid price, a price derivative, a goal probability, or an impression event rate.
10 . The system of claim 2 , wherein the optimal set of request metadata comprises at least one of an optimal placement price, an auction type, a channel, and a placement price reduction ratio.
11 . The system of claim 10 , wherein the at least one processor is further configured to determine the optimal set of request metadata by determining the optimal placement price based on an initial placement price and the placement price reduction ratio.
12 . A method for optimizing media requests, the method comprising:
encoding one or more pieces of request data and one or more pieces of exchange data for a media request included in a completed media campaign in a feature vector, the encoding using an encoder and the feature vector being representative of at least a portion of the request data and a portion of the exchange data of the media request;
generating a feature vector for multiple media requests of the completed media campaign to create a training sample including a set of feature vectors:
training a machine learning system using the training sample including the set of feature vectors;
determining, for an in-progress media campaign associated with an online media exchange, a plurality of feature vectors for a first set of media requests, each of the plurality of feature vectors encoding a portion of at least one of the request data, campaign data, exchange data, or dynamic data for one or more particular media requests of the first set of media requests;
generating, using the trained machine learning system, one or more predicted outcomes for the one or more particular media requests in the first set of media requests, the one or more predicted outcomes comprising at least one goal probability;
transmitting an initial set of request metadata for the one or more particular media requests to the online media exchange, the initial set of request metadata including the one or more predicted outcomes for the one or more particular media requests;
receiving, from a logging engine monitoring the online media exchange during the in-progress media campaign, dynamic data associated with the one or more particular media requests of the first set of media requests;
matching, based on a request identifier associated with the one or more particular media requests of the first set of media requests, the dynamic data for the one or more particular media requests with the initial set of request metadata for the one or more particular media requests to determine one or more known outcomes associated with the one or more particular media requests;
encoding the dynamic data for the one or more particular media requests received from the logging engine as a set of retraining features;
generating a retraining sample by combining the set of retraining features with one or more training features generated by encoding a portion of the request data, exchange data, and initial set of request metadata for the one or more particular media requests;
optimizing the trained machine learning system for the in-progress campaign by retraining the trained machine learning system using retraining sample;
determining, using the retrained machine learning system, an optimal set of request metadata for one or more optimized media requests for the in-progress media campaign; and
updating the initial set of request metadata for the one or more particular media requests to the optimal set of request metadata while the in-progress media campaign is running.
13 . The method of claim 12 , further comprising training the machine learning system by initializing a weight for more one or more independent variables with a random value and optimizing the weight using an optimization algorithm to minimize a loss value that corresponds to a difference between the predicted outcome and the known outcomes.
14 . The method of claim 12 , further comprising transmitting the one or more optimized media requests including the optimal set of request metadata to the online media exchange during the in-progress media campaign.
15 . The method of claim 12 , wherein the at least one goal probability comprises at least one of a probability that a media request results in a conversion event, a probability that a piece of media displayed at a requested placement is viewed by a user, a probability that a media request results in a click by a user, a probability that a media request results in a user watching a piece of video media to completion, an impression probability score, a bid winning price, or a placement price.
16 . The method of claim 12 , wherein the initial set of request metadata comprises at least one of a placement price, an auction type, or a channel.
17 . The method of claim 12 , wherein the dynamic data comprises at least one of one or more exchange outcomes or one or more pieces of exchange impression data associated with one or more placements obtained by the first set of media requests and one or more goal probabilities for the in-progress media campaign that are updated while the in-progress media campaign is running on a publishing system.
18 . The method of claim 12 , wherein the request identifier is a unique identifier generated to identify a media request and an event across databases.
19 . The method of claim 12 , wherein the retraining sample further includes a retraining feature vector for the one or more particular media requests, the retraining feature vector including the retraining features determined for the one or more particular media requests and a prediction target associated with the one or more particular media requests, the prediction target comprising at least one of a winning bid price, a price derivative, a goal probability, or an impression event rate.
20 . The method of claim 12 , wherein the optimal set of request metadata comprises at least one of an optimal placement price, an auction type, a channel, and a placement price reduction ratio.
21 . The method of claim 20 , further comprising:
determining the optimal set of request metadata by determining the optimal placement price based on an initial placement price and the placement price reduction ratio.