广告联盟竞价算法原理解析:毫秒之间,谁赢谁输
发布时间:2026-05-09 19:00:11

你每一次刷新手机屏幕,背后已经完成了一场看不见的拍卖。

用户手指刚离开屏幕,广告位的竞价已经结束——谁的广告展示、谁默默退场、谁为这次曝光付了多少钱,全部在100毫秒内尘埃落定。这套系统精密到令人发指,而它的核心,就是竞价算法。

今天把这套算法从底层拆开,让你看清楚广告联盟到底在算什么、怎么算、为什么这么算。

一、先搞懂一个根本问题:拍卖的到底是什么?

传统拍卖卖的是物品——一幅画、一块地、一辆车。但互联网广告拍卖的不是广告位本身,而是"这一次展示机会"。

同一个广告位,一秒钟可能被拍卖几十次。同一个广告主的DSP(需求方平台),可能对同一个广告位连续出价几十次。竞拍者之间互不知道对方出价多少——这就是"密封拍卖"的本质。

理解了这一点,你才能理解后面所有算法的设计逻辑。

二、三种竞价机制:从蛮荒到文明的进化史

广告联盟的竞价机制经历了三代进化,每一代都是为了解决上一代的致命缺陷。

第一代:广义第一价格(GFP)——谁出价高谁赢,按自己的出价付钱

这是最直觉的规则。A出5块,B出4块,A赢,A付5块。

听起来很公平对吧?但它有两个要命的问题。

第一个问题:价格剧烈波动。A出5块赢了,B不甘心,出5.01块。A又出5.02块。两个人像拉锯一样一分一分往上加,直到一方放弃。然后赢的那个人发现没有对手了,立刻把价格砍回5块。下一秒对手又杀回来。广告位的成交价像心电图一样上蹿下跳,平台收入极不稳定。

第二个问题:广告主有动机说谎。既然按自己出价付钱,那我为什么不往低了报?反正报低了也能赢,还能少付钱。但如果人人都往低报,平台就收不到合理的价格。

Yahoo和Google早期都用这套机制,直到2002年Google忍不了了,发明了第二代。

第二代:广义第二价格(GSP)——谁出价高谁赢,按第二高的出价付钱

规则变了:A出5块,B出4块,A赢,但A只付4.01块(第二高价加一分钱)。

这一改,天下太平。

为什么?因为A知道,就算自己出价5块,实际只付4.01块。那他有什么动机往高了报?没有——报5块和报4.5块,只要比B高,付的钱一样。报低了呢?万一B出4.3块,A报4.2就输了。所以最优策略就是"报自己的真实估价"。

这就是GSP被称为"单位置最优竞价策略"的原因。广告主不需要猜测对手出价,不需要频繁调价,不需要博弈——老老实实说真话就是最好的策略。系统稳定了,广告主省心了,平台收入也平滑了。

所以你今天看到的几乎所有互联网广告平台——穿山甲、优量汇、百度联盟、Google Ads——底层全是GSP。

但GSP也不完美。它不是"鼓励讲真话"的机制,说实话不一定形成纳什均衡,竞价结果不一定全局最优。而且当多个广告位同时拍卖时,GSP可能出现策略性出价的漏洞。

于是有人提出了第三代。

第三代:VCG机制——你赢了,但你得赔你造成的损失

VCG的逻辑更狠:A赢了这次拍卖,不是按第二高价付钱,而是按"A的获胜给其他人造成的总损失"来付钱。

举个例子。假设没有A参与,B和C的总收益是1000块。A进来抢了,B和C的总收益变成400块。A造成了600块的损失,那A就要为每一次点击付3块钱(600除以A带来的200次点击)。

这套机制理论上最公平——每个广告主都按自己对系统的"损害"付费,说真话是占优策略,整体系统自动达到稳定。VCG也因此被称为"多位置最优策略"。

但它几乎没人用。为什么?因为"损失"太难算了。你得知道每个人的估值分布、每次点击的边际收益、所有广告主的出价组合——计算量大到工程上不可行。更要命的是,你算出来的数字,广告主根本听不懂。"我点击一次付3块,为什么不是第二高价4块?"解释成本太高。

