SYSTEMS AND METHODS FOR ALLOCATION-FREE CONTROL OF ONLINE ELECTRONIC CONTENT DISTRIBUTION CAMPAIGNS
20220358548 · 2022-11-10
Inventors
Cpc classification
International classification
Abstract
A computer-implemented method for allocation-free control of online campaigns for distributing online content includes receiving a daily content distribution spending budget and one or more response functions, calculating one or more plant gain estimates based on the one or more response functions, calculating a marginal content distribution spending budget based on the daily content distribution spending budget, generating one or more control signals based on the calculated marginal budget and the calculated one or more plant gain estimates, generating a price control signal based on the generated one or more control signals, and calculating a bid for one or more impressions based on the price control signal.
Claims
1-20. (canceled)
21. A computer-implemented method for allocation-free control of online campaigns for distributing online content, the method comprising: generating one or more control signals, the one or more control signals including a revenue control signal and a cost per event (CPX) control signal; generating a price control signal as a smaller of the CPX control signal and the revenue control signal; transmitting a single control signal consisting of the generated price control signal to a bid generator; and calculating, by the bid generator, a bid for one or more impressions based on the single control signal.
22. The computer-implemented method of claim 21, further comprising: receiving a daily content distribution spending budget and one or more response functions; calculating one or more plant gain estimates based on the one or more response functions; and calculating a marginal content distribution spending budget based on the daily content distribution spending budget, wherein the marginal content distribution spending budget is calculated based on a daily seasonality model and a latency model, and wherein the revenue control signal is generated based on the calculated marginal budget and the calculated one or more plant gain estimates.
23. The computer-implemented method of claim 22, wherein the one or more response functions comprise a revenue response function and a cost per event (CPX) response function, and the one or more plant gain estimates comprise a revenue plant gain estimate and a cost per event (CPX) plant gain estimate.
24. The computer-implemented method of claim 22, wherein generating the one or more control signals comprises: generating the revenue control signal based on the marginal budget, the revenue plant gain estimate, and current observed content distribution spending; and generating the CPX control signal based on the CPX plant gain estimate, a long-term CPX estimate, and a short-term CPX estimate.
25. The computer-implemented method of claim 23, wherein the revenue plant gain estimate is calculated as a first-order derivative of the revenue response function and the CPX plant gain estimate is calculated as a first-order derivative of the CPX response function.
26. The computer-implemented method of claim 21, wherein an amount of change in the revenue control signal between a first time sample and a second time sample is bound by one or more configurable parameters.
27. The computer-implemented method of claim 25, wherein the revenue control signal or the CPX control signal is generated using a proportional-integral controller.
28. A system for allocation-free control of online campaigns for distributing online content, the system comprising: a data storage device storing instructions for allocation-free control of online campaigns for distributing online content in an electronic storage medium; and a processor configured to execute the instructions to perform a method including: generating one or more control signals, the one or more control signals including a revenue control signal and a cost per event (CPX) control signal; generating a price control signal as a smaller of the CPX control signal and the revenue control signal; transmitting a single control signal consisting of the generated price control signal to a bid generator; and calculating, by the bid generator, a bid for one or more impressions based on the single control signal.
29. The system of claim 28, wherein the system is further configured for: receiving a daily content distribution spending budget and one or more response functions; calculating one or more plant gain estimates based on the one or more response functions; and calculating a marginal content distribution spending budget based on the daily content distribution spending budget, wherein the marginal content distribution spending budget is calculated based on a daily seasonality model and a latency model, and wherein the revenue control signal is generated based on the calculated marginal budget and the calculated one or more plant gain estimates.
30. The system of claim 29, wherein the one or more response functions comprise a revenue response function and a cost per event (CPX) response function, and the one or more plant gain estimates comprise a revenue plant gain estimate and a cost per event (CPX) plant gain estimate.
31. The system of claim 29, wherein generating the one or more control signals comprises: generating the revenue control signal based on the marginal budget, the revenue plant gain estimate, and current observed content distribution spending; and generating the CPX control signal based on the CPX plant gain estimate, a long-term CPX estimate, and a short-term CPX estimate.
32. The system of claim 30, wherein the revenue plant gain estimate is calculated as a first-order derivative of the revenue response function and the CPX plant gain estimate is calculated as a first-order derivative of the CPX response function.
33. The system of claim 28, wherein an amount of change in the revenue control signal between a first time sample and a second time sample is bound by one or more configurable parameters.
34. The system of claim 32, wherein the revenue control signal or the CPX control signal is generated using a proportional-integral controller.
35. A non-transitory machine-readable medium storing instructions that, when executed by a computing system, causes the computing system to perform a method for allocation-free control of online campaigns for distributing online content, the method including: generating one or more control signals, the one or more control signals including a revenue control signal and a cost per event (CPX) control signal; generating a price control signal as a smaller of the CPX control signal and the revenue control signal; transmitting a single control signal consisting of the generated price control signal to a bid generator; and calculating, by the bid generator, a bid for one or more impressions based on the single control signal.
36. The non-transitory machine-readable medium of claim 35, the method further comprising: receiving a daily content distribution spending budget and one or more response functions; calculating one or more plant gain estimates based on the one or more response functions; and calculating a marginal content distribution spending budget based on the daily content distribution spending budget, wherein the marginal content distribution spending budget is calculated based on a daily seasonality model and a latency model, and wherein the revenue control signal is generated based on the calculated marginal budget and the calculated one or more plant gain estimates.
37. The non-transitory machine-readable medium of claim 36, wherein the one or more response functions comprise a revenue response function and a cost per event (CPX) response function, and the one or more plant gain estimates comprise a revenue plant gain estimate and a cost per event (CPX) plant gain estimate.
38. The non-transitory machine-readable medium of claim 36, wherein generating the one or more control signals comprises: generating the revenue control signal based on the marginal budget, the revenue plant gain estimate, and current observed content distribution spending; and generating the CPX control signal based on the CPX plant gain estimate, a long-term CPX estimate, and a short-term CPX estimate.
39. The non-transitory machine-readable medium of claim 37, wherein the revenue plant gain estimate is calculated as a first-order derivative of the revenue response function and the CPX plant gain estimate is calculated as a first-order derivative of the CPX response function.
40. The non-transitory machine-readable medium of claim 35, wherein an amount of change in the revenue control signal between a first time sample and a second time sample is bound by one or more configurable parameters.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary embodiments and together with the description, serve to explain the principles of the disclosed embodiments.
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
DETAILED DESCRIPTION OF EMBODIMENTS
[0039] Various embodiments of the present disclosure relate generally to allocation-free control of online campaigns for distributing online content.
[0040] The terminology used below may be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the present disclosure. Indeed, certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
[0041] In any given moment, thousands of online campaigns for distributing online content may be running simultaneously. Associated with each campaign, there may be a total budget defined in terms of an amount of money or a number of impressions. Each campaign may also include a requirement that the budget should be spent smoothly throughout the duration of the campaign as well as within every day. This constraint is known as pacing. In addition, the campaigns may have optimization objectives. For each campaign, the bidding strategy set by an automated algorithm should maximize an objective function aligned with an optimization objective of that campaign. Such optimization objectives may include minimizing cost per thousand impressions (eCPM), minimizing cost per click (eCPC), minimizing cost per action (eCPA), minimizing cost per viewed impression (eCPV) and minimizing cost per completed view (eCPCV).
[0042] As discussed above, a common feedback controller is a dual-lever control, comprising two control signals: a price control signal that adjusts the bid price and an allocation (pacing rate) control signal that is between 0 and 1 determining the sampled fraction of impressions for which the campaign submits bids (e.g., a 0.9 allocation means the campaign participates in 90% of impressions available to the campaign). One or more embodiments relate to campaign control in a sealed second price auction framework. A control system according to one or more embodiments may fix the allocation signal at a value of one (“1”), 1/1, or 100%, meaning that the control system submits bids for all available impressions. Such a control system, by bidding on all available impressions, may win a desired number of impressions at a lower bid price when compared to bidding on a fraction of available impressions, thus potentially reducing the cost for the advertisers. In addition, by using a fixed value for the allocation signal, the complexity of the campaign control system may be reduced, potentially enhancing the maintainability of the control system and simplifying trouble shooting of the control system.
[0043] A control system according to one or more embodiments may generally include: a plant gain estimator, a revenue controller, a CPX (cost-per-event) controller, and a control supervisor. The plant gain estimator may utilize information generated by a forecasting system to calculate estimates of a plant gain for the campaign for distribution of electronic content. A “plant,” in this context, may be considered a mapping from a price control signal to a system output such as, for example, campaign-level revenue and cost per event, etc. As used herein, an “event” refers to any action taken with respect to an item of electronic content (e.g., impression, click, or conversion).
[0044] A revenue control signal generated by the revenue controller may be determined by the revenue controller based on, for example, a difference or “distance” between a desired campaign revenue spending and a measured campaign revenue spending. Such adjustment may be performed at each time sample, or at any other suitable period. The amount of adjustment may be controlled, for example, by a gain of a proportional-integral controller, which may be adaptively updated based on the plant gain estimates from the plant gain estimator.
[0045] Similarly, a CPX control signal may be determined by the CPX controller based on a difference or “distance” between a CPX constraint and estimates of cost per event generated by a CPX estimator, such as when the estimated cost per event is larger than the constraint. The control supervisor may compare the revenue control signal and the CPX control signal and may, for example, choose the smaller of the two control signals to be the price control signal, which may be sent to a bid generator to calculate a bid price. The calculated bid price may be, for example, equal to the product of the price control signal and the event rate estimate.
[0046]
[0047] Any suitable system infrastructure may be put into place to allow allocation-free control of online campaigns for distributing online content.
[0048] Aspects of the present disclosure may be embodied in a special purpose computer and/or data processor that is specifically programmed, configured, and/or constructed to perform one or more of the computer-executable instructions explained in detail herein. While aspects of the present disclosure, such as certain functions, are described as being performed exclusively on a single device, the present disclosure may also be practiced in distributed environments where functions or modules are shared among disparate processing devices, which are linked through a communications network, such as a Local Area Network (“LAN”), Wide Area Network (“WAN”), and/or the Internet. Similarly, techniques presented herein as involving multiple devices may be implemented in a single device. In a distributed computing environment, program modules may be located in both local and/or remote memory storage devices.
[0049] Aspects of the present disclosure may be stored and/or distributed on non-transitory computer-readable media, including magnetically or optically readable computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other data storage media. Alternatively, computer implemented instructions, data structures, screen displays, and other data under aspects of the present disclosure may be distributed over the Internet and/or over other networks (including wireless networks), on a propagated signal on a propagation medium (e.g., an electromagnetic wave(s), a sound wave, etc.) over a period of time, and/or they may be provided on any analog or digital network (packet switched, circuit switched, or other scheme).
[0050]
[0051] Providers, such as advertisers 302, represent computing components associated with entities having online electronic content (e.g., banner ads, pop-ups, etc.) that the entities desire to deliver to online consumers. Providers 302 may interact with publishers 304, servers 306, and/or campaign control systems 308 through the Internet 310. Thus, providers 302 may be able to communicate electronic content information, such as ad information, targeting information, consumer information, budget information, bidding information, etc., to other entities in system 300.
[0052] Publishers 304 represent computing components associated with entities having inventories of available online electronic content space. For example, publishers 304 may include computing components associated with online content providers, search engines, e-mail programs, web-based applications, or any computing component or program having online user traffic. Publishers 304 may interact with providers 302, electronic content servers 306, and/or controllers 308 via the Internet 310. Thus, publishers 304 may be able to communicate inventory information, such as site information, demographic information, cost information, etc., to other computing components in system 300.
[0053] Electronic content servers, such as advertising servers 306, may include servers or clusters of servers configured to process electronic content information from providers 302 and/or inventory information from publishers 304, either directly or indirectly. In certain embodiments, ad servers 306 may be remote web servers that receive electronic content information from providers 302 and serve ads to be placed by publishers 304. Servers 306 may be configured to serve electronic content across various domains of publishers 304, for example, based on electronic content information provided by providers 302. Servers 306 may also be configured to serve electronic content based on contextual targeting of web sites, search results, and/or user profile information. In some embodiments, servers 306 may be configured to serve electronic content based on control signals generated by campaign control systems 308.
[0054] Campaign control systems 308 may include computing systems configured to receive information from computing components in system 300, process the information, and generate control signals to be sent to other computing components in system 300, according to the illustrative methods described herein. Campaign control systems 308 may include any type or combination of computing systems, such as clustered computing machines and/or servers, including virtual computing machines and/or virtual servers. Campaign control systems 308 may include, for example, implementations of open platforms for machine-learning or other automated feedback or learning from online campaigns, such as, for example, the “Adlearn™ Open Platforms” (AOP) control systems offered by Oath (Americas), Inc. of New York, N.Y. In some embodiments, campaign control systems 308 may include an assembly of hardware, including a memory 312, a central processing unit (“CPU”), and/or a user interface 316. Memory 312 may include any type of RAM or ROM embodied in a physical, computer-readable storage medium, such as magnetic storage including floppy disk, hard disk, or magnetic tape; semiconductor storage such as solid state disk (SSD) or flash memory; optical disc storage; or magneto-optical disc storage. CPU 314 may include one or more processors for processing data according to instructions stored in the memory, for example to perform the methods and processes discussed in detail herein. The functions of the processor may be provided by a single dedicated processor or by a plurality of processors. Moreover, the processor may include, without limitation, digital signal processor (DSP) hardware, or any other hardware capable of executing software. User interface 316 may include any type or combination of input/output devices, such as a display monitor, graphical user interface, touch-screen or pad, keyboard, and/or mouse. In other embodiments, campaign control systems 308 may include virtual representations of hardware operating, for example, on a virtualization server.
[0055]
[0056] Any number or type of campaigns 402 may be operated within network 404, across various ad servers and domains associated with the Internet. Control system 400 may be implemented by one or more of the providers 302, publishers 304, ad servers 306, and/or controllers 308 described in
[0057] In one embodiment, control system 400 may include, among other control modules, one or more instances of campaign controller 406. Campaign controller 406 may comprise computers or servers connected to the Internet. Such computers or servers may be configured as described with respect to campaign control system 308, as depicted by
[0058] Campaign controller 406 may be provided with a set of delivery requirements 410, which may be adjustable design parameters set by a user. For instance, the set of delivery requirements may include cost requirements (e.g., the maximum cost discussed in reference
[0059] In one embodiment, campaign controller 406 may be a controller configured to assist a campaign 402 in meeting pacing goals at minimum cost to the provider. In accordance with the disclosed embodiments, campaign controller 406 may be configured to control bid price, and optionally allocation signals, to optimize the revenue spending of the campaign in accordance with an objective set by a user. Such objectives may include, for example, a smoothness objective in which campaign controller 406 manages campaign delivery to achieve smoothness in revenue spending over the course of the campaign. In one embodiment, campaign controller 406 may implement at least some of the illustrative systems and methods described in U.S. patent application Ser. No. 13/416,796, filed on Mar. 9, 2012, the entire disclosure of which is incorporated herein by reference.
[0060]
[0061] In the figures below, certain notation will be used to discuss signals, variables, and configurable parameters. The notation used is provided below in Tables 1 and 2.
TABLE-US-00001 TABLE 1 Signals and Variables Name Notation Description Range Day d Integer d∈N representation of the day Time Sample k Integer k∈N representation of the time sample Daily Budget r.sub.D(d) Target spending r.sub.D(d) ∈ (0, ∞) on day d Marginal Budget r.sub.M(k) Target spending r.sub.M(k) ∈ (0, ∞) at time sample k CPX Constraint r.sub.c(k) Maximum cost r.sub.c(k)∈(0, ∞) per event set by provider. Empty if no constraint Observed y.sub.r(k) Measured actual y.sub.r(k)∈[0, ∞) Revenue revenue spending Spending at time sample k Observed y.sub.e(k) Measured number y.sub.e(k) is a Number of of events at non-negative Events time sample k integer Short-Horizon ŷ.sub.c.sup.short(k) Estimated CPX ŷ.sub.c.sup.short(k) ∈ [0, ∞) Estimated CPX in a short time horizon Long-Horizon ŷ.sub.c.sup.long(k) Estimated CPX ŷ.sub.c.sup.long(k) ∈ [0, ∞) Estimated CPX in a long time horizon Revenue Control u.sub.r(k) It is generated by u.sub.r(k)∈[u.sub.min, u.sub.max] Signal the revenue controller at time sample k CPX Control u.sub.c(k) It is generated by u.sub.c(k)∈[u.sub.min, u.sub.max] Signal the cost-per-event (CPX) controller at time sample k Final Price u(k) It is sent to the u(k) depends on Control Signal bid generator to u.sub.r(k) and u.sub.c(k) compute bid price at time sample k Revenue Plant g.sub.r(k) Estimated revenue g.sub.r(k)∈(0, ∞) Gain Estimate plant gain (slope of the control-spend response curve) at time sample k CPX Plant Gain g.sub.c(k) Estimated CPX g.sub.c(k) ∈ (0, ∞) Estimate plant gain (slope of the control-CPX response curve) at time sample k Revenue f.sub.r(u) It maps a price one-on-one Response control signal u to mapping Function the revenue spending y.sub.r. f.sub.r(u) can be represented by a set of parameters or a collection of (u, y.sub.r) CPX Response f.sub.c(u) It maps a price one-on-one Function control signal u to mapping the cost per event y.sub.c. f.sub.c(u) can be represented by a set of parameters or a collection of (u, y.sub.c) Revenue Control u.sub.s2r(k) Control supervisor u.sub.s2r(k)∈R.sup.+ or Reset Signal sends this signal u.sub.s2r(k) = [ ] to revenue controller to reset its states CPX Control u.sub.s2c(k) Control supervisor u.sub.s2c(k)∈R.sup.+ or Reset Signal sends this signal u.sub.s2c(k) = [ ] to CPX controller to reset its states
TABLE-US-00002 TABLE 2 Configurable Parameters Name Notation Description Range Interval Δ Change in the Δ∈(0, ∞) Parameter independent variable for numerically calculating derivative Delay Sample S Specify how many S∈N samples the price control signal is held for Sampling Time T.sub.s The control system T.sub.s∈R.sup.+ (a typical is executed every value is 0.25) T.sub.s hour Daily Seasonality (β.sub.i, ϕ.sub.i) β.sub.i's and ϕ.sub.i's are β.sub.i∈R, ϕ.sub.i∈R Model parameters describing the daily seasonality model Latency Model γ.sub.i γ.sub.i's describe the γ.sub.i∈R.sup.+ distribution of latency between measured revenue and actual revenue Initial Control U.sub.0 A campaign level U.sub.0∈R.sup.+ Signal parameter to initialize price control Minimum Price u.sub.min Campaign-level u.sub.min∈R.sup.+ Control allowed smallest price control signal Maximum Price u.sub.max Campaign-level u.sub.max∈R.sup.+ Control allowed largest price control signal Revenue T.sub.r Revenue control T.sub.r∈R.sup.+ Integrator tuning parameter Parameter that can be adjusted for response speed Revenue T.sub.r, w Revenue control T.sub.r, w∈R.sup.+ Anti-Windup tuning parameter Parameter that protects against windup Revenue K.sub.r, l Revenue control K.sub.r, l∈R.sup.+ Controller Gain tuning parameter Parameter that can be adjusted for control aggressiveness and robustness Revenue Control δ.sub.r, low u.sub.r(k) cannot be 0 < δ.sub.r, low < 1 Decrease Bound smaller than (1 − δ.sub.r, low)u.sub.r(k − 1) Revenue Control δ.sub.r, high u.sub.r(k) cannot be δ.sub.r, high > 0 Increase Bound larger than (1 + δ.sub.r, high)u.sub.r(k − 1) CPX Integrator T.sub.c CPX control tuning T.sub.c∈R.sup.+ Parameter parameter that can be adjusted for response speed CPX T.sub.c, w CPX control tuning T.sub.c, w∈R.sup.+ Anti-Windup parameter that Parameter protects against windup CPX Controller K.sub.c, l CPX control tuning K.sub.c, l∈R.sup.+ Gain Parameter parameter that can be adjusted for control aggressiveness and robustness CPX Control δ.sub.c, low u.sub.c(k) cannot be 0 < δ.sub.c, low < 1 Decrease Bound smaller than (1 − δ.sub.c, low)u.sub.c(k − 1) CPX Control δ.sub.c, high u.sub.c(k) cannot be δ.sub.c, high > 0 Increase Bound larger than (1 − δ.sub.c, low)u.sub.c(k − 1) Long-Horizon N.sup.long Number of N.sup.long∈N Buffer Size measurement samples used to estimate long-horizon CPX Short-Horizon N.sup.short Number of N.sup.short ∈ N Buffer Size measurement samples N.sup.short < N.sup.long used to estimate short-horizon CPX
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073] Having described a campaign controller according to one or more embodiments, an example operating environment in which embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring to
[0074] The invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. The invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialized computing devices, etc. The invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
[0075] With reference to
[0076] Computing device 1700 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 1700 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 1700. Computer storage media does not comprise signals per se. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
[0077] Memory 1712 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, non-removable, or a combination thereof. Typical hardware devices may include, for example, solid-state memory, hard drives, optical-disc drives, etc. Computing device 1700 includes one or more processors 1714 that read data from various entities such as memory 1712 or I/O components 1720. Presentation component(s) 1716 present data indications to a user or other device. Illustrative presentation components include a display device, speaker, printing component, vibrating component, etc.
[0078] Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.