腾讯广告算法大赛随手记3
摘录下官方给的一些重要指南。
赛题背景:广告曝光预估如何应用在实际业务中?
腾讯的效果广告主要是展示类广告,其背后的算法引擎本质上是一个推荐框架。当新增一条广告请求时,系统会自动执行召回候选广告和排序筛选两个步骤。
召回的条件是判断广告自身的定向设置、时段设置、素材尺寸是否和当前请求的用户属性、请求时间、广告位规格相匹配。召回之后的候选广告队列会按照一定规则排序。为平衡平台收益和用户体验,排序使用的是广义的eCPM(千次曝光消耗)指标来排序,其中包括:直接与bid(广告主愿意为每次点击付出的钱)、pctr(广告的预估点击率)相关的basic_eCPM;以及和用户体验相关的quality_eCPM。所以易知,同一个广告bid越大,total_eCPM越高,排第一的可能性越高,获得曝光的机会越大。这也是竞价广告机制的特性之一。
因此,当广告的出价、定向、投放时段和素材被设定好之后,它覆盖的人群范围和实际竞争环境、自身竞争能力就能够大致确定,也就基本决定了广告的日曝光量级。假设我们的广告主投放相对稳定,没有突然出现大广告主出高价竞争,流量也无特别大的波动(比如节假日、购物节等)。这样我们就可以据此预估广告每日曝光。
这样的预估结果能够在实际场景中为广告主服务。广告主可以根据曝光预估结果提前调整出价、定向、时段等设置,结合自身的投放预期选择最适合自己的设置,而不是投放几天之后再去修改,从而减少广告主的试错时间和成本。
赛题详解:数据集怎么看?
** ad_static_feature.out - 广告静态数据**
此部分除最后一列素材尺寸的缺失值使用空字符表示外,其他列的缺失值是用-1表示。关于逗号连接的多值数据,本文件中只有手册中提到的素材尺寸(即最后一列)是合法的,其他列出现的不合理数据需进行数据清洗。
ad_operation.dat - 广告的操作数据
此部分第二列操作时间为0的视为缺失,对于创建操作,创建时间可以在ad_staic_feature.out得到。其他不合理的数据需要进行清洗。
totalExposureLog.out - 历史曝光日志数据
此部分每一条代表一个曝光记录。由于初赛数据规模的限制,这里每个只提供了最终竞价胜出曝光的广告信息。同一条请求,可能会同时曝光多个广告位的广告,因此一条请求id可能对应多条记录。
user_data -- 用户特征数据
此部分包含抽样后的用户特征维度(包括上述曝光日志中全部用户),出于脱敏的考虑,这里把所有属性值(包括年龄)都做了随机映射,此部分无需过多关注id背后的业务含义。
test_sample.dat -- 测试数据集
此部分包含需要预估广告的全部设置条件,包含新创建广告、已创建广告、修改过及未修改修改过的广告。预估目标是下一个自然日(0点到24点)的曝光量。历史数据为3月20日(不含)之前,因此对于** 20日以后新建广告,其预估目标为预估创建次日,对于已存在广告预估目标为3月21日**。
解题攻略:还有哪些场外Tips?
本次赛题是从实际的业务问题中做了简化,同时也尽量保留了一些业务问题的原貌。样本和特征维度需要大家从不同部分的数据文件中清洗、提炼、拼接,定义出样本和特征维度以及训练的目标Label。而上述步骤,其实也是实际工作中的一个小缩影。实际广告投放中涉及多流量频道,多广告类型,并会包含不同的计费模式、不同的出价模式(如oCPA智能出价),以及复杂的定向方式(自动定向、lookalike等)。
本次的赛题中,测试集中的广告选取了简单定向设置的传统CPC出价广告。传统CPC出价,即为广告主给每个广告一个出价bid,其代表了愿意为每次广告点击支付的费用(做gsp二阶机制里实际单次点击扣费要低于bid),对每次广告请求,广告都以这个bid去参与竞争排序,直到广告主主动修改出价。当然,CPC出价的广告会和其他不同类型(包括智能出价等)广告一同去抢曝光,所以历史曝光日志里的广告和广告静态数据里的广告不光是传统CPC出价广告。
为了降低大家的理解难度和干扰,在不影响建模的情况下,我们在提供初赛数据时有意做了删减。初赛数据可以理解为只有和测试集中同类型的广告才能得到全部的完整广告设置。
关于初赛阶段最终的评估指标,除了数值预估问题最常用的准确性指标以外,出于业务场景的实际需要,我们还加入了出价相关性的评估指标,也就是出价和预估曝光的正相关。这意味着,选手们需在满足相关性的基础上同时最大化预估的准确性,这也是此次赛题和其他CTR预估或者推荐问题最大的差异和挑战。
昨日战况
昨天没有战果,还是保持在79.29的分数,看到排名又降低了
image.png
今天汇总
突破了一个新的分数79.8665分,继续优化规则发现分值遇到了瓶颈
上一篇 | 《目录》 | 下一篇 |
---|