ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PlatformBid:平台协同出价如何重塑广告竞价生态

PlatformBid:平台协同出价如何重塑广告竞价生态 广告主在短视频平台投放转化广告使用 oCPM 出价模型越训越准广告后端 ROI 越跑越高。但从平台视角看问题并不简单小商家开始拿不到量部分广告主为了冲 ROI 不断压缩出价用户对同质化广告的反馈也在变差。单条广告的最优叠加在一起并没有让平台变好。快手在 KDD 2026 平台上提出的 PlatformBid核心命题就是打破这种局面从单广告主各自出价优化走向平台侧全局协同出价。这类工作解决的不是单个模型精度而是竞价链路里更上层的问题——出价信号本身是否反映了流量对广告主、对平台生态的真实价值。这篇文章不是论文复现我不会试图猜测论文里的每个公式。我更想把问题背景、技术挑战、可能的系统设计思路、离线评估和上线注意事项讲清楚。如果你正在做广告竞价、出价策略或机制设计相关工作读完这篇文章应该能建立一张比较完整的技术地图。1. 广告主与平台一场天然的利益拉锯先看一个很常见的投放链路。广告主进入广告平台设定预算选择转化目标系统通过模型预估流量价值最终在拍卖中决定谁获得这次曝光。整个过程看起来是公平透明的广告主表达意愿平台执行拍卖价高者得。但本质上广告主和平台的利益并不完全一致。广告主要的是在预算约束下获得尽可能多的转化、尽可能低的成本。平台要的是广告收入与用户体验、商家生态之间的长期平衡。如果只按广告主自己的意愿出价一定会出现高举高打的广告主买走大量流量而生态中的新商家、中小商家很难获得冷启动机会的情况。用户也会被同质化广告反复触达负面反馈增加反过来让广告效果继续下降。这个拉锯不是某一家公司的特殊问题而是整个计算广告行业的基本矛盾。过去的解决方案是平台在拍卖规则上做约束比如质量分、频控、负反馈惩罚。但这类硬约束比较粗糙没有真正进入出价决策的内部。PlatformBid 这个方向值得关注是因为它把矛盾的解决点放在了平台是否应该参与出价决策上面。它不是在拍卖规则外加一个惩罚项而是尝试在出价层就引入全局视角。2. 几个绕不开的基础概念oCPM、出价与拍卖在继续之前有必要把几个基础概念对齐。很多人做广告系统但谈到 oCPM 和出价策略时仍然容易把出价和成本混在一起。2.1 oCPM 是什么oCPM 可以理解为一种以目标转化为优化方向、按千次展示计费的出价模式。广告主告诉平台一个目标转化成本比如我希望一个激活不超过 20 元平台通过模型预估每次展示的转化概率把广告主的目标成本换算成每次展示的出价。核心逻辑是出价 ≈ 目标转化成本 × 预估转化率注意这里的出价不是广告主实际付出的成本。在二价拍卖中赢家只支付次高价对应的费用在一价拍卖中支付自己的出价。所以出价是一个表达意愿的信号不是最终账单。2.2 拍卖机制的作用拍卖系统负责根据出价和预估点击率、转化率计算 eCPM千次展示预估收入然后排序eCPM pCTR × pCVR × bid排序靠前的广告获得展示机会并按规则计费。广告主优化出价平台优化拍卖和排序两者是决策链路的两个层级。2.3 出价策略扮演的角色广告主的出价策略解决的是我该为这次流量出多少的问题。常见策略包括固定出价对每笔流量出同一个价格简单但低效。动态出价根据流量价值预估实时调整出价典型做法是在高价值流量上加价在低价值流量上降价。预算平滑出价结合预算消耗速度避免预算过早花完。如果只有广告主在优化出价平台只是被动执行拍卖那么整个系统的优化信号是非常单一的谁愿意出更高的价谁就能拿到更多流量。这个信号对广告主个体来说是合理的但对平台全局来说远远不够。3. 为什么单广告主最优不等于平台全局最优这是整个 PlatformBid 想解决的核心问题。从建模角度看单广告主的出价优化是一个局部最优问题它只考虑自己的转化价值不考虑自己的赢标对其他广告主的排挤、对用户体验的影响以及平台生态的长期健康。3.1 竞价中的外部性广告拍卖中存在典型的外部性。一个广告主赢得流量意味着其他广告主失去这次机会。如果广告主 A 对高活跃用户出价极高长期来看广告主 B、C 在这个用户群体上永远没有曝光它们的模型无法学习这个群体的反馈出价能力会进一步下降。在机制设计理论里这就是竞拍者忽略了自己带来的负外部性。平台如果只是价高者得最终得到的是一个强者恒强的马太效应结构从平台收入角度短期可能没问题但生态会变窄。3.2 探索与利用的冲突单广告主的模型天然偏向利用。因为转化模型是在历史行为上训练出来的模型对已有的高质量流量预估会比较准转化概率高愿意出高价而对新流量、新用户、新广告位预估不确定性高出价低。当所有广告主都倾向于利用已知流量平台的新流量就无法得到充分竞价新广告主也无法完成冷启动。平台的长期收入潜力会被透支。平台需要的是有控制的探索而这个探索成本单靠广告主个体很难承担。3.3 预算约束下的流量分配不均广告主的预算约束会放大问题。头部广告主预算充足可以覆盖多个流量群体中小广告主预算有限只能集中在少数精准流量上。如果平台不做干预热门流量价格越来越高中小广告主逐渐被挤出去最终平台流量价格虚高广告主数量和活跃度下降。所以平台全局最优并不是各个广告主最优的简单相加。它需要一种机制让出价信号包含广告主价值之外的信息比如生态价值、用户体验成本和长期流量价值。而实现方式不一定是改拍卖规则更现实的方式是在出价层做文章。4. PlatformBid 的核心思路平台出价调优从命名来看PlatformBid 的关键词是平台侧出价。这类方案通常不是要替广告主决定最终出价而是在广告主出价的基础上由平台施加一个全局视角的修正。4.1 核心直觉广告主对自己的商品利润率、预期转化价值最清楚但广告主看不到平台全貌。平台知道当前流量竞争强度、用户对广告的容忍度、新广告主的冷启动需求以及长期生态目标。所以一个合理的架构是广告主层输出基础出价表达自己的私有价值。平台层根据全局信息对基础出价进行校准、修正或限制。拍卖层继续执行排序和计费保持机制稳定。这样既保留了广告主的表达自由又让平台拥有了引导全局结果的能力。4.2 约束优化视角把平台出价调优看成一个带约束的优化问题会更容易理解。平台要优化的目标可能是广告收入、平台总成交额、用户时长或这些目标的一个加权组合与此同时要满足一系列约束广告主 ROI 不能低于某个下限否则广告主长期会流失。预算消耗不能过快避免预算浪费在低质量流量。用户负反馈比例不能超过阈值。中小广告主需要获得一定的曝光占比保证生态多样性。用抽象形式表达max 平台全局目标 s.t. 广告主ROI ≥ 下限 广告主预算平滑 用户负面反馈 ≤ 阈值 中小广告主曝光占比 ≥ 阈值这里的难点在于平台目标函数中多个指标之间往往是冲突的。提升广告收入可能降低用户体验增加中小广告主曝光可能降低短期收入。所以 PlatformBid 调优的本质不是找到一个全局最优解而是找到一个在多个约束下可落地的平衡点。4.3 为什么选择改出价而不是改拍卖这是工程上很关键的一个判断。修改拍卖规则比如从 GSP 改成 VCG理论上可以更好地处理外部性但拍卖机制的改动影响面极大牵涉计费、排序、广告主认知甚至可能违反已有的平台承诺。相比之下平台侧出价调优的改动面小得多。出价层是广告主决策和平台机制之间的接口平台在这个接口上增加一个修正环节不需要改变拍卖规则不需要广告主改变投放方式可以通过流量配额逐步灰度。这也是我判断 PlatformBid 这类方案更容易在工业界落地的原因。5. 系统架构与关键模块拆解抛开论文细节从工程角度推演一个支持平台出价调优的系统大致包含以下几个模块。5.1 数据层最底层是数据资产包括流量日志曝光、点击、转化、计费数据。广告主数据预算、目标成本、投放计划、商品类目。用户行为序列长期兴趣、近期反馈、广告负反馈。生态指标广告主数量、活跃度、新商家成长曲线。数据层决定了平台能计算出什么样的全局信号。缺少广告主生态数据平台就很难评估当前出价是否会挤压中小广告主。5.2 预估层预估层负责回答几个核心问题这次流量对广告主的价值是多少用户点击或转化的概率是多少广告主愿望出价合理吗传统预估层以 pCTR、pCVR 为主PlatformBid 场景下还需要一个更关键的能力——流量价值预估。也就是说平台需要估算的不是单纯转化概率而是这次展示量对一个广告主、以及整个生态能带来多少可量化的长期价值。5.3 出价调优层这是 PlatformBid 的核心模块。它接收预估层的输出结合广告主的基础出价输出一个平台修正后的出价。这个模块需要考虑的因素包括广告主基础出价的合理性是否存在过高或过低定价。流量竞争态势当前流量池中竞争者的出价分布。用户反馈风险该广告对当前用户是否已经过度曝光。生态约束中小广告主保障、新广告主冷启动需求。下面我用一段简化伪代码帮助理解这个模块的可能结构。需要注意这段代码只是表达思路不是任何论文源码。# 文件路径platform_bid/adjuster.py # 说明平台侧出价调优模块的简化逻辑 def adjust_bid(ad, flow, base_bid, model): # 1. 预估这次流量对广告主的转化价值 conv_prob model.predict_pCVR(ad, flow) conv_value model.predict_conv_value(ad, flow) # 2. 预估这次流量对广告主的边际价值 marginal_value conv_prob * conv_value # 3. 计算外部性成本该广告赢得流量后对其他广告主的排挤影响 externality_cost model.predict_externality(ad, flow) # 4. 计算用户体验风险 user_risk model.predict_user_negative_feedback(ad, flow) # 5. 约束检查 if not check_roi_constraint(ad, base_bid, marginal_value): return 0.0 if not check_frequency(ad, flow.user_id): return 0.0 # 6. 平台修正出价 adjusted_bid base_bid * alpha(flow) - externality_cost - user_risk * beta # 7. 保证不低于流量底价 return max(adjusted_bid, flow.floor_price)这段逻辑的关键在于平台并不完全忽略广告主的基础出价而是在基础出价上叠加一个负向外部性修正和一个用户风险修正。如果某条流量对广告主价值很高但对平台生态的损害也很大最终出价会低于广告主的原始出价从而减少赢标概率。反之如果某条流量有长期价值比如广告主冷启动期的小流量平台可以适当提高出价。5.4 拍卖层拍卖层保持稳定继续使用 eCPM 排序和二价计费。平台修正后的出价只是进入拍卖时使用的信号不会改变拍卖的基本规则。这样至少有三个好处广告主感知到的机制不变作弊风险可控系统灰度范围可以收窄。6. 离线仿真先证明策略可行再上线平台出价调优不是改一个参数就能上线的。它影响到流量分配、广告主 ROI、平台收入一旦出错代价很高。所以在线上 A/B 之前必须先做离线仿真。离线仿真在广告场景里通常叫做 replay核心思路是用历史流量日志作为固定输入回放整个拍卖过程把新的出价策略放到历史流量池里重新计算排序和计费观察关键指标的变化。一个简化版的 replay 流程如下# 文件路径platform_bid/replay.py # 说明离线回放历史流量日志评估新出价策略 def replay(logs, base_bid_func, platform_bid_func): stats { platform_gmv: 0.0, ad_roi_sum: 0.0, user_bad_feedback: 0, small_ad_impression: 0, total_impression: 0, } for event in logs: candidate_ads event[candidate_ads] context event[context] for ad in candidate_ads: base_bid base_bid_func(ad, context) ad[base_bid] base_bid # 平台侧修正 ad[final_bid] platform_bid_func(ad, context, base_bid) # 按 eCPM 排序 candidate_ads.sort( keylambda x: x[pctr] * x[final_bid], reverseTrue ) winner candidate_ads[0] # 二价计费 if len(candidate_ads) 1: second_price ( candidate_ads[1][pctr] * candidate_ads[1][final_bid] / max(winner[pctr], 1e-6) ) else: second_price winner[final_bid] # 更新统计指标 stats[platform_gmv] winner.get(gmv_value, 0.0) stats[ad_roi_sum] winner.get(roi, 0.0) if winner.get(on_shelf, False): stats[small_ad_impression] 1 stats[total_impression] 1 return stats离线仿真最关键的两个问题是数据偏差和模拟精度。历史日志是旧策略下的数据新策略会改变流量分配这会导致一些流量在新的竞价结果下并没有真实发生。解决思路是只对竞价近似稳定的流量做回放同时对探索流量打上低置信度标记。模拟精度方面需要把真实计费日志和模拟计费日志做对比校准模拟器偏差确认模拟器能还原当时线上结果再基于它评估新策略。7. 效果评估与 A/B 实验设计离线仿真通过后还要设计严格的线上 A/B 实验。平台出价调优的评估比单个模型迭代复杂得多因为利益相关方多、指标层级多。7.1 指标分层设计为了避免只看单一指标导致误判我建议把 A/B 实验指标分成三层。指标层级代表指标作用平台全局层广告收入、平台总成交额、用户时长判断新策略是否对平台整体有利广告主层广告主 ROI、广告主留存、预算消耗率判断广告主是否受损、是否持续投放用户体验层广告负反馈率、点击率、有效播放率判断用户是否对广告更反感在实验分析时不能只报告平台收入上升了多少。如果收入上升是建立在中小广告主流失、用户负反馈激增的基础上这个策略不能算成功。PlatformBid 这类方案的价值恰恰是希望在多个目标之间找到平衡所以评估时尤其要关注分层指标的结构性变化。7.2 A/B 实验流程建议一个完整的评估流程可以这样设计小流量灰度先在 5% 流量上开启平台出价修正观察核心指标和风险指标。分桶对照确保实验组和对照组广告主分布接近避免大广告主集中在同一组。逐步放量如果核心指标正向、风险指标无恶化逐步扩大到 20%、50%、100%。长期观测至少观察一个完整的投放周期包括广告主预算重新分配、模型重新训练后的效果。7.3 一个容易踩的坑平台出价调优会改变流量分布广告主在实验期间的 ROI 是波动的。如果实验周期太短看到的广告主 ROI 变化很可能是流量结构差异导致的而不是策略本身的真实效果。所以实验周期要足够长并且要分广告主规模、分行业看结果不能只出一个总指标。8. 落地常见问题与边界条件把 PlatformBid 这类方案落到真实系统时会遇到不少具体问题。这里整理几个共性问题供参考。问题现象可能原因排查方式解决方案广告主 ROI 明显下降平台修正出价过强压低了高价值广告主出价分广告主规模查看 ROI 分布调整出价修正幅度加入广告主 ROI 下限保护平台收入下降外部性惩罚过重优质广告拿量变少查看头部广告主预算消耗率将收入目标纳入平台优化目标并设置收入下降上限用户负反馈没有下降平台修正未覆盖到用户触达维度检查频控模块和出价修正的关系把频控信号并入出价修正输入特征中小广告主曝光无明显提升修正力度不足或者中小广告主本身出价过低查看中小广告主在实验组和对照组的曝光占比对中小广告主设置专门的最低出价系数线上效果和离线仿真不一致仿真器未校准或线上流量分布发生变化对比线上离线指标差异校准 simulator用最新日志重新回放还需要特别强调一个边界平台出价调优并不能解决所有广告生态问题。广告主恶意刷量、素材低质、商品本身竞争力弱这些因素不在出价层的控制范围内。平台侧需要的是一个组合方案出价调优只是其中一环。另外平台出价修正的透明度和合规性也值得关注。广告主有权知道平台如何参与出价决策。如果平台在广告主不知情的情况下大幅修改出价即使短期效果提升也可能引发信任问题。所以在工程实现时建议保留广告主基础出价、平台修正量和最终出价的完整日志方便审计和解释。9. 工程实践建议与未来方向如果你所在团队准备尝试平台出价调优下面几条建议可以作为切入点。9.1 先做最保守的修正不要一开始就做完整的全局优化。建议先做约束型修正平台只在某些危险边界施加限制比如广告主出价过高、用户负反馈过高、中小广告主曝光不足。这种保守修正容易解释、容易回滚也更容易获得业务方支持。9.2 建立完善的审计日志要记录三个关键值广告主基础出价、平台修正量、最终进入拍卖的出价。这个日志不仅是排查问题的依据也是对外沟通和评估信任度的基础。没有审计日志任何策略优化都很难复盘。9.3 监控要覆盖生态指标除了常规的广告收入和用户指标建议增加广告主生态类监控新广告主冷启动成功率、中小广告主月活、广告主退出率。这些指标改变很慢但对平台长期价值影响很大。如果只看日级指标很容易忽略长期生态损失。9.4 把平台出价调优做成一个可配置服务工业界很少把出价调优逻辑写死在某个业务脚本里。更现实的做法是把它做成一个独立的服务或策略引擎支持模型特征、约束条件、目标权重的动态配置。这样产品和算法可以根据实验快速迭代不需要每次改代码上线。9.5 与广告主出价策略的配合平台侧修正和广告主侧出价策略不是替代关系而是配合关系。广告主的智能出价负责表达自己的私有价值平台侧负责叠加全局信息。未来更理想的形态是允许广告主在投放计划中声明接受平台全局优化平台在广告主允许的范围内做更积极的调优。这样既避免了信任问题又能在特定场景下显著提升全局效果。9.6 未来方向从更长远的视角看平台出价调优有机会和更多技术结合。比如用大模型对流量长期价值做更细粒度的预估或者把平台出价调优从单次流量扩展到跨场景、跨周期的协同优化。广告市场是一个多智能体博弈系统单纯追求个体最优的优化范式终将走向瓶颈未来的增量大概率来自机制层面的设计。回到 KDD 2026 快手 PlatformBid 的方向它给我的最大启发不是某个具体公式而是把问题意识从广告主怎样出价最好升级到平台怎样设计机制让每个参与方的出价最终构成一个共赢的系统。这个视角对广告算法工程师和机制设计研究者都值得认真咀嚼。
返回列表