掌桥专利:专业的专利平台
掌桥专利
首页

参竞控制方法、系统和存储介质

文献发布时间:2023-06-19 13:45:04


参竞控制方法、系统和存储介质

技术领域

本公开涉及计算机技术领域,特别是一种参竞控制方法、系统和存储介质。

背景技术

在线广告行业是近年来蓬勃发展的新兴行业,在全球拥有数十亿美元的广阔市场。在线广告系统发展至今,RTB(Real Time Bidding,实时竞价)广告占据了很大一部分市场份额,此领域中的技术也在不断深入发展和创新,然而,由于服务广告主数量众多且需求多样化,如何做好RTB广告仍然是业界面临的一大难题。

RTB广告主在一定预算的基础上,追求广告投放效果和投放体验。

发明内容

本公开的一个目的在于如何提高参竞流量的平稳度。

根据本公开的一些实施例的一个方面,提出一种参竞控制方法,包括:通过预估模型获取广告的实时预估转化参数;根据实时预估转化参数和预估转化参数分层阈值,确定实时预估转化参数对应时刻的实时消耗所属的流量质量层;针对每个流量质量层,根据相邻的两个时间窗口中,在先时间窗口的实际消耗与在后时间窗口的目标消耗的差异,调整各个流量质量层的参竞概率;根据调整后的参竞概率进行广告参竞。

在一些实施例中,调整各个流量质量层的参竞概率包括:获取相邻的两个时间窗口中在先时间窗口的实际消耗与在后时间窗口的目标消耗的消耗误差;在消耗误差属于预定第一区间的情况下,不调整参竞概率;在消耗误差不属于预定第一区间的情况下,按照流量质量层对应的预估转化区间阈值的大小顺序,依次按照预定调整策略调整每个流量质量层的参竞概率。

在一些实施例中,获取相邻的两个时间窗口中在先时间窗口的实际消耗与在后时间窗口的目标消耗的消耗误差包括:根据在后时间窗口与在先时间窗口的时间长度比值,调整在先时间窗口的实际消耗,获取比例变化消耗;获取在后时间窗口的目标消耗与比例变化消耗的差值,作为消耗误差。

在一些实施例中,在消耗误差不属于预定第一区间的情况下,按照流量质量层对应的预估转化区间阈值的大小顺序,依次按照预定调整策略调整每个流量质量层的参竞概率包括:在消耗误差小于预定第一区间的低阈值的情况下,按照流量质量层对应的预估转化区间阈值从低到高的顺序,依次降低每个流量质量层的参竞概率;和在消耗误差大于预定第一区间的高阈值的情况下,按照流量质量层对应的预估转化区间阈值从高到低的顺序,依次提高每个流量质量层的参竞概率。

在一些实施例中,按照预定调整策略调整每个流量质量层的参竞概率包括:针对每个流量质量层,获取消耗误差与对应流量质量层的在先时间窗口的实际消耗的和,确定调整消耗;根据调整消耗与对应流量质量层的在先时间窗口的实际消耗的比例,调整在先时间窗口的参竞概率,获取在后时间窗口的参竞概率。

在一些实施例中,参竞控制方法还包括:在存在流量质量层的实际消耗小于预定第一消耗门限的情况下,按照预定百分比提高广告出价,并更新每个流量质量层的参竞概率,直至每个流量质量层的实际消耗均不小于预定第一消耗门限。

在一些实施例中,参竞控制方法还包括:在确定调整各个流量质量层的参竞概率前,根据实际消耗的累计值的变化量确定是否发生数据流阻塞;在最新的实际消耗的累计值与在先的预定数量的实际消耗的累计值的差值均小于等于阻塞阈值的情况下,确定发生数据流阻塞;否则,执行针对每个流量质量层,根据相邻的两个时间窗口中,在先时间窗口的实际消耗与在后时间窗口的目标消耗的差异,调整各个流量质量层的参竞概率的操作。

在一些实施例中,参竞控制方法还包括:根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗。

在一些实施例中,根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗包括:在实际转化值大于预定第一转化值的情况下,若当天在当前的实际单条广告成本不低于预期单条广告成本,则根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗。

在一些实施例中,根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗还包括:

在实际转化值大于预定第一转化值的情况下,若当天在当前的实际单条广告成本低于预期单条广告成本,则

根据预期单条广告成本和实际转化值确定期望消耗值,并根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比确定在后时间窗口的第一消耗;

根据预期消耗分布、预期单广告成本和实际单广告成本,确定在后时间窗口的第二消耗;

确定第一消耗与第二消耗中较大的一项为在后时间窗口的目标消耗。

在一些实施例中,根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗还包括:在实际转化值不大于预定第一转化值的情况下,若存在历史日期的实际消耗数据,则将当天的在先时间窗口的实际累计消耗与前一天的对应时刻的实际累计消耗的加权和作为期望消耗值;根据期望消耗值、当天的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,确定在后时间窗口的目标消耗。

在一些实施例中,参竞控制方法还包括:在实际转化值不大于预定第一转化值的情况下,若不存在历史日期的实际消耗数据,则将当前在当天的实际累计消耗占比与基于预期单广告成本的预期全天消耗的乘积作为目标消耗。

在一些实施例中,参竞控制方法还包括:根据历史日期的实际消耗的分布、当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定在后时间窗口的预期累计消耗。

在一些实施例中,参竞控制方法还包括:根据历史日期的实际消耗总值、预期单广告成本和实际单广告成本,确定当前日期的目标消耗总值。

在一些实施例中,确定在后时间窗口的预期累计消耗包括:根据当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定当前日期的待消耗值;根据历史日期的实际消耗的分布,将当前日期的待消耗值分布在当前日期的剩余时段,确定在后时间窗口的预期累计消耗。

