From the public Gopher refers to the north
Online advertising, also called online advertising and Internet advertising, as the name suggests, refers to advertisements placed on online media. Usually we can see its shadow in the information stream, short video, news and Weibo. For relatively large advertising platforms, there will still be a large number of advertisements that can be delivered after the user is targeted, and selecting a suitable advertisement from a large number of advertisements to show to the user is the topic to be discussed in this article-online advertising distribution strategy.
Noun description
In order to better understand this article, first do some noun descriptions in advance.
eCPM(Effective Cost Per Mille)
: Refers to the advertising revenue that can be obtained for every thousand impressions. This indicator reflects profitability and does not represent actual income. Different advertisers will choose different bidding methods such as CPC and CPM, so it is impossible to compare with pure bids when advertising is distributed. Therefore, ecpm
used to evaluate the revenue that different bidding methods can bring to the advertising platform. .
Targeted advertising: The so-called "targeting" is actually a screening of the audience, that is, the display of advertisements is determined by visitors. The advanced advertising management system can provide a variety of targeting methods.
The best must be suitable
For advertising platforms, maximizing revenue is a priority. In order to ensure the maximization of revenue, we select the advertisement with the highest ecpm for each advertisement request. This logic is correct in theory, but it is not necessarily true in practice. So what is wrong with it?
- Report that the consumption exceeds the budget limit.
- Advertising budget is inexhaustible.
- Null result problem.
- The excessive consumption of some ads affects the advertiser’s delivery experience and the user’s product experience.
problem analysis
Question 1
When analyzing question 1, we need to have such a consensus that there is a certain delay in the reporting of advertisement clicks, exposures and other data.
Since the advertising allocation strategy does not consider budget consumption information, when the consumption is close to the budget limit, the exposure speed cannot be slowed down in time. As a result, the traffic that should be allocated to other advertisers is still allocated to advertisers with limited budgets. This is the traffic to the advertising platform. The waste (the higher the traffic, the more serious the platform waste will be).
Question 2
Some small and medium-sized advertisers have weak competitiveness (low bids), and it is difficult to obtain sufficient exposure. This situation is especially obvious when there are plenty of advertisements.
Question 3
On the one hand, it may be due to insufficient advertising resources, on the other hand, it may also be that targeted advertising consumes too fast (see the example below for details).
Question 4
Advertisements are sorted according to ecpm, which will lead to a large difference in advertising consumption speed, which directly affects the advertiser's delivery experience, and even users who repeatedly see repeated advertisements directly affect the user's product experience, which in turn affects the CVR of the advertisement.
In order to further illustrate the shortcomings of this algorithm, please see the following special example.
advertise | Bid ($) | Budget ($) | Orientation |
---|---|---|---|
A | 0.5 | 100 | Male, game |
B | 1 | 100 | Male, game, sports |
Taking the above advertisement as an example, there are currently males, games and
males, with 100 sports requests each. The ideal maximum profit is
150$, but when the advertisement is distributed according to the above strategy, there will be
, when the 100 request arrives first, the B advertisement will be consumed first, and the male, sports` 100 request will have no advertisement to consume when the 100 request arrives. The ecpm sorting algorithm is also called the Greedy algorithm, which makes high-value advertisements quickly consumed.
The right is the best
Balance algorithm
Different from the Greedy algorithm, the Balance algorithm proposed by Kalyanasundaram and Pruhs ignores the bids of a single bidder, balances the budget consumption of all bidders as much as possible, and makes their online time as long as possible, that is, as far as possible to keep all reports at a uniform speed. The algorithm is described as follows:
当一个满足一些定向广告的请求到达时:
if 广告预算消耗完 {
continue
} else {
选择一个(消耗/预算)值最小的一个广告
}
Compared with the greedy algorithm, the Balance algorithm balances the consumption speed of all advertisements and can effectively solve the problem of rapid consumption of advertisements by the greedy algorithm, but it is still not the best solution to the problem of inexhaustible advertisement consumption. Let's look at the following special example:
advertise | Bid ($) | Budget ($) | Orientation |
---|---|---|---|
A | 1 | 100 | Male, game |
B | 0.01 | 100 | Male, game, sports |
Taking the above advertisement as an example, there are currently males, games and
males, with 100 sports requests each. The maximum profit of the ideal pair is
110$. According to the balance algorithm, its total budget consumption is only a few dollars. When the 100 request for male, game
arrives first, the B advertisement must be consumed first. When the male, sports `100 request arrives, there will still be no advertisement to consume.
So what is the application scenario of the Balance algorithm? Let's consider this problem with the limit method.
Assume a : If the bids of advertisement A and advertisement B are respectively 1000$ and 1$ (CPC)
Obviously, ad A has a greater advantage and should be displayed first. According to the previous example, the Balance algorithm cannot solve this extreme scenario, while the Greedy algorithm fully takes into account the interests of the platform and the advertiser's eagerness to spend money.
Hypothesis two : If all advertising bids are 10$ (CPC)
The Greedy algorithm is related to bidding, while the Balance algorithm is only related to budget. According to the controlled variable method, it is easy to know that the Balance algorithm was born for this kind of scenario.
Summary : Based on the previous assumptions and the description in the paper, we summarize the following conclusions:
- The Balance algorithm is more suitable for scenarios where advertising bids are relatively close
- Greedy algorithm is more suitable for scenarios where there is a big difference in advertising bids
MSVV algorithm
Only children can choose and choose the questions, we adults want them all. Balance algorithm and Greedy algorithm have their own advantages and disadvantages and different applicable scenarios. Is there an algorithm that can integrate the advantages of the two? This is the official idea of the MSVV algorithm.
In order to describe the new algorithm more clearly, some basic definitions are given first:
The algorithm is described as follows:
当一个满足一些定向广告的请求到达时:
if 广告预算消耗完 {
continue
} else {
选择一个`缩放出价`值最大的广告
}
The above trade-off function is a monotonically decreasing function, and the value range of \( v \) is [0,1]. The distribution diagram of the trade-off function is as follows:
When all advertising bids are equal, because the trade-off function is a monotonically decreasing function, the MSVV algorithm just degenerates into the Balance algorithm. On the other hand, if the bid difference is very large, the MSVV algorithm will not change the order of the bids in most cases. At this time, the MSVV performance is closer to the Greedy algorithm. Consider a more extreme case. When all advertising budgets are infinite, the MSVV algorithm directly degenerates to the Greedy algorithm, because the trade-off function is constant at this time \( 1-{\frac 1 e} \).
In order to verify the adaptability of the MSVV algorithm, we look at the following code:
type ad struct {
cost float64
total float64
price float64
}
func scaled(price, cost, total float64) float64 {
return price * (1.0 - math.Pow(math.E, cost/total-1))
}
func main() {
a := &ad{0, 100, 1}
b := &ad{0, 100, 0.01}
// 模拟`男,游戏`到达时,a和b同时消耗
for i := 0; i < 100; i++ {
aCp := scaled(a.price, a.cost, a.total)
bCp := scaled(b.price, b.cost, b.total)
if a.cost >= a.total || b.cost >= b.total {
break
}
if aCp >= bCp {
a.cost += a.price
} else {
b.cost += b.price
}
}
// 模拟`男,运动`到达时,仅b可消耗
for i := 0; i < 100; i++ {
if b.cost >= b.total {
break
}
b.cost += b.price
}
fmt.Println(a.cost + b.cost)
}
The returns of the MSVV algorithm in the previous extreme examples are 116.5
and 101
respectively, and its overall performance is basically in line with expectations.
Summarize
Looking back at the previous problem now, the excessive consumption and slowing down of the exposure speed are within the range of the Balance algorithm (the lack of advertising resources can only be solved by other means). It is better to consider the Greedy algorithm from the perspective of the revenue of the advertising platform. Then the MSVV algorithm that combines the advantages of the two can be described as an indispensable tool for every advertising platform to travel at home.
The online advertisement Lao Xu is also the first contact, and he is working hard to store his knowledge for sustainable development in the future. If there is something incorrect in the article, readers are welcome to correct and communicate.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。