所以VCG停留在论文里,GSP统治了现实世界。

三、GSP的真正引擎:eCPM排序公式

GSP解决了"按什么价格付钱"的问题,但还有一个更关键的问题没解决——当100个广告主同时竞争一个广告位时,谁排第一?

答案是eCPM排序。

eCPM = 出价 × 预估CTR × 预估CVR × 1000

这个公式你肯定见过,但90%的人把它当数学题做,而不是当博弈信号看。它本质上在回答一个问题:系统要不要把这次曝光给你?

出价是你的诚意——你愿意为这次展示付多少钱。但光有诚意没用,系统还要看你会不会糟蹋这个流量。预估CTR衡量的是"用户会不会点",预估CVR衡量的是"点了之后会不会转化"。如果你出价10块但CTR只有0.1%,系统算出来的eCPM还不如出价2块但CTR 5%的广告主。

这就是为什么有些广告主出价不高却总能拿到量——因为他的素材好、定向准、落地页强,CTR和CVR拉满了。

而这里面最有技术含量的,是预估CTR和预估CVR的计算。

四、预估CTR:机器学习的主战场

当用户刷新页面的那一瞬间,系统要在几十毫秒内回答:这个用户,对这条广告,点击的概率是多少?

输入特征至少包括三个维度。

用户维度:年龄、性别、地域、设备类型(iOS还是Android)、历史点击行为、兴趣标签。一个在过去30天点过10次汽车广告的用户,和一个从来没点过广告的用户,对汽车广告的预估CTR天然不同。

广告维度:素材类型(视频还是图文)、广告位尺寸、广告主历史质量得分、创意新鲜度。一条上线3小时的新素材,系统会给它一个"冷启动"的保守预估,如果3小时内曝光和点击都低,算法会自动降权。

场景维度:当前是什么APP、什么页面、什么时段、 WiFi还是4G、早上8点还是凌晨2点。同样是电商广告,凌晨2点的预估CTR可能只有早上8点的三分之一。

这些特征交叉组合后,输入到模型里。常用的模型包括逻辑回归、梯度提升树(如LightGBM)、深度神经网络。工业界的做法是多模型ensemble——几个模型同时跑,加权融合,比单一模型稳定得多。

更精妙的是"实时CTR校准"。预估CTR是长期积累的经验值,但短期内某个广告主或某个点位的CTR可能突然波动。系统会用实时数据对预估值做修正,按一定比例加权。比如70%靠预估、30%靠实时,既保证稳定性又不失灵敏度。

还有一个很多人忽略的细节:新广告上线后,系统不会一上来就给高预估。它会先给一个保守值,跑一段时间看实际数据,再逐步调整。这就是为什么优化师总被告知"新素材前3小时要盯着"——算法在学习,你得给它数据。

五、质量分:GSP里的暗手

Google在2002年提出GSP的时候,加了一个关键变量——质量分。后来国内所有联盟都抄了这套机制。

实际计费公式变成了:收费 = 下一位出价 ×(下一位质量分 ÷ 本位质量分)+ 0.01元

这意味着什么?意味着出价不是唯一决定因素。你出价5块但质量分只有3分,对手出价4块但质量分9分——算下来你的实际扣费可能比对手还高。

质量分综合了什么?创意相关性(用户看到广告会不会主动点,而不是关掉)、落地页体验(加载速度、内容匹配度)、账户稳定性(日均曝光是否平稳、投放时长是否持续)。

这套机制的深层意图是:逼广告主把钱花在刀刃上。与其出高价买垃圾流量,不如把素材做好、把落地页优化好,用低出价拿高排名。平台收入没少,用户体验好了,广告主ROI也高了——三赢。

但这里有个陷阱。质量分的计算口径各联盟不一样。你在穿山甲质量分9分,换到优量汇可能只有6分,因为两家的特征权重、数据维度、校准逻辑全不同。所以多联盟接入的时候,不能只看出价,得看每家的"出价×质量分"综合值。