在一些实施例中,确定目标消耗总值包括:在历史日期的实际转化值大于等于预定第二转化值的情况下,根据预期单广告成本和实际单广告成本的差异占预期单广告成本的比例,调整对应历史日期的实际消耗总值,获取第一消耗总值;在对应历史日期的实际转化值小于预定第二转化值的情况下,确定对应历史日期的实际消耗总值为第一消耗总值;分别将第一消耗总值和预期单广告成本与对应的超参数相乘,并与预定最小目标比较,确定其中最大的一项为当前日期的第二消耗总值;在历史日期的数量大于1的情况下,获取不同历史日期的第二消耗总值的加权和,作为当前日期的目标消耗总值。

在一些实施例中,根据历史日期的实际消耗总值、预期单广告成本和实际单广告成本,确定目标消耗总值还包括:在历史日期的数量等于1的情况下,将第二消耗总值作为当前日期的目标消耗总值。

在一些实施例中,参竞控制方法还包括:根据预定天数的历史日期的预估转化参数的分布,以及预定分层数量,将预估转化参数分为预定分层数量等份,获取划分流量质量层的分位点参数作为预估转化参数分层阈值。

在一些实施例中,参竞控制方法还包括以下至少一项:每天的起始时刻初始化所有广告单元的所有流量质量层的参竞概率为预定第一初始值;在存在新增广告单元的情况下,初始化新增广告单元的所有流量质量层的参竞概率为预定第二初始值;在在后时间窗口的目标消耗小于等于预定第二消耗门限的情况下,将预估转化区间的阈值最高的流量质量层的参竞概率设置为预定第一概率,将其他流量质量层的参竞概率设置为小于预定第一概率;或每次执行调整各个流量质量层的参竞概率后,将参竞概率为0的各个流量质量层中对应的预估转化区间阈值最高的一层的参竞概率调整为预定第二概率。

在一些实施例中,参竞控制方法还包括:在在先时间窗口的实际消耗小于等于预定第二消耗门限的情况下,若消耗误差不属于预定第一区间,则将在先时间窗口的实际消耗修改为预定第三消耗。

在一些实施例中,参竞概率的调节上限为1,调节下限为0。

根据本公开的一些实施例的一个方面,提出一种参竞控制系统,包括:预估单元,被配置为通过预估模型获取广告的实时预估转化参数;分层单元,被配置为根据实时预估转化参数和预估转化参数分层阈值,确定实时预估转化参数对应时刻的实时消耗所属的流量质量层;概率调整单元,被配置为针对每个流量质量层,根据相邻的两个时间窗口中,在先时间窗口的实际消耗与在后时间窗口的目标消耗的差异,调整各个流量质量层的参竞概率;参竞单元,被配置为根据调整后的参竞概率进行广告参竞。

在一些实施例中,参竞控制系统还包括阻塞确定单元,被配置为:在确定调整各个流量质量层的参竞概率前,根据实际消耗的累计值的变化量确定是否发生数据流阻塞;在最新的实际消耗的累计值与在先的预定数量的实际消耗的累计值的差值均小于等于阻塞阈值的情况下,确定发生数据流阻塞;否则,激活概率调整单元。

在一些实施例中,参竞控制系统还包括:窗口目标消耗确定单元,被配置为根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗。

在一些实施例中,参竞控制系统还包括:预期累计消耗确定单元,被配置为根据历史日期的实际消耗的分布、当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定在后时间窗口的预期累计消耗。

在一些实施例中,参竞控制系统还包括:目标消耗总值确定单元,被配置为根据历史日期的实际消耗总值、预期单广告成本和实际单广告成本,确定当前日期的目标消耗总值。

在一些实施例中,参竞控制系统还包括:分层阈值确定单元,被配置为根据预定天数的历史日期的预估转化参数的分布,以及预定分层数量,将预估转化参数分为预定分层数量等份,获取划分流量质量层的分位点参数作为预估转化参数分层阈值。

在一些实施例中,参竞控制系统还包括第一处理单元,还被配置为执行以下至少一项:每天的起始时刻初始化所有广告单元的所有流量质量层的参竞概率为预定第一初始值;在存在新增广告单元的情况下,初始化新增广告单元的所有流量质量层的参竞概率为预定第二初始值;在在后时间窗口的目标消耗小于等于预定第二消耗门限的情况下,将预估转化区间的阈值最高的流量质量层的参竞概率设置为预定第一概率,将其他流量质量层的参竞概率设置为小于预定第一概率;或每次执行调整各个流量质量层的参竞概率后,将参竞概率为0的各个流量质量层中对应的预估转化区间阈值最高的一层的参竞概率调整为预定第二概率。

根据本公开的一些实施例的一个方面,提出一种参竞控制系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种参竞控制方法。

根据本公开的一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种参竞控制方法的步骤。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:

图1为本公开的参竞控制方法的一些实施例的流程图。

图2为本公开的参竞控制方法中参竞概率调节的一些实施例的流程图。

图3为本公开的参竞控制方法的另一些实施例的流程图。

图4为本公开的参竞控制方法中的目标消耗确定的一些实施例的流程图。

图5为本公开的参竞控制方法中预期累计消耗确定的一些实施例的流程图。

图6为本公开的参竞控制方法中目标消耗总值确定的一些实施例的流程图。

图7为本公开的参竞控制系统的一些实施例的示意图。

图8为本公开的参竞控制系统的另一些实施例的示意图。

图9为本公开的参竞控制系统的又一些实施例的示意图。

具体实施方式

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

