OPERATIONS RESEARCH informs ® Vol. 59, No. 1, January–February 2011, pp. 1–16 issn 0030-364X eissn 1526-5463 11 5901 0001 doi 10.1287/opre.1100.0852 © 2011 INFORMS
OR PRACTICE Scheduling of Dynamic In-Game Advertising
John Turner The Paul Merage School of Business, University of California, Irvine, Irvine, California 92697, [email protected] Alan Scheller-Wolf, Sridhar Tayur Tepper School of Business, Carnegie Mellon University, Pittsburgh, Pennsylvania 15213 {[email protected], [email protected]}
Dynamic in-game advertising is a new form of advertising in which ads are served to video game consoles in real time over the Internet. We present a model for the in-game ad-scheduling problem faced by Massive Inc., a wholly owned subsidiary of Microsoft, and a leading global network provider of in-game ad space. Our model has two components: (1) a linear program (solved periodically) establishes target service rates, and (2) a real-time packing heuristic (run whenever a player enters a new level) tracks these service rates. We benchmark our model against Massive’s legacy algorithm: When tested on historical data, we observe (1) an 80%–87% reduction in make-good costs (depending on forecast accuracy), and (2) a shift in the age distribution of served ad space, leaving more premium inventory open for future sales. As a result of our work, Massive has increased the number of unique individuals that see each campaign by, on average, 26% per week and achieved 33% smoother campaign delivery as measured by standard deviation of hourly impressions served. Subject classifications: dynamic in-game advertising; video game advertising; display advertising; revenue management; linear programming; goal programming. Area of review: OR Practice. History: Received July 2008; revisions received March 2009, July 2009, December 2009; accepted February 2010. Published online in Articles in Advance February 8, 2011.
1. Introduction where ads are displayed. For this reason, and also because saturation competition Video games have incorporated static ads for decades: of additional constraints (such as , , and context, discussed below), scheduling in-game ads is for example, an old racing game may have a billboard significantly more complicated than scheduling banner ads.
to this article and distributed this copy asthat a courtesy toalways the author(s). displays the same Sunoco ad. Recently, how- The ad server is operated by a network provider, an inter- ever, technology and business relationships have matured mediary between game publishers and advertising agen- to allow Internet-enabled consoles (e.g., Xbox, PCs) to cies. We focus on the scheduling problem faced by Massive dynamically serve ads over time, creating an entirely new Inc., a wholly owned subsidiary of Microsoft and a leading ad market: Dynamic in-game ad technology allows in-game copyright global network provider. Game publishers allow Massive to billboards to display different ads to different players based sell and serve ads in their games, and consequently receive on their demographic, the time of day, the day of week, and a portion of the generated revenues; ad agencies buy ad holds possibly other parameters. The in-game advertising indus- campaigns directly from Massive. try is growing quickly; at present, revenues are projected The operational problem network providers like Massive to reach $800 million by 2012 (Cai 2007). face is how to schedule and serve ads to players over At the heart of an in-game ad system is the ad server: time so as to make the best use of their inventory of ad INFORMS Additional information, including rights and permission policies, is available atWhen http://journals.informs.org/. a player enters a new level of a game, his console space. Campaigns purchased by an ad agency specify a tar- connects to the ad server via the Internet and requests new get number of impressions (ads seen by gamers), a rough ad graphics for billboards, stadium walls, and other loca- schedule for serving these impressions over time, and also tions where ads are shown in the level. The ad server decides a desired mix (e.g., 60% in sports games, 40% in the rest of which ads to serve to this player, functioning like a Web the games). A campaign’s delivery may also be restricted server delivering banner ads. But, unlike on the Web, where to certain geographic areas and/or times of the day. In addi- a selected ad is almost certainly seen, it is common for tion, the network provider must also manage (1) satura- only a fraction of selected in-game ads to be seen. Billable tion: it is undesirable for a single player to simultaneously ad time is thus recorded only when, as part of game play, see many copies of the same campaign; (2) competition: the player navigates through the level and passes locations campaigns of two competing brands—e.g., Coke and
1 Turner, Scheller-Wolf, and Tayur: Scheduling of Dynamic In-Game Advertising 2 Operations Research 59(1), pp. 1–16, © 2011 INFORMS
Pepsi—should not be served to the same player; and (3) advertisers. In these models, the advertiser chooses among context: ads should not seem out of place within the advertising vehicles (e.g., newsprint, television, radio) to game—e.g., Coke ads belong on virtual soda machines, maximize some combination of reach (audience size), fre- Tide ads do not. quency, and campaign duration subject to a budget con- The size, scope, and complexity of Massive’s problem straint (see textbooks by Rossiter and Danaher 1998 and are such that even if there were no system uncertainty, Gensch 1973). One typical assumption is wearout (the optimization of their ad server would be difficult. But, effectiveness of an ad decreases as the number of expo- of course, uncertainty is present—there are three primary sures to the same person increases); papers in this line sources: (1) the acquisition of new games, (2) the sale of research include Thompson (1981) and Simon (1982), of new campaigns, and (3) error in inventory forecasts of which arrive at an optimal pulsing strategy of advertising ad space. This last factor, uncertainty in the amount of expenditure over time. Although some of these concepts are ad space, arises because the number of players, the types relevant, it is most instructive to compare our model with (demographics) of players, and the ad space that the play- those that take the perspective of a third party scheduling ers actually see during game play are not known when the many advertisers, such as models that plan TV commercials scheduling problem needs to be solved. Thus, campaigns and webpage banner ads. Structurally, in-game advertising sometimes fall short of their impression goals or deviate sits between TV and Web advertising: It has well-defined from the desired pattern of delivery; in that case, the net- contracts like TV, yet decisions are made at a very fine work provider offers the advertiser a make-good: the cam- granularity, as on the Web. paign is extended or the advertiser is offered a refund or TV Commercials. Advertisers purchase 60%–80% of credit for future use. the year’s ad space during a two- to three-week period in We present the first planning/scheduling model and algo- May called the up-front market; the remaining ad space rithm for dynamic in-game advertising. Our model has two is sold first-come-first-serve in the scatter market. In con- components: (1) a linear program called the Weekly Plan trast, in-game ads are sold throughout the year, so the divi- is solved periodically to establish target service rates, and sion between up-front and scatter markets is not profound. (2) a packing heuristic called the Real-Time Algorithm is Therefore, papers (e.g., Araman and Popescu 2010) that run whenever a player enters a new level, to serve impres- determine the optimal up-front versus scatter trade-off are sions in accordance with these service rates. Benchmarking not directly applicable. our model against Massive’s legacy algorithm using histor- Bollapragada et al. (2002) use goal programming to pro- ical data, we observe (1) an 80%–87% reduction in make- duce a sales plan for a single campaign that allocates com- good costs (depending on forecast accuracy), and (2) a shift mercial slots from TV shows such that the advertiser’s in the age distribution of served ad space, leaving more pre- preferences are honored as closely as possible. Inventory mium inventory open for future sales. Massive has begun a is booked for each advertiser in sequence, allowing each staged implementation of our model, and to date has bene- advertiser to request changes to their plan before it is fitted from a 26% average increase in the number of unique finalized. Audience size is assumed to be deterministic individuals that see each campaign each week, and 33% and there is no mention of make-goods allocation when to this article and distributed this copy assmoother a courtesy to the author(s). campaign delivery, as measured by standard devi- schedules are not executed as planned. This is a static up- ation of hourly impressions served. front market problem; in contrast, we consider the dynamic We proceed as follows: In §2, we review the literature problem in which new campaigns and games materialize on media planning and scheduling, and describe existing over a rolling horizon. Furthermore, our Real-Time Algo- copyright models for broadcast television and webpage banner ads. rithm is significantly different than the low-level ad-slotting We introduce the problem in §3, the Weekly Plan LP in §4, “ISCI Rotator” algorithms used for TV because in our case and the Real-Time Algorithm in §5. We benchmark our each viewer can be shown different ads. Finally, Zhang holds algorithm against Massive’s legacy algorithm in §6, and (2006) also solves the (static, deterministic, up-front mar- comment on our implementation learnings in §7. We con- ket) TV commercial scheduling problem, but in their case clude with comments and list future work in §8. they assume that client negotiations are minimal, allow- ing them to simultaneously schedule all campaigns via a INFORMS Additional information, including rights and permission policies, is available at http://journals.informs.org/. mixed-integer program. 2. Literature Review Web Advertising. The most common objective in Web To the best of our knowledge, ours is the first academic advertising is maximizing click-through (e.g., Chickering treatment of the scheduling of in-game advertisements. The and Heckerman 2003, Nakamura and Abe 2005), a con- process of dynamic in-game advertising is well documented cept that does not apply to in-game ads. However, some (Chambers 2005, Svahn 2005); however, operational prob- papers explore the essential dynamic trade-off: choosing lems, such as the scheduling problem we examine, have between serving the campaign with the highest bid versus not been studied. In the traditional media planning liter- the one farthest from achieving its contracted impression ature, the optimization problem is usually that of a sin- goal. Approaches include the online algorithm of Mehta gle advertiser and not of a network provider serving many et al. (2007) and the large LP solved by column generation Turner, Scheller-Wolf, and Tayur: Scheduling of Dynamic In-Game Advertising Operations Research 59(1), pp. 1–16, © 2011 INFORMS 3
by Abrams et al. (2007). Of these, Abrams et al. (2007) receives this revenue up-front when the campaign is nego- include promising computational results on historical data; tiated. Subsequent scheduling decisions affect Massive’s however, the authors note some challenges to implementing ability to deliver the campaign; thus penalty costs (make- the full-scale algorithm in practice. In addition to tailoring goods) may be incurred should campaign k not be delivered our focus to in-game advertising, our problem definition is as promised. Nonpaying campaigns include house ads, pub- more comprehensive than either of these papers: we solve lic service announcements (PSAs), and default graphics; a multiobjective problem with many practical constraints these do not generate any revenue, do not have minimum not present in Abrams et al. (2007) or Mehta et al. (2007) impression goals, and are served as “filler” when no paying (e.g., to spread impressions over time and across various campaigns can be served. ad spaces). Campaign Targeting—Audience Demographics and Context. Paying campaigns currently specify targeting con- 3. Definitions and Problem Statement straints along three dimensions: geography, time, and con- text; i.e., impressions must come from specific geographic Games, Zones, Inventory Elements, and Regions. regions, time slots, and inventory elements, respectively. A video game is subdivided into many zones, each having The geographic dimension is indexed by 300+ designated one or more inventory elements (the generic name given market area (DMA) codes that allow Massive to con- to in-game billboards and other locations where ads are strain service to metropolitan areas across the United States displayed). Typically, each level of a game is a separate and/or key areas in other parts of the world. There are zone. Within each zone, inventory elements are grouped 42 combinations of {Weekday, DayPart} tuples for the time into regions based on their spacial proximity; all inventory dimension, one for each of six DayParts (contiguous groups elements visible from the same vantage point are typically of hours, e.g., Prime Time = 7 p.m.–12 a.m.) in each of the in the same region. seven weekdays. Finally, there are 1 to 50 inventory ele- Requests, Arrivals, Game Instances, and Spots. When ment classes (IECs) per game that group inventory elements a gamer enters a new zone, his console sends a request by context (e.g., “all virtual soda machines”). By targeting to the ad server to select ad campaigns for all inventory specific games, geographic regions, and times, a campaign elements in the zone. From the ad server’s perspective, an can be tailored for specific audience demographics. In con- arrival of a gamer has just occurred. This arrival spawns a trast, IEC targeting ensures proper context by integrating game instance; the gamer will continue to see the ads that ads in realistic places: Coke ads, not Tide ads, belong on were selected by the ad server for this game instance until virtual soda machines. the gamer departs from this zone. Although some inventory Competition and Saturation. Within each game in- elements can only show one ad per game instance, others stance, (1) campaigns of competing brands (e.g., Coke and (e.g., an in-game Jumbotron) cycle through a sequence of Pepsi) cannot be shown, (2) each campaign can be served spot ads; we call each element of the sequence an ad . in at most z spots, and (3) when a campaign is served in Adtime. An inventory element in one game instance multiple spots, the spots should preferably be in different
provides adtime equal to the total amount of time—not regions. The quantity z is called the saturation cap and is to this article and distributed this copy asnecessarily a courtesy to the author(s). contiguous—that the inventory element appears typically between a quarter to half the number of inventory on-screen. Adtime can be aggregated over multiple inven- elements in zone z. tory elements and over multiple game instances; thus, we Campaign Delivery Quality. In addition to a cam-
can consider quantities such as the expected adtime of Zone paign’s aggregate impression goal qk, the advertiser usually 3 of Game A on Monday. copyright specifies other impression goals either explicitly or implic- Impressions. We measure billable adtime in impressions. itly. These include mix requirements (e.g., at least 40% of Massive defines an impression as 10 seconds of time—not impressions should come from sports games) and deliv- holds necessarily contiguous—in which a gamer sees the same ery schedules (e.g., uniformly spread delivery over time, or ad campaign on-screen, possibly across multiple inventory deliver more impressions the week before a new product elements in the same game instance. For example, given launch). Mix requirements are modeled with an impression
a zone with two single-spot inventory elements, if these goal q I k for certain groups of games I that campaign INFORMS Additional information, including rights and permission policies, is available atelements http://journals.informs.org/. log 7 and 8 seconds of adtime, respectively, in k desires; we call I a MixComponent. Delivery schedules t one game instance, then either: (1) the same campaign was can include weekly impression goals qk and, if needed, + = t served in both inventory elements, so 7 8 /10 1 weekly impression goals for each MixComponent q I k .It impression is counted toward that campaign’s impression is usually also important to serve each campaign impres- goal; or (2) different campaigns were served in these inven- sions from many different games because part of the value tory elements, and no impressions are counted for either of contracting with a network provider such as Massive campaign ( 7/10 = 8/10 =0). is derived from obtaining access to advertising space in a Paying and Nonpaying Campaigns. Paying campaigns breadth of games from different publishers.
specify an impression goal of qk and a unit price of pk, Publisher Concerns. Because game publishers receive a × providing revenue of pk qk. We can assume that Massive portion of the revenues generated by the impressions served Turner, Scheller-Wolf, and Tayur: Scheduling of Dynamic In-Game Advertising 4 Operations Research 59(1), pp. 1–16, © 2011 INFORMS t t t t t in their games, the network provider must attempt to sched- • s = s¯ ∈ b ∈ b ∈ ∈ b = ik i d Dk id w Wk iw z Zi e Ezk ie ule ads across games to avoid negatively affecting the rev- estimated number of impressions provided by game i in enue stream of a particular publisher. week t that match the targeting requirements of cam- Supply. Inventory is not games, or zones, or inventory paign k; and t t t t t elements, but rather eyeballs: the total inventory available • sˆ = s¯ ∈ b ∈ b ∈ ∈ b = ik i d Dk id w Wk iw z Zi e Ezk ie to fulfill a campaign is the number of impressions generated estimated number of nonsaturated impressions provided by by gamers that match that campaign’s targeting. We use game i in week t that match the targeting requirements of point forecasts of supply in our Weekly Plan LP, which are campaign k. computed from the following point estimates of adtime: Demand. The demand for ad space arises from ad agen- • ¯t = ∈ si expected adtime of game i, week t; cies purchasing campaigns. For each week t T of the • ¯t = sid expected adtime of game i, week t, DMA d; planning horizon, Massive uses a proprietary method to • ¯t = sie expected adtime of game i, week t, inventory estimate the distributions of aggregate demand-to-come element e; and for three groups of games: premium, middle, and dis- • ¯t = siw expected adtime of game i, week t, {Week- count tiers. day, DayPart} w. Tightness of Capacity—Sell-Through. We first define: • = Defining the set of zones in game i as Zi, the set ae adtime of inventory element e in the game of inventory elements in zone z as Ez, and the sets instance started by arrival a (measured ex post); • t t = of all DMAs and all {Weekday, DayPart} tuples as D Az Azk sets of arrivals for zone z in week t, and for and W , respectively, we compute “breakouts”—proportions zone z in week t that match the targeting of campaign k, of adtime that come from a single inventory element, DMA, respectively; • = or {Weekday, DayPart}: Kae set of campaigns with targeting that matches • t =¯t ¯t = bid sid/ d ∈D sid proportion of game i, week t’s both arrival a and inventory element e; and • = adtime that comes from DMA d; Ik set of games that match the targeting of cam- t t t • b =¯s / ∈ ∈ s¯ = proportion of game i, week ie ie z Zi e Ez ie paign k. t = t’s adtime that comes from inventory element e; and Then, k i∈I z∈Z a∈At e∈E ae is the number • t =¯t ¯t = k i zk zk biw siw w ∈W siw proportion of game i, week t’s of impressions counted ex post in week t that could have adtime that comes from {Weekday, DayPart} w. been used by campaign k (assuming we disregard competi- We use these breakouts to generate estimates of supply tion and saturation constraints). The sell-through of inven- that are used by the Weekly Plan LP. This final step requires tory element e in the game instance started by arrival a = t t the additional notation: in week t is ae k∈K qk/ k , the proportion of inven- • = ae Ezk set of inventory elements in zone z that matches tory element e in arrival a that would have been allocated the targeting of campaign k; to paying campaigns if each campaign were served at the • = Dk Wk sets of DMAs and {Weekday, DayPart} same rate across the entire inventory space it targeted. The
tuples that match the targeting of campaign k, respectively; population mean and population standard deviation • = Pe set of spots in inventory element e; describe sell-through over aggregated blocks of inventory;
to this article and distributed this copy as a courtesy• to the author(s). = se expected adtime of inventory element e in one for example, the network sell-through over the planning game instance; horizon (i.e., computed over all games and weeks T ) has • p = = ∈ s e se/ Pe expected adtime of any spot p Pe, mean, second moment, and standard deviation: assuming each spot of Pe is equally likely to be on- ∈ ∈ ∈ ∈ t ∈ copyright screen; and t T i z Z a A e E ae ae = i z z • ∈ = 0 1 a factor that approximates the conver- ∈ ∈ ∈ ∈ t ∈ t T i z Zi a A e Ez ae sion ratio between adtime and impressions. We assume that z 2 holds ∈ ∈ ∈ ∈ t ∈ when measuring aggregate supply over many inventory ele- = t T i z Zi a Az e Ez ae ae 2 ments and/or large periods of time, adtime and impressions ∈ ∈ ∈ ∈ t ∈ t T i z Zi a Az e Ez ae are approximately equal modulo this scaling constant. Note = − 2 that if adtime was not rounded down to compute billable 2 INFORMS Additional information, including rights and permission policies, is available atimpressions, http://journals.informs.org/. then = 1. We used = 0 9, which was consistent with the aggregate amount of rounding down in Legacy Algorithm. Massive’s existing scheduling our data set. algorithm—the legacy algorithm—uses a single impression p Labeling the inventory elements of Ezk such that s 1 goal qk for each campaign and assumes that impressions p ··· p = s 2 s Ezk , we define Ezk 1 z as the should be spread uniformly across all weeks (i.e., it does set of the “largest” z inventory elements in zone z that not support delivery schedules that ramp up impressions the match the targeting of campaign k. Finally, we compute the week before a product launch). When a new arrival spawns supply estimates for the Weekly Plan LP: a game instance, the legacy algorithm checks whether each • t = ¯t = si si estimated number of impressions provided campaign k is ahead or behind schedule and adjusts the ser- by game i in week t; vice rates accordingly. Because the legacy algorithm serves Turner, Scheller-Wolf, and Tayur: Scheduling of Dynamic In-Game Advertising Operations Research 59(1), pp. 1–16, © 2011 INFORMS 5
campaign k at the same rate in each game i that its tar- Figure 1. The Weekly Plan LP. geting matches, it is usually good at spreading impressions − − t − − t max kyk kyk ky I k ky I k ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ across MixComponents, providing impressions in a broad k K k K t Tk k K I k k K I k t Tk set of games, and satisfying publisher concerns. The most − t − t + t ˙ t kv I k izi I m w I m ∈ ∈ ∈ ∈ ∈ ∈ ∈ = systematic shortcoming of the legacy algorithm is that it k K I k t Tk t T i I t T m 1 n is myopic; because it does not use supply estimates, it is + s.t. x˙ + y = q − a ∀ k ∈ K 1 unable to proactively increase the service rate of a cam- k k k k t − t t t + t ∀ ∈ ∀ ∈ paign if shortages are anticipated later. lk yk xk uk yk t Tk k K 2 − ∀ ∈ ∀ ∈ l I k y I k x I k I k k K 3 4. Weekly Plan LP t − t t ∀ ∈ ∈ ∀ ∈ l I k y I k x I k I k t Tk k K 4 We periodically solve a linear program called the Weekly t t − t t t t + t t sik I k v I k xik sik I k v I k Plan to get xik, the number of impressions allocated to ∀ ∈ ∀ ∈ ∈ ∀ ∈ campaign k from game i in week t. We update the target i I I k t Tk k K 5 t t t service rates = x /s whenever the Weekly Plan is re- t + t t ∀ ∈ ∈ ik ik ik pkxik zi ri t T i 6 solved; the Real-Time Algorithm (see §5) uses these rates k∈K to select specific campaigns for the inventory elements of ˙t +˙t =˙t ∀ ∈ ∈ xi wi si t T i 7 a given game instance. x˙t sˆ˙t ∀ i ∈ I t∈ T ∀ k ∈ K 8 The Weekly Plan is similar to the goal program of ik ik k k t −˙t = t ∀ ∈ ∈ ∀ ∈ Bollapragada et al. (2002), which is used to generate TV xik xik aik i Ik t Tk k K 9 ad sales plans at NBC. Both formulations have an objec- ˙ t ˙ t ∀ ∈ = − ∈ w I m I m I m 1 n 1 t T 10 tive that reserves premium inventory for future sales while ˙ t − ˙ t = ∀ ∈ ∈ minimizing penalty costs for relaxing the many goal con- w I m wi 0 I t T 11 m=1 n i∈I straints. The NBC sales plan has mix constraints and ˙ − ˙t = ∀ ∈ weekly weighting constraints, which take a client’s goal xk xik 0 k K 12 i∈I t∈T x = q (# of commercial slots assigned from this subset k k −˙ = ∀ ∈ of inventory = target) and relaxes it to l − y x u + y, xk xk ak k K 13 where y 0 is a slack variable penalized in the objec- t − t = ∀ ∈ ∀ ∈ xk xik 0 t Tk k K 14 ∈ tive and l u are lower and upper bounds. We follow the i Ik same construction; however, our mix constraints specify an − ˙t = ∀ ∈ ∀ ∈ x I k xik a I k I k k K 15 ∈ ∈ impression goal q I k for MixComponent I (which is a i I t Tk group of games), whereas at NBC the mix targets are for a t − t = ∀ ∈ ∈ ∀ ∈ x I k xik 0 I k t Tk k K 16 single TV show. We also add a weekly mix constraint based i∈I t on the target q , a constraint that spreads impressions ˙t − ˙t = ∀ ∈ ∈ I k xi xik 0 t T i 17 across all games within a MixComponent, and a constraint k∈K
to this article and distributed this copy asthat a courtesy toensures the author(s). that each game is assigned a minimum dollar v w x y z 0 for all forms of these variables 18 value in revenue. The NBC sales plan bounds the number of slots allocated to a given {Show, Week}, which partially The constant a denotes all impressions of x achieved up enforces saturation and competition constraints; saturation to the present, and x˙ denotes all impressions of x planned is then handled by a heuristic they call the ISCI Rotator, = +˙ copyright into the future. Hence, x a x. Similarly, dots on other which spreads commercials of the same campaign apart constants and variables indicate quantities for the remain- chronologically. We follow a similar approach by includ- der of the relevant time interval. holds t ing bounds on xik that partially enforce the saturation cap, Constraints (1) through (5) are goal-type constraints and defer the consideration of competition and saturation that model campaign contract requirements that may be to the Real-Time Algorithm. Finally, we note that NBC’s relaxed and penalized in the objective: Constraint (1) goal program is an integer program (as discrete commercial (end-of-horizon impression goal) makes sure that for each INFORMS Additional information, including rights and permission policies, is available atslots http://journals.informs.org/. are allocated) that generates a sales plan for a sin- campaign k, the number of impressions planned in the ˙ gle campaign, whereas we allocate impressions for many remainder of the horizon xk, plus the planned shortfall yk, campaigns simultaneously using a linear program. must equal the remaining end-of-horizon impression goal − + The Weekly Plan LP appears in Figure 1. For com- qk ak ; constraint (2) (weekly impression goals) t pactness, some quantities are shown with lower and upper ensures that the number of planned impressions xk is t t bounds within the same constraint; hence, slack variables between the bounds lk and uk for each campaign k and exist on both sides of some constraints. The variables are week t; constraint (3) (end-of-horizon mix target) ensures