六、多广告位竞价:VCG的影子还在

上面讲的都是单个广告位的竞价。但现实中,一个APP可能同时有开屏、信息流、插屏、Banner多个广告位。用户打开APP的一瞬间,这些广告位是同时拍卖的。

这时候GSP的缺陷就暴露了——广告主可能策略性出价,在A位报高价抢量,在B位报低价保利润。结果不是全局最优。

理论上应该用VCG来解决多位置问题,但VCG太复杂。所以工业界的折中方案是:用GSP做单位置排序,但在多位置之间加一层"流量分配优化"。核心思路是把用户的多次曝光当作一个整体来分配,让高价值广告拿到最好的位置,同时保证每个位置的eCPM尽可能高。

更激进的做法是强化学习。把"平台总收益最大化"设为目标函数,让算法持续学习广告和流量的匹配数据,自动调整出价策略和位置分配。比如发现"游戏广告在下沉市场工具APP的转化效果好",就自动提升这类标签的匹配优先级。这不是人在调参数,是机器自己在进化。

七、动态底价:平台的最后一道防线

所有联盟都有一个隐藏参数——市场保留价(MRP),也叫底价。

底价的作用是托底。当广告主出价太低、质量太差,系统不会让这些广告展示出来拉低用户体验。底价可以是固定的,也可以是动态的——早上8点竞争激烈,底价自动上调;凌晨3点没人投,底价自动下调,吸引中小广告主填量。

更高级的玩法是"分底价"。出价底价和成交底价分开设。出价底价决定你能不能进竞价池,成交底价决定你实际展示时的最低扣费。两层过滤,既保证了广告池的质量,又最大化了填充率。

但底价设高了,填充率掉;设低了,eCPM被垃圾广告拉低。这个平衡点,每个联盟、每个时段、每个APP品类都不一样。头部联盟现在用动态底价调整算法,实时根据供需关系自动调节,比人工设的准得多。

八、整个链路的时间线:100毫秒内发生了什么

把上面所有东西串起来,用户下拉刷新的那一刻,后台发生了什么?

第一步,频控和流控。系统先检查这个用户今天已经看了几次广告,有没有点过"不感兴趣",是不是ROOT设备。不合格的直接过滤,不进入竞价。

第二步,选人。DSP从广告库里挑出一批定向匹配的广告——年龄对、地域对、兴趣对。假设挑出1000条。

第三步,预估CTR和CVR。机器学习模型对这1000条广告逐一打分,算出每条的预估eCPM。

第四步,竞价排序。1000条广告按eCPM从高到低排,取前几名进入候选。

第五步,GSP计费。第一名按第二名的出价乘以质量分比例扣费,展示广告。

第六步,数据回传。展示、点击、转化数据实时上报,喂给模型做下一轮优化。

全部完成,不到100毫秒。你以为只是刷新了一下页面,背后已经打完了一场战争。

九、给从业者的三句话

第一句:别只盯出价。eCPM = 出价 × CTR × CVR × 1000,出价只是三分之一。素材差、定向烂、落地页慢,出价再高也排不上去。把精力花在提升CTR和CVR上,比加价有效十倍。

第二句:质量分是长期资产。它不是一天能养起来的,但一旦到了9分,你用5块钱的出价能打别人8块钱的效果。前期宁可少投点量,也要把素材和账户养好。

第三句:多联盟接入的本质不是"多个渠道",是"让算法帮你选最优渠道"。同一条广告,在穿山甲eCPM是15块,在优量汇是22块,在快手是18块——不是因为流量不同,是因为算法对你这条广告的预估不同。接三家,让竞价系统自己选,你的收入至少涨30%。

最后一句话

广告联盟的竞价算法,表面上是一套数学公式,底层是一场关于注意力的博弈。平台要收入稳定,广告主要ROI最大化,用户要体验不被打扰。三方利益的平衡点,就藏在eCPM那个乘号里——出价、点击率、转化率,缺一个都不行。

理解了这套算法,你就理解了为什么有人日活5万月入12万,有人日活5万月入2000块。差别不在流量,在算法。

