Smart Pacing for Effective Onine Ad Campaign Optimization Jian Xu, Kuang-chih Lee, Wentong Li, Hang Qi, and Quan Lu Yahoo Inc. 7 First Avenue, Sunnyvae, Caifornia 9489 {xuian,kcee,wentong,hangqi,qu}@yahoo-inc.com arxiv:56.585v [cs.ai] 8 Jun 5 ABSTRACT In targeted onine advertising, advertisers ook for maximizing campaign performance under deivery constraint within budget schedue. Most of the advertisers typicay prefer to impose the deivery constraint to spend budget smoothy over the time in order to reach a wider range of audiences and have a sustainabe impact. Since ots of impressions are traded through pubic auctions for onine advertising today, the iquidity makes price easticity and bid andscape between demand and suppy change quite dynamicay. Therefore, it is chaenging to perform smooth pacing contro and maximize campaign performance simutaneousy. In this paper, we propose a smart pacing approach in which the deivery pace of each campaign is earned from both offine and onine data to achieve smooth deivery and optima performance goas. The impementation of the proposed approach in a rea DSP system is aso presented. Experimenta evauations on both rea onine ad campaigns and offine simuations show that our approach can effectivey improve campaign performance and achieve deivery goas. Categories and Subect Descriptors H.. [Information Systems]: Modes and Principes Genera; D..8 [Software Engineering]: Metrics Performance Measures Keywords Campaign Optimization;Demand-Side Patform;Budget Pacing. INTRODUCTION Onine advertising is a muti-biion doar industry and has been enoying continued doube-digit growth in recent years. The market has witnessed the emergence of search advertising, contextua advertising, guaranteed dispay advertising, and more recenty auction-based advertising exchanges. We focus on the auction-based advertising exchanges, which is a marketpace with the highest iquid- Permission to make digita or hard copies of a or part of this work for persona or cassroom use is granted without fee provided that copies are not made or distributed for profit or commercia advantage and that copies bear this notice and the fu citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or repubish, to post on servers or to redistribute to ists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org. KDD 5, August -3, 5, Sydney, NSW, Austraia. c 5 ACM. ISBN 978--453-3664-/5/8...$5.. DOI: http://dx.doi.org/.45/766xxx.xxxxxxx. ity, i.e., each ad impression is traded with a different price through a pubic auction. In this market, Demand-Side Patforms (DSPs) are key payers who act as the agents for a number of different advertisers and manage the overa wefare of the ad campaigns through many direct buying adnetworks or rea-time bidding (RTB) ad exchanges in order to acquire different ad impressions. The obectives of an advertiser on a DSP can be summarized as foows: Reach the deivery and performance goas: for branding campaigns, the obective is usuay to spend out the budget to reach an extensive audience and meanwhie make campaign performance as good as possibe; for performance campaigns, the obective is usuay to meet the performance goa (e.g. ecpc no more than $) and meanwhie spend as much budget as possibe. Obectives of other campaigns are usuay in-between these two extremes. Execute the budget spending pan: advertisers usuay expect their ads to be shown smoothy throughout the purchased period in order to reach a wider range of audience, have a sustainabe impact, and increase synergy with campaigns on other medias such as TV and magazines. Therefore, advertisers may have their customized budget spending pans. Figure gives two exampes of budget spending pan: even pacing and based pacing. Reduce creative serving cost: apart from the cost to be charged by DSPs, there is aso creative serving cost charged by typicay 3rd-party creative server providers. This is even more important nowadays that more and more ad campaigns are in the form of video or rich media. The creative serving cost of such type of impressions can be as much as premium inventory cost, so the advertisers wi aways be wiing to reduce this cost and deiver impressions to the right users effectivey and efficienty. However, it becomes more and more chaenging to achieve a the above obectives simutaneousy. In the individua campaign eve, each campaign may have its own budget, budget spending pan, targeted audiences, performance goa, biing method, creative serving cost, and so on. In the network eve, an increasing number of DSPs compete with each other simutaneousy to acquire inventory through pubic auctions in many ad exchanges, and therefore the price easticity and bid andscape between demand and suppy Effective cost per cick - The cost of a campaign divided by the tota number of cicks received. Effective cost per action (ecpa) is defined simiary.
(a) Even pacing (b) based pacing Figure : Different budget spending pans. change dynamicay. A those varieties in both campaign and network eve make the optimization extremey difficut even for a singe campaign. Fortunatey, thanks to the rapid growth of emerging internet industries such as mobie apps and user-generated content patforms, the onine advertising industry has observed a sharpy increasing avaiabiity of advertising inventory. A DSP nowadays typicay receives tens of biions of ad requests from dozens of Suppy-Side Patforms (SSPs) everyday and hence has more fexibiity than before to spend budget on a vast amount of advertising opportunities. In this paper, we consider a probem motivated by these trends in the onine advertising industry: can we smarty decide on which inventories the budget shoud be spent so that a the obectives of an ad campaign are achieved? We study this probem with a rea DSP and expore modes and agorithms to effectivey serve ad campaigns it manages. Our contributions can be summarized as foows: We formuate the above muti-obective optimization probem with a comprehensive anatomy of rea ad campaigns and propose to sove it through smart pacing contro. We deveop a contro-based method which earns from both onine and offine data in order to optimize budget pacing and campaign performance simutaneousy. We impement the proposed approach in a rea DSP and conduct extensive onine/offine experimenta evauations. The resuts show that our approach can effectivey improve campaign performance and achieve deivery goas. The rest of the paper is organized as foows: we review the reated work in section. In section 3, we present the notations and forma probem statement. We describe our modes and agorithms in section 4 and 5. Section 6 and 7 focus on experiments and impementation respectivey. We concude our work and discuss future work in section 8.. RELATED WORK Most existing work reated to campaign optimization focuses on estimating the cick through rate (CTR)/action rate (AR) or bid andscape, which heps to setup the bid price in the impression eve. For a comprehensive survey of a those methods, pease refer to [7]. However, those approaches do not take into account of the smooth deivery constraint. Another research direction deas with the ad aocation probem. Chen et a. [8] and Bhagat et a. [4] proposed to perform onine ad aocation and sove the optimization probem for a campaigns in the marketpace eve. Their focus is to find the best aocation pan to optimize revenue (a) Probabiistic throtting (b) Bid modification Figure : Factor dependency graph in Probabiistic Throtting v.s. Bid Modification. Factors in grey are invoved in budget pacing contro. Adding dependency between pacing rate and response rate is one of the key ideas of our work. on the pubisher side whie we focus on maximizing the deivery and performance for each campaign. Bhagat et a. [5] proposed a different approach to perform ad aocation based on the inventory quaity, which shares some common thoughts with our work. We both assume that the inventory is much arger than advertiser demand and therefore both of our soutions focus on how to seect high quaity inventory. However, their approach focuses on the aocation probem and the smooth deivery constraint does not appear in the formuation. Zhang et a. [3] proposed to combine budget aocation and bid optimization in a oint manner. We caim that the budget aocation can be compementary to our work in the campaign eve. After the budget aocation is done, our approach of budget pacing can take pace to further optimize the campaign goas in the impression eve. Mehta et a. [], Abrams et a. [], and Borgs et a. [6] suggested using bid modification whie Agarwa et a. [3] and Lee et a.[] used probabiistic throtting to achieve pacing contro. In this paper, we use probabiistic throtting for severa considerations: ) Probabiistic throtting directy infuences budget spending whie bid modification changes the win-rate to contro spending, which is not preferred in the RTB environment. First, the bid win-rate curve is usuay not smooth so modifying bid can cause significant changes in budget spending. Second, our observation on rea serving data is that the bid andscape can be changed dramaticay over time. Both issues make pacing contro extremey difficut through bid modification. ) SSPs usuay set reserve prices so pacing contro may fai if the bid need to be modified to be beow the reserve price [3]. 3) As shown in Figure, throtting with a pacing rate decoupes pacing contro from bid cacuation. This is an appeaing feature because the pacing contro can be deveoped independenty and combined with any bid optimization impementation. In the rest of this paper, we assume the bid is aready given by a preceding bid optimization modue. 3. PROBLEM FORMULATION We focus on two most prevaiing campaign types: ) branding campaigns that aim at spending out the budget to have an extensive reach of audiences, and ) performance campaigns that have specific performance goas (e.g. ecpc
$). Other types of campaigns typicay ie in-between these two extremes. A campaign of either type may have its unique budget spending pan. We first formuate the probem to be resoved and then outine our soution. 3. Preiminaries Let Ad be an ad campaign, B be the budget of Ad, and G be the performance goa of Ad if there is. A spending pan is a sequence of budgets over a number K of time sots, specifying the desired amount of budget to be spent in each time sot. We denote by B = (B (),..., B (K) ) the spending pan of Ad, where B (t) and t=,...,k B(t) = B. Let Req i be the i-th ad request received by a DSP. As we discussed in section, we use probabiistic throtting for budget pacing contro in our work. Thus we denote by: s i Bern(r i) the variabe indicating whether Ad participates the auction for Req i, where r i is the point pacing rate of Ad on Req i. r i [, ] quantifies the probabiity that Ad participates the auction for Req i. w i the variabe indicating whether Ad wins Req i if it participates the auction, which depends on the bid bid i given by the bid optimization modue. c i the advertiser s cost if Ad is served to ad request Req i. We note that the cost consists of both the inventory cost and the creative serving cost, q i Bern(p i) the variabe indicating whether the user performs some desired response (e.g. cick) if Ad is served to Req i, where p i = P r(respond Req i, Ad) is the probabiity of such response. C = i si wi ci the tota cost of ad campaign Ad. P = C/ i si wi qi the performance (e.g. ecpc if the desired response is cick) of ad campaign Ad. C = (C (),..., C (K) ) the spending pattern over the K time sots, where C (t) is the cost in the t-th time sot, C (t) and t=,...,k C(t) = C. Given an ad campaign Ad, we define Ω to be the penaty (error) function that captures how the spending pattern C is deviated from the spending pan B. A smaer vaue wi indicate a better aignment. As an exampe, we may define the penaty as foows: Ω(C, B) = K K (C (t) B (t) ) () t= 3. The Probem of Smart Pacing for Onine Ad Campaign Optimization Advertisers ook for spending budget, executing spending pan, and optimizing campaign performance simutaneousy. However, there may be mutipe Pareto optima soutions to such an abstract muti-obective optimization probem. In rea scenarios, advertisers usuay prioritize these obectives for different campaigns. For branding campaigns, advertisers typicay put budget spending at the top priority, foowed by aigning with spending pan whie performance is not a serious concern. At serving time (i.e. the ad request time), since we use probabiistic throtting, the ony thing that we can have fu contro is r i. Thus the probem of smart pacing for ad campaigns without specific performance goas is defined as determining the vaues of r i so that the foowing measurement is optimized : min r i P s.t. C = B, Ω(C, B) ɛ where ɛ defines the toerance eve on deviating from the spending pan. On the contrary, for performance campaigns that have specific performance goas, achieving the performance goa is the top priority. Sticking to the spending pan is usuay the east important consideration. We define the probem of smart pacing for ad campaigns with specific performance goas as determining the vaues of r i so that the foowing measurement is optimized: min r i Ω(C, B) s.t. P G, B C ε where ε defines the toerance eve for not spending out a the budget. Given the dynamics of the marketpace, even both the singe-obective optimization probems are extremey difficut to resove. Existing methods that are widey used in the industry dea ony with capturing either the performance goa or the budget spending goa. One exampe for achieving performance goa is aways bidding the retargeting beacon triggered ad requests. Unfortunatey, there is no guarantee to avoid overspending or underspending. Another exampe for smooth pacing contro is introducing a goba pacing rate so that a ad requests have the same probabiity to be bid by a campaign. However, none of these existing approaches can sove the smart pacing probem we formuate here. To tacke this probem, we examine the prevaiing campaign setups and make some key observations that motivated our soution: CPM campaigns: advertisers are charged a fixed amount of money for each impression. For branding advertisers, the campaign optimization is as defined in Equation. As ong as budget can be spent and spending pattern is aigned as the pan, high responding ad requests shoud have a higher point pacing rate than ow responding ones so that the performance can be optimized. For performance advertisers (i.e. with ecpc, ecpa goa), the campaign optimization is as defined in Equation 3. Apparenty, high responding ad requests shoud have higher point pacing rate to achieve the performance goa. CPC/CPA campaigns: advertisers are charged based on the sheer number of cicks/actions. There is impicit performance goa to guarantee that DSP does not ose money when bidding on behaf of the advertisers. So it fas in the category of optimization defined in Equation 3. Granting high responding ad requests high point pacing rates wi be more effective from both the advertisers and DSPs perspectives: advertisers pay ess on creative serving cost whie DSP can save more ad opportunities to serve other campaigns. Dynamic CPM campaigns: DSP charges a dynamic amount of money for each impression instead of a fixed amount. These campaigns usuay have specific performance goas so the optimization probem fas in Equation 3. Simiar with CPC/CPA campaigns, high Based on our performance definition (i.e. ecpc or ecpa) a smaer vaue means a better performance. () (3)
responding ad requests are more preferred in order to reduce creative serving cost and save ad opportunities. 3.3 Soution Summary Motivated by these observations, we deveop nove heuristics to sove the smart pacing probem. The heuristics try to find a feasibe soution that satisfies a constraints as defined in Equation or 3, and then further optimize the obectives through feedback contro. We first earn from offine serving ogs to buid a response prediction mode to estimate p i = P r(respond Req i, Ad), which heps distinguish high responding ad requests from ow responding ones. Second, we reduce the soution space by grouping simiary responding ad requests together and the requests in the same group share the same group pacing rate. Groups with high responding rates wi enoy high pacing rates (refer to the bue arrow in Figure (a)). Third, we deveop a nove contro-based method to earn from onine feedback data and dynamicay adust the group pacing rates to approximate the optima the soution. Without oss of generaity, we assume campaign setup is CPM biing with or without an ecpc goa. Our approach can be appied to other biing methods and performance types as we as other grouping strategies such as grouping based on p i/c i (the expected response per cost). 4. RESPONSE PREDICTION Our soution depends on an accurate response prediction mode to estimate p i. There are penty of work in the iterature addressing this probem as we have reviewed in section. Here we briefy describe how we perform this estimation. We use the methodoogy introduced in [, ] and make some improvements on top of that. In this method, we first everage the hierarchy structures in the data to coect response feedback features at different granuarities. For exampe, at ad side, starting from the root and continuing ayer after ayer are advertiser category, advertiser, campaign, and finay ad. Historica response rates at different eves in the hierarchy structures are used as features to derive a machine earning mode (e.g. LR, GBDT, etc) to give a raw estimation of p i, say ˆp i. Then we utiize attributes such as user s age, gender to buid a shaow tree. Each eaf node of the tree identifies a disoint set of ad requests which coud hardy be further spit into subsets with significanty different average response rates. Finay, we caibrate ˆp i within the eaf node Req i is cassified using a piecewise inear regression to estimate the fina p i. This scheme resuts in a fairy accurate response prediction. 5. A CONTROL-BASED SOLUTION As we have discussed in section 3, it is extremey difficut to reach the exact optima soution to the probems defined in equations and 3 in an onine environment. We expore heuristics to reduce the soution space of the origina probems. More specificay, with the response prediction mode described in section 4, simiary responding ad requests are grouped together and they share the same group pacing rate. Different groups wi have different group pacing rates to refect our preferences on high responding ad request groups. The origina probem of soving the point pacing rate of each r i is reduced to soving a set of group pacing rates. We empoy a contro-based method to tune the group pacing rates so that onine feedback data can be everaged immediatey for campaign optimization. In other words, the group pacing rates are dynamicay adusted throughout the campaign ife time. For simpicity, pacing rate and group pacing rate are interchangeabe in the rest of this paper, and we denote by r the group pacing rate of the -th group. 5. A Layered Presentation For each ad campaign, we maintain a ayered data structure in which each ayer corresponds to an ad request group. We keep the foowing information of each ad request group in the ayered structure: average response rate (usuay in the form of CTR, AR, etc) derived from the response prediction mode; priority of the ad request group; pacing rate i.e. the probabiity to bid an ad request in the ad request group; and the campaign s spending on the ad request group in the atest time sot. The principes here are: ) ayers correspond to high responding ad request groups shoud enoy high priorities, and ) the pacing rate of a high priority ayer shoud not be smaer than that of a ow priority ayer. For each campaign, when the DSP receives an eigibe ad request, it first decides which ad request group the ad request fas in and refers to the corresponding ayer to acquire the pacing rate. The DSP then bids the ad request on behaf of the campaign with a probabiity that equas to the retrieved pacing rate at the price given by a preceding bid optimization modue. 5. Onine Pacing Rate Adustment We empoy a contro-based method to adust the pacing rate of each ayer based on rea-time feedbacks. Suppose we have L ayers, the response rate estimation by response prediction mode for each ayer is p = (p,..., p L), and hence if the desired response is cick, the estimated ecpc of each ayer is e = (e,..., e L) where e i = CP M p i. Let the pacing rate of each ayer in the (t )-th time sot be r (t ) = (r (t ),..., r (t ) L ), and the spending of each ayer be c (t ) = (c (t ),..., c (t ) L ), the contro-based method wi derive r (t) = (r (t),..., r(t) L ) for the coming t-th time sot based on campaign obectives. 5.. Campaigns without Performance Goas We first describe the adustment agorithm for ad campaigns without specific performance goas. Reca that for such campaign type, the primary goa is to spend out the budget and aign with the budget spending pan. Thus at the end of each time sot, the agorithm needs to decide the amount of budget to be spent in the next time sot and adust the ayered pacing rates to spend exact that amount. The budget to be spent in the next time sot is determined based on the current budget spending status. Given an ad campaign, suppose its tota budget is B, budget spending pan is B = (B (),..., B (K) ), and after running for m time sots, the remaining budget becomes B m. We need to decide the desired spending in each of the remaining time sots, denoted as Ĉ(m+)... Ĉ(K) so that the tota budget can be spent out and the penaty is minimized. arg min Ω Ĉ (m+),...,ĉ(k) s.t. K t=m+ Ĉ (t) = B m (4)
Agorithm AdustWithoutPerformanceGoa Input: c (t ), r (t ), R Output: r (t) : if R == then : return r (t) = r (t ) 3: ese if R > then 4: for each ayer in (L,..., ) do 5: r (t) = min(., r (t ) 6: R = R c (t ) r(t) r (t ) c(t ) +R c (t ) r (t ) 7: end for 8: r (t) and r (t) 9: ese : for each ayer in (,..., L) do : r (t) = max(., r (t ) : R = R c (t ) 3: if R then 4: r (t) r(t) r (t ) ) c(t ) +R c (t ) r (t ) = tria rate if and r(t) 5: break 6: end if 7: end for 8: end if 9: return r (t) = (r (t),..., r(t) L ) ) > tria rate > tria rate in which if we adopt the definition of Ω as in equation, we have the foowing optima soution: Ĉ (t) = B (t) + Bm K t=m+ B(t) K m where t = m +,..., K. We omit the detais of how Ĉ(t) is derived because of page imit. In an onine environment, suppose the actua spending in the atest time sot is C (t ), we define R = Ĉ(t) C (t ) to be the residua which can hep us to make adustment decisions. Agorithm gives the detais of how the adustment is done. Suppose index L represents the highest priority, index refers to the owest priority, and et be the ast ayer with non-zero pacing rate (the principes in section 5. guarantee the existence of ). If R equas, no adustment is needed. If R >, which means deivery shoud speed up, pacing rates are adusted in a top-down fashion. Starting from ayer L, the pacing rate of each ayer is increased one-by-one unti ayer. Line 5 cacuates the desired pacing rate of the current ayer in order to offset R. We give ayer a tria rate to prepare for future speedups if ayer and its updated pacing rate r (t) > tria rate. Figure 3 gives an exampe of how the speedup adustment is done. If R <, which means deivery shoud sow-down, pacing rate of each ayer is decreased in a bottom-up fashion unti R is offset. Line derives the desired pacing rate of the current ayer to offset R. Suppose is the ast ayer adusted, and its new pacing rate r (t) > tria rate, we give ayer the tria rate to prepare for future speedups. Figure 4 is an exampe how deivery is sowed down. We note that this greedy strategy tries to approach the optima soution to Equation in an onine environment. Within each time sot, it strives to invest on inventories with (5) Figure 3: An exampe to speed up budget spending Figure 4: An exampe to sowdown budget spending the best performance under the tota budget and spending pan constraints. 5.. Campaigns with Performance Goas For campaigns with specific performance goas (e.g. ecpc $), pacing rate adustment is a bit compicated. It is difficut to foresee the ad request in a the future time sots and the response rate distribution can be time-varying. Therefore, given budget spending obectives, expoiting a the ad requests in current time sot that meet performance goa may not be an optima soution to Equation 3. Agorithm describes how the adustment is done for such kind of campaigns. We adopt the heuristic that a further adustment based on performance goa is appended to Agorithm. If the expected performance after Agorithm does not meet the performance goa, the pacing rates are reduced one-by-one from the ow priority ayers unti the expected performance meets the goa. Line 7 derives the desired pacing rate of current ayer to make the overa expected ecpc meet the goa. Function ExpPerf(c (t ), r (t ), r (t), e, i) in Line and 4 estimates the expected oint ecpc of ayers i,..., L if pacing rates are adusted from r (t ) to r (t), where e is the ecpc of ayer. ExpPerf(c (t ), r (t ), r (t), e, i) = L =i L =i c (t ) r (t) r (t ) c (t ) r (t) r (t ) e 5.3 Number of Layers, Initia and Tria Rates It is important to set proper number of ayers, initia and tria pacing rates. For a new ad campaign without any deivery data, we identify the most simiar existing ad campaigns in our DSP and estimate a proper goba pacing rate r G at which we expect the new campaign can spend out its budget. Then the number of ayers is set as L = r G. We note (6)
Agorithm AdustWithPerformanceGoa Input: c (t ), r (t ), R, e, goa Output: r (t) : r (t) =AdustWithoutPerformanceGoa(c (t ), r (t ), R) : if ExpPerf(c (t ), r (t ), r (t), e, ) > goa then 3: for each ayer in (,..., L) do 4: if ExpPerf(c (t ), r (t ), r (t), e, + ) > goa then 5: r (t) =. 6: ese 7: r (t) = r (t ) 8: if then 9: r (t) = tria rate : end if : break : end if 3: end for 4: end if 5: return r (t) = (r (t),..., r(t) L ) i=+,...,l c(t ) i ( goa ) e i c (t ) ( goa ) e that a moderate number of ayers is more desirabe than an excessive one for two reasons: ) the deivery statistics of each ayer is not significant if there are too many ayers; ) from the system perspective, excessive number of ayers may use up bandwidth and/or memory. Once the number of ayers is determined, we run the campaign at the goba pacing rate r G in the first time sot. We ca this step an initiaization phase in which the deivery data can be coected. We group equa amount of impressions into the desired number of ayers based on their predicted response rate to identify the ayer boundaries. In the next time sot, the pacing rate of each ayer is reassigned based on panned budget in the next time sot and high responding ayers wi have rates of. whie ow responding ones wi have rates of.. In the adustment agorithms, the direct successive ayer next to the ayer with non-zero pacing rate is assigned a tria pacing rate. The purpose is to coect deivery data in this ayer and prepare for future speedups. This tria rate is supposed to be quite ow. We derive such a rate by reserving a certain portion λ (e.g. λ = %) of budget to be spent in the next time sot. Let the tria ayer be the -th ayer and the budget for next time sot is Ĉ(t), reca that we have historica spending and pacing rate of this ayer from at east one time sot (the initiaization phase), the tria pacing rate is derived as tria rate = r ( ) λ Ĉ(t), where c ( ) c ( ) and r ( ) are the historica spending and pacing rate of the -th ayer. As a quick summary, we empoy a ayered presentation of a the ad requests based on their predicted response rate and execute budget pacing contro in the ayer eve to achieve deivery and performance goas. Both the spending in the current time sot and the remaining budget are considered to cacuate the ayered pacing rates in the next time sot. We aso tried the aternative to contro a threshod so that ony ad requests with predicted response rate above the threshod were bid. The outcome of such aternative, however, was not satisfactory. The main reason is that ad requests are usuay not smoothy distributed over response rate, and therefore it is difficut to reaize smooth contro with a singe threshod. 6. EXPERIMENTAL EVALUATIONS We conduct extensive experiments on both rea ad campaigns and offine simuations to evauate the effectiveness of our approach. Without further specification, the foowing setting is used throughout the experiments: the baseine approach is our approach with ony one ayer (i.e. using a goba pacing rate), the timespan and time sot interva are 4 hours and 5 minutes respectivey, the spending pan is even pacing, and the initia pacing rate and tria budget fraction in our approach are r G =. and λ = % respectivey. We ook at a the three aspects discussed throughout this paper: ) performance, ) budget spending, and 3) spending pattern. Since the vaue of the penaty Ω as defined in Equation is hard to interpret, we transform it into the foowing metric: AvgErr = ( B K ) Ω, which quantifies the reative deviation of the actua spending from the average panned spending per time sot, where K is the number of time sots and B is the tota budget. 6. Resuts from Rea Campaigns We pick up from our DSP system 3 campaigns for onine A/B test and another 4 campaigns for onine over-time test. A these 7 campaigns are CPM campaigns and two of them have specific ecpc goas. In the A/B test, we depoy 8 ayers of group pacing rates in our approach. Campaign, 3 are without performance goas whie campaign has an ecpc goa of $.5. Figure 5 shows the test resut for these campaigns. Our approach is surprisingy effective in boosting the performance. Compared to the baseine, the ecpc reductions are 7%, 67%, and 79% for the three campaigns respectivey. We note that for Campaign, the baseine soution fais to meet the ecpc goa. On the other hand, the tota spendings and spending patterns of our approach are as good as the baseine. The AvgErr comparisons of the baseine and our approach are 6.4% : 6.8%, 9.% : 9.%, and.% : 9.8% for the three campaigns respectivey. Campaign 3 has experienced spending fuctuations and we found there was another competing campaign went offine at time sot 5 so the win-rate of Campaign 3 surged. Our agorithm can recover very soon from the environment changes and continue to deiver smoothy. The resut of over-time test is summarized in Tabe. In this test, we run 4 campaigns for weeks with baseine soution in the first week and our approach with 3 ayers in the second week. Among the 4 campaigns, ony Campaign 4 has a specific ecpc goa of $7. Our approach successfuy reduces the ecpc of a the 4 campaigns. The most significant reduction amost comes to 5%. Our approach does not show significant ecpc reduction on Campaign 7 because its average pacing rate AvgP R is aready around.6 and there is not much room to improve its performance. We note that the baseine fais to achieve the ecpc goa of Campaign 4. In rea appications, compromising the performance goa may permanenty ose the advertiser, which shoud aways be avoided. From the deivery perspective, both the baseine and our approach manage to spend out the tota budget smoothy with ess than 3.9% deviation from the spending pan. 6. Offine Simuations We aso conduct extensive offine simuations to further assess the effectiveness of our approach. We randomy seect from our demand poo an ad campaign to generate the
Spending Baseine Spending SmartPacing ecpc Baseine ecpc SmartPacing Spending Baseine Spending SmartPacing ecpc Baseine ecpc SmartPacing Spending Baseine Spending SmartPacing ecpc Baseine ecpc SmartPacing 4 35 3 5 5 5 3 4 5 6 7 8 9 time sot (a) Campaign : budget:$3k, CPM:$.5, even pacing..7.6.5.4.3.. 5 45 4 35 3 5 5 5 3 4 5 6 7 8 9 time sot (b) Campaign : budget:$3.8k, CPM:$.9, even pacing, search retargeting, ecpc goa:$.5. 8 6 4 4 8 6 4 3 4 5 6 7 8 9 time sot (c) Campaign 3: budget:$k, CPM:$.5, even pacing, demographic targeting..4..8.6.4. Figure 5: Onine A/B test resut of 3 rea campaigns running on our DSP system (# ayers: 8). Campaign Setup Baseine (st week) Smart Pacing (nd week) ID Budget CPM ecpc goa Spending Omega AvgErr ecpc AvgPR Spending Omega AvgErr ecpc AvgPR ecpc reduction 4 $35K $3. $7. $35.K.43 5.6% $..4 $35.3K.7 5.7% $5.93.6-4.9% 5 $K $3. No goa $.4K. 5.9% $4.78.9 $.K.3 5.9% $7.5.7-49.9% 6 $K $3.35 No goa $.97K.89 3.9% $.56.7 $.K.79 3.4% $8.6.5-8.47% 7 $7.5K $3. No goa $7.37K 9.8.6% $9.9.59 $7.58K 9.9.8% $9..65-8.89% Tabe : Onine over-time test resut of 4 rea campaigns (# ayers: 3). 6 4.35.3 Ad request distribution Win rate distribution.8 # of ad requests 8 6 Fraction of ad requests.5..5..6.4 Win rate 4.5. 3 4 5 6 7 8 9 time sot (a) Ad request distribution over time sots.5..5..5.3.35 Predicted CTR (b) Ad request and win-rate distribution over predicted CTR Figure 6: Offine simuation setup: simuation data is coected from rea serving ogs of the DSP. simuation data. First, the eigibe ad request distribution over 4 hours is coected (Figure 6(a)). Second, the as we as the win-rate distribution over predicted CTR is coected (Figure 6(b)). We further assume the tota number of ad requests is,, and biing CPM is $5. The campaign may or may not have a specific ecpc goa. We are interested in how our approach performs when compared with the state-of-the-art budget pacing method proposed by Agarwa et a [3]. In their method, a goba pacing rate is dynamicay adusted by ±% every one minute to make the cumuative spending aign with the aocated budget. The budget aocation is based on forecasted cumuative. In our experiment, the pattern in Figure 6(a) is further granuized into one minute per time sot, and we use the average of previous seven days as the forecasted to determine budget aocation. Figure 7(a) shows the cumuative and aocated budget curves. Pease note that the budget spending pan here is not even pacing. Since their method does not consider performance, no ecpc goa is set. We use 8 ayers of pacing rates in our approach. From the resut shown in Figure 7(b), both approaches successfuy aign the cumuative spending curves to the aocation curve. A subte difference is that their spending curve has fuctuations around the aocation curve. If we ook at the AvgErr which captures the reative deviation in the per time sot eve, their approach gets a surprisingy high error of 96% whie our approach generates a much smaer error of 8%, which means our approach can produce smoother pacing resut even with very granuar time sots. From the contro theory perspective, their approach depends on a conventiona feedback controer whie our approach essentiay uses an adaptive controer whose parameters are adaptive to the spendings in the current time sot and panned budget in the next time sot. In the RTB environment, where the pant is compex and time-varying, an adaptive controer usuay performs better than a conventiona feedback controer [9]. Moreover, since our approach modes the quaity of the ad requests, it achieves a 7% ower ecpc compared to their approach. We continue to further study the behaviors of our method. When no ecpc goa is specified, we first fix the campaign budget at $, and vary the number of ayers. As we can
Aocated budget (cumuative spending pan) Ad request voume Aocation Spend SmartPacing Spend Agarwa et a ecpc SmartPacing ecpc Agarwa et a e+7 7 Cumuative Budget ($) 5 5 9e+6 8e+6 7e+6 6e+6 5e+6 4e+6 3e+6 e+6 e+6 Cumuative Cumuative spending ($) 5 5 6 5 4 3 4 6 8 4 time sot (a) Aocated budget v.s. ad request voume 4 6 8 4 time sot (b) Actua spendings and ecpcs comparison (ecpc is cacuated every 5 minutes to coect sufficient number of cicks) Figure 7: Comparison with state-of-the-art approach with arbitrary spending pan observe from Figure 8(a), the top obective to spend out budget as much and as smooth as possibe are a achieved except when the number of ayers is extremey arge (i.e. # ayers = 56). The reason is that an excessive number of ayers deays the ayer-by-ayer adustment to adapt to changes. The difference of ecpcs as shown in Figure 8(c) speaks of the advantage of our approach. When we increase the number of ayers, we have more discernabiity and fexibiity to cherry-pick high performing ad requests - especiay in those time sots when the ad request voume is high. Then we fix the number of ayers at 8 and vary the tota budget. As Figure 8(b) shows, when the budget keeps going up, there are reativey ess avaiabe suppy so that the budget spending pattern wi be more infuenced by ad request voume fuctuations. Another interesting observation is that the campaign performance is better when the budget is ess (Figure 8(d)). This is because a sma budget means our approach can cherry-pick the best performing ad requests without compromising the budget spending obectives. When a specific ecpc goa is specified, keeping ecpc beow this goa is the most important task. Our simuation resuts in this scenario are shown in Figure 9 when the ecpc goa is set to $.8. Pease note that whenever the pacing rate of every ayer is adusted to zero, which means the performance goa cannot be achieved based on our estimation, we reset the pacing rates of a the ayers so that ony the top priority ayer has a tria rate. Again, we first fix budget at $, and vary the number of ayers. Different from when no ecpc goa is set, we find that the spendings are extremey ow when there are ony or ayers (Figure 9(a)). Because in such cases, the ecpc goa can never be achieved and the pacing rates are kept being reset. It can be reconfirmed by ooking at Figure 9(c), in which ony when number of ayers is 4, 8, or 56 the average ecpc is beow $.8. When we fix the number of ayers at 8 and vary the budget, we aso observe different resuts from when there is no ecpc goa, e.g. Figure 9(b) shows quite different spending pattern from Figure 8(b). The reason is that to achieve ecpc goa, sometimes we need to sacrifice budget spending obectives - especiay when the is ow. This is even more apparent when the budget increases (Figure 9(d)). We note that it is desired and is exacty one of our contributions. 7. SYSTEM IMPLEMENTATION In a arge scae onine ad serving system, there are many infrastructure and impementation issues need to be addressed such as data consistency, service avaiabiity, and faut toerance, that are, however, out of the scope of this paper. In this section, we mainy focus on the foowing chaenges. rapid feedback of ayered statistics: as described in section 5, the pacing rate adustment is mainy based on the ayered deivery statistics. Therefore, how to coect the onine feedback data efficienty and reiaby becomes a maor impementation chaenge. Overspending prevention: overspending shoud aways be avoided since it undermines either the advertiser or the DSP s interest. Thus, a quick stop mechanism is necessary to prevent overspending. We address these chaenges by impementing a rea time feedback pipeine as we as an in-memory data source. As iustrated in Figure, impression serving boxes receive impression/cick events and produce deivery messages into the message queue. The in-memory data source consumes messages from the message queue and performs aggregations on top of these messages. Finay the controer refers to the in-memory data source to send quick stop notifications or adusted pacing rates to the bidders. 7. Rea Time Feedback Traditiona ad serving systems og events such as ad requests, bids, impressions, cicks to an offine data warehouse, and perform offine processing on top of it. However, the deay is too high to fit in our scenario. Therefore, buiding a separate pipeine to provide rea time feedback to onine serving system becomes an essentia requirement. We impement both message queue and remote procedure ca (RPC) in our system to transfer messages. Message queue is used to send deivery messages from impression serving boxes to in-memory data source whie RPC is used to send pacing rates and quick stop notifications to ad request bidders. Message queue works in asynchronous mode, which means producer and consumer are decouped and producer has no idea whether consumer has consumed the message or not. The asynchronous nature makes it easy to achieve high throughput and ow atency. RPC works in synchronous mode, which means caer wi get success or faiure responses from caee. Therefore, the motivation to
baseine # ayers: # ayers:4 # ayers:8 # ayers:56 budget:$ budget:$ budget:$3 budget:$4 budget:$5 3 6 7 6 5 4 6 4 5 8 6 5 4 3 8 6 5 4 4 3 4 5 6 7 8 9 time sot (a) Spendings over time with different # of ayers (Budget:$,. Budget spending pan is compromised when # of ayers is excessive.) 3 4 5 6 7 8 9 time sot (b) Spendings over time with different budget (# of ayers: 8) baseine # ayers: # ayers:4 # ayers:8 # ayers:56 budget:$ budget:$ budget:$3 budget:$4 budget:$5 3 6 6.5 4.8.6.4 4.5 8. 8.5 6 4.8.6.4 6 4 3 4 5 6 7 8 9 time sot. 3 4 5 6 7 8 9 time sot (c) ecpc over time with different # of ayers (Budget:$,) (d) ecpc over time with different budget (# of ayers: 8) Figure 8: Simuation resut on campaign without performance goa baseine # ayers: # ayers:4 # ayers:8 # ayers:56 budget:$ budget:$ budget:$3 budget:$4 budget:$5 3 6 8 6 5 5 5 4 8 6 4 7 6 5 4 3 4 8 6 4 3 4 5 6 7 8 9 time sot (a) Spendings over time with different # of ayers (Budget:$,) 3 4 5 6 7 8 9 time sot (b) Spendings over time with different budget (# of ayers: 8. Budget spending pan is sacrificed to meet the ecpc goa when voume is ow.) baseine # ayers: # ayers:4 # ayers:8 # ayers:56 budget:$ budget:$ budget:$3 budget:$4 budget:$5.8.6.4..8.6.4. 3 4 5 6 7 8 9 time sot 6 4 8 6 4 (c) ecpc over time with different # of ayers (Budget:$,. For baseine and # ayers=, we pot their overa ecpc since ony imited number of time sots have cicks).8.6 6 4.4. 8.8.6 6.4 4. 3 4 5 6 7 8 9 time sot (d) ecpc over time with different budget (# of ayers: 8) Figure 9: Simuation resut on campaign with performance goa ecpc $.8
Figure : The impementation architecture. impement both mechanisms is cear: to achieve extremey high throughput (typicay biions of impressions per day), impression serving boxes do not need to track whether the messages have been consumed as ong as there is no message ost. On the contrary, to make sure the pacing rates and quick stop messages are sent and appied to each bidder, the controer needs to get responses from a the bidders. Athough we have impemented a message queue to transfer deivery messages asynchronousy, the huge amount of deivery information requires some further designs. Batch processing and micro-aggregation are the two endeavors to further drive efficiency. At impression serving boxes side, a batch accumuates hundreds of deivery messages into a singe request over the wire to reduce network overhead and amortize transmission deay. This is especiay usefu for high atency inks such as those between data centers. At message queue side, a batch groups mutipe sma I/O operations into a singe one to improve efficiency. Another practice we have is aggregating the deivery messages under certain conditions without information oss, e.g. aggregating impressions of the same campaign with the same predicted response rate within a certain time period. 7. In-memory Data Source The in-memory data source stores the ayered deivery information of each campaign. The main chaenges of impementing such an in-memory storage are: ) how to avoid data oss in case of faiure, and ) how to contro memory usage. In order to address the potentia data oss probem in system faiures, we empoy a snapshot pus commit og approach. We observe that the message queue itsef can be a commit og as ong as it honors the order of message sequence. With the hep of message queue, we can easiy recover the state using the message sequence number and the snapshot data. We address the memory usage issue by aggregation. As described in section 5, the pacing rate adustment is based on the deivery information of the most recent time sot and therefore ony raw messages within configurabe recent time need to be stored. Historica data is stored in aggregated form to minimize the memory usage. 8. CONCLUSIONS We have presented a genera and principed approach as we as its impementation in a rea DSP system to perform smooth pacing contro and maximize the campaign performance simutaneousy. Experimenta resuts showed that, compared to state-of-the-art budget pacing method, our proposed approach can significanty boost the campaign performance and achieve smooth pacing goas. Our future work wi mainy focus on trying out different pacing schemes such as pacing based on performance with the hep of suppy and performance forecasting techniques, combining the proposed approach with other contro methods to make it more inteigent and robust, and studying the competitions and interactions among mutipe campaigns in pacing contro. 9. REFERENCES [] Z. Abrams, O. Mendeevitch, and J. Tomin. Optima deivery of sponsored search advertisements subect to budget constraints. In Proceedings of the 8th ACM conference on Eectronic commerce, pages 7 78. ACM, 7. [] D. Agarwa, R. Agrawa, and R. Khanna. Estimating rates of rare events with mutipe hierarchies through scaabe og-inear modes. ACM SIGKDD Conf. on Knowedge Discovery and Data Mining,. [3] D. Agarwa, S. Ghosh, K. Wei, and S. You. Budget pacing for targeted onine advertisements at inkedin. In Proceedings of the th ACM SIGKDD internationa conference on Knowedge discovery and data mining, pages 63 69. ACM, 4. [4] A. Bhagat, J. Fedman, and V. Mirrokni. Onine aocation of dispay ads with smooth deivery. ACM SIGKDD Conf. on Knowedge Discovery and Data Mining,. [5] A. Bhagat, N. Korua, H. Leontyev, M. Lin, and V. Mirrokni. Partner tiering in dispay advertising. The Eighth ACM Internationa Conference on Web Search and Data Mining, 4. [6] C. Borgs, J. Chayes, N. Immorica, K. Jain, O. Etesami, and M. Mahdian. Dynamics of bid optimization in onine advertisement auctions. In Proceedings of the 6th internationa conference on Word Wide Web, pages 53 54. ACM, 7. [7] O. Chapee, E. Manavogu, and R. Rosaes. Simpe and scaabe response prediction for dispay advertising. ACM Transactions on Inteigent Systems and Technoogy, 4. [8] Y. Chen, P. Berkhin, B. Anderson, and N. R. Devanur. Rea-time bidding agorithms for performance-based dispay ad aocation. ACM SIGKDD Conf. on Knowedge Discovery and Data Mining,. [9] I. Landau, R. Lozano, M. M Saad, and A. Karimi. Adaptive Contro: Agorithms, Anaysis and Appications. Communications and Contro Engineering. Springer,. [] K.-C. Lee, A. Jaai, and A. Dasdan. Rea time bid optimization with smooth budget deivery in onine advertising. The Seventh Internationa Workshop on Data Mining for Onine Advertising, 3. [] K.-C. Lee, B. Orten, A. Dasdan, and W. Li. Estimating conversion rate in dispay advertising from past performance data. ACM SIGKDD Conf. on Knowedge Discovery and Data Mining,. [] A. Mehta, A. Saberi, U. Vazirani, and V. Vazirani. Adwords and generaized onine matching. Journa of the ACM (JACM), 54(5):, 7. [3] W. Zhang, Y. Zhang, B. Gao, Y. Yu, X. Yuan, and T.-Y. Liu. Joint optimization of bid and budget aocation in sponsored search. ACM SIGKDD Conf. on Knowedge Discovery and Data Mining,.