• No results found

Ad Slotting and Pricing: New Media Planning Models for New Media

N/A
N/A
Protected

Academic year: 2021

Share "Ad Slotting and Pricing: New Media Planning Models for New Media"

Copied!
132
0
0

Loading.... (view fulltext now)

Full text

(1)

New Media Planning Models for New Media

by

JOHN TURNER

Submitted to the Tepper School of Business

in Partial Fulfillment of the Requirements for the Degree of

DOCTOR OF PHILOSOPHY

at

CARNEGIE MELLON UNIVERSITY

23 April 2010

Dissertation Committee: Professor Sridhar Tayur (chair)

Professor Alan Scheller-Wolf Professor Mike Trick

Assistant Professor Mustafa Akan Assistant Professor Kinshuk Jerath

(2)

Abstract

This thesis focuses on the planning, scheduling, and pricing of ad slots in technology-enabled modes

of advertising, including webpage banner ads, video games, electronic outdoor billboards, and the

next generation of digital TV. This work contributes to practice by being the first academic work to

rigorously study the scheduling of dynamic in-game advertising; contributes to the body of theory by

formally studying the aggregation of audience segments using duality theory; generates managerial

insights for directing pricing strategy; and makes numerous modeling contributions, hence the title:

New Media Planning Models for New Media. A synopsis of the three main chapters follows.

Chapter 1: “Scheduling of Dynamic In-Game Advertising”

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.

(3)

Chapter 2: “Planning of Guaranteed Targeted Display Advertising”

As targeted advertising becomes predominant across a wide variety of media vehicles, planning

models become increasingly important to ad networks that need to match ads to appropriate

audi-ence segments, provide a high quality of service (meet advertisers’ goals), and ensure opportunities

to serve advertising are not wasted. I define Guaranteed Targeted Display Advertising (GTDA)

as a class of media vehicles that include webpage banner ads, video games, electronic outdoor

bill-boards, and the next generation of digital television, and formulate the GTDA planning problem

as a transportation problem with quadratic objective. By modeling audience uncertainty, forecast

errors, and the ad server’s execution of the plan, I derive sufficient conditions for when a specific

quadratic objective is a good surrogate for several ad delivery performance metrics. Moreover, the

quadratic objective allows the construction of duality-based bounds for evaluating aggregations of

the audience space, leading to two efficient algorithms for solving large problems: the first

intel-ligently refines the audience space into successively smaller blocks, and the second uses scaling to

find a feasible solution given a fixed audience space partition. A little bit of disaggregation goes a

long way: near-optimal schedules can often be produced despite significant aggregation.

Chapter 3: “Pricing of Guaranteed Targeted Display Advertising”

This chapter focuses on the bundling and pricing of targeted audience segments when delivery

of impressions is guaranteed. Fundamental components of the GTDA pricing problem are

mod-eled: the cost of guaranteeing delivery, advertisers’ spending targets, capacity constraints, and

advertisers’ heterogeneous preferences. We study the pricing problem from the perspective of a

single monopolistic firm selling advertising space from two audience segments to two heterogeneous

advertisers. The key bundling and pricing question is whether the seller should always agree to

sell any bundle of inventory that an advertiser requests, or steer advertisers toward purchasing

broader bundles of ad inventory in order to accommodate capacity-related costs. In this context,

we study two models. The first assumes that advertisers will buy as much advertising as they can

afford, while the second assumes each advertiser purchases an amount of advertising equal to their

spending target. We characterize the space of optimal solutions in each and provide managerial

(4)

Table of Contents

1 Dynamic In-Game Advertising 12

1.1 Introduction . . . 12

1.2 Literature Review . . . 14

1.3 Definitions and Problem Statement . . . 16

1.4 Weekly Plan LP . . . 21

1.4.1 The Objective Function . . . 24

1.5 Real-time Algorithm . . . 27

1.5.1 Stage 1: Adjust Service Rates for the Current Game Instance . . . 28

1.5.2 Stage 2: Assign Campaigns to Inventory Elements . . . 28

1.5.3 Properties of the Solution . . . 31

1.6 Experimental Findings . . . 31

1.6.1 Primary Benefit . . . 31

1.6.2 Stability of our Algorithm . . . 33

1.6.3 Performance under Higher Sell-through and Tighter Targeting . . . 34

1.7 Implementation and Learnings . . . 36

1.7.1 Implementation . . . 36 1.7.2 Learnings . . . 39 1.8 Conclusions . . . 40 2 GTDA 43 2.1 Introduction . . . 43 2.2 Literature Review . . . 45 2.3 The Model . . . 46

2.3.1 Definitions and Notation . . . 46

(5)

2.3.2 Motivating the Quadratic Objective . . . 50

2.3.3 Model of Audience Uncertainty . . . 51

2.3.4 Model of Ad Server Execution . . . 52

2.4 Performance Metrics . . . 53

2.4.1 Reach . . . 54

2.4.2 Variance . . . 55

2.5 Model-Based Results . . . 57

2.5.1 Visualizing The Important Functions . . . 58

2.5.2 Deriving Sufficient Conditions for the Optimality of Reach and Variance . . . 58

2.5.3 Interpreting the Conditions that Imply Optimality of Reach and Variance . . 60

2.5.4 Sensitivity to the Number of Ad Slots . . . 61

2.5.5 Sensitivity to the Ad Server’s Execution Algorithm . . . 62

2.6 Aggregation . . . 62

2.6.1 Notation and Definitions . . . 63

2.6.2 Solution Approaches . . . 67 2.6.3 Computational Results . . . 72 2.7 Conclusions . . . 74 3 Pricing GTDA 76 3.1 Introduction . . . 76 3.2 Literature Review . . . 77 3.3 Model Setting . . . 79 3.3.1 Notation . . . 79 3.3.2 Delivery Costs . . . 80

3.3.3 Advertisers’ Utility Functions . . . 81

3.4 The Perfect Information Scenario Without Spending Targets . . . 83

3.5 The Perfect Information Scenario with Spending Targets . . . 86

(6)

A.1 Example: Valuing Unplanned Inventory Over a Discrete Demand Distribution . . . . 93

A.2 Real-time Algorithm Example . . . 95

A.2.1 Computing the Service Rates . . . 95

A.2.2 Assigning Campaigns to Inventory Elements . . . 97

A.3 Generation of Forecasts . . . 103

B GTDA Supplement 107 B.1 Derivations for Example 2.3.2 . . . 107

B.2 Derivations for the Mean and Variance ofXvk . . . 109

B.3 Optimality Results for the Equal-Proportion Allocation . . . 111

B.4 Quadratic Transportation Problem Duality . . . 114

B.5 GTDA Aggregation Theory Proofs . . . 116

B.5.1 Proof of Theorem 2.6.1 . . . 116

B.5.2 Proof of Theorem 2.6.2 . . . 117

B.6 Test of the Poisson Arrivals Assumption for Dynamic In-Game Advertising . . . 118

C GTDA Pricing Supplement 120 C.1 KKT Conditions for the Scenario with Spending Targets . . . 120

C.1.1 KKT Conditions for Region A . . . 122

C.1.2 KKT Conditions for Region B . . . 124

C.1.3 KKT Conditions for Region C . . . 125

(7)

List of Figures

1.1 The Weekly Plan LP . . . 23 1.2 Performance of our algorithm compared to the legacy algorithm for different levels

of forecast error α. The legacy algorithm does not use forecast data. . . 33 1.3 The tier distribution of impressions served (top left) and age distributions of

im-pressions served for each tier, for the legacy algorithm and our proposed algorithm (usingα= 0.2). . . 34 1.4 The progress of the Real-time Algorithm (labelled “actual”) plotted over time for

the largest campaign in the system. The forecast error parameter is the most con-servative (α= 0.2). In (a) the goal is the end-of-campaign impression goal; in (b) we show the end-of-week impression goal and the number of impressions planned this week by the Weekly Plan LP. . . 35 1.5 Performance of all 6 high-load test cases + status quo. Subfigures are (a) top left,