广告联盟竞价算法原理解析:毫秒之间,谁赢谁输
发布时间:2026-05-09 19:00:11

你每一次刷新手机屏幕,背后已经完成了一场看不见的拍卖。

用户手指刚离开屏幕,广告位的竞价已经结束——谁的广告展示、谁默默退场、谁为这次曝光付了多少钱,全部在100毫秒内尘埃落定。这套系统精密到令人发指,而它的核心,就是竞价算法。

今天把这套算法从底层拆开,让你看清楚广告联盟到底在算什么、怎么算、为什么这么算。

一、先搞懂一个根本问题:拍卖的到底是什么?

传统拍卖卖的是物品——一幅画、一块地、一辆车。但互联网广告拍卖的不是广告位本身,而是"这一次展示机会"。

同一个广告位,一秒钟可能被拍卖几十次。同一个广告主的DSP(需求方平台),可能对同一个广告位连续出价几十次。竞拍者之间互不知道对方出价多少——这就是"密封拍卖"的本质。

理解了这一点,你才能理解后面所有算法的设计逻辑。

二、三种竞价机制:从蛮荒到文明的进化史

广告联盟的竞价机制经历了三代进化,每一代都是为了解决上一代的致命缺陷。

第一代:广义第一价格(GFP)——谁出价高谁赢,按自己的出价付钱

这是最直觉的规则。A出5块,B出4块,A赢,A付5块。

听起来很公平对吧?但它有两个要命的问题。

第一个问题:价格剧烈波动。A出5块赢了,B不甘心,出5.01块。A又出5.02块。两个人像拉锯一样一分一分往上加,直到一方放弃。然后赢的那个人发现没有对手了,立刻把价格砍回5块。下一秒对手又杀回来。广告位的成交价像心电图一样上蹿下跳,平台收入极不稳定。

第二个问题:广告主有动机说谎。既然按自己出价付钱,那我为什么不往低了报?反正报低了也能赢,还能少付钱。但如果人人都往低报,平台就收不到合理的价格。

Yahoo和Google早期都用这套机制,直到2002年Google忍不了了,发明了第二代。

第二代:广义第二价格(GSP)——谁出价高谁赢,按第二高的出价付钱

规则变了:A出5块,B出4块,A赢,但A只付4.01块(第二高价加一分钱)。

这一改,天下太平。

为什么?因为A知道,就算自己出价5块,实际只付4.01块。那他有什么动机往高了报?没有——报5块和报4.5块,只要比B高,付的钱一样。报低了呢?万一B出4.3块,A报4.2就输了。所以最优策略就是"报自己的真实估价"。

这就是GSP被称为"单位置最优竞价策略"的原因。广告主不需要猜测对手出价,不需要频繁调价,不需要博弈——老老实实说真话就是最好的策略。系统稳定了,广告主省心了,平台收入也平滑了。

所以你今天看到的几乎所有互联网广告平台——穿山甲、优量汇、百度联盟、Google Ads——底层全是GSP。

但GSP也不完美。它不是"鼓励讲真话"的机制,说实话不一定形成纳什均衡,竞价结果不一定全局最优。而且当多个广告位同时拍卖时,GSP可能出现策略性出价的漏洞。

于是有人提出了第三代。

第三代:VCG机制——你赢了,但你得赔你造成的损失

VCG的逻辑更狠:A赢了这次拍卖,不是按第二高价付钱,而是按"A的获胜给其他人造成的总损失"来付钱。

举个例子。假设没有A参与,B和C的总收益是1000块。A进来抢了,B和C的总收益变成400块。A造成了600块的损失,那A就要为每一次点击付3块钱(600除以A带来的200次点击)。

这套机制理论上最公平——每个广告主都按自己对系统的"损害"付费,说真话是占优策略,整体系统自动达到稳定。VCG也因此被称为"多位置最优策略"。

但它几乎没人用。为什么?因为"损失"太难算了。你得知道每个人的估值分布、每次点击的边际收益、所有广告主的出价组合——计算量大到工程上不可行。更要命的是,你算出来的数字,广告主根本听不懂。"我点击一次付3块,为什么不是第二高价4块?"解释成本太高。

