广告算法在阿里文娱用户增长中的实践
从2019年开始,优酷使用DSP在今日头条、阿里妈妈等平台投放视频广告,实现用户的稳定增长。我们将用户增长领域与广告竞价领域结合,借鉴推荐领域的实践,基于特有的业务背景,开发落地了一系列算法。在成本及预算可控的条件下,最终实现了数百万DAU的引流能力。本文主要介绍外投广告算法在用户增长领域的设计及优化,解决存在约束的条件* L y l 9下,实现最- ` g i - .大化DAU量的问题。
下面将 B P f围绕四点展开:
- 优酷c p # m &用户增长2 | ! e O O !业务介绍
- 广告排序算法及优化
- 自动化报价算法
- 总结及后续规划
1. 用户增长业务背景
在5 G : H = o : U v用户增长的过程中,首先需要把用户增长划为不同的用户态,不同的用户态存在不同价值。新用户会变为低活用户、中活用户直至高活用户,在整体过程中,也U e 5 ) [ e C ,会随时变成沉默用户。对用户增长g + , v ) L T h而言,新用户、低活用户和沉默用户是非常有价值的,他们的到访能有效提高APP的活跃度。
RTB是; & H b ( m K =实现用户增长的主要方式之一。它的主要流程是:首先DSP参与广告竞价,在竞价成( 7 f i X A l功之后,广告会展现在{ [ &外部平台上,用户在点击之后会切换至优酷APP上,如果感兴趣的话会有视频消费和次日回访。整个流程分为两部分,前半部分归属于RTn o X s A KB竞价,后半部分属于用户增长。
用户增长的主要业务目标是在成本可控的条件下,最大化高价值的DAU量,即让更多的新用户、低活用户以及沉默用户来到平台进行消费,增加平台活跃度。
2. 广告竞价RTB概述
RTB有两个比较重要的组件:广告主竞价代理DSP和提供竞价接入、判定竞价成功与否的平台ADb S n NX ( 例如头条ADX,阿里的TanX )。
RTB过程如下:当用户6 p s 9 ) V访问的Web页面或APP应用时,请求发送至ADX,由ADX转发至多个DSP,DSP根据从用户需求平台, X B w , ( DMP ) 上取得的用户特征进行预估,在100ms之内将广告和出价返回k 5 O ` o 1 ] n 1至ADX,之后ADX根据多个DSP返回的结果,根据一定的排序规则和计费Z 2 b k规则,选择一个合适的广告投放给用户,之后又将用户是否点击这条广G { - J Z 5告的信息返回给成功获得了该次竞价的DSP代理。
RTB中的主要关注点是成t V Z U t O :交机制和计费模式,其中成交机P ! t 4 / ;制包l 7 8 @ { ~ Y b括:GFP ( 最高价格成交 ), GSP ( 第二价成交,通用的方式 ), VCG ( 通过效用计算成交价2 c N k O F j r格,存在算法上,理解上的难度,用的较少 )。计费模式主要有CPM,CPC,CPA和OCPX,N ] { ! t W n e其中CPM是由广告主承担预估风险,由DSP预估用户对广告主的价值,CPC和CPA是由平台来预估用户对于各个DSP的价值,OCPXv c U ~ 7 t x , M是由P ` 投放而言,会存在M 6 8 N预算约束,首活成本约束,用户价值约束 ( 需要去高活,要更多的高质量沉默用户 );当运营有冲量需求时为冲量投放,这时预算充足,有首活成本约束,用户价值约束。
2. 单PID解决冲量投放
根据冲量投放的条件:预算充足、有首活成本约束、用户价值约束,可以解出报价公式,即报价为预估的CTR/CVR与报价系数alpha之积。我们通过单控制器的方法来控制报价系数alpha,使p & X 0 `其再能够满足& ? S I y成本约束的同时提升转化率。
控制器根据Feedback数据和控制函数计算公式,可以计算出一个信号,再将其传入执行器中通过执行器函数计算,从而给出报价。常见的控制器有PID和水波控制器,PID通过振幅,累积误差和波动来调节,而水波控制器仅仅通过累计误差来进行调节,能力相对弱一些。执行器是将控制信号进行指数6 g l变换,对初始值进行放大或者缩小,实现最后的出价。
3. 日常投放解决方案
对于日常投放而言,会存在预算约束,首活成本约束,用户价值约束 ( 需要去高活,要更多的高质量沉默用户 ),我们采用多目标约束下的最大化问题来建模,用拉格朗日对偶法解决,能解出一个出价公式 ( 可参考KDD2018对应论文 )。计算所得的出价公式中有两个参数p、q,我们通过两个PID对这两个参数进行控制来实现f , J g Q 4报价。不同于单PID的解 B - &决方案,一是在q控制器中增加了修正信号,使其以最终CPC为控制目标,二是利用线性插值的方法建模两个PD , q + K Q r T ?ID之间的耦合影响 ( 具I E 8 M e 1 s体方法可以参考KDD2018 )。
4. 报价工程化
用户的请求通过DSP接入管理后台,请求在进入系统之后,有以下流程:
- 接入后台产生竞价、曝光、点击等日志,通过BC 0 M Y s ~ S l Dlink解析统计得到误差数据,将误差数据实施写入内存数据库,并保存历史误差数据;
- 报价算法核心 ( 为了保证最大化利用流量,M分钟定时调度一n G & z O } p W次,一次即为一个时间步 ) 通过离线平台得到投放计划,成本、预算、算法参数等,然后从内存数据库中读取误差数据,计算当前报价参数并写入内存数据库;
- 数据在TPP平台进行广告召回,点击率预估等,最后读取内存数据库中的报价9 O b [ 3 = : k参数并返回广告和出价。
整个实践过程中,在技% J D p U ! C O术选型方面,除了理论上的支持,我们必须考虑机~ 5 | P 5 M器资源,人力等方面的约束,并考虑到各种可用资源 ( 公司内部,开源等 ),将整个目标进行体系化,分层拆分优化,通过算法AB系统驱动效率提升;针对业务特点q m P n A ^ ! Q x建模,具体问题具体分析,技术为业务服务。
后续,我们可以在实现CTR预估的基础H P 0 ` 0 7 H上,实现用户价值的预估,实现多目标预估;在报价算法上,可以尝试基于8 G j S )强化学习进行报价;业务上,可以由促活扩展至拉新,热剧宣发,O : ~ O 9 9 A会员等方面,这些都可以依托已建立的预估系统和报价技术框架进行发展。
作者:程源 阿里文娱 | 高级算法工程师