(b) top right, (c) bottom left, and (d) bottom right (vertical scale omitted for confi-dentiality). . . 37

2.1 Important functions of the proportionp≡pvk of viewer typevallocated to campaign

k. . . 58 2.2 When all conditions with a check mark in a given column hold, any solution to (P P)

is optimal with respect to that column’s objective. . . 60 2.3 Total expected reach as a function ofp1k for varying numbers of ad slotsn. . . 61 2.4 Total stochastic variance as a function of p1k for varying numbers of ad slotsn. . . . 61 2.5 Viewer type and inventory block partitions. . . 64 2.6 The six test cases. In cases marked∗, reservation proportions for each campaign were

drawn from {40%, 90%, and 100%}with probabilities 0.6, 0.3, and 0.1, respectively. Globally tight cases have high sell-through, while locally tight cases have both high sell-through and low targeting percentage. . . 72 2.7 Performance ofRefinePartitionAndSolveand GetCloseAndScaleUpon the

“Large, Locally Tight” test case. . . 74

(8)

onds) to achieve (A) 90%, (B) 99%, and (C) 99.9% feasibility; (D) = # of Refine (Iterations, Blocks, Seconds) to achieve 100% scaling success; (E-F) = # of Refine (Iterations, Blocks, Seconds) and # of Scaling (Iterations, Seconds) to get within (E) 1%, (F) 0.1% of proven optimality; (G-H) = # of Refine (Iterations, Blocks, Seconds) and # of Scaling (Iterations, Seconds) to get within (G) 1%, (H) 0.1% of

measured optimality. . . 75

3.1 Regions of interest in (a, b)-space. Parameters are fixed at c0 = 0.1, k1 = 1000, k2= 1500, and rg=rn= 100. Region C extends to infinity. . . 88

3.2 Sensitivity to changing audience sizes and spending targets. Fixed parameters are c0 = 0.1,rg =rn= 100. . . 88

A.1 Revenue Function . . . 94

A.2 Three Revenue Functions . . . 95

A.3 Expected Revenue Function . . . 96

A.4 Before Randomized Rounding: The gray spots have been assigned fractionally and need to be placed in only one of the buckets to which they are currently assigned. . . 102

A.5 After Randomized Rounding: Buckets 2, 3, and 4 are overfilled (the dotted lines are the bucket fill lines) while bucket 1 is underfilled (the dotted area is the remaining space in bucket 1). . . 102

A.6 Campaign Buckets: One bucket is created for each campaign. . . 102

A.7 Generating Random Errors: In (a) we plot the mean-reverting process µij forα = 0.04 (∆ = 0.0133, ϕ= 0.9428). In (b) we plot the processEijt forj= 14,µij =−0.05, α = 0.04 (σ = 0.08). Notice Eijt stochastically approaches 1 as time passes and h=j−tdecreases. . . 106

(9)

List of Tables

1.1 Notation for Weekly Plan LP . . . 41 1.2 Notation for Real-time Algorithm . . . 42

1.3 Test Cases for Tight Supply Constraint Tests . . . 42

3.1 Optimal solution characterization for the scenario with spending targets. See Ap-pendix C.1 for derivations. . . 87

A.1 Test Cases for Forecast Accuracy Tests . . . 106

(10)

Introduction

Advertising is at its core a creative endeavor: marketers are always looking for new and exciting

ways to catch peoples’ attention. When Massive, Inc., debuted its dynamic in-game advertising

network in 2002, marketers latched onto the idea that branded imagery could be dynamically

inserted into video games. Not only did Massive provide marketers with a new channel for reaching

the young male demographic that was watching less and less television, but the ads themselves

made the games more realistic: sports games, for example, could display Nike ads on a Jumbotron,

featuring a new model of sneakers just introduced in stores.

There have been many advances in IT infrastructure this past decade, which have sparked the

growth of new media, and are continuing to enable new and richer forms of advertising. In addition

to introducing dynamic ads for video games, the industry has been engaged in developing targeted

commercials for digital TV, dynamic product placement for TV shows, and intelligent electronic

billboards. All hold promise and are significant. For example, a company called Visible World

is currently running a pilot project for targeted TV commercials that includes over half a million

people in the New Jersey / New York area; their technology allows two households watching the

same TV show on the same air date to see different commercials, breaking the broadcast paradigm.

Their technology is poised to roll out quickly, since according to the company, no new technology is

required in the households of viewers beyond a regular digital set-top box (WARC Newswire 2009).

Meanwhile, another start-up called Zunavision (Ivanhoe Newswire 2009) is tackling the problem

that personal video recorders (e.g., Tivo) pose: how to continue to advertise on TV despite the

existence of devices which allow consumers to skip commercials. For Zunavision, the answer is

dynamic 3D product placement: superimposing computer-generated logos and other graphics on

top of live video, so that the ads appear in the show itself. And finally, Microsoft and Intel have

(11)

recently announced a partnership to begin work on an electronic billboard which will include facial

recognition technology not unlike that found in the auto-focus systems of digital cameras to infer

the age and gender of viewers so that relevant ads can be shown and exposures can be tallied by

targeted audience segment (WARC Newswire 2010).

Although these technologies are varied, and undoubtedly have their unique challenges, they

share some key properties which allow planning, scheduling, and pricing to be done in a common

way; namely, impressions (exposures, or page views) are the advertising product, targeting control

restricts the display of ads to specific audience segments, it is technologically feasible to accurately

count impressions served, and the total number of impressions to be served over a set period of

time is guaranteed by the seller of the ad space. This thesis focuses on the planning, scheduling,

and pricing of ad slots in such technology-enabled modes of advertising, which I call Guaranteed

Targeted Display Advertising (GTDA).

There are three main chapters, which are self-contained and stand on their own, yet are

inter-related and share some concepts. The first, “Scheduling of Dynamic In-Game Advertising,”

de-scribes a hierarchical ad scheduling system developed in conjunction with Massive, Inc., for the

scheduling of dynamic ads in video games. The term “dynamic in-game advertising” refers to a

new form of advertising in which ads are served to video game consoles over the Internet. Unlike

older video games that have static ads, today’s video gamesdynamically update branded graphics,

so that one gamer playing a racing game may see a Shell gas station where another sees Exxon.

This new high-tech way of branding video game content simultaneously enhances video game

real-ism while creating a new market for ad space that can be sold long after the physical boxed game

is purchased by the consumer.

The second chapter, “Planning of Guaranteed Targeted Display Advertising”, abstracts the

crucial structural properties from the linear program component of the first chapter, yielding a

single-period ad planning problem that can be modeled as a transportation problem with quadratic

objective. Whereas the first chapter describes in detail the scheduling of dynamic in-game

advertis-ing in practice, the focus of this chapter is to derive structural results for a larger class of advertisadvertis-ing

– Guaranteed Targeted Display Advertising – which includes dynamic in-game advertising, webpage

(12)

that the common industry practice of spreading impressions proportionally across viewer types is

usually optimal with respect to 1) minimizing variance in the number of impressions delivered, and

2) maximizing the number of unique viewers that see each ad. As well, I classify the cases in which

proportional spreading is suboptimal, so that managers can understand where current practice is

suboptimal, and why. Moreover, this chapter describes how large quadratic transportation

prob-lems which naturally arise in this problem setting can be solved by approximating the instance by

a more aggregate representation (i.e. by clustering some source nodes). Duality-based bounds on

the optimality gap of the proposed aggregation algorithm are presented.

Finally, in the last chapter, “Pricing of Guaranteed Targeted Display Advertising”, we study the

problem of bundling and pricing ad space for Guaranteed Targeted Display Advertising. Our

mo-tivation is to generate managerial insights, and so we study a two-audience-segment two-advertiser

model in a monopolistic framework. The models build on assumptions made in earlier chapters

while abstracting most of the details. We characterize the optimal solutions for two models: one

where advertisers buy as much advertising as they can get for a reasonable price, and another where

(13)

Scheduling of Dynamic In-Game

Advertising

1

1.1

Introduction

Video games have incorporated static ads for decades: for example, an old racing game may

have a billboard that always displays the same Sunoco ad. But recently, technology and business