所以VCG停留在论文里,GSP统治了现实世界。

三、GSP的真正引擎:eCPM排序公式

GSP解决了"按什么价格付钱"的问题,但还有一个更关键的问题没解决——当100个广告主同时竞争一个广告位时,谁排第一?

答案是eCPM排序。

eCPM = 出价 × 预估CTR × 预估CVR × 1000

这个公式你肯定见过,但90%的人把它当数学题做,而不是当博弈信号看。它本质上在回答一个问题:系统要不要把这次曝光给你?

出价是你的诚意——你愿意为这次展示付多少钱。但光有诚意没用,系统还要看你会不会糟蹋这个流量。预估CTR衡量的是"用户会不会点",预估CVR衡量的是"点了之后会不会转化"。如果你出价10块但CTR只有0.1%,系统算出来的eCPM还不如出价2块但CTR 5%的广告主。

这就是为什么有些广告主出价不高却总能拿到量——因为他的素材好、定向准、落地页强,CTR和CVR拉满了。

而这里面最有技术含量的,是预估CTR和预估CVR的计算。

四、预估CTR:机器学习的主战场

当用户刷新页面的那一瞬间,系统要在几十毫秒内回答:这个用户,对这条广告,点击的概率是多少?

输入特征至少包括三个维度。

用户维度:年龄、性别、地域、设备类型(iOS还是Android)、历史点击行为、兴趣标签。一个在过去30天点过10次汽车广告的用户,和一个从来没点过广告的用户,对汽车广告的预估CTR天然不同。

广告维度:素材类型(视频还是图文)、广告位尺寸、广告主历史质量得分、创意新鲜度。一条上线3小时的新素材,系统会给它一个"冷启动"的保守预估,如果3小时内曝光和点击都低,算法会自动降权。

场景维度:当前是什么APP、什么页面、什么时段、 WiFi还是4G、早上8点还是凌晨2点。同样是电商广告,凌晨2点的预估CTR可能只有早上8点的三分之一。

这些特征交叉组合后,输入到模型里。常用的模型包括逻辑回归、梯度提升树(如LightGBM)、深度神经网络。工业界的做法是多模型ensemble——几个模型同时跑,加权融合,比单一模型稳定得多。

更精妙的是"实时CTR校准"。预估CTR是长期积累的经验值,但短期内某个广告主或某个点位的CTR可能突然波动。系统会用实时数据对预估值做修正,按一定比例加权。比如70%靠预估、30%靠实时,既保证稳定性又不失灵敏度。

还有一个很多人忽略的细节:新广告上线后,系统不会一上来就给高预估。它会先给一个保守值,跑一段时间看实际数据,再逐步调整。这就是为什么优化师总被告知"新素材前3小时要盯着"——算法在学习,你得给它数据。

五、质量分:GSP里的暗手

Google在2002年提出GSP的时候,加了一个关键变量——质量分。后来国内所有联盟都抄了这套机制。

实际计费公式变成了:收费 = 下一位出价 ×(下一位质量分 ÷ 本位质量分)+ 0.01元

这意味着什么?意味着出价不是唯一决定因素。你出价5块但质量分只有3分,对手出价4块但质量分9分——算下来你的实际扣费可能比对手还高。

质量分综合了什么?创意相关性(用户看到广告会不会主动点,而不是关掉)、落地页体验(加载速度、内容匹配度)、账户稳定性(日均曝光是否平稳、投放时长是否持续)。

这套机制的深层意图是:逼广告主把钱花在刀刃上。与其出高价买垃圾流量,不如把素材做好、把落地页优化好,用低出价拿高排名。平台收入没少,用户体验好了,广告主ROI也高了——三赢。

但这里有个陷阱。质量分的计算口径各联盟不一样。你在穿山甲质量分9分,换到优量汇可能只有6分,因为两家的特征权重、数据维度、校准逻辑全不同。所以多联盟接入的时候,不能只看出价,得看每家的"出价×质量分"综合值。

