DPG如何为广告客户提供高质量的细分市场
本文由DPG Media数据科学家巴特·德尔·皮耶罗(Bart Del Piero)撰写。
在活动开始时,营销人员和发行商通常会假设目标受众是谁,但一旦活动开始,就很难看到谁真正做出了回应,根据不同受访者的不同品质抽象出一个细分市场,然后根据这些细分市场及时调整目标市场。然而,机器学习可以近乎实时地筛选大量的应答者和非应答者受众数据,自动创建特定于所做广告的商品或服务的相似受众,从而提高广告投资回报率(以及出版商可以为其广告库存收取的价格,同时仍然为客户增加价值)。
在DPG媒体的目标广告领域,我们试图找到新的方法,以最好的方式向我们的广告商提供高质量和可销售的细分市场。优化营销活动的一种方法是使用“短时间上市”——高价值点击器的外观,并将它们作为改进的交易呈现给广告商。
这需要建立一个系统,允许我们训练一个分类模型,在活动生命周期内根据连续的数据馈给(主要是通过每日批量)“学习”,从而每天更新和改进多个营销和广告活动的目标受众。这个逻辑可以可视化如下:
这导致了两个主要问题:
- 我们能否创造出一种能够随着时间推移学习广告点击行为的相似模型?
- 整个设置是否能够平稳运行并以较低的运行时间实现收益最大化?
为了回答这些问题,本文将重点介绍Databricks环境中的两种技术:Hyperopt和PandasUDF。
Hyperopt
简而言之,Hyperopt允许我们在多个执行器之间快速训练和拟合多个sklearn模型,以进行超参数调优,并可以根据先前的评估搜索最优配置。当我们尝试在每个活动中拟合多个模型时,对于多个活动,这允许我们在很短的时间内快速获得最佳超参数配置,从而导致最佳损失(例如:大约14分钟用于预处理和优化具有24个评估和并行度参数为16的随机森林)。重要的是,我们的标签是点击倾向(即概率),而不是点击者(类)。然后,将损失最小的模型(定义为Precision-Recall的- AUC)写入MLflow。这个过程每周进行一次,或者如果活动刚刚开始,我们就会获得与前一天相比的更多特定活动的数据。
PandasUDF
在我们有了模型之后,我们想要对过去30天内我们网站的所有访问者进行推断。为此,我们从MLflow中查询最新、最好的模型,并将其传播到所有执行器中。因为我们想要评分的数据集非常大,我们把它分布在n个分区中,让每个执行器评分不同的分区;所有这些都是通过利用pandasudf逻辑完成的。然后概率被收集回给司机,用户从最低点击倾向到最高点击倾向进行排名:
在此之后,我们根据数量与质量选择一个阈值(这是一个业务驱动的选择,取决于我们为给定的广告活动拥有多少广告空间),并在我们的数据管理平台(DMP)中为其创建一个细分市场。bob体育客户端下载
结论
总之,我们可以将整个过程总结如下
如果我们重新训练模型,整个过程大约需要一个小时。如果没有,每天大约需要30分钟来加载和评分新用户。我们的目标是保持尽可能低的运行时间,这样我们就可以考虑更多的活动。就这些受众的质量而言,他们可能会有很大的不同,毕竟在机器学习中没有免费的午餐。
对于转化率不高的新活动,我们发现当每天收集更多数据时,模型会有所改善,我们的估计也会越来越好。例如,对于一个随机的活动,其中:
- 均值:每天hyperopt运行中所有评估的平均精度-召回AUC
- Max:每天hyperopt运行中评估的最高精确召回AUC
- Min:在每日hyperopt运行中评估的最低精度-召回AUC
- St Dev:每天hyperopt运行中所有评估的标准偏差精度-召回AUC
除了精确召回的AUC,对广告商来说,最重要的指标是点击率。我们在两个广告活动中测试了这种模式,并将其与正常的网络竞选活动进行了比较。这产生了以下结果:
当然,天下没有免费的午餐,重要的是要认识到活动之间没有单一的质量度量,必须在每个活动的基础上进行评估。
BOB低频彩了解更多有关领先品牌和广告公司(如Conde Nast和Publicis)如何使用Databricks来推动绩效营销的信息.