relationships have matured to allow Internet-enabled consoles (e.g., Xbox, PC’s) to dynamically

serve ads over time, creating an entirely new ad market: Dynamic in-game ad technology allows

in-game billboards to display different ads to different players based on their demographic, the

time-of-day, the day-of-week, and possibly other parameters. The in-game advertising industry is

growing quickly; at present, revenues are projected to reach $800 million by 2012 (Cai 2007).

At the heart of an in-game ad system is the ad server: When a player enters a new level of a game, his console connects to the ad server via the Internet and requests new ad graphics for

billboards, stadium walls, and other locations where ads are shown in the level. The ad server

decides which ads to serve to this player, functioning like a web server delivering banner ads. But,

unlike on the web, where a selected ad is almost certainly seen, it is common for only a fraction

of selected in-game ads to be seen. Billable ad time is thus recorded only when, as part of game

1

This chapter is a forthcoming article in the journalOperations Researchwith co-authors Alan Scheller-Wolf and Sridhar Tayur.

(14)

play, the player navigates through the level and passes locations where ads are displayed. For this

reason, and also because of additional constraints (such assaturation,competition, andcontext, discussed below), scheduling in-game ads is significantly more complicated than scheduling banner

ads.

The ad server is operated by a network provider, an intermediary between game publishers and

advertising agencies. We focus on the scheduling problem faced by Massive Inc., a wholly-owned

subsidiary of Microsoft and a leading global network provider. Game publishers allow Massive to

sell and serve ads in their games, and consequently receive a portion of the generated revenues; ad

agencies buy ad campaigns directly from Massive.

The operational problem network providers like Massive face is how to schedule and serve ads

to players over time so as to make the best use of their inventory of ad space. Campaigns purchased

by an ad agency specify a target number of impressions (ads seen by gamers), a rough schedule for serving these impressions over time, and also a desired mix (e.g., 60% in sports games, 40% in

the rest of the games). A campaign’s delivery may also be restricted to certain geographic areas

and/or times of the day. In addition, the network provider must also manage 1) saturation: it is undesirable for a single player to simultaneously see many copies of the same campaign, 2)

competition: campaigns of two competing brands – e.g., Coke and Pepsi – should not be served to the same player, and 3)context: ads should not seem out of place within the game – e.g., Coke ads belong on virtual soda machines, Tide ads do not.

The size, scope, and complexity of Massive’s problem are such that even if there were no system

uncertainty, optimization of their ad server would be difficult. But of course, uncertainty is present

– there are three primary sources: 1) the acquisition of new games, 2) the sale of new campaigns,

and 3) error in inventory forecasts of ad space. This last factor, uncertainty in the amount of ad

space, arises because the number of players, the types (demographics) of players, and the ad space

that the players actually see during game play are not known when the scheduling problem needs

to be solved. Thus, campaigns sometimes fall short of their impression goals or deviate from the

desired pattern of delivery; in that case, the network provider offers the advertiser a make-good: the campaign is extended or the advertiser is offered a refund or credit for future use.

(15)

Our model has two components: 1) a linear program called theWeekly Planis solved periodically to establish target service rates, and 2) a packing heuristic called theReal-time Algorithmis run whenever a player enters a new level, to serve impressions in accordance with these service rates.

Benchmarking our model against Massive’s legacy algorithm using 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. Massive

has begun a staged implementation of our model, and to date has benefitted from a 26% average

increase in the number of unique individuals that see each campaign each week, and 33% smoother

campaign delivery, as measured by standard deviation of hourly impressions served.

We proceed as follows: In §1.2 we review the literature on media planning and scheduling,

and describe existing models for broadcast television and web page banner ads. We introduce the

problem in§1.3, the Weekly Plan LP in§1.4, and the Real-time Algorithm in §1.5. We benchmark

our algorithm against Massive’s legacy algorithm in §1.6, and comment on our implementation

learnings in§1.7. We conclude with comments and list future work in §1.8.

1.2

Literature Review

To the best of our knowledge, ours is the first academic treatment of the scheduling of in-game

advertisements. The process of dynamic in-game advertising is well documented (Chambers 2005,

Svahn 2005), however operational problems, such as the scheduling problem we examine, have not

been studied. In the traditional media planning literature, the optimization problem is usually that

of a single advertiser and not of a network provider serving many advertisers. In these models,

the advertiser chooses among advertising vehicles (e.g., newsprint, television, radio) to maximize

some combination of reach(audience size), frequency, and campaign duration subject to a budget constraint (see textbooks Rossiter and Danaher 1998, Gensch 1973). One typical assumption is

wearout (the effectiveness of an ad decreases as the number of exposures to the same person in-creases); papers in this line of research include Thompson (1981) and Simon (1982), which arrive at

an optimal pulsing strategy of advertising expenditure over time. Although some of these concepts

are relevant, it is most instructive to compare our model with those that take the perspective of

(16)

page banner ads. Structurally, in-game advertising sits between TV and web advertising: It has

well-defined contracts like TV, yet decisions are made at a very fine granularity, as on the web.

TV Commercials: Advertisers purchase 60-80% of the year’s ad space during a 2-3 week period in May called the upfront market; the remaining ad space is sold first-come-first-serve in the scatter market. In contrast, in-game ads are sold throughout the year, so the division between upfront and scatter markets is not profound. Therefore, papers (e.g., Araman and Popescu 2009)

that determine the optimal upfront vs. scatter tradeoff are not directly applicable.

Bollapragada et al. (2002) use goal programming to produce a sales plan for a single campaign

that allocates commercial slots from TV shows such that the advertiser’s preferences are honored

as closely as possible. Inventory is booked for each advertiser in sequence, allowing each advertiser

to request changes to their plan before it is finalized. Audience size is assumed deterministic and

there is no mention of make-goods allocation when schedules are not executed as-planned. This

is a static upfront-market problem; in contrast, we consider the dynamic problem in which new

campaigns and games materialize over a rolling horizon. Furthermore, our Real-time Algorithm is

significantly different than the low-level ad slotting “ISCI Rotator” algorithms used for TV, since

in our case each viewer can be shown different ads. Finally, Zhang (2006) also solves the (static,

deterministic, upfront market) TV commercial scheduling problem, but in their case they assume

that client negotiations are minimal, allowing them to simultaneously schedule all campaigns via a

mixed-integer program.

Web Advertising: The most common objective in web advertising is maximizing click-through (e.g., Chickering and Heckerman 2003, Nakamura and Abe 2005), a concept that does not apply

to in-game ads. However, some papers explore the essential dynamic tradeoff: choosing between

serving the campaign with the highest bid versus the one farthest from achieving its contracted

impression goal. Approaches include the online algorithm of Mehta et al. (2007) and the large LP

solved by column generation by Abrams et al. (2007). Of these, Abrams et al. (2007) includes

promising computational results on historical data, however, the authors note some challenges to

implementing the full-scale algorithm in practice. In addition to tailoring our focus to in-game

advertising, our problem definition is more comprehensive than either of these papers: we solve

(17)

Mehta et al. (2007) (e.g., to spread impressions over time and across various ad spaces).

1.3

Definitions and Problem Statement

Games, Zones, Inventory Elements, and Regions: A video game is subdivided into many zones, each having one or moreinventory elements(the generic name given to in-game billboards and other locations where ads are displayed). Typically, each level of a game is a separate zone.

Within each zone, inventory elements are grouped into regions based on their spacial proximity; all inventory elements visible from the same vantage point are typically in the same region.

Requests, Arrivals, Game Instances, and Spots: When a gamer enters a new zone, his con-sole sends arequestto the ad server to select ad campaigns for all inventory elements in the zone. From the ad server’s perspective, an arrival of a gamer has just occurred. This arrival spawns a game instance; the gamer will continue to see the ads that were selected by the ad server for this game instance until the gamer departs from this zone. Although some inventory elements can only

show one ad per game instance, others (e.g., an in-game Jumbotron) cycle through a sequence of

ads; we call each element of the sequence an adspot.