六、多广告位竞价:VCG的影子还在

上面讲的都是单个广告位的竞价。但现实中,一个APP可能同时有开屏、信息流、插屏、Banner多个广告位。用户打开APP的一瞬间,这些广告位是同时拍卖的。

这时候GSP的缺陷就暴露了——广告主可能策略性出价,在A位报高价抢量,在B位报低价保利润。结果不是全局最优。

理论上应该用VCG来解决多位置问题,但VCG太复杂。所以工业界的折中方案是:用GSP做单位置排序,但在多位置之间加一层"流量分配优化"。核心思路是把用户的多次曝光当作一个整体来分配,让高价值广告拿到最好的位置,同时保证每个位置的eCPM尽可能高。

更激进的做法是强化学习。把"平台总收益最大化"设为目标函数,让算法持续学习广告和流量的匹配数据,自动调整出价策略和位置分配。比如发现"游戏广告在下沉市场工具APP的转化效果好",就自动提升这类标签的匹配优先级。这不是人在调参数,是机器自己在进化。

七、动态底价:平台的最后一道防线

所有联盟都有一个隐藏参数——市场保留价(MRP),也叫底价。

底价的作用是托底。当广告主出价太低、质量太差,系统不会让这些广告展示出来拉低用户体验。底价可以是固定的,也可以是动态的——早上8点竞争激烈,底价自动上调;凌晨3点没人投,底价自动下调,吸引中小广告主填量。

更高级的玩法是"分底价"。出价底价和成交底价分开设。出价底价决定你能不能进竞价池,成交底价决定你实际展示时的最低扣费。两层过滤,既保证了广告池的质量,又最大化了填充率。

但底价设高了,填充率掉;设低了,eCPM被垃圾广告拉低。这个平衡点,每个联盟、每个时段、每个APP品类都不一样。头部联盟现在用动态底价调整算法,实时根据供需关系自动调节,比人工设的准得多。

八、整个链路的时间线:100毫秒内发生了什么

把上面所有东西串起来,用户下拉刷新的那一刻,后台发生了什么?

第一步,频控和流控。系统先检查这个用户今天已经看了几次广告,有没有点过"不感兴趣",是不是ROOT设备。不合格的直接过滤,不进入竞价。

第二步,选人。DSP从广告库里挑出一批定向匹配的广告——年龄对、地域对、兴趣对。假设挑出1000条。

第三步,预估CTR和CVR。机器学习模型对这1000条广告逐一打分,算出每条的预估eCPM。

第四步,竞价排序。1000条广告按eCPM从高到低排,取前几名进入候选。

第五步,GSP计费。第一名按第二名的出价乘以质量分比例扣费,展示广告。

第六步,数据回传。展示、点击、转化数据实时上报,喂给模型做下一轮优化。

全部完成,不到100毫秒。你以为只是刷新了一下页面,背后已经打完了一场战争。

九、给从业者的三句话

第一句:别只盯出价。eCPM = 出价 × CTR × CVR × 1000,出价只是三分之一。素材差、定向烂、落地页慢,出价再高也排不上去。把精力花在提升CTR和CVR上,比加价有效十倍。

第二句:质量分是长期资产。它不是一天能养起来的,但一旦到了9分,你用5块钱的出价能打别人8块钱的效果。前期宁可少投点量,也要把素材和账户养好。

第三句:多联盟接入的本质不是"多个渠道",是"让算法帮你选最优渠道"。同一条广告,在穿山甲eCPM是15块,在优量汇是22块,在快手是18块——不是因为流量不同,是因为算法对你这条广告的预估不同。接三家,让竞价系统自己选,你的收入至少涨30%。

最后一句话

广告联盟的竞价算法,表面上是一套数学公式,底层是一场关于注意力的博弈。平台要收入稳定,广告主要ROI最大化,用户要体验不被打扰。三方利益的平衡点,就藏在eCPM那个乘号里——出价、点击率、转化率,缺一个都不行。

理解了这套算法,你就理解了为什么有人日活5万月入12万,有人日活5万月入2000块。差别不在流量,在算法。

  • 推荐