当前位置: 首页 > 科技观察

转向商业OCPC产品护航之路

时间:2023-03-19 18:09:30 科技观察

一、广告业务介绍1.1广告业务逻辑广告系统中的业务逻辑可以用一句话来表达:广告主付费在媒体中向目标用户传播营销信息以达到营销目的的过程.抽取三个主体,广告主、媒体和用户,他们的关系如下:其中,广告主和媒体之间的关系是交易支付关系。自媒体有很多流量,可以通过点击或曝光来出售。媒体开发了一种基于自身流量的销售机制。广告主通过销售机制提供的投放方式制定广告投放计划,并向媒体付费。媒体与用户之间存在访问和展示关系。媒体在什么时间、什么场景、以什么方式让用户看到什么样的广告,是由投放策略决定的。本次主要介绍转转商业广告OCPC产品的投放策略。1.2广告系统架构ZZAdvertising系统架构图如下,平台投放策略由ZZADECPM模块(红框圈出)承载。本文介绍的投放策略也在本模块中实现。1.3业务背景随着转转广告业务的发展,商家的营销需求也不断丰富。不仅要有托管流量包产品来平衡平台收入,实现小微商户利益最大化[1],还要有游点通产品,满足中大型广告主对成本、收入和流量的更多控制。为不影响市场推广效果,团队商科学生聚焦二手平台蓝海品类,围绕流量充足、素材不足的现象,综合产研能力和经验、运营和销售,积极探索制定OCPC新上线策略,开拓业务发展新局面,给商家表达需求的机会,帮助商家进行合理的成本控制,让商家参与进来,盘活更多新商家.1.4目标与计划OCPC的产品策略有两个目标,通过AB实验来验证目标是否达到。1.在不降低市场收入的情况下提高投资回报率;2.提高有效填充(100%相关)ASN、收入和ROI;每个团队合作完成项目,具体动作:1.产品同学负责产品设计和运维模型及后期迭代维护逻辑;2、销售运营类学生进行新产品的销售运营技能设计和人员培训;3.技术生负责研究合适的算法模型,设计合理可实现的优化目标,选择匹配策略方案:多重约束下的pid线性拟合控制方案[2]也是本文的重点。2.OCPC产品项目面临的挑战下图展示了广告业务迭代的历史脉络。从2018年开始,在销售机制/投放方式上,从最简单的CPM/CPC类型的广告,到基于流量预估价值调整广告的衍生竞价策略,即OCPM/OCPC等平台能力。为了满足广告主对成本和预算进一步控制的需求,这是BCB(BudgetConstrainedBidding)的又一次升级,是MCB(Multi-ConstrainedBidding)多重约束下的竞价策略。本项目环环相扣,需要打通产品、研发、运营、销售等各个环节,各方通力合作,确保项目的正常运行。具体实时过程中面临的挑战主要包括以下几个方面:1)在满足广告主成本和预算需求的同时,需要考虑冷启动期间对广告主的优惠扶持策略;2)与产品同学合作,设计合理的算法逻辑,助力产品实现;3)听懂销售运营同学的话,会用算法策略做保障;4)算法策略应优先考虑规模化商户的ROI,同时能严格控制平台分红规模;5)优化目标指标和约束条件较多,算法策略设计和参数调整等方面存在挑战。3.OCPC产品战略实施方案3.1问题建模OCPC项目目标的抽象是一个带约束的线性规划寻找最优解的问题。广告商诉求:在预算不超过B且cpc成本不超过C时最大化GMV。原问题LP1建模如下:记下对偶问题LP2(彼此相似,但颠倒过来)如下:根据对互补松弛定理,得到两个方程然后,论文作者精心设计了竞价公式,将其带入公式8变换公式10:根据等式(10),若竞价赢得展示机会,则推导如果投标失去展示机会,结合公式9和公式7,推导说明最优解的公式设计巧妙合理。至此,线性规划问题LP1的最优解形式已经求解。3.2如何求解后验数据的最优解和最优参数这里会用到GNULinearProgrammingKit(GLPK)工具包,专门用来求解线性规划问题。一开始使用的是开源工具包pyomo+python[3]。对于小规模的问题,可以在分钟级解决。简单校验计算完成后确认解最优。但当问题规模变大时,求解时间几乎呈指数增长。如下图所示:小规模问题编码相对简单,求解时间尚可。下图是具体实现的伪代码,包括指标集、决策变量、参数、目标和约束。最后只需要调用Objective函数,输入objective即可。但是当问题规模变大时,耗时问题严重影响进度,所以尽量使用商业级软件GUROBI[4]。不管是原题还是对偶题,即使题目规模在10w以上,依然可以分分钟解决。不禁感叹,GUROBI背后的算法优化真是厉害。具体安装过程:配置环境后,即可使用。注意!!!这里我使用的是商业版,只有2个月的试用期。如果有持续需求,建议购买正版商用产品。下面是具体实现的一部分,解决对偶问题的代码。它类似于PYOMO的编程语言风格。广告商有不同的约束对应不同的需求:其中alpha和beta分别对应p*和q*。通过后验数据得到的最优参数将作为后面我们最优解公式的初始化参数。3.3最优投标参数分析接下来我们继续说一下最优解的使用。公式中p和q对应的最优参数可以根据后验数据(3.2.3节介绍)计算得到,但此时是针对过去历史数据的最优参数组合。对于未来的最优参数,需要我们自己去探索如何获取;下面分析一下最优出价公式中p和q这两个参数对预算和点击成本的影响。当q固定时,从图中可以看出,当p减小时,cpc的出价整体上涨,反之则出价下降;当p=0时,表示没有预算约束。当p固定时,从图中可以看出,当q减小时,cpcbid会相应变化。当cvr>C*p时,对高价值流量的出价会进一步提高,否则会降低出价;当q增加时,则相反。使用更高的出价以低cvr获得更多流量,并以高cvr失去流量。当p=0时,表示没有点击成本的约束。经过分析,发现p和q参数本身并不完全独立。例如:当出价增加时,预算也会相应增加;如何调整p和q来优化我们的算法,目前主要有两种解决方案:强化学习的思想,通过设计状态、动作和合理的奖励函数来控制参数,如[5];反馈控制法,即本文采用的多pid线性拟合控制法。一种更有效的控制耦合效应的方法是MPC[6]方法。由于系统耗时等因素,没有选择该方案,本次介绍不涉及。3.4参数控制-pid反馈控制系统下图介绍了两种pid控制系统。图6可用于独立控制变量。这次我们主要介绍图7的实现。下式为标准pid的控制逻辑,式13、14、15依次表示误差、控制变量、系统输入;下图是p和q的线性拟合公式:3.5离线流程和在线部署总结3.1介绍问题建模3.2介绍如何使用工具求解最优解3.3分析最优参数的意义,选择合适的参数控制方法-pid反馈控制,3.4介绍pid控制系统,使用离线关键动作:1.使用训练数据和商业线性规划优化器gurobi求解原问题和对偶问题,得到最优解p和q的对偶问题。2、利用训练数据寻找最优参数,模拟实时竞价过程,通过grid-search搜索pid参数和拟合系数alpha、beta。在线参数部署:3、用1中的参数初始化在线q和p,固定2中的参数为在线参数;4、按小时收集竞价日志,计算预算和点击/交易成本误差,通过pid和q调整参数p;整个过程基本就是这样,具体细节这里就不展开了。4、总结期间,我们调研了拼多多ocpc的商业模式和优秀案例,总结了解了他们的目标设计思路。为确保项目的成功,与相关领域的专家进行了深入的探讨和交流,系统梳理了行业发展历程和最新研究成果,深入理解了ocpc其他项目的思路和方法。为团队技术赋能打下坚实的基础。OCPC模式在二手商业广告领域不断拓展应用领域。本项目是产品、研发、运营、销售团队通力合作的项目。算法策略肩负着实现核心逻辑的重任,是整个项目顺利运行的润滑剂。最终结果,产品成功全量上线,获得预期收益:有效填充部分收益,收入、ASN、ROI均按预期增长:COST+4.61%CASH+4.58%ASN+8.64%TRUE_SHOW+12.16%GMV+23.73%ROI+17.86%;大盘利好,收入持平,GMV和ROI增长:收入持平,TRUE_SHOW+2.41%GMV+10.79%ROI+10.24%;五、参考文献[1]ZhuH.etal.2017.OptimizedCostperClickin第23届知识发现与数据挖掘国际会议淘宝展示广告论文集。美国计算机学会,2191--2200.[2]杨寻、李亚松、王浩、吴迪、谭清、徐健、盖坤。2019.展示广告中多变量控制的出价优化。在第25届ACMSIGKDD知识发现与数据挖掘国际会议论文集中。1966–1974.[3]HartWE、LairdCD、WatsonJP等人。Python中的Pyomo优化建模[M].柏林:施普林格出版社,2017年[4]https://www.gurobi.com/documentation/9.5/refman/py_python_api_details.html[5]吴迪、陈秀军、杨寻、王浩、谭庆、张晓勋、徐健、盖坤。2018.预算限制d通过展示广告中的无模型强化学习进行投标。在第27届ACM信息和知识管理国际会议论文集中。1443–1451.[6]詹姆斯B罗林斯和大卫Q梅恩。2009.模型预测控制:理论与设计。(2009)。