Adtime: An inventory element in one game instance providesadtime equal to the total amount of time – not necessarily contiguous – the inventory element appears on-screen. Adtime can be

aggregated over multiple inventory elements and over multiple game instances, thus we can consider

quantities such as the expected adtime of Zone 3 of Game A on Monday.

Impressions: We measure billable adtime in impressions. Massive defines an impression as 10 seconds of time – not necessarily contiguous – in which a gamer sees the same ad campaign

on-screen, possibly across multiple inventory elements in the same game instance. For example, given

a zone with two single-spot inventory elements, if these elements log 7 and 8 seconds of adtime

respectively in one game instance, then either: 1) the same campaign was served in both inventory

elements, sob(7 + 8)/10c= 1 impression is counted toward that campaign’s impression goal, or 2)

different campaigns were served in these inventory elements, and no impressions are counted for

either campaign (b7/10c=b8/10c= 0).

(18)

unit price of pk, providing revenue of pk×qk. We can assume that Massive receives this revenue

up-front when the campaign is negotiated. Subsequent scheduling decisions affect Massive’s ability

to deliver the campaign; thus penalty costs (make-goods) may be incurred should campaign knot

be delivered as promised. Nonpaying campaigns include house ads, Public Service Announcements

(PSA’s), and default graphics; these do not generate any revenue, do not have minimum impression

goals, and are served as “filler” when no paying campaigns can be served.

Campaign Targeting – Audience Demographics and Context: Paying campaigns currently specify targeting constraints along three dimensions: geography, time, and context; i.e. impressions

must come from specific geographic regions, time slots, and inventory elements, respectively. The

geographic dimension is indexed by 300+ Designated Market Area (DMA) codes which allow

Mas-sive to constrain service to metropolitan areas across the United States and/or key areas in other

parts of the world. There are 42 combinations of {Weekday, DayPart} tuples for the time

dimen-sion, one for each of 6 DayParts (contiguous groups of hours, e.g., Prime Time = 7PM-12AM) in

each of the 7 weekdays. Finally, there are 1 to 50 Inventory Element Classes (IEC’s) per game,

which group inventory elements by context (e.g., ‘all virtual soda machines’). By targeting specific

games, geographic regions, and times, a campaign can be tailored for specific audience

demograph-ics. In contrast, IEC targeting ensures propercontext by integrating ads in realistic places: Coke ads, not Tide ads, belong on virtual soda machines.

Competition and Saturation: Within each game instance, 1) campaigns of competing brands (e.g., Coke and Pepsi) cannot be shown, 2) each campaign can be served in at most ωz spots, and

3) when a campaign is served in multiple spots, the spots should preferably be in different regions.

The quantityωzis called thesaturation cap, and is typically between a quarter to half the number of inventory elements in zonez.

Campaign Delivery Quality: In addition to a campaign’s aggregate impression goal qk, the advertiser usually specifies other impression goals either explicitly or implicitly. These include

mix requirements (e.g., at least 40% of impressions should come from sports games) and delivery

schedules (e.g., uniformly spread delivery over time, or deliver more impressions the week before

a new product launch). Mix requirements are modeled with an impression goal q(I,k) for certain

(19)

include weekly impression goalsqkt and, if needed, weekly impression goals for each MixComponent

q(tI,k). It is usually also important to serve each campaign impressions from many different games,

since part of the value of contracting with a network provider such as Massive is derived from

obtaining access to advertising space in a breadth of games from different publishers.

Publisher Concerns: Since game publishers receive a portion of the revenues generated by the impressions served in their games, the network provider must attempt to schedule ads across games

to avoid negatively affecting the revenue stream of a particular publisher.

Supply: Inventory is not games, or zones, or inventory elements, but rather eyeballs: the total inventory available to fulfill a campaign is the number of impressions generated by gamers that

match that campaign’s targeting. We use point forecasts of supply in our Weekly Plan LP, which are computed from the following point estimates of adtime:

• st

i = the expected adtime of game i, weekt;

• stid = the expected adtime of gamei, weekt, DMAd;

• stie = the expected adtime of gamei, weekt, inventory element e; and

• stiw = the expected adtime of gamei, weekt,{Weekday, DayPart} w.

Defining the set of zones in game i as Zi, the set of inventory elements in zone z as Ez, and

the sets of all DMA’s and all {Weekday, DayPart} tuples as D and W respectively, we compute

“breakouts” – proportions of adtime that come from a single inventory element, DMA, or{Weekday,

DayPart}:

• bt id=stid

P

d0Dstid0 = the proportion of game i, weekt’s adtime that comes from DMA d;

• btie = stieP

z∈Zi,e0∈Ezs

t

ie0 = the proportion of game i, week t’s adtime that comes from

inventory element e; and

• btiw =stiwP

w0Wstiw0= the proportion of gamei, weekt’s adtime that comes from{Weekday,

DayPart} w.

We use these breakouts to generate estimates of supply that are used by the Weekly Plan LP.

This final step requires the additional notation:

(20)

• Dk, Wk = the sets of DMA’s and {Weekday, DayPart} tuples that match the targeting of

campaign k, respectively;

• Pe = the set of spots in inventory elemente;

• se = the expected adtime of inventory elementein one game instance;

• sp(e) =se/|Pe|= the expected adtime of any spotp∈Pe, assuming each spot ofPeis equally

likely to be on-screen; and

• $∈[0,1] = a factor that approximates the conversion ratio between adtime and impressions.

We assume that when measuring aggregate supply over many inventory elements and/or

large periods of time, adtime and impressions are approximately equal modulo this scaling

constant. Note that if adtime was not rounded down to compute billable impressions, then

$= 1. We used ω= 0.9, which was consistent with the aggregate amount of rounding down

in our dataset.

Labeling the inventory elements of Ezk such that sp(1) ≥ sp(2) ≥ ... ≥ sp(|Ezk|), we define

b

Ezk = {1, ..., ωz} as the set of the “largest” ωz inventory elements in zone z that match the

targeting of campaignk. Finally, we compute the supply estimates for the Weekly Plan LP:

• sti=$sti = the estimated number of impressions provided by game iin weekt;

• stik = $sti P d∈Dk btid ! P w∈Wk btiw ! P z∈Zi P e∈Ezk btie !

= the estimated number of impressions

provided by game iin weektthat match the targeting requirements of campaign k; and

bstik =$sti P d∈Dk btid ! P w∈Wk btiw ! P z∈Zi P e∈Ebzk btie !

= the estimated number of nonsaturated

impressions provided by gameiin weektthat match the targeting requirements of campaign

k.

Demand: Thedemandfor ad space arises from ad agencies purchasing campaigns. For each week t∈T of the planning horizon, Massive uses a proprietary method to estimate the distributions of

aggregate demand-to-come for three groups of games: premium, middle, and discounttiers.

Tightness of Capacity – Sell-through: We first define:

• ιae = the adtime of inventory elementein the game instance started by arrivala(measured

(21)

• Atz,Atzk = the sets of arrivals in weekt, and in weekt that match the targeting of campaign

k, respectively;

• Kae= the set of campaigns with targeting that matches both arrivalaand inventory element

e; and

• Ik = the set of games that match the targeting of campaignk.

Then ιtk = $ P i∈Ik P z∈Zi P a∈Atzk P e∈Ezk

ιae is the number of impressions counted ex-post in week t that

could have been used by campaign k (assuming we disregard competition and saturation

con-straints). The sell-through of inventory element e in the game instance started by arrival a in week tis γae = P k∈Kae qt k ιt k

, the proportion of inventory element e in arrival athat would have been

allocated to paying campaignsif each campaign were served at the same rate across the entire

in-ventory space it targeted. The population meanµγ and population standard deviationσγ describe

sell-through over aggregated blocks of inventory; for example, the network sell-through over the

planning horizon (i.e. computed over all games Υ and weeks T) has mean, second moment, and

standard deviation: µγ = P t∈T P i∈Υ P z∈Zi P a∈Atz P e∈Ez ιaeγae P t∈T P i∈Υ P z∈Zi P a∈Atz P e∈Ez ιae , µγ2 = P t∈T P i∈Υ P z∈Zi P a∈Atz P e∈Ez ιaeγae2 P t∈T P i∈Υ P z∈Zi P a∈Atz P e∈Ez ιae , σγ = q µγ2−µ2γ.

Legacy Algorithm: Massive’s existing scheduling algorithm – the legacy algorithm – uses a single impression goal qk for each campaign, and assumes that impressions should be spread

uniformly across all weeks (i.e. it does not support delivery schedules that ramp up impressions

the week before a product launch). When a new arrival spawns a game instance, the legacy

algorithm checks whether each campaignkis ahead or behind schedule, and adjusts the service rates

accordingly. Because the legacy algorithm serves campaignkat the same rate in each gameithat its

targeting matches, it is usually good at spreading impressions across MixComponents, providing

impressions in a broad set of games, and satisfying publisher concerns. The most systematic

shortcoming of the legacy algorithm is that it is myopic; since it does not use supply estimates, it

(22)

1.4

Weekly Plan LP

We periodically solve a linear program called the Weekly Plan to get xtik, the number of im-pressions allocated to campaign k from game i in week t. We update the target service rates

λtik=xtik/stik whenever the Weekly Plan is re-solved; the Real-time Algorithm (see§1.5) uses these

rates to select specific campaigns for the inventory elements of a given game instance.

The Weekly Plan is similar to the goal program of Bollapragada et al. (2002), which is used to

generate TV ad sales plans at NBC. Both formulations have an objective that reserves premium

inventory for future sales while minimizing penalty costs for relaxing the many goal constraints.

The NBC sales plan has mix constraints and weekly weighting constraints, which take a client’s

goal x =q (# of commercial slots assigned from this subset of inventory = target) and relaxes it

to l−y ≤ x ≤ u+y, where y ≥ 0 is a slack variable penalized in the objective and (l, u) are

lower and upper bounds. We follow the same construction; however, our mix constraints specify an

impression goal q(I,k) for MixComponent I (which is a group of games), whereas at NBC the mix

targets are for a single TV show. We also add a weekly mix constraint based on the targetqt(I,k), a

constraint that spreads impressions across all games within a MixComponent, and a constraint that

ensures that each game is assigned a minimum dollar value in revenue. The NBC sales plan bounds

the number of slots allocated to a given {Show, Week}, which partially enforces saturation and

competition constraints; saturation is then handled by a heuristic they call the ISCI Rotator, which

spreads commercials of the same campaign apart chronologically. We follow a similar approach by

including bounds on xt

ik that partially enforce the saturation cap, and defer the consideration of competition and saturation to the Real-time Algorithm. Finally, we note that NBC’s goal program

is an integer program (as discrete commercial slots are allocated) that generates a sales plan for

a single campaign, whereas we allocate impressions for many campaigns simultaneously using a

linear program.

The Weekly Plan LP appears in Figure 1.1. For compactness, some quantities are shown with

lower and upper bounds within the same constraint; hence, slack variables exist on both sides of

some constraints. The variables areλ, v, w, x, y, z; all other quantities are constants; see Table 1.1

for the full list of notation. Since we re-solve the Weekly Plan LP over time, we divide time into

(23)

all impressions of x planned into the future. Hence, x=a+ ˙x. Similarly, dots on other constants

and variables indicate quantities for theremainder of the relevant time interval.

Constraints 1 through 5 are goal-type constraints that model campaign contract requirements

which may be relaxed and penalized in the objective: Constraint 1 (end-of-horizon impression goal)

makes sure that for each campaignk, the number of impressions planned in the remainder of the

horizon ˙xk, plus the planned shortfallyk, must equal theremaining end-of-horizon impression goal

(qk−ak)+; constraint 2 (weekly impression goals) ensures the number of planned impressions xtk

is between the bounds lkt and utk for each campaign k and week t; constraint 3 (end-of-horizon

mix target) ensures at least l(I,k) impressions from MixComponent I are allocated to campaign

k; and constraint 4 (weekly mix targets) ensures at least lt(I,k) impressions from MixComponent

I are allocated to campaign k in week t. Constraint 5 (spread impressions to all games within a

MixComponent) models the following idea: “For each{MixComponent, Campaign, Week}, try to

set the same service rate for all games.” Defining the service rate for a{MixComponent, Campaign,

Week} as the variable λt(I,k), serving all games in a MixComponent at the same rate requires

satisfying λt

ik =λt(I,k) ∀i∈I. By multiplying xikt /stik =λt(I,k) through by stik and introducing the slackv(tI,k), we obtain constraint 5. Note that stikλt(I,k) can be interpreted as the nominal number

of impressions to plan in gamei, and so vt(I,k) penalizes the maximum absolute deviation from the

nominal number of impressions across all games in MixComponentI.

Constraint 6 (minimum revenue target for each game) is the only goal-type constraint that

mod-els publisher contract requirements. This constraint ensures that enough impressions are allocated

to game iin weektto guarantee at least rti dollars in revenue.

Constraint 7 (supply) states that for the remaining portion of week t in game i, the number

of impressions planned, plus the number of impressions left unplanned, must equal the forecast

supply.

Constraint 8 (saturation cap bound) partially enforces the saturation cap by bounding the

number of impressions assigned to campaign k in game i, week t by the estimated nonsaturated

supplysbtik.

Constraint 9 (link total planned impressions with remaining planned impressions) ensures that

(24)

max − P k∈K πkyk− P k∈K,t∈Tk βkykt − P k∈K,I∈Φk τky(I,k)− P k∈K,I∈Φk,t∈Tk ηky(tI,k) − P k∈K,I∈Φk,t∈Tk ξkv(tI,k)− P t∈T,i∈Υ ζizit+ P I∈Ψ,t∈T ,m=1..n θ(tI,m)w˙t(I,m) s.t. x˙k+yk = (qk−ak)+ ∀k∈K (1) lkt −ykt ≤ xtk ≤ utk+ykt ∀t∈Tk, ∀k∈K (2)

l(I,k)−y(I,k) ≤ x(I,k) ∀I ∈Φk, ∀k∈K (3)

l(tI,k)−yt(I,k) ≤ xt(I,k) ∀I ∈Φk, t∈Tk, ∀k∈K (4)

stikλt(I,k)−v(tI,k) ≤ xtik ≤ stikλt(I,k)+vt(I,k) ∀i∈I, ∀I ∈Φk, t∈Tk,

∀k∈K (5) P k∈K pkxtik+zit ≥ rit ∀t∈T, i∈Υ (6) ˙ xti+ ˙wti = s˙ti ∀t∈T, i∈Υ (7) ˙ xt ik ≤ bs˙ t ik ∀i∈Ik, t∈Tk, ∀k∈K (8) xtik−x˙tik = atik ∀i∈Ik, t∈Tk, ∀k∈K (9) ˙ wt (I,m) ≤ ϑ˙t(I,m) ∀I ∈Ψ, m= 1..(n−1), ∀t∈T (10) P m=1..n ˙ wt (I,m)− P i∈I ˙ wt i = 0 ∀I ∈Ψ, t∈T (11) ˙ xk− P i∈Ik,t∈Tk ˙ xtik = 0 ∀k∈K (12) xk−x˙k = ak ∀k∈K (13) xtk− P i∈Ik xtik = 0 ∀t∈Tk, ∀k∈K (14) x(I,k)− P i∈I,t∈Tk ˙ xtik = a(I,k) ∀I ∈Φk, ∀k∈K (15) xt(I,k)−P i∈I xtik = 0 ∀I ∈Φk, t∈Tk, ∀k∈K (16) ˙ xti− P k∈K ˙ xtik = 0 ∀t∈T, i∈Υ (17)

λ, v, w, x, y, z ≥ 0 for all forms

of these variables (18)

(25)

the actual number of impressions achieved up to the present, atik, plus the number of impressions

planned from the present until the end of the week, ˙xtik. For weekst >= 2, we always have atik = 0,

and so this constraint reduces toxtik = ˙xtik.

Constraints 10-11 model a piecewise-linear component of the objective function, and are

de-scribed with the objective in §1.4.1. Constraints 12-17 link the various forms of x. In an actual

implementation, only the variablesxt

ik and ˙xtik are required; the other forms of xcan be written as linear combinations of xtik and ˙xtik. We use the other forms of xto keep constraints 1-11 readable.

Constraints 3 and 4 do not have upper bounds because MixComponents are not mutually

exclusive: game i may be both a Sports Game and a Racing Game; in that case, impressions

allocated to game i count toward two mix targets. Had upper bounds existed, they may need to

be violated in order to satisfy the end-of-horizon goal (constraint 1).

1.4.1 The Objective Function

The objective is to maximize revenues that can be affected by scheduling; it contains two terms.

Objective Term 1 (penalty costs for breaking contracts) is:

− P k∈K πkyk− P k∈K,t∈Tk βkykt − P k∈K,I∈Φk τky(I,k) − P k∈K,I∈Φk,t∈Tk ηky(tI,k)− P k∈K,I∈Φk,t∈Tk ξkvt(I,k)− P t∈T,i∈Υ ζizti.

We model the costs of falling short of the goals modeled by constraints 1-6 as negative revenues

from the delivery of make-goods for broken contracts. Make-good costs include direct compensation

for underdelivery, transaction costs, and loss of goodwill. Direct compensation is either the dollar

amount refunded to the advertiser, or the (shadow) cost of assigning additional inventory to extend

the campaign past its scheduled end date. Transaction costs include all manual processing to issue

the make-good, including getting approval to extend the campaign. Loss of goodwill models the

advertiser’s displeasure with the quality of service they received, and reflects the estimated loss of

repeat business. Transaction costs and goodwill costs are likely significant, yet are extremely hard

to estimate; fortunately, with regard to linear programming, exact estimation of the penalty costs

(26)

are proportional to campaign prices pk: πk = pk per impression short of the end-of-horizon goal

for campaignk;βk= 0.1pk per impression over/under the allowed deviation from the weekly goal;

τk= 0.1pkover/under the allowed deviation from the end-of-horizon goal for each MixComponent;

ηk = 0.05pk over/under the allowed deviation from the weekly goal for each MixComponent; and

ξk = 0.05pk for not spreading impressions evenly across all games in a MixComponent. We also

usedζi∈ {0.5,0.25,0.1} as the per-dollar penalties of falling short of the minimum revenue target

of gamei(penalties are differentiated by tier).

Note that in practice, make-good costs should also be increased for preferred customers (which

are often given quantity discounts) to compensate for the fact that the above formulas assign low

penalty costs to campaigns with low prices.

Objective Term 2 - general form (revenue potential of unscheduled inventory) is:

X I∈Ψ,t∈T

fIt(wIt).

Since supply and demand change over time, the scarcity of inventory, and therefore the value

of unscheduled inventory, will change over time. By scheduling appropriately, we maximize the

total dollar value of unscheduled inventory, i.e. the expected future sales revenue. The general form

of objective term 2 is as listed above, where Ψ is the set of all tiers of games (premium, middle,

discount), T is the set of all weeks, and ft

I is a function that values the quantity of unscheduled inventory wtI for tier I in week t. Suppressing subscripts and superscripts, the value function for

unscheduled inventory f(w) of a particular {Tier, Week} is:

f(w) :=pE[min(X, w)] =pE[X−(X−w)+] =p

w Z

0

G(x)dx,

where p is the fixed price for the type of inventory under consideration, X is a random variable

that models market demand,G(x) is the cumulative distribution function of demand, andG(x) =

1−G(x). Thus if we leavew units of inventory available, expected sales is E[min(X, w)], yielding

f(w) dollars in expected revenue.

Since f0(w) = pdwd

w R 0

(27)

increasing for all demand distributions ofX. Therefore, we can approximate f(w) by a

piecewise-linear function with n segments of successively smaller positive slope. Denoting the marginal

revenues (slopes) asθm and segment widths asϑm for them= 1..nsegments, the expected revenue

from future sales is modeled by the linear form:

Objective Term 2 - linear form:

X I∈Ψ,t∈T ,m=1..n

θ(tI,m)w˙t(I,m)

and is accompanied by constraint 10 (bound the unplanned impressions in each segment) and

constraint 11 (link unplanned impressions by {Tier, Week, Segment} to{Game, Week}).

Since the slope parameters θI,mt are decreasing in m and we are maximizing, ˙wI,mt = 0 =⇒

˙

wtI,m+1 = 0. The bounds on ˙wt(I,m), namely ˙ϑt(I,m), ensure that impressions are accounted for in

the correct segment, where ˙ϑt(I,m) is defined as follows (ρ is the percentage of week 1 remaining):

˙ ϑt(I,m):=        ρϑt(I,m) fort= 1 ϑt(I,m) fort≥2 .

We assumed stationarity in the tests we performed, and computed the required cdf’s from

historical data. In practice, we expect the historical cdf to be used as a baseline that Massive can

manually align with their sales projections (keeping the general shape of the cdf the same, but

shifting its mean). For an example that uses a discrete demand distribution to compute θ and ϑ,

see§A.1.

Alternately, when only E[X] is specified, we can use G(x) = {0 if x < E[X], 1 if x ≥ E[X]}

to compute f(w|E[X]) = {wifx < E[X], E[X] ifx ≥ E[X]}. By Jensen’s Inequality, we know

f(w|E[X])≡ E[min(E[X], w)]>=E[min(X, w)] ≡f(w); thus, f(w) is a function that is bounded

above byf(w|E[X]) yet has similar asymptotic behavior; i.e. f(w)→wasw→0, andf(w)→E[X]

as w → ∞. An appropriately-chosen spline can be approximated with a few piecewise-linear

segments to get the piecewise-linear form off(w) used by our model.

(28)

estimator (Talluri and Van Ryzin 2005); however, this is not necessary when working with tiers:

individual games may get sold out, but since tiers are large aggregations of games, excess inventory

usually exists.

1.5

Real-time Algorithm

Each arrival to the ad server invokes the Real-time Algorithm, which assigns campaigns to inventory

elements in the player’s game instance. The Real-time Algorithm makes this allocation in

accor-dance with the service rates λtik computed by the Weekly Plan LP, while also obeying campaign

targeting, saturation, and competition constraints.

The Real-time Algorithm serves the same purpose as the ISCI Rotator algorithm for scheduling

commercials in broadcast television (Bollapragada et al. 2004, Bollapragada and Garbiras 2004). A

broadcast TV sales plan (analogous to our Weekly Plan) specifies the set of commercials to display

during each airing of each show, leaving the ISCI Rotator to choose, for each ad, the commercial

breaks and positions within those breaks where each ad should be aired. The ISCI Rotator allocates

ads to slots such that saturation is managed (two airings of the same commercial are as evenly spaced

as possible) and competition constraints are obeyed (competing brands are not displayed in the

same commercial break). Although there are some high-level similarities, the Real-time Algorithm

operates differently than the ISCI Rotator. This is because targeting constraints add complexity

to the Real-time Algorithm, and because the Real-time Algorithm sacrifices optimality for speed:

it is run millions of times per day compared to the ISCI Rotator’s nightly execution.

The Real-time Algorithm performs two operations: 1) it adjusts the service rates for the current

game instance, and 2) assigns campaigns to inventory elements in accordance with the adjusted

(29)

1.5.1 Stage 1: Adjust Service Rates for the Current Game Instance

An arrival of typea={Zone, DMA, Weekday, DayPart} is initially assigned the service rate matrix

Λa, the elements of which are:

λck :=                 

λ1i(a),k if campaignk matches the targeting of both IECcand

the{Zone, DMA, Weekday, DayPart} specified by a

0 otherwise

where i(a) is the game that includes the zone specified in a, and λ1i(a),k is the service rate for

campaign k, gamei(a), week 1 from the Weekly Plan.

Algorithm 1 modifies the rate matrix Λa in order to satisfy 1) competition constraints, and

2) the constraint P k∈Kac

λck ≤ 1 ∀ c ∈ Cz, which states that for each IEC c in the set of IEC’s

Cz that intersect the current zone z, the sum of the service rates of campaigns Kac eligible for

service to this {Arrival, IEC} must not exceed 1. In step 1, we compute a weighted average rate

λW EIGHT ED

k for each campaign over all IEC’s in the zone. Next, we use the weighted average rates to assign one random campaign from each set of competing brands a nonzero service rate (steps

2-5). We have assumed that the groups of competing brands are mutually exclusive; however,

a straightforward extension of this algorithm applies to overlapping groups of competing brands.

Finally, in steps 6-12, the algorithm decreases the service rates of some campaigns (if necessary) in

order for P k∈Kac

λck≤1∀c∈Cz to hold; note the campaigns with the latest end dates (which have

the most time to catch up later) are chosen. See§A.2.1 for a detailed example.

1.5.2 Stage 2: Assign Campaigns to Inventory Elements

Let Ka be the set of paying campaigns with targeting that matches arrival a, and let u represent

all unpaid campaigns. For each campaign k∈Ka∪ {u}, Algorithm 2 outputs a set of spots ˜Pk in

which campaignkshould be served. The algorithm begins by creating a set of bucketsB; the size of

bucketb(c, k)∈B is the expected adtime for paying campaignk in IECc, assuming campaignkis

(30)

Algorithm 1 AdjustServiceRates 1: λW EIGHT EDk ← P c∈Czsczλck P c∈Czscz ∀k∈Ka 2: for allK∗ ∈Ka do 3: k0←

k∈K∗ with probability λW EIGHT EDk PkK∗λW EIGHT EDk

4: λck0 ←P

k∈K∗λck ∀c∈Cz, and λck ←0∀k∈K∗\{k0}, c∈Cz

5: end for

6: for allc∈Cz do

7: Label the campaignsk∈Kac such that χ1 ≥χ2 ≥...≥χ|Kac|

8: φ← PkK acλck−1 + ;k←1 9: whileφ >0do 10: ψ←min{λck, φ};λck ←λck−ψ;φ←φ−ψ;k←k+ 1 11: end while 12: end for 13: return Λa

used when service rates are too low to assign all spots to paying campaigns. The main variables are:

vb = the unallocated expected adtime of bucketb;xp = the unallocated expected adtime of spotp;

yb,p = the expected adtime of spotp allocated to bucket b; and nr,k = the number of times a spot

from regionrhas been allocated to campaignk. We will sometimes use index functions such asr(p)

= the region corresponding to spot p; and k(b) = the campaign corresponding to bucketb. Recall

from §1.3 that the expected adtime of any spot p of inventory element e is sp ≡sp(e) = se/|Pe|.

Steps 1-5 comprise the initialization phase.

In steps 6-10, spots are fractionally assigned to buckets b ∈B; i.e. a spot may be assigned to

more than one bucket at this stage. At each iteration of the loop, we randomly draw a non-full

bucketb0 and a non-completely-assigned spotp0, and assign a portion (or all, if possible) of spotp0

to bucketb0. We bias toward assigning large spots to large buckets, which achieves a tight packing;

yet we do not always pick the largest bucket and spot: buckets are chosen randomly so the visual

placement of ads within the game is randomized, and spots are chosen to spread multiple copies

of the same campaign to spots in different regions. The chosen spotp0 is the spot with the largest

amount of unallocated expected adtime among those in the set P∗, where P∗ is the set of all

spots p∗ that can be placed in chosen bucketb0 and are in a region r(p∗) where we have allocated

campaign k(b0) the fewest number of times.

In steps 11-14, any spots that did not fit into the buckets for paying campaigns B are assigned

(31)

Algorithm 2 AssignCampaigns 1: vbu ← ∞;ybu,p←0∀p∈Pz;B ← ∅ 2: for allc∈Cz, k∈Kac do 3: Create bucketb≡b(c, k); vb←λckscz;yb,p ←0∀p∈Pz;B ←B∪ {b} 4: end for 5: xp ←sp ∀p∈Pz;nr,k ←0∀r∈Rz, k∈Ka 6: whileP b∈Bvb >0 do 7: b0← b∈B with probability vbPb∗Bvb∗ 8: P∗ ← p∗∈Pb0nr(p),k(b0) = minpP b0nr(p),k(b0) ;p 0 argmax p∈P∗xp 9: ψ←min{vb0, xp0};yb0,p0 ←yb0,p0+ψ;vb0 ←vb0−ψ;xp0 ←xp0−ψ;nr(p0),k(b0)←nr(p0),k(b0)+1 10: end while 11: P∗∗← {p∈Pz|xp >0} 12: if P∗∗6=∅ then 13: ybu,p ←xp ∀p∈P ∗∗,x p ←0∀p∈P∗∗ 14: end if 15: P˜k ← ∅ ∀k∈Ka∪ {u} 16: for allp∈Pz do 17: b0← {b∈B∪ {bu} with probability yb,p/sp} 18: yb0,p←sp;yb,p ←0∀b∈B∪ {bu}\{b0}; ˜Pk(b0) ←P˜k(b0)∪ {p} 19: end for 20: for allk0 ∈ {k:|P˜k|> ωz, k6=u} do 21: while|P˜k0|> ωz do 22: p0←argminpP˜ k0s p;KU ← {k:|P˜ k|< ωz, k6=u} 23: if P k∈KUλc(p0),k >0then 24: k00← k∈KU with probability λc(p0),kP k∗Kc(p0),k∗ 25: else 26: k00←u 27: end if 28: P˜k0 ←P˜k0\{p0}; ˜Pk00←P˜k00∪ {p0} 29: end while 30: end for 31: return P˜ P b∈B vb≤ P p∈Pz

xp, so all buckets b∈B are always filled at this point.

In steps 15-19, the algorithm executes randomized rounding (see Raghavan and Tompson 1987):

each spotpgets assigned in whole to bucketb(and removed from all other buckets) with probability

yb,p/sp (the proportion of spot p currently assigned to bucket b). At this point, buckets may be

perfectly filled, over-filled or under-filled – all cases are feasible. A perfectly filled (resp. over-filled

/ under-filled) bucket b(c, k) corresponds to serving campaignk in IECc exactly at (resp. above /

below) the service rate λck in expectation.

(32)

campaignk) if the saturation cap is exceeded (the same campaign appears in more thanωz spots).

We reassign the smallest spots p0 to minimize the resulting change to the service rates; we first

reassign spots in whole to paying campaigns that are under the saturation cap, drawn proportionally

toλc(p0),k when there are multiple such campaigns, and then to the unpaid campaign bucket. See

§A.2.2 for an example of Algorithm 2.

1.5.3 Properties of the Solution

At its conclusion, the Real-time Algorithm has assigned a campaign to each spot such that:

1. DMA, Weekday, DayPart, and IEC targeting are satisfied, since only campaigns that target

the current arrivala receive nonzero service rates;

2. Competition constraints are satisfied, due to Algorithm 1;

3. The saturation cap is satisfied and local oversaturation is controlled, due to Algorithm 2;

4. Each campaign is served in expectation at the rate specified by the Weekly Plan LP (except

perhaps for a few campaigns with later due dates that had their service rates reduced by

steps 6-12 of Algorithm 1). Thus, in expectation, our algorithm meets the impression goals,

mix requirements, spread constraints, and revenue targets specified in the Weekly Plan, while

maximizing revenues affected by scheduling decisions. This follows because, excluding

adjust-ments made to satisfy the saturation cap, Algorithm 2 fills buckets exactly to their fill lines

in expectation; and

5. Variance in the service rates is low, since buckets are packed close to their fill lines by using

small spots to finish the packing. (These are also the spots that get reassigned by randomized

rounding and to enforce the saturation cap.)

1.6

Experimental Findings

1.6.1 Primary Benefit

Using 26 weeks of historical data, we experimentally evaluate (backtest) the performance of our

(33)

the horizon of the Weekly Plan LP at 13 weeks; therefore, at each point during the backtest we need

13 weeks of inventory supply forecasts (for games, as well as inventory elements, DayPart/Weekdays,

and DMA’s within games) as input. We generate forecasts from actual data by applying a random

