2019 International Conference on Computational Modeling, Simulation and Optimization (CMSO 2019) ISBN: 978-1-60595-659-6
Commercial Advertisements Scheduling Problem
Yi-hua LI
1, Lila RASEKH
2and Raf JANS
31Lead Scientist of Continuous Improvement and Enterprise Optimization, United Airlines, Chicago, IL, USA
2GAP Inc., San Francisco, CA, USA
3Department of Logistics and Operations Management, HEC-Montreal, Montreal, QC
Keywords: TV advertisements, Scheduling optimization and integer programming.
Abstract. An important source of revenues for Channel 4 comes from the campaign advertisement during commercial breaks. Given a set of campaigns (TV advertisements) and a set of breaks with air times, the Campaign Allocation Problem (CAP) is to determine how campaigns’ spots should be allocated to a subset of breaks in order to maximize total revenue and evenness with respect to all business rules and constraints.
Introduction
An important source of revenues for Channel 4 comes from the campaign advertisement during commercial breaks. Campaigns are agreed between Channel 4 and its customers on the basis of CPT (Cost per thousand: This is the amount of money that a Channel 4’s customers have to pay for 1000 impacts), customer’s budget and targeted audience. The deal is then translated into some amount of TVR (TV attraction to measure the audience for a programme or a commercial break) that Channel 4 must achieve for this campaign. This is operationally done by allocating spots of this campaign during commercial breaks. The main problem is then to determine for every campaign which breaks it should have spots in.
The aim of Channel 4 is to have an automated system for doing allocation of spots to commercial breaks in the best way possible. A spot is the length of time a campaign occupies in a break. There are several objectives:
Maximize total achieved revenue.
Evenness: Channel 4 would like to treat most campaigns with fairness; ideally all campaigns should reach the same level of completion.
Completion: For any campaign, there is a targeted TVR and actually achieved TVR. Ideally Channel 4 would like to complete all campaigns. This measured as percentage of achieved TVR over targeted TVR.
The main business rules and constraints are:
BR1—"Break duration": Each break has a fixed duration and the total duration of each spot allocated to that break cannot exceed the break duration
BR 2—"Dayparts": Spots will be allocated to satisfy customer requests whereby specified percentages of the campaign will be aired within chosen times of day. For example 13% of total TVR between 0600–0930 and 23% between 1730–2000.
BR 4—"Commodity confliction". In any given break, no two competing products can be shown. Products are considered competing if they belong to the same commodity but are from different customers.
BR 6—"Consecutive Breaks": Any given campaign cannot appear in consecutive breaks.
BR 8—"Spot Lengths": Spots will be allocated to satisfy customer requests whereby specified percentages of the campaign will be aired within chosen spot length. For example 30% of total TVR for spot length 1 and 70% for spot length 2.
For maximum flexibility, some of those business rules can be turned to soft ones which will minimize total deviations away from the targeted values. This is mainly related to “Dayparts”, “Consecutive breaks”, “Programme repetition” and Spot Length”.
The size of the problem:
Duration of the schedule: 1 month. Most campaigns last for a month, some might last a week.
The average length of a break is 3 minutes.
900 campaigns and 3000 breaks, and a campaign can have up to 10 different spot lengths.
30% of the breaks are consecutive.
Literature Review
Gaur et al. (2009): focus on one type of business rule, the commodity conflict, i.e. an ad for two similar products from two competitors should not be scheduled in the same break. Their objective is to maximize the sum of the conflict weights across the partitions. They also model break length.
Bollapraganda and Garbiras (2004) consider both product conflict requirements and position goal requirements. For the latter, they subdivide the commercial break into three different parts: first, middle and last position. The first and last position in a break are more desirable. Both requirements are modeled as goal constraints (minimize sum of weighted deviations). In case there are deviations from the set goals, the deviations should be spread evenly across the clients. This is achieved by imposing a non-linear (in this case piecewise linear) penalty function. They also model break length.
Bollapragada, Bussieck and Mallik (2004) consider the following objective: the adds should be allocated to available slots so that multiple airings of the same commercial are evenly spaced (as much as possible). This is called the basic ISCI rotator problem (ISCI: Industry Standard Commercial Identification). The exact same problem is also considered by Yavuz (2008) and Brusco (2008)
Bollapragada et al. (2002) describe the overall process of developing ad schedules which meet the client’s requirements. These requirements can include: budget, target reach, product conflict, distribution over the four quarters, various shows, weeks, unit lengths, Objective: immunize the amount of ‘premium inventory (slots)’ used and total penalty.
Kimms and Müller-Bungart (2007) consider the problem of simultaneously selected which orders for ads to accept and when to schedule the accepted orders. Orders are either totally accepted or rejected. There are minimum and maximum restrictions on the break length. The objective is to maximize the total revenue generated from the accepted orders. Note, an accepted order generates predefined revenue. They also define a conflict set (e.g. for competing products, but also for ads that are explicitly booked to be the first or last on in a break). No violations are allowed. They devise several LP and MIP based heuristics.
objective is to minimize the squared changes in the units assigned to a pod and the squared number of competitions. He allows for multiple types of competition.
Velusamy et al. (2008) propose a general ad recommendation system. In a first step, ads are clustered into program classes with which they have the best match (based on fuzzy clustering). Next the scheduling and sequencing is done. In the scheduling part, the specific capacity during a break is considered. In the sequencing part, ads which are in conflict are sequenced so that they are as evenly spaced as possible.
Problem Formulation
Given a set of campaigns (TV advertisements) and a set of breaks with air times, the Campaign Allocation Problem (CAP) is to determine how campaigns’ spots should be allocated to a subset of breaks in order to maximize total revenue and evenness with respect to all business rules and constraints. The problem can be formulated as a mixed integer model as follows:
Define a binary variable when xijk= 1, if campaign i is allocated to break j with a length of spot k; 0, otherwise. Then:
) 4 4 3 3 2 2 1 1 (
max
isi s is ip p ip i i i i i id d id i
i c d c d c d c d
r
z (1)
B j b x d j i ijk k
ik
, (Break duration) (2)D d C i TVR p d x
tvr id id
j
ijk ijk k
jd
1 1 , , (Daypart percentage) (3)C i r R d TVR x
tvr i i i i
j
ijk k
ijk
/ 2 ) ,( (Revenue) (4)
B j C i x x k k j i i k
ijk
, , 1 ,, (No clash) (5)
C i d
TVR x
tvr i i
j ijk ijk k
/ 2 1, (Completion) (6)B j C i x x k k j i k
ijk
, 1, 1, , (No consecutive) (7)P p C i d x ip j ijk k
jp
3 3, , (Program Repetition) (8)S k C i TVR p d x
tvr ik ik i
j
ijk k
ijk
4 2 , , (Spot percentage) (9)B j C i x k
ijk
1, , (One spot only) (10)C i TVR x
tvr
cmax ( ijk ijk)/ i, (Max completion) (11)
C i TVR x
tvr
cmin ( ijk ijk)/ i, (Min completion) (12)
(cmax cmin)
, 0 4 , 3 , 2 , 1 ,
1 ,
0
is ip i id
ijk All d d d d
x
All (14) where
jd
=1 if break j belongs to daypart d; 0, otherwise,
jp
=1 if break j belongs to programme p; 0, otherwise,
is the maximum allowable evenness?
bj is an available duration (air time) of break j ,
c1id, c2i, c3ipand c4is are associated costs of deviations,
dik is a required duration of campaign i with spot length k ,
id
d1 is a slack of daypart percentage?
i
d2 is a surplus of completion for campaign i,
ip
d3 is a surplus of programme repeating times for campaign i,
is
d4 is a slack of spot length percentage?
e is evenness (difference) between maximum and minimum completions
p1id is a required percentage for daypart d of campaign i,
p2ip is a required percentage for spot length s of campaign i,
ri is a allocated revenue of campaign i,
Ri is an adjusted budget of campaign i,
tvrijk is an expected TV attraction if campaign i is allocated to break j with spot length s,
TVRi is a target tvr of campaign i.
Constraints (1.1), (1.2), (1.4), (1.6), (1.7) and (1.8) correspond to BR1, BR2, BR4, BR6, BR7 and BR8 respectively. We also put evenness as a constraint instead of one of objective functions.
Approach
Now we have a mixed integer problem which is NP-Complete hard. For testing purpose, we abstract about 5% data from full size dataset to have a problem with 70 campaigns and 758 breaks, which turns out more than 310,000 constraints and 310,000 variables. Selecting proper algorithms and B&B strategies, we are able to solve this problem by running CPLEX in 20 minutes on a PC with 1G memory and 1.8GH.
The full size of the problem, however, can have 900 campaigns and 3000 breaks. Each campaign can have up to 10 different spot lengths, it can reach 1.5~3 millions of 0-1 integer variables with 2~3 millions of constraints, which is obviously too big to be solved optimally. Thus, we developed a heuristic to get the first feasible integer solution for solving the full size problem, put it as first solution to CPLEX, then run CPLEX to improve the solution by adding more allocated campaigns if necessary.
Given a set of campaigns with different spot lengths and a set of breaks, we try to allocate spot on break one by one. Each allocation will make a contribution to tvr. Since our goal is to match targeted tvr as much as possible while respect all constraints, a selection criteria (ratio) is calculated as: tvr over summation of remained distances away from the right-side value of each constraint, select the allocation (x[c][b][s] = 1) associated with the largest feasible ratio and put it into the solution set. Repeat this procedure until no more feasible allocation can be found, then all x[c][b][s] in the solution set is a final solution. We put this heuristic solution as an initial feasible solution to MIP model, call CPLEX to optimize it within a maximum allowable computing time.
Computational Results Solu./
Dataset Num Cmp Num Brk Num Spot Num Var Value Solu. Budget Value Day Dev Spot Dev
I0210full 390 2036 1025 287280 38,594,900 61,750,200 4648 95
C0210full - - - - 28,370,300 - 4924 519
I0302full 380 2165 1054 309599 37,566,300 55,957,300 4115 98
C0302full - - - - 25,571,700 - 5060 672
I0302b 353 1962 921 292879 34,933,100 50,275,100 3639 110
C0302b - - - - 21,900,000 - 3901 856
I—ILOG solution,
C—Channel4 solution,
Conclusion
The campaign allocation problem (CAP) can be formulated as a mixed integer programming problem (MIP) which is NP-Completed hard. Due to the size of problem, which could have 3m integer variables and about the same number of constraints, we develop both MIP optimal and heuristic procedures to solve the problem. A number of tests on real datasets have been made. Comparing the solutions from CAMGEN, the current computer system in Channel 4, we conclude that IBM-ILOG CPLEX solution procedures can bring more than £10m revenue increasing per month to Channel 4 while respect all business constraints.
References
[1] Araman, V.F., I. Popescu. 2009. Media Revenue Management with Audience Uncertainty: Balancing Upfront and Spot Market Sales. Manufacturing and Service Operations Management, published online before print Jun 12, 2009, DOI: doi:10.1287/msom.1090.0262
[2] Bollapragada, S., M.R. Bussieck, S. Mallik. 2004. Scheduling Commercial Videotapes in Broadcast Television. Operations Research, 52(5) 679–689.
[3] Bollapragada, S., H. Cheng, M. Phillips, M. Garbiras, M. Scholes, T. Gibbs, M. Humphreville. 2002. NBC’s Optimization Systems Increase Revenues and Productivity. Interfaces 32 (1) 47-60.
[4] Bollapragada, S., M. Garbiras. 2004. Scheduling commercials on broadcast television.
Operations Research, 52(3) 337–345.
[5] Bollapragada, S., S. Mallik. 2008. Managing on-air inventory in broadcast television. IIE Transactions 40(12) 1107–1123.
[6] Brusco, M.J., 2008. Scheduling advertising slots for television. Journal of the Operational Research Society, 59 (10) 1363-1372.
[7] DeReyck, B., Z. Degraeve. 2003. Broadcast scheduling for mobile advertising. Operations Research 51 (4) 509-517.
[8] Fleming, P.J., M.A. Pashkevich. 2007. Optimal Advertising Campaign Generation for Multiple Brands Using MOGA. IEEE Transactions on Systems, Man, and Cybernetics—Part C: Applications and Reviews 37 (6) 1190-1201.
[9] Gaur, D.R., R. Krishnamurti, R. Kohli. 2009. Conflict Resolution in the Scheduling of Television Commercials, Operations Research, 57(5) 1098-1105.
[11] Kimms, A., M. Müller-Bungart. 2007. Revenue management for broadcasting commercials: the channel’s problem of selecting and scheduling the advertisements to be aired. International Journal of Revenue Management 1(1), 28-44.
[12] Menon, S., A. Amiri. 2004. Scheduling Banner Advertisements on the Web. INFORMS Journal on Computing 16 (1) 95-105.
[13] Pérez-Gladish, B., I. Gonzalez, A. Bilbao-Terol, M. Arenas-Parra. 2010. Planning a TV advertising campaign: A crisp multiobjective programming model from fuzzy basic data. Omega 38 84-94.
[14] Reddy, S. K., J. E. Aronson, A. Stam. 1998. SPOT: Scheduling programs optimally for television. Management Science, 44(1) 83–102.
[15] Velusamy, S., L. Gopal, S. Bhatnagar, S. Varadarajan. 2008. An efficient ad recommendation system for TV programs. Multimedia Systems 14 73-87.
[16] Yavuz, M. 2008. An iterated beam search algorithm for scheduling television commercials. POMS 19th Annual Conference, 008-0569, available on: http://ebiz.uoregon.edu/poms2008/FullPapers/008-0569.pdf
[17] Zhang, X. 2006. Mathematical models for the television advertising allocation problem.