相关技术中,往往通过晚间加速播放来保证完成当日的预算消耗,或者对预算进行时段划分来分配一段时间内的预算消耗,或者利用最初引自船舶自动舵领域的PID(Proportion Integral Differential,比例微分积分)反馈调节算法来保证广告效果。

对于业界使用的晚间加速播放来保证完成当日的预算消耗技术,可能会造成集中在夜晚参竞在晚上高价拿到一些低质的流量,导致广告投放效果无法达到广告主预期的同时,还可能导致网络压力的激增;另外,流量阻塞的概率大大增加,无论对于广告平台还是广告主的平台都造成较大压力,同时对于用户来说,会造成降低访问速度的情况,降低了用户体验。而对广告主设置的预算划分时段的方法,虽然能够对预算的全天均匀消耗有一定的保证,但需要大量的人工操作和经验积累,且生效有一定时间的延迟,有着追踪不及流量环境变化的风险。PID反馈调节算法,虽然能够较为及时的调整广告投放效果,但是对于广告的短时爆量等极端情况无法避免。

相关技术中提出了基于参竞概率(pacing rate)的预算控制策略,引入了KPI(KeyPerformance Indicator,关键绩效指标)进行优化,做到了统计完成当前时段曝光KPI分位数的区间估计,KPI在区间内则按照pacing_rate竞价,高于上界必竞价,低于下界不竞价。但是存在很多需要估计的参数,pacing rate波动太大不平稳的缺点,而pacing_rate的波动则会直接影响到流量的波动,产生流量不平稳、网络不稳定的后果。

本公开的参竞控制方法的一些实施例的流程图如图1所示。

在步骤130中,通过预估模型获取广告的实时预估转化参数。在一些实施例中,可以构建预估模型,实时预测当次请求的广告效果作为实时预估转化参数。实时预估转化参数可以为PCVR(Predict Convertion Rate,预估转化概率)或PCTR(Predict ClickThrough Rate,预估点击概率)等广告主关心的指标。

在一些实施例中,预估模型结构可以随着训练数据量级、实际业务准确度要求、耗时要求等实际情况而变化。

在一些实施例中,每次产生实际消耗(即参竞竞得广告)时,触发执行预估操作。

在步骤140中,根据实时预估转化参数和预估转化参数分层阈值,确定实时预估转化参数对应时刻的实时消耗所属的流量质量层。

在一些实施例中,可以在发生实际消耗后确定实时预估转化参数,根据实时预估转化参数确定流量质量层,则本次实际消耗属于上述确定的流量质量层。

在步骤160中,针对每个流量质量层,根据相邻的两个时间窗口中,在先时间窗口的实际消耗与在后时间窗口的目标消耗的差异,调整各个流量质量层的参竞概率。

在步骤170中,根据调整后的参竞概率进行广告参竞。

通过这样的方法,能够根据实时预估转化参数对实际消耗分层处理,并针对不同分层的消耗情况和目标消耗情况,以时间窗口为时间处理单位对各个流量质量层的参竞概率进行调整,从而提高对不同质量流量的差异化处理能力,由于不同流量质量对后续造成的流量波动影响程度不同,流量质量高的消耗对流量波动的影响更加明显,从而能够及时进行差异化处理,避免突发流量产生,提高参竞流量的平稳度,同时有助于保障用户的访问速度和用户体验。

在一些实施例中,如图1所示,在步骤140与步骤160之间,还可以包括步骤150:判断是否发生数据流阻塞。若未发生数据流量阻塞,则执行步骤160;若发生数据流量阻塞,则执行步骤151。

在一些实施例中,可以根据实际消耗的累计值的变化量确定是否发生数据流阻塞;在最新的实际消耗的累计值与次新的实际消耗的累计值的变化量小于等于阻塞阈值的情况下,确定发生数据流阻塞,否则,确定当前未发生阻塞。

在一些实施例中,可以通过以下操作确定是否发生阻塞:

a.维护一个一维数组,[(s

b.计算所有广告单元此次取到的时间段内当前最新的消耗和S,记录当前时间戳T

c.更新数组,[(s

d.从数组最后一位开始计算并判断是否存在(S-s

其中i=(n,n-1,…,1),interv为超参数,表示阻塞阈值。若此不等式成立,则判断为数据不阻塞,正常执行后续更新参竞概率的步骤;若此不等式在遍历完数组后仍然不成立,则判断为发生数据流阻塞。

在步骤151中,发出流量阻塞告警,以便自动或人工执行应急措施。在一些实施例中,可以保持参竞概率不变,直接退出并发送报警。

通过这样的方法,能够及时发现并处理数据流阻塞的情况,提高广告参竞的运行可靠度,也避免数据流阻塞造成对参竞概率的错误调节,提高参竞控制的可靠度。

在一些实施例中,为便于数据管理,每个广告单元分层数据结构统计模块中,对于每个广告单元,可以维护一个分层的数据结构,每层对应一个广告请求组。每个广告请求组可以包含实时预算分配值、转化率pcvr分布区间、最新时间段内的消费、和数据阻塞判断,其中,实时预算分配值即小时级消耗控制所产出的计算结果,得到广告单元粒度的分时段预算初始值。

在时间窗口真实消耗统计步骤中,会统计上一时间窗口实际消耗、上一时间窗口时间跨度、下一时间窗口目标消耗和下一时间窗口时间跨度。以0点为每天的初始化时间为例,上一窗口实际消耗在每天0点初始化时指当天0点到当前时刻的消耗,正常运行时指上一次更新后的时间戳到当前时刻的消耗。上一窗口时间跨度,在每天0点初始化时指能取到的最新数据的时间戳与初始化时刻(已经过去的0点)间的时间跨度,正常运行时指能取到的最新数据的时间戳与上一次程序运行结束的时间戳之间的时间跨度。下一窗口目标消耗指到下一窗口的结束时刻的累计目标消耗与当前实际累计消耗之差。下一窗口时间跨度为当前时刻到下一最近窗口截止点(如以小时为单位,则为下一整点)之间的时间长度。

在一些实施例中,由于模型的预估值受多种因素的影响,不能保证百分百准确,因此,上述步骤130中,在直接基于预估模型得到实时的初步预估转化参数后,可以基于历史的实际转化参数和对应历史时间段的预估转化参数的差异来校正当前的实时的初步预估转化参数。以PCVR为例,利用基于历史的实际CVR(Convertion Rate,转化概率)与对应历史时间段的预估PCVR的差异来矫正当前PCVR,统计频率可以根据业务情况设定(如小时级),公式可以如下:

pcvr_use=pcvr_predict*(cvr_hour/pcvr_hour)

其中,pcvr_predict为模型预估的输出值,即实时的初步预估转化参数,cvr_hour为历史一段时间内可信的cvr值,pcvr_hour为对应历史一段时间内的模型预测均值,pcvr_use为矫正后的当前请求预估值,即步骤130中确定的实时预估转化参数,用来执行后续处理。

通过这样的方法,能够矫正预估模型的偏差,提高对于实际消耗分层的准确性,从而在提高流量平稳度的同时,确保能够满足广告主对于转化效果的要求,有利于本申请提高流量平稳度的参竞控制方案得到推广应用。

在一些实施例中,计算cvr_hour时,可以以广告单元粒度进行计算,并设置点击数门槛值。若广告单元粒度的数据量不够,可以依序回退到,如按照广告主+三级类目→三级类目→整体粒度的次序回退,保证点击数据量能够达到可信、有说服力的门槛值,保证数据的可信度。

在一些实施例中,在计算pcvr_hour时,可以以广告单元粒度进行计算,并设置点击数门槛值。若广告单元粒度使用最近1小时数据不够,则优先回退到2小时数据,直到回退到昨天模型更新前的最后一个时刻(保证对同一个模型的预估值进行矫正,避免因模型更新带来的误差),然后再使用如按照广告主+三级类目→三级类目→整体粒度的次序的逻辑回退。

通过这样的方法,能够保证被处理的数据量具有普遍意义,避免偶发数据造成影响,提高处理的可靠度。

在一些实施例中,预估转化参数分层阈值可以基于对于历史数据的分析确定。在一些实施例中,参竞控制方法还包括:根据预定天数的历史日期的预估转化参数的分布,以及预定分层数量,将预估转化参数分为预定分层数量等份,获取划分流量质量层的分位点参数作为预估转化参数分层阈值。通过这样的方法,能够确保流量质量层的分层能够与广告单元的实际转化情况相匹配,提高流量平稳度控制的准确度和反应效率。

在一些实施例中,上述步骤160中对应的参竞控制方法的一些实施例的流程图如图2所示。

在步骤261中,获取相邻的两个时间窗口中在先时间窗口的实际消耗与在后时间窗口的目标消耗的消耗误差。

在一些实施例中,可以直接计算相邻的两个时间窗口中在先时间窗口的实际消耗与在后时间窗口的目标消耗的差值,作为消耗误差。

在一些实施例中,考虑到在先、在后时间窗口的长度可能不一致,因此对窗口长度做归一化处理,则根据如下公式计算消耗误差:

residual=c

其中,residual为消耗误差,c

在步骤262中,判断消耗误差属于预定第一区间。在一些实施例中,预定第一区间可以为靠近数值0的数值区间,例如预定第一区间为0本身,或[-0.01,0.01]等。预定第一区间可以根据需要调节。

若消耗误差属于预定第一区间,则说明实际消耗与预期相近,执行步骤263;否则执行步骤264。

在步骤263中,不调整参竞概率。

在步骤264中,判断消耗误差小于预定第一区间的低阈值。消耗误差小于预定第一区间的低阈值,则说明实际消耗快于预期,执行步骤265;否则,说明实际消耗慢于预期,执行步骤266。

在步骤265中,按照流量质量层对应的预估转化区间阈值从低到高的顺序,依次降低每个流量质量层的参竞概率。在一些实施例中,参竞概率的调节下限为0,若正在被调节的流量质量层的参竞概率已为0,则跳过该层。

在步骤266中,按照流量质量层对应的预估转化区间阈值从高到低的顺序,依次提高每个流量质量层的参竞概率。在一些实施例中,参竞概率的调节上限为1,若正在被调节的流量质量层的参竞概率已为1,则跳过该层。

在一些实施例中,对于上述步骤265和步骤266中新的参竞概率的确定,可以针对每个流量质量层,获取消耗误差与对应流量质量层的在先时间窗口的实际消耗的和,确定调整消耗。进一步的根据调整消耗与对应流量质量层的在先时间窗口的实际消耗的比例,调整在先时间窗口的参竞概率,获取在后时间窗口的参竞概率。

在一些实施例中,可以基于公式进行调节:

p

公式中p

通过这样的方法,能够根据消耗与预期消耗的差异实时调节,避免消耗过快造成流量激增,以及避免消耗过慢造成后续流量增加,提高流量平稳度;优先降低低质量的流量质量层的参竞概率,优先提高高质量的流量质量层的参竞概率,能够降低调节对于广告主业务的影响,也能够提高调节对于流量平稳度的影响效率。

在一些实施例中,可以先初始化流量质量层层数为L=n,每一层共用一个全局的参竞概率为超参数G。第一个时间窗口每层都会产生一定消耗,可以作为后面参竞概率调整的基础。

在存在流量质量层的实际消耗小于预定第一消耗门限的情况下,按照预定百分比提高广告出价,并更新每个流量质量层的参竞概率,直至每个流量质量层的实际消耗均不小于预定第一消耗门限。例如,若广告单元出价较低,导致某些层没有消耗,可以对广告单元的出价进行提高一定百分比,直到所有层都有消耗后不再提高。每次调整会保存每层最新一次的消耗不为0的参竞概率,可以作为后面利用如图2所示的方式进行参竞概率调整的基础。

通过这样的方法,能够避免参竞概率初始为0导致后续无实际消耗、陷入死循环的情况,提高参竞控制的鲁棒性。

在一些实施例中,对于一些特殊情况,可以执行对应的处理。

在一些实施例中,每天的起始时刻初始化所有广告单元的所有流量质量层的参竞概率为预定第一初始值,例如每天0点初始化时,将所有广告单元的参竞概率初始化为超参数G1,从而避免逐日处理造成的数据偏移,保证运行的稳定性。

在一些实施例中,在存在新增广告单元的情况下,初始化新增广告单元的所有流量质量层的参竞概率为预定第二初始值,例如将当天新增加的广告单元的各层参竞概率均初始化为超参数G2,后续第一次调整在G2的基础上调整,从而能够实现广告单元新增情况下的自动运行。

在一些实施例中,在在后时间窗口的目标消耗小于等于预定第二消耗门限的情况下,将预估转化区间的阈值最高的流量质量层的参竞概率设置为预定第一概率,将其他流量质量层的参竞概率设置为小于预定第一概率。例如,若下一窗口目标消耗小于等于0,则参竞概率除了最高层置为0.01,其他层置为0。通过这样的方法,能够在合理避免超支的同时,避免各层参竞概率均为0造成系统陷入无法自动恢复的状态,提高系统的鲁棒性。

在一些实施例中,每次执行调整各个流量质量层的参竞概率后,将参竞概率为0的各个流量质量层中对应的预估转化区间阈值最高的一层的参竞概率调整为预定第二概率,例如将pacing rate为0的最高pcvr层置为0.1,用于积累数据。

在一些实施例中,在在先时间窗口的实际消耗小于等于预定第二消耗门限的情况下,若消耗误差不属于预定第一区间,则将在先时间窗口的实际消耗修改为预定第三消耗。例如,若某一层的上一窗口消耗为0,并且该层的参竞概率需要调整(消耗误差不位于预定第一区间内),则将上一窗口消耗设置成默认超参数F。这样的方法能够避免在先窗口的实际消耗过小的情况下造成后续参竞概率变化过大的情况,进一步提高流量的平稳度。

在一些实施例中,在后时间窗口的目标消耗可以为基于经验或统计的指定值,从而降低系统压力,提高处理速度。

在另一些实施例中,在后时间窗口的目标消耗为根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,计算在后时间窗口的目标消耗。

通过这样的方法,能够根据历史数据和实时实际消耗情况动态确定在后时间窗口的目标消耗,提高确定的在后时间窗口的目标消耗的可靠度,进一步提高流量平稳度控制的效果的鲁棒性。

在一些实施例中,确定在后时间窗口的目标消耗的过程中需要使用的预期累计消耗可以为基于经验或统计的指定值,从而降低系统压力,提高处理速度。

在另一些实施例中,可以根据历史日期的实际消耗的分布、当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定在后时间窗口的预期累计消耗。通过这样的方法,能够根据历史数据和实际消耗情况动态确定预期累计消耗,提高预期累计消耗的可靠度,进一步提高流量平稳度控制的效果的鲁棒性。

在一些实施例中,确定预期累计消耗过程中所需的当前日期的目标消耗总值可以为基于经验或统计的指定值,从而降低系统压力,提高处理速度。

在另一些实施例中,可以根据历史日期的实际消耗总值、预期单广告成本和实际单广告成本,确定当前日期的目标消耗总值。通过这样的方法,能够动态确定当前日期的目标消耗总值,提高当前日期的目标消耗总值的可靠度,进一步提高流量平稳度控制的效果的鲁棒性。

本公开的参竞控制方法的另一些实施例的流程图如图3所示。

在步骤311中,根据历史日期的实际消耗总值、预期单广告成本和实际单广告成本,确定当前日期的目标消耗总值。

在步骤312中,根据历史日期的实际消耗的分布、当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定在后时间窗口的预期累计消耗。

在步骤320中,根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗。

通过这样的方法,能够逐步动态确定当前日期的目标消耗总值、预期累计消耗以及在后时间窗口的目标消耗,使得参竞概率的调整符合实时状况,进一步提高流量平稳度控制的效果的鲁棒性。

在一些实施例中,上述步骤320的一些实施例的流程图如图4所示。

在步骤4201中,获取当天的实际转化值。当天的实际转化值指的是当前日期从起始时刻开始到当前时刻的实际转化值。

在步骤4202中,判断实际转化值大于预定第一转化值。在一些实施例中,预定第一转化值的设置可以为置信门限值,若大于置信门限值,则当前实际转化值数据为可信数据;否则认为数据过小,为非置信值。在一些实施例中,预定第一转化值可以为

若实际转化值大于预定第一转化值,则执行步骤4203;否则,执行步骤4208。

在步骤4203中,判断当天在当前的实际单条广告成本是否低于预期单条广告成本。若低于预期单条广告成本,则执行步骤4204;否则执行步骤4207。

在一些实施例中,当天在当前的实际单条广告成本可以用当天在当前的实际累计消耗与每条广告的总点击数之和的比值计算。

在步骤4204中,根据预期单条广告成本和实际转化值确定期望消耗值,并根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比确定在后时间窗口的第一消耗。

在一些实施例中,期望消耗值reasonable_cost=tcpa*order,其中tcpa为预期单条广告成本,即广告主期望的订单行成本,order为实际转化值。在一些实施例中,由于广告单元的价格可以以被点击的次数为单位计算,即每点击一次收取单价,则预期单条广告成本为预期的广告被点击一次的成本。

在一些实施例中,可以根据下述公式确定在后时间窗口的第一消耗:

target_cost_1=reasonable_cost/ratio_1*ratio_2,

其中,target_cost_1为在后时间窗口的第一消耗,ratio_1为先时间窗口的实际累计消耗占比,ratio_2在后时间窗口的预期累计消耗的占比。

在步骤4205中,根据预期消耗分布、预期单广告成本和实际单广告成本,确定在后时间窗口的第二消耗。

在一些实施例中,可以根据下述公式确定在后时间窗口的第二消耗:

target_cost_2=old_target_cost*(1-UPDATE_RATE*cpa_diff),

cpa_diff=(tcpa-cpa)/cpa

其中,target_cost_2为在后时间窗口的第二消耗;old_target_cost为预期的在先时间窗口的截止点的累计目标消耗比例,累计目标消耗比例指对应日期的起始时刻到目标时刻的目标消耗比例的累计值。cpa_diff为预期单广告成本和实际单广告成本的差异值,tcpa为预期单广告成本,cpa为实际单广告成本,UPDATE_RATE是超参数,表示更新步长。

在步骤4206中,确定第一消耗与第二消耗中较大的一项为在后时间窗口的目标消耗,即target_cost=max(target_cost_1,target_cost_2),其中,target_cost为在后时间窗口的目标消耗。

在步骤4207中,根据预期累计消耗的分布、预期单广告成本和实际单广告成本,确定在后时间窗口的目标消耗,在一些实施例中,具体的运算方式可以与步骤4205中相同,即

target_cost=target_cost_2。

在步骤4208中,判断是否存在历史日期的实际消耗数据,即判断该广告单元是否为当天新上广告单元。若非新上广告单元,则具备历史日期的实际消耗数据。若存在历史日期的实际消耗数据,则执行步骤4209;否则,执行步骤4211。

在步骤4209中,将当天的在先时间窗口的实际累计消耗与前一天的对应时刻的实际累计消耗的加权和作为期望消耗值,进而执行步骤4210。在一些实施例中,可以先用前一天与在先时间窗口对应时刻的累计实际消耗与当天的在先时间窗口对应时刻的累计实际消耗进行加权和计算,得到期望消耗值,如根据下方公式计算期望消耗值:

reasonable_cost=cost_base*A+cost*B

其中,reasonable_cost为期望消耗值,A为超参数,可以根据实际场景进行设置,A+B=1,cost_base为前一天与在先时间窗口对应时刻的累计实际消耗,cost为当天的在先时间窗口对应时刻的累计实际消耗。

在步骤4210中,根据期望消耗值、当天的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,确定在后时间窗口的目标消耗。

在一些实施例中,可以根据下方公式计算在后时间窗口的目标消耗:

target_cost=reasonable_cost/ratio_3*ratio_4

其中,ratio_1为先时间窗口的实际累计消耗占比,ratio_2在后时间窗口的预期累计消耗的占比。

在步骤4211中,将当前在当天的实际累计消耗占比与基于预期单广告成本的预期全天消耗的乘积作为目标消耗。

在一些实施例中,可以根据下方公式计算在后时间窗口的目标消耗:

target_cost=A1*tcpa*ratio_5

其中,ratio_5为先时间窗口的实际累计消耗占比,A1为超参数,可以根据实际场景进行设置。

通过这样的方法,能够动态确定在后时间窗口的目标消耗,作为防爆量消耗门槛值,当单元消耗达到或超过此值时,停止单元继续播放,防止爆量问题,降低对于网络、平台的压力;作为广告单元分层参竞概率控制的输入数据,能够帮助产出参竞概率,使得广告单元正常播放时能够实现符合实时变化的平稳消耗,提高流量平稳度。

在一些实施例中,依据广告单元的实际情况计算出target_cost后,对计算结果进行缩放,以调节消耗控制的严格程度,根据如下公式修正在后时间窗口的目标消耗:

target_cost_final=target_cost*A2

其中,target_cost_final表示修正在后时间窗口的目标消耗,A2为超参数,表示松弛系数,可以根据实际场景进行设置。

在一些实施例中,可以设置时间窗口长度为固定的一小时,在得到某个时间点(hour+1)点的target_cost_final后,循环更新当天的(hour+1)点到23点所有小时的目标消耗,因此,

target_cost_hour[j]=target_cost_final/ratio_h1*ratio_h[j]

其中,j属于[hour+2,23],target_cost_hour[j]表示第j点更新后的目标消耗,ratio_h1是预期的第(hour+1)小时消耗占比,ratio_h[j]是预期的第j小时消耗占比。

至此,小时级消耗控制值更新完毕,可根据实际情况,将小时粒度进一步细化,缩短为分钟级更新直至实时更新。

通过这样的方式,能够逐级确定每个时间段的目标消耗,以便为后续参竞调整提供丰富的基础数据,提高后续参竞调整的灵活度。

在一些实施例中,上述步骤312中,预期累计消耗确定的一些实施例的流程图如图5所示。

在步骤5121中,根据当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定当前日期的待消耗值。

在步骤5122中,根据历史日期的实际消耗的分布,将当前日期的待消耗值分布在当前日期的剩余时段,确定在后时间窗口的预期累计消耗。在一些实施例中,可以统计各粒度历史y天的小时级消耗分布占比,其中y为表示统计历史天数的超参数,可以根据实际场景进行设置。

通过这样的方法,能够基于历史数据中的实际消耗的分布确定理想状态下的消耗分布,进而以此为基础,根据当天已产生的实际消耗的情况动态调整后续事件窗口的消耗分布,提高预期累计消耗变化的自适应程度。

在一些实施例中,上述步骤311中,目标消耗总值确定的一些实施例的流程图如图6所示。

在步骤6101中,判断当前广告单元存在的历史日期的数量是否大于1,即是否不是前一日的初始时刻新上的广告单元。若大于1,则非前一日新上的广告单元,则执行步骤6102;否则,执行步骤6109。

在步骤6102中,选择一个待处理的历史日期进行后续处理。在一些实施例中,可以根据历史日期的数量和预定最大数量,从中选择较小的数量作为待处理的历史日期的数量,并从当前日期的前一日开始依次向前取历史日期的数据。

在步骤6103中,判断当前处理的历史日期的实际转化值是否大于等于预定第二转化值(例如,预定第二转化值为3)。若大于等于预定第二转化值,则执行步骤6105;否则执行步骤6104。

在步骤6104中,确定对应历史日期的实际消耗总值cost为第一消耗总值target_cost1。

在步骤6105中,根据预期单广告成本和实际单广告成本的差异占预期单广告成本的比例,调整对应历史日期的实际消耗总值,获取第一消耗总值。

在一些实施例中,可以根据如下公式计算第一消耗总值:

target_cost1=cost/(1+w1*math.tanh(cpa_diff))

其中,target_cost1为第一消耗总值,w1为第一权重,math.tanh(cpa_diff)表示对cpa_diff进行双曲正切函数运算,实现对target_cost1进行非线性预估。

由于双曲正切函数具有计算形式简单、计算速度快、原点对称,以及梯度从原点开始逐步变小,到左右的平缓的部分是梯度饱和的状态的特点,能够使得cpa_diff在正负情况下调整幅度一致,不会对正或者负有偏好,并使得cpa_diff绝对值较小的时候分母大,调整幅度小,cpa_diff绝对值较大时分母小,调整幅度大,进而使得整个调整过程的目标统一:即向着cpa_diff=0的方向调整。

在步骤6106中,分别将第一消耗总值和预期单广告成本与对应的超参数相乘,并与预定最小目标比较,确定其中最大的一项为当前日期的第二消耗总值,例如根据如下公式计算

target_cost2=max(target_cost1*w2,w3*tcpa,w4)

其中,target_cost2为当前日期的第二消耗总值,w2、w3分别为第一消耗总值和预期单广告成本的权重,w4为预定最小目标。

在步骤6107中,判断是否还存在待处理的历史日期。若存在,则执行步骤6102;否则执行步骤6108。

在步骤6108中,获取不同历史日期的所述第二消耗总值的加权和,作为当前日期的目标消耗总值target_cost0。例如,可以设置距离当前日期越近的历史日期的权重越大,或对于特殊日期降低或提高权重,从而调整不同日期的参考价值。在一些实施例中,不同历史日期的权重为超参数,可以根据实际场景进行设置和调节。

在步骤6109中,判断当前处理的历史日期的实际转化值是否大于等于预定第二转化值。当前处理的历史日期即存在的唯一的历史日期。若大于等于预定第二转化值,则执行步骤6111;否则,执行步骤6110。

在步骤6110中,确定对应历史日期的实际消耗总值为第一消耗总值,即target_cost1=cost。

在步骤6111中,根据预期单广告成本和实际单广告成本的差异占预期单广告成本的比例,调整对应历史日期的实际消耗总值,获取第一消耗总值,即

target_cost1=cost/(1+w5*math.tanh(cpa_diff))

其中,w5为超参数,可以与w1相同。

在步骤6112中,分别将第一消耗总值和预期单广告成本与对应的超参数相乘,并与预定最小目标比较,确定其中最大的一项为当前日期的第二消耗总值,即

target_cost2=max(target_cost1*w6,w7*tcpa,w8)

其中,w6、w7分别为第一消耗总值和预期单广告成本的权重,w8为预定最小目标,w6可以与w2相同,w7可以与w3相同,w8可以与w4相同。

在步骤6113中,将第二消耗总值作为当前日期的目标消耗总值,即target_cost0=target_cost2。

通过这样的方法,能够基于历史数据对以天为级别的消耗进行控制,动态确定目标消耗总值,提高自适应程度,也更加便于参竞调整对于流量平稳度的维持效果。

本公开的参竞控制系统的一些实施例的示意图如图7所示。

预估单元731能够通过预估模型获取广告的实时预估转化参数。在一些实施例中,可以构建预估模型,实时预测当次请求的广告效果作为实时预估转化参数。

分层单元732能够根据实时预估转化参数和预估转化参数分层阈值,确定实时预估转化参数对应时刻的实时消耗所属的流量质量层。

概率调整单元733能够针对每个流量质量层,根据相邻的两个时间窗口中,在先时间窗口的实际消耗与在后时间窗口的目标消耗的差异,调整各个流量质量层的参竞概率。

参竞单元734能够根据调整后的参竞概率进行广告参竞。

这样的参竞控制系统能够根据实时预估转化参数对实际消耗分层处理,并针对不同分层的消耗情况和目标消耗情况,以时间窗口为时间处理单位对各个流量质量层的参竞概率进行调整,从而提高对不同质量流量的差异化处理能力,也能够对于后续消耗的概率进行及时干预,在不降低甚至提高广告主需要的广告效果的基础上,避免突发流量产生,提高参竞流量的平稳度,同时有助于保障用户的访问速度和用户体验。

在一些实施例中,如图7所示,还可以包括阻塞确定单元735,能够判断是否发生数据流阻塞。若未发生数据流量阻塞,则激活概率调整单元733执行其功能;若发生数据流量阻塞,则发出流量阻塞告警,以便自动或人工执行应急措施。在一些实施例中,可以保持参竞概率不变,直接退出并发送报警。

这样的系统能够及时发现并处理数据流阻塞的情况,提高广告参竞的运行可靠度,也避免数据流阻塞造成对参竞概率的错误调节,提高参竞控制的可靠度。

在一些实施例中,如图7所示,还可以包括第一处理单元736,能够对于一些特殊情况,可以执行对应的处理。

在一些实施例中,第一处理单元736能够在每天的起始时刻初始化所有广告单元的所有流量质量层的参竞概率为预定第一初始值,例如每天0点初始化时,将所有广告单元的参竞概率初始化为超参数G1,从而避免逐日处理造成的数据偏移,保证运行的稳定性。

在一些实施例中,第一处理单元736能够在存在新增广告单元的情况下,初始化新增广告单元的所有流量质量层的参竞概率为预定第二初始值,例如将当天新增加的广告单元的各层参竞概率均初始化为超参数G2,后续第一次调整在G2的基础上调整,从而能够实现广告单元新增情况下的自动运行。

在一些实施例中,第一处理单元736能够在在后时间窗口的目标消耗小于等于预定第二消耗门限的情况下,将预估转化区间的阈值最高的流量质量层的参竞概率设置为预定第一概率,将其他流量质量层的参竞概率设置为小于预定第一概率。例如,若下一窗口目标消耗小于等于0,则参竞概率除了最高层置为0.01,其他层置为0。通过这样的方法,能够在合理避免超支的同时,避免各层参竞概率均为0造成系统陷入无法自动恢复的状态,提高系统的鲁棒性。

在一些实施例中,第一处理单元736能够在每次执行调整各个流量质量层的参竞概率后,将参竞概率为0的各个流量质量层中对应的预估转化区间阈值最高的一层的参竞概率调整为预定第二概率,例如将pacing rate为0的最高pcvr层置为0.1,用于积累数据。

在一些实施例中,第一处理单元736能够在在先时间窗口的实际消耗小于等于预定第二消耗门限的情况下,若消耗误差不属于预定第一区间,则将在先时间窗口的实际消耗修改为预定第三消耗。例如,若某一层的上一窗口消耗为0,并且该层的参竞概率需要调整(消耗误差不位于预定第一区间内),则将上一窗口消耗设置成默认超参数F。这样的方法能够避免在先窗口的实际消耗过小的情况下造成后续参竞概率变化过大的情况,进一步提高流量的平稳度。

在一些实施例中,如图7所示,还可以包括分层阈值确定单元701,能够根据预定天数的历史日期的预估转化参数的分布,以及预定分层数量,将预估转化参数分为预定分层数量等份,获取划分流量质量层的分位点参数作为预估转化参数分层阈值。

这样的系统能够确保流量质量层的分层能够与广告单元的实际转化情况相匹配,提高流量平稳度控制的准确度和反应效率。

在一些实施例中,如图7所示,还可以包括窗口目标消耗确定单元721,能够确定在后时间窗口的目标消耗,并作为概率调整单元733的运算基础数据。在一些实施例中,窗口目标消耗确定单元721能够根据期望消耗值、在先时间窗口的实际累计消耗占比和在后时间窗口的预期累计消耗的占比,或根据预期累计消耗的分布、预期单广告成本和实际单广告成本,计算在后时间窗口的目标消耗

这样的系统能够根据历史数据和实时实际消耗情况动态确定在后时间窗口的目标消耗,提高确定的在后时间窗口的目标消耗的可靠度,进一步提高流量平稳度控制的效果的鲁棒性。

在一些实施例中,如图7所示,还可以包括预期累计消耗确定单元712,能够根据历史日期的实际消耗的分布、当前日期的实际累计消耗占比和当前日期的目标消耗总值,确定在后时间窗口的预期累计消耗,以作为窗口目标消耗确定单元721运算的数据基础。

这样的系统能够根据历史数据和实际消耗情况动态确定预期累计消耗,提高预期累计消耗的可靠度,进一步提高流量平稳度控制的效果的鲁棒性。

在一些实施例中,如图7所示,还可以包括目标消耗总值确定单元711,能够根据历史日期的实际消耗总值、预期单广告成本和实际单广告成本,确定当前日期的目标消耗总值,以作为预期累计消耗确定单元712运算的数据基础。

这样的系统能够动态确定当前日期的目标消耗总值,提高当前日期的目标消耗总值的可靠度,进一步提高流量平稳度控制的效果的鲁棒性。

本公开参竞控制系统的一个实施例的结构示意图如图8所示。参竞控制系统包括存储器801和处理器802。其中:存储器801可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中参竞控制方法的对应实施例中的指令。处理器802耦接至存储器801,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器802用于执行存储器中存储的指令,能够提高参竞流量的平稳度。

在一个实施例中,还可以如图9所示,参竞控制系统900包括存储器901和处理器902。处理器902通过BUS总线903耦合至存储器901。该参竞控制系统900还可以通过存储接口904连接至外部存储装置905以便调用外部数据,还可以通过网络接口906连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。

在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够提高参竞流量的平稳度。

在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现参竞控制方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。

技术分类

06120113791258