Purchasing pace control in a real-time bidding environment using a multi-loop control scheme
First Claim
1. A method for controlling a pace of bidding in a network-based real-time bidding environment, the method comprising:
- dynamically adjusting the value of a pacing parameter during a duration of a campaign, by executing a multi-loop control algorithm by a control system of the bidding system, the multi-loop control algorithm including at least an outer control loop and an inner control loop;
wherein the outer control loop is executed by the control system at an outer control loop frequency, wherein each execution of the outer control loop includes;
receiving as outer control loop inputs;
(a) an impression setpoint indicating a target number of ad placements purchased during an upcoming outer control loop time period and (b) data indicating an actual number of ad placements purchased during one or more past outer control loop time periods, andoutputting a baseline value of the pacing parameter for the upcoming outer control loop time period;
wherein the inner control loop is executed by the control system at an inner control loop frequency higher than the outer control loop frequency, such that the inner loop is executed multiple times during each execution of the outer control loop;
wherein for each execution of the outer control loop, the inner control loop;
receives the baseline value of the pacing parameter output by the respective execution of the outer control loop, andexecutes multiple times to output a dynamically adjusted value of the pacing parameter based on the baseline value of the pacing parameter received from the outer control loop, to thereby adjust the current value of the pacing parameter over time;
wherein each execution of the inner control loop includes;
receiving bid quantity data indicating a number of purchase bids submitted by one or more bidders during an inner control loop time period corresponding with the respective execution of the inner control loop, andoutputting a dynamically adjusted current value of the pacing parameter based at least on the bid quantity data for the inner control loop time period;
receiving at the bidding system via a communications network a series of bid requests generated by a real-time bidding exchange during the duration of the campaign, each received bid request identifying a respective available ad placement in a respective webpage being loaded;
for each received bid request, the bidding system determining, in real-time during the loading of the respective webpage, whether to submit a purchase bid to the real-time bidding exchange to purchase the respective ad placement based at least on the current value of the dynamically adjusted pacing parameter.
19 Assignments
0 Petitions
Accused Products
Abstract
A method for controlling a purchasing pace in a real-time bidding environment is provided. A pacing parameter is dynamically adjusted using a multi-loop control algorithm including an outer control loop and an inner control loop, wherein the outer control loop outputs a control parameter, and the inner control loop uses this control parameter as an input and outputs a current value of the pacing parameter, which is adjusted over time by the multi-loop control algorithm. A series of bid requests generated by a real-time bidding exchange are received, each identifying a respective available ad placement in a respective webpage being loaded. For each received bid request, a decision is made in real-time, during the loading of the respective webpage, whether to submit a bid to purchase the respective ad placement based at least on the current value of the dynamically adjusted pacing parameter.
-
Citations
18 Claims
-
1. A method for controlling a pace of bidding in a network-based real-time bidding environment, the method comprising:
-
dynamically adjusting the value of a pacing parameter during a duration of a campaign, by executing a multi-loop control algorithm by a control system of the bidding system, the multi-loop control algorithm including at least an outer control loop and an inner control loop; wherein the outer control loop is executed by the control system at an outer control loop frequency, wherein each execution of the outer control loop includes; receiving as outer control loop inputs;
(a) an impression setpoint indicating a target number of ad placements purchased during an upcoming outer control loop time period and (b) data indicating an actual number of ad placements purchased during one or more past outer control loop time periods, andoutputting a baseline value of the pacing parameter for the upcoming outer control loop time period; wherein the inner control loop is executed by the control system at an inner control loop frequency higher than the outer control loop frequency, such that the inner loop is executed multiple times during each execution of the outer control loop; wherein for each execution of the outer control loop, the inner control loop; receives the baseline value of the pacing parameter output by the respective execution of the outer control loop, and executes multiple times to output a dynamically adjusted value of the pacing parameter based on the baseline value of the pacing parameter received from the outer control loop, to thereby adjust the current value of the pacing parameter over time; wherein each execution of the inner control loop includes; receiving bid quantity data indicating a number of purchase bids submitted by one or more bidders during an inner control loop time period corresponding with the respective execution of the inner control loop, and outputting a dynamically adjusted current value of the pacing parameter based at least on the bid quantity data for the inner control loop time period; receiving at the bidding system via a communications network a series of bid requests generated by a real-time bidding exchange during the duration of the campaign, each received bid request identifying a respective available ad placement in a respective webpage being loaded; for each received bid request, the bidding system determining, in real-time during the loading of the respective webpage, whether to submit a purchase bid to the real-time bidding exchange to purchase the respective ad placement based at least on the current value of the dynamically adjusted pacing parameter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A control system configured to control a pace of bidding in a network-based real-time bidding environment, the control system comprising:
-
at least one processor; and computer-readable instructions stored in non-transitory computer readable medium and executable by the at least one processor to; dynamically adjust the value of a pacing parameter during a duration of a campaign by executing a multi-loop control algorithm including at least an outer control loop and an inner control loop; wherein the outer control loop is executed at an outer control loop frequency, wherein each execution of the outer control loop includes; receiving as outer control loop inputs;
(a) an impression setpoint indicating a target number of ad placements purchased during an upcoming outer control loop time period and (b) data indicating an actual number of ad placements purchased during one or more past outer control loop time periods, andoutputting a baseline value of the pacing parameter for the upcoming outer control loop time period; wherein the inner control loop is executed at an inner control loop frequency higher than the outer control loop frequency, such that the inner loop is executed multiple times during each execution of the outer control loop; wherein for each execution of the outer control loop, the inner control loop; receives the baseline value of the pacing parameter output by the respective execution of the outer control loop, and executes multiple times to output a dynamically adjusted value of the pacing parameter based on the baseline value of the pacing parameter received from the outer control loop, to thereby adjust the current value of the pacing parameter over time; wherein each execution of the inner control loop includes; receiving bid quantity data indicating a number of purchase bids submitted by one or more bidders during an inner control loop time period corresponding with the respective execution of the inner control loop, and outputting a dynamically adjusted current value of the pacing parameter based at least on the bid quantity data for the inner control loop time period; receive via a communications network a series of bid requests generated by a real-time bidding exchange during the duration of the campaign, each received bid request identifying a respective available ad placement in a respective webpage being loaded; and for each received bid request, determine in real-time during the loading of the respective webpage whether to submit a purchase bid to the real-time bidding exchange to purchase the respective ad placement based at least on the current value of the dynamically adjusted pacing parameter.
-
-
15. A method for controlling a pace of bidding in a network-based real-time bidding environment, the method comprising:
-
receiving at a bidding system a series of bid requests from a real-time bidding exchange, each bid request corresponding to an ad placement in a webpage being loaded; for each received bid request, the bidding system determining, in real-time during the loading of the respective webpage, whether to submit a purchase bid to the real-time bidding exchange to purchase the respective ad placement; and executing a multi-loop control algorithm by the bidding system to dynamically control a rate at which purchase bids are submitted to the real-time bidding exchange over time, wherein the multi-loop control algorithm includes at least an outer control loop and an inner control loop for dynamically adjusting the value of a pacing parameter influencing the rate at which purchase bids are submitted to the real-time bidding exchange, wherein the outer control loop is executed at an outer control loop frequency, wherein each execution of the outer control loop includes; receiving as outer control loop inputs;
(a) an impression setpoint indicating a target number of ad placements purchased during an upcoming outer control loop time period and (b) data indicating an actual number of ad placements purchased during one or more past outer control loop time periods, andoutputting a baseline value of the pacing parameter for the upcoming outer control loop time period; wherein the inner control loop is executed at an inner control loop frequency higher than the outer control loop frequency, such that the inner loop is executed multiple times during each execution of the outer control loop; wherein for each execution of the outer control loop, the inner control loop; receives the baseline value of the pacing parameter output by the respective execution of the outer control loop, and executes multiple times to output a dynamically adjusted value of the pacing parameter based on the baseline value of the pacing parameter received from the outer control loop, to thereby adjust the current value of the pacing parameter over time; wherein each execution of the inner control loop includes; receiving bid quantity data indicating a number of purchase bids submitted by one or more bidders during an inner control loop time period corresponding with the respective execution of the inner control loop, and outputting a dynamically adjusted current value of the pacing parameter based at least on the bid quantity data for the inner control loop time period. - View Dependent Claims (16, 17, 18)
-
Specification