multiplicative noise term, the magnitude of which is parameterized by α. We backtest through

weeks t = 1..14, using generated forecasts from weeks t through t+ 12; the Weekly Plan LP is

re-solved hourly.

We use five forecast instances, which range from a perfect forecast (α= 0) to a highly-variable

forecast (α = 0.2). The full description of our forecast generation scheme, which produces adtime

estimates sti, stid, stie, and stiw, defined in §1.3, is given in §A.3. To summarize, we generate

mul-tiplicative forecast errors for a forecast h weeks from today by taking the product of h lognormal

random variables; the lognormal factors have median eµ, where µis a random variable dependent

on α with E[µ] = 0. When µ = 0, forecasts for one week into the future have a 95% confidence

interval of [1/ς, ς], where ς =e1.96σ and σ = 2α (this confidence interval is symmetric on the

log-arithmic scale). For α = 0.04 and α = 0.2, this confidence interval is [0.85, 1.17] and [0.46, 2.19]

respectively; i.e. when α= 0.2 andµ= 0, a one-week advance forecast for the actual value of 1000

is between 460 and 2190 with probability 0.95. And for the sameα, confidence intervals grow wider

as the forecasted period moves farther into the future.

Our tests on historical data show that we significantly reduce make-good costs and increase sales

revenue potential relative to the legacy algorithm. Make-good costs (objective term 1 in §1.4.1)

decrease by 80-87%, depending on the magnitude of forecast error (see Figure 1.2). In the most

conservative case of α = 0.2 (it is expected that forecasts are at least this accurate), make-good

costs decrease by 80%.

Revenues from the future sales of ad space (objective term 2 in §1.4.1) cannot be evaluated

directly: Since we are backtesting, the sales process in our actual data cannot be affected by our

scheduling algorithm. Therefore, we use the distribution of theageof served impressions, the time between the sale of the campaign and when the impression was served, as a proxy.

A good scheduling algorithm will try to use the least costly inventory to satisfy existing

cam-paigns, leaving premium inventory reserved for future sales. Therefore, a good scheduling algorithm

(34)

0 50 100 150 200 250 0 0.0016 0.008 0.04 0.2 Legacy Pe na lt y C o s t Model

Ex-Post Objective Comparison - Penalty Costs End of Campaign Impression Goal End of Campaign Mix Goal

Weekly Campaign Impression Goal Weekly Campaign Mix Goal

Balance Impressions Across Games In Same

MixComponent

Minimum Weekly Revenue Target by Game

Figure 1.2: Performance of our algorithm compared to the legacy algorithm for different levels of forecast error α. The legacy algorithm does not use forecast data.

when mix constraints allow. When impressions cannot be appreciably shifted between tiers, a good

scheduling algorithm should try to serve tier 1 inventory as early as possible, and serve tier 2 and

3 inventory later on, again, saving the most valuable inventory for future sales.

In Figure 1.3, we compare the age distribution from our algorithm with that of the legacy

algorithm; in all cases, the forecast error parameter is set to α = 0.2 (the most conservative

scenario). As expected, our algorithm shifts a substantial portion of impressions from tier 1 into

tiers 2 and 3. The legacy algorithm serves 92% of its impressions from tier 1 games whereas our

algorithm serves just under 80% from tier 1. Furthermore, our algorithm serves tier 1 and tier

2 impressions earlier in a campaign’s life, while tier 3 impressions are served later: 63% of tier 1

impressions are 6 weeks old or younger using our algorithm, compared to 56% under the legacy

algorithm.

1.6.2 Stability of our Algorithm

Figure 1.4a shows our algorithm makes steady, continuous progress toward meeting the

end-of-campaign impression goals; the plot shows the cumulative number of impressions logged by a single

campaign from its start date to its end date. Figure 1.4b plots the cumulative number of impressions

(35)

60% 80% 100% % of Impressions by Tier Ti 3 0% 20% 40% Proposed Legacy Tier 3 Tier 2 Tier 1 0.6 0.8 1 Tier 1 Age CDF Proposed 0 0.2 0.4 1 3 5 7 9 11 13 15 17 19 21 23 25 Weeks Legacy 0.6 0.8 1 Tier 2 Age CDF Proposed 0 0.2 0.4 1 3 5 7 9 11 13 15 17 19 21 23 25 Weeks Legacy 0.6 0.8 1 Tier 3 Age CDF Proposed 0 0.2 0.4 1 3 5 7 9 11 13 15 17 19 21 23 25 Weeks Legacy

Figure 1.3: The tier distribution of impressions served (top left) and age distributions of impressions served for each tier, for the legacy algorithm and our proposed algorithm (usingα= 0.2).

which point the LP decides it is less costly to overrun the weekly goal a bit than to use inventory

from future weeks to serve this campaign. Our algorithm successfully meets the end-of-week target,

despite the fact that this campaign starts mid-week.

1.6.3 Performance under Higher Sell-through and Tighter Targeting

We now evaluate our algorithm as the number of campaigns in the system increases and the supply

constraints become tighter (or infeasible in some cases), thereby validating our approach as sales

volume increases. We use sell-through and targeting percentageto measure the tightness of the supply constraints. As defined in §1.3, the mean and standard deviation of sell-through at the

network level describe the tightness of supply: a high standard deviation of sell-through indicates

that in the space of all impressions in the network, there are pockets of inventory with high

sell-through, corresponding to intersections of games, DMA’s, IEC’s, weekdays, and dayparts that are

in high demand. The targeting percentage of campaign k, computed as P t∈Tk P i∈Ik st ik P t∈Tk P i∈Υ st i , represents

the percentage of impressions in the network that campaignk targets. A low targeting percentage

(36)

0 500,000 1,000,000 1,500,000 2,000,000 2,500,000 01/01/07 01/22/07 02/12/07 03/05/07 03/26/07 Im pr es s ions LP Solution Performance: Tracking Campaign Goal

Goal Actual 120,000 150,000 180,000 s ions LP Solution Performance: Tracking Weekly Campaign Goal

Goal 0 30,000 60,000 90,000 01/01/07 01/03/07 01/05/07 01/07/07 Impres s Planned Actual

Figure 1.4: The progress of the Real-time Algorithm (labelled “actual”) plotted over time for the largest campaign in the system. The forecast error parameter is the most conservative (α= 0.2). In (a) the goal is the end-of-campaign impression goal; in (b) we show the end-of-week impression goal and the number of impressions planned this week by the Weekly Plan LP.

campaign targets inventory thatalso has high sell-through, serving this campaign is difficult.

We generate six additional test cases with different levels of sell-through and targeting and

benchmark the performance of our algorithm relative to the legacy algorithm. Each test case is built

by augmenting the original problem instance from§1.6.1 (hereby called ‘status quo’) with a set of

200 randomly generated campaigns. The test cases differ in two properties of theadded

References

Related documents

We utilize the various measures of health status available in the JCUSH data as well as in other data sources and we examine other indicators of health care services and

More recent studies include promising results for nursing dysfunction, constipation, headaches, neurological disorders (incl. Infant and child chiropractic care: an assessment of

PANELS &amp; GRID LIGHT DOWN LIGHT VESTIBULE TRACK RAIL 5 X 8 MINIFLAT ROPE LIGHT NEON FLEX BORDER LIGHT COVE LIGHT FESTOON LIGHT FLEX TAPE SPECIAL PRODUCTS 10 - 11 BACKGROUND

One of the main reasons why learners commit syntactic errors is because of the strategies that they use in language acquisition, this problem includes the reciprocal interference

Our definition is based on a model of service systems and the two main characteristics that differentiate between services and product functions: the designability of the

(hereafter referred to as DOJ) investigations into website accessibility since the landmark Settlement Agreement (2010) between Penn State University and the National Federation

When the Ottoman Empire started declining and later collapsed, the Turkish nation began adopting European legal norms and rules and consequently developed a modern legal

If you have a City National Crystal Visa Credit Card, you will earn an additional 2 Points for each $1 of net purchases made at merchants that classify their merchant location for