【 I Technology Meeting 】2020.03.11 “Common video advertising algorithm experience” sharing meeting
Iqiyi’s core business model is premium video content plus paid membership services, with online advertising under that. As a video service website, in fact, iQiyi has many other apps besides our main APP, such as iQiyi Sports, Qixiu Live, iQiyi Literature, etc. These apps also enrich iQiyi’s means of realization. In iQiyi’s Q3 2019 financial report, other revenue accounts for a high proportion besides members and advertising. Online advertising is currently iQiyi’s second largest revenue source, and Q2 revenue is about 2.1 billion yuan.
In China, advertising is generally divided into two categories: brand advertising and effect advertising. Generally speaking, the characteristics of brand advertising are mainly the pursuit of exposure and pay attention to the long-term value of the brand, while effect advertising pays more attention to the short-term effect transformation and directly stimulate the consumer behavior of users.
In the above picture, on the left is an advertisement of a star endorsing a skin care product before watching the video, which is a typical brand advertisement. On the right is a stream of information ads. These ads have slogans that are very enticing to click to download, install, or even pay. These ads are generally performance ads.
First of all, from the perspective of video content, brand advertising is often keen on some head content, such as popular variety shows, TV series, etc., these content tend to cover more users, brand advertisers tend to give a relatively high premium on these content. Effect ads pay more attention to attracting users, so in some medium and long tail content, such as network movies, UGC content, the proportion of effect ads may be higher. From the perspective of advertising space, because brand advertising pays attention to strong exposure, so in the front patch, open screen advertising space, the proportion of brand advertising will be more, the user’s perception of these advertising space will be stronger; In some interactive advertising space, such as information flow, focus map, these advertising space because users often refresh and drag, so click rate will be relatively high, so the proportion of effect advertising will be more.
The core goal of brand advertising is that advertisers hope to establish a brand image in the minds of users, which mainly has the following characteristics: quickly contacting a large number of users, promoting the brand image, enhancing the medium and long-term purchasing power and profit space, and eliminating people who are completely impossible. Generally speaking, when the video platform signs brand advertising with advertisers, it will agree on the volume of advertisement, so one of the core optimization goals of brand advertising algorithm is to ensure the quantity.
The whole business process of brand advertising can be roughly divided into pre-sale and execution of two stages, pre-sale is also the advertiser to determine the process of advertising purchase intention. For example, let’s say a milk powder brand wants to place its advertisement in the advertisement space in front of the video in the next two months, covering the women who watch the mother and baby channel in Beijing, Shanghai, Guangzhou and Shenzhen. Advertisers will initiate inquiries to iQiyi, and iQiyi will feedback the maximum available inventory under targeted conditions, such as 200,000 CPM; Then the advertiser will determine the amount of 100,000 CPM to be booked according to their budget, demand and sales communication, and then they will schedule, place an order, approve and finally become a formal advertising contract order.
The execution phase is also the launching period of the order. This advertisement is launched in the whole launching period with the minimum guaranteed amount of 100,000 CPM. Of course, in order to ensure the effect of advertising and reach more people, the pre-ordered amount will be allocated to every day of the two months, and then the amount that has not been played on that day will be accumulated to the next day. When the two-month launch period is over, we will make the final settlement with the advertiser.
In these two phases, the algorithm also provides a lot of basic service support. For example, in the pre-sale stage, we are mainly a pre-sale platform to provide the service of inquiry and lock quantity. Through the algorithm, we can ensure the rationality of the predetermined quantity and price under the directional condition of the order, so as to avoid the losses caused by the default of both parties.
In addition, in the implementation stage, we will optimize the effectiveness, is at the core of inventory allocation, secondly according to the needs of different advertisers, including some of the characteristics of advertising, advertising products, there are also some other optimization services, the purpose is to enhance the effectiveness of the advertising system, guarantee the interests of advertisers and users. Beyond that, there are some basic services. Inventory forecasting services, for example, provide estimates of many underlying data for use by other services.
This [I Technology meeting] is mainly shared: conventional inventory estimation, pre-sale inquiry lock volume platform, online inventory allocation and AI band-aid dynamic point.
Regular inventory estimate
The inventory here refers to the AD inventory, which is an effective AD exposure opportunity that the platform can provide to advertisers. Inventory forecast, in fact is to forecast the future days all advertising space in a multidimensional cross the inventory data, inventory forecast is a part of the brand advertising is very important, because of the brand advertising sales characteristics, determines the sale of the entire order and scheduled cycle will be very long, every day scheduled orders, each order scheduling is different also. In order to better provide advertisers with a query service, including an optimization of online delivery, our accurate estimation of inventory on the effect of our entire service is a great basic guarantee.
Inventory estimation is a typical timing problem. In the early days, the timing database model was mainly some simple statistical models, such as moving average method and exponential smoothing method. More complex statistical models have evolved, such as the classical ARIMA model and the state space model. ARIMA is also a classical state space model, which is occasionally used to make time series estimates.
So deep learning became a hot topic after AlphaGo became popular in 2017, and more and more people are applying deep models to continuous prediction. For example, DeepAR, MQ-R (C) NN, st-Resnet core all solve timing estimation by deep learning methods. Most of these articles were published in the second half of 2017 or 2018. Interested friends can check them out.
Iqiyi first adopted ARIMA model for inventory estimation. To be exact, it should be Seasonal ARIMA, that is, a periodic term is added on the basis of ARIMA. The advantage of this model is that it falls to the ground very quickly. It is also for this reason that we optimize the ARIMA model, which can be called Adaptive ARIMA after optimization. The core is to add the holiday factor as an external explanatory variable on the basis of the original ARIMA. At the same time, in terms of data preprocessing, such as the processing of outliers, data truncation, a lot of optimization work has been done, so that the robustness of the whole model has been greatly improved.
In 2018, we started to solve the timing prediction problem with a deep method. The first thought was to use LSTM, a cyclic network model, for prediction. However, in the actual operation process, we found a serious problem. But their minimum granularity is usually at the level of minutes or 10 minutes; However, in the case of brand advertising, the minimum granularity is days. Moreover, the development of the whole video industry in the past few years will be very fast. To make prediction, only recent data can be used, so my data and sample size will be relatively small. Another problem is that we provide advertisers with a lot of orientation conditions, if I in each dimension of multi-dimensional cross, spread out in depth to estimate, resources are also a big problem.
In order to solve the problem of insufficient resources and samples just mentioned, we proposed a LSTM prediction model based on hierarchical clustering. After using this deep model, the accuracy and robustness of the model have been greatly improved.
The LSTM prediction model of hierarchical clustering defines a similarity for the inventory of each dimension. According to the fluctuation and trend of historical inventory, these fluctuations and trends are aggregated into a category with a similar dimension, and a set of parameters are trained under each cluster. In this way, we can solve the problems of samples and resources at the same time. Since there are many dimensions of data for each cluster, its sample size can be solved by one; At the same time, if only one set of parameters is trained in the same cluster, the consumption of the whole resource is also relatively big. It can be seen that after the whole cluster, the history of the inventory in each cluster is actually relatively close. In addition, on this basis, we have done some other optimization, holidays have also been optimized.
Pre-sale inquiry lock volume platform
A brand advertising order from sale, until finally become a formal online orders, in fact the whole process is very long, the first is the advertisers will communicate with sales, marketing and sales operations and will communicate on the poll quantity order, and ultimately advertisers after confirm final, media will help reservation and order, a booking sheet will also need to audit team’s audit, Finally can become an official single, become an official single, by the implementation to upload material, and finally will become such an advertisement you see.
About the whole process, the corresponding modules have the service system, the system algorithm also play a lot, we call it a unified lock service quantity, at the beginning for example, sales volume, to communicate with sales operations to through a amount of platform, and then request algorithm of consulting service, told the advertiser, you such a directional condition, How much inventory is available? We can make a reservation for you.
When the final intention is determined and the order is placed in the future, there needs to be a reservation operation. We will feedback whether the reservation conditions can be met, how much shortage risk there is, and whether the shortage risk can be accepted. Only after confirmation can it become a formal reservation order. Here are scheduled and polling to request for one reason, is for the amount of time tend to be longer in advance, for quantity there may be a time lag between scheduled, in the process, we order bookings, the whole system including our stock volatility forecast results can be changed, so at the time of reservation and the need for additional request.
When the order is booked successfully, the resource will be locked by the order, and the resource will be deducted after the subsequent inquiry. At present, the time for the approval of the reservation is relatively short in our whole process, so the change of the entire inventory or the change of the reservation in the whole system is relatively small. In the future, we will consider adding quantitative review. For some orders with a long interval between the reservation and approval, we need to add a further review.
On the platform of IQiyi, there are actually a lot of advertising Spaces and advertising products sold, including various systems mentioned. In order to better support these systems, some Settings have been made to the service framework. First of all, in order to reduce the docking cost of various systems, iQiyi provides a unified API, no matter the query, reservation, audit and other platforms, can be accessed through the unified API, and there is a special BrokerServer to receive the requests from various front-end systems. Based on the type of request, information about advertising space and advertising products is distributed to the sub-services, and the Broker summarizes the feedback from the sub-services to the front end.
The framework of a model for each sub-service is like this on the right. First of all, in terms of data, we will have real-time data and offline data. Real-time data mainly updates the sales rate in the whole system in real time, including scheduled deductions. Off-line data can be various, such as inventory estimation, some basic data statistics, including some model training.
There are also different models for different advertising products online, including real-time allocation, algorithmic models, statistical models, and so on. At present, the intervention of most new advertising products can be quickly supported through the configuration method and the above models.
Here is a brief introduction of the conventional patch, also known as the conventional front patch, which is the most important advertising resource in the whole iQiyi and even the long video industry.
There are a lot of orders for the pre-patch, and we can provide advertisers with a lot of orientation. For this reason, we adopt a different approach with other competing products for the inquiry volume of the pre-patch advertisement. At present, we conduct the query volume through a regression model, which is equivalent to considering a possible sale situation of advertising space in the future, rather than returning a maximum available inventory at the time of the query volume.
The benefit of this is that we can ensure the stability of the entire pre-patch AD sales, including the diversity of orders, so as to better utilize a user frequency data. At present, the regression model adopted by us is mainly FM, and on this basis, we also add non-negative parameter learning, non-bias learning, cost-sensitive learning, etc., mainly to make the final results more in line with the business scenario. In fact, on this basis, we also did the calibration and generation of a GroundTruth including the marked depth, which is also a very important problem in the regression model of the general query quantity.
This is the result of training the original FM model. You can see that the stages of this model are very large, and some of the parameters are negative. Bias, too big a problem, is to ask the results after will be stable relatively, advertisers to some orientation, will find that it does not happen of polling results too big fluctuations, parameters of negative one effect may be bigger, because advertisers will often into the amount for the market to change the directional conditions, such as advertisers found his original redirect back, It’s not going to meet his buying needs and he’s going to add some orientation.
However, if the parameter is negative, it may be that the advertiser added a new targeted to ask the amount of inventory returned to him is less, which is obviously in line with everyone’s cognition, will let the advertiser query the result of doubt. In order to solve this problem, we adopt non-bias learning and non-negative parameter learning. Firstly, we remove the Bias term and add the non-negative parameter restriction in the whole FM parameter iteration process. After these two optimizations, the self-consistency of the whole model will be better.
From the perspective of selling, we assume that the deviation of the whole model is fixed. Obviously, the loss of selling less will be a little bigger than the loss of oversold. We can compensate for oversold by supplementing the volume and receiving the proceeds, but if selling less, the direct income will be less. Therefore, in order to solve this problem, we add a cost-sensitive learning, so that the sample weight which is estimated to be too small will become larger, and the loss will become larger.
At the same time, since the whole process of inquiry is a manual process in our entire system, it is necessary to add such a function in order to ensure a smoother transition from manual to system. After these optimizations, the difference of the query quantity of our algorithm is within an acceptable range compared with the query quantity of previous employees, and the accuracy has been further improved. Therefore, the whole query quantity system of our algorithm has become a system query quantity from the previous manual method.
Online inventory allocation First, inventory allocation is one of the core modules of brand advertising algorithm. A better inventory allocation algorithm is very helpful to achieve the core optimization goal of brand advertising, which we mentioned before.
For a simple example, let’s assume that there are two orders in the system. The first order is to buy TV drama channel, and the order quantity is 400CPM; the second order is to buy Beijing dimension, and the order quantity is 800CPM. In terms of inventory, Beijing TV Series, Beijing Variety Show, Shanghai TV Series and Shanghai Variety Show each have 400CPM inventory.
It is assumed that the priority of order 1 is higher than that of order 2. For example, the delivery process of order 1 is evenly distributed according to Shanghai TV dramas, accounting for 200CPM each. At this time, under the dimension of Beijing, only one inventory of 600CPM can be obtained for order 2, which will cause a shortage of 200CPM.
Brand advertising is actually a process of selling in advance, but in fact on launch day I can know in advance of the Beijing show this dimension of its stock is relatively scarce, at the time of launch, although an order of priority is higher, but I can put it all into the Shanghai show, so order two dimensions in Beijing can obtain 800 CPM a inventory, So there’s no shortage in the system. Therefore, how to optimize the inventory allocation of our entire system is very helpful to achieve the goal of quantity assurance.
The whole problem of inventory allocation can be defined in this way. First of all, we will have a lot of traffic attributes, such as common platforms, cities, content, and some such as gender, age, site, etc. Each attribute combination will form a traffic unit, and each traffic unit has a certain amount of inventory.
Also our system there will be a lot of orders, the order has its orientation, only when the orientation of our traffic and orders match, this order is possible at this time, advertising request or exposure under the flow, thus formed the inventory and order many-to-many binary chart, each attachment there is a need we to the quantity of distribution, It represents how much inventory I want to allocate to this order under this flow unit.
Such a problem can be formally defined as an optimization problem on the right, where the goal of the whole optimization is to minimize the one deficiency in the system. There are some constraints on the supply side, some constraints on the inventory side.
Such a problem, because the whole number of Xij is very large, because it is to expand the case may be close to such an order of magnitude, this is an explicit NP-hard problem, and then on such a problem some solutions, there are some more ready-made methods. For example, if you’re looking at classic Shale algorithms, you can refer to this paper.
Because inventory allocation is A global optimization problem, so how do we do A/B experiments for A global optimization problem like this? First, we do an online traffic segmentation by means of UID hash bucket partition. The advantage is to ensure that the traffic is relatively uniform, and there is frequency between users. The frequency will be described in detail later, and the frequency is not interfered with each other.
Secondly, we will divide the order scheduling, including some bucket allocation control, as well as the real-time consumption and calibration of the inventory under the advertising space into buckets. On the algorithm side, the inventory of each bucket will be enlarged to 100% in proportion, which is equivalent to changing the original one AD space into multiple ones. Assuming it online has three barrels, it is equivalent to our original tube under a advertising and order a flow into three copies of the three is independence does not affect each other, and each inventory end of supply and the demand of the order side are the same, the only affect its effectiveness is inventory classification algorithms, such variables is reduced to a single factor experiment, Can be used to verify the optimization effect of the allocation algorithm.
At present, we are focusing on solving the two problems of precise orientation and frequency control. We hope to communicate with you.
First of all, precise orientation, our advertisers’ orientation is very much, regular such as some cities, channels, platforms of some orientation, these orientation is advertisers will frequently targeted some dimensions, we call it regular orientation.
On this basis, we will open a lot of precise orientation to advertisers, such as some orientation of gender and age, including some orientation of video Tag and crowd package. One of the characteristics of these orientation is that the orders of advertisers in these orientation are relatively sparse, and there may be intersection between various dimensions.
According to the just I define the problem, if I’m going to do such an allocation problem, the most direct method is to put all of the dimensions of a, because the entire can provide directional very much, after fully expanded, inventory of the number of dimensions will become very big, such a problem, solving is not of our entire line.
The second is that there is a more troublesome, is like the crowd package attributes, there are some overlap between different orientation, such as a user on our platform, he may be fans of huang xiaoming, could also be a costume piece of fan, for any package a crowd, the user has belongs to and does not belong to two states, package to exhaustion crowd such a property, If we turn it into disjoint flow units, our N crowd packs will have 2^N combinations, and there may be hundreds of crowd packs illustrated on the line every day. Such a dimension expansion is completely inestimable, so we cannot achieve it in such a simple way.
In addition, the more important problem of brand advertising is the frequency problem. The so-called frequency problem is that advertisers will limit the number of times each user sees the advertisement in a cycle, and the frequency problem has a great impact on the entire distribution.
, for example, suppose that we now have ABC three users in the system, these three users in a cycle respectively provides an inventory, two inventories, seven, assuming an order no frequency constraint, the 10 stocks are available for him, but assuming that advertisers added a limitation on this order, such as the cycle frequency control, Three users of ABC can only provide one inventory for this order, so in the case of frequency control once, the available inventory of this order becomes 3, and in the same case of frequency control twice, the available inventory of this order becomes 5.
Therefore, under different frequency control conditions, even if the two orders have the same directional traffic attributes, their available inventory will be very different, so the impact of frequency control on the entire distribution will be very large.
First regarding the precise orientation of this piece, we through a hierarchical way of inventory model to solve, we will build the basic flow unit according to the core dimensions, here are the main platform, regional and channel, on the basis of this, each segment of the core dimension, can maintain their long tail orientation inventory structure, including gender, age, etc. They don’t interfere with each other.
Deduction of the whole order is, in fact, there is order, when we don’t have long tail directional deductions order, all I need in my core orientation under a deduction, only when assigned to have a long tail of directional order, I will deduct delay deduction of core orientation to the following each long tail orientation, for example, I now appeared in the process of deducting the directional difficult list, I will calculate the inventory of this order and deduct the percentage of the core dimension of the previous orders without any long tail orientation to men and women and users of unknown gender in a uniform way. On this basis, I will calculate the current inventory of male users.
As long tail orientation has been introduced before, there are relatively few orders for orientation. When I deduct most orders, I only need to consider the core orientation dimension, and the complexity of the whole deduction will be relatively low.
Additional directional like crowd package, I only maintain individual orientation inventory structure, do not consider each other’s hand in class, if there is directed at the same time, under the condition of our temporary processing method is according to the orthogonal way, of course, such a deduction, from precision, has certain losses than relatively fully expanded, but from the calculation efficiency, resources, Very big savings have been achieved, and for these orders with long tail orientation, if we directly ignore this orientation, the effect has been greatly improved.
And the whole deduction process is also very simple, because for the order with long tail orientation, I only need to record its available proportion in each core dimension, which I labeled as FIj here, and I can replace it by the way that xij tip is equal to Xij ×fij. After the replacement, the solving process of the whole algorithm is not affected at all. Will only in the last engine agent menu online do a adjustment, because the engine natural order in candidate selection, has made a screen flow, so for the order, under this dimension available inventory has changed into si x fij, the whole solving process and the final menu embedded is relatively smooth, the whole delivery before we also verified, It has a big effect on the line.
Questions about the frequency, the frequency of orders may inventory influence is very big, or just the example, order frequency control once a week, three inventory, frequency control, twice a week is five inventory, but here’s a assumptions is that this system may be only one order, when the system have multiple orders, this problem becomes more complicated.
For example, it is known that the frequency control of order 1 is once in the system, and all the available inventory is taken up. For example, ABC occupies one inventory. At this time, although the frequency control of order cycle is twice, its available inventory will become 3 instead of the previous 5. When the system orders, customer very much very much when the relationship is very complicated, and what better drop also is very important problem on the user, assuming that the frequency of A demand of order is 1, the order when the display in the user A or B, can lead to order 2 available inventory into four, Only when it is placed on user C will the available inventory for order 2 remain at 5, which will increase the available inventory for order 2.
So how to optimize the frequency of problems will be very big impact on the effect of online delivery, we won’t consider the factor of the whole system inside all orders from each other, to calculate a fij said this frequency under the control of inventory available, we when calculating the order deduction order, will cast the fij constraints into consideration, under the same orientation, the smaller the fij left, The more it will take a deduction first.
The second thing is that throughout the assignment, you do a fiJ on the probability of the assignment and you prime it with a constraint, and then the fiJ, which is just a long tail orientation, you do the same thing. In this way, the delivery effect of frequency control orders for the whole frequency has also been greatly improved.
Dynamic position of AI Band-Aid
Firstly, the so-called AI Band-Aid identifies lines, stars, scenes and other content in the video through AI technology, and then labels each time node of the video. Then the advertisement is delivered by targeting some relevant labels, making the entire advertisement more consistent with the video content.
In the picture above, when the word “pay” appears in the video, we also show an advertisement of Alipay. You can see that the display of the advertisement is relatively consistent with the content of the video. On the right is the schematic diagram of a point, you can see the frame of the picture, we can actually play a lot of points, including some of the scene points, star, expression of point, line, etc., each frame can play so many label on, how to choose the right point to advertising?
We call this solution a two-stage dynamic point position model. First, the point position of the video is selected by extracting some key frames, and various point positions are marked by some depth models related to the image. These bits are stored in HBase, which contains bits of information. Algorithm side there will be a regular tasks, pre-allocated task mainly according to the various business rules on AI inside synchronous come over all the points on a preliminary screening, business metrics will be very much, including said two ads show no more than 1 minute, the same within one point in the same video can’t exposure times, including 2 minutes before can’t out ads and so on.
On the basis of these business specifications, the overall commercial value of the label, the potential inventory, and its historical sales rate will be considered, so that after the pre-allocation, the overall commercial value of the retained spots and AD spots is maximized. The results of this pre-allocation will be synchronized to a real-time allocation service. There are two main real-time services: 1. One of its optimization goals is to minimize the overall deficiency. 2, related to the query lock quantity. We want an optimization goal that maximizes the total number of queries.
For real-time distributed engine delivery or lock quantity, to the response time of the whole system has larger requirement, so if the full amount of data every time we do real-time allocation, the efficiency is obviously can not meet, so there will be a pre-allocated this step, at present our whole pre-allocated will have full capacity every day, there will be a incremental updating logic behind. The full dose usually takes 2-3 hours, with increments of about 30-40 minutes.
One of the important factors to consider in pre-allocation is the tag value, which is then defined by the formula shown in the following figure. Inventory can take 2-3 hours at a time, which is not acceptable to allocate time this way every day, so we didn’t optimize for every scheduled day. At present, a sequential pre-allocation is made for each video, and the goal is to maximize the value of the saved tag points.
In a specific process, all points will be sorted randomly at first, and then the value of the remaining points will be maximized through dynamic programming or greedy algorithm. And all points can be booked and placed at will, without triggering any constraints of business rules.
Based on this, after finish each label each video preprocessing point to a real time distribution of the real-time allocation system similar to before inventory allocation is also defines a optimization goal, overall optimization goal makes the distribution point business value is the smallest, in order to ensure the remaining undistributed video its commercial value is bigger, so from the point of sale, It can better carry out subsequent sales.
In order to make the value of all labels have sold, prevent certain tags in the process of follow-up poll quantity advertisers want to buy, but because it is the whole history of selling rate, the cause of the commercial value is low, cause we can offer advertisers inventory is less, so after distribution of every part of the video will update the label value, For those labels that are allocated with fewer points retained, the weight will be increased.