2018年阿里妈妈搜索广告转化预测

1. 数据来源

阿里电商广告为研究对象,提供了淘宝平台的海量真实交易数据,参赛选手通过人工智能技术构建预测模型预估用户的购买意向,即给定广告点击相关的用户(user)、广告商品(ad)、检索词(query)、上下文内容(context)、商店(shop)等信息的条件下预测广告产生购买行为的概率(pCVR)

pCVR=P(conversion=1 | query, user, ad, context, shop)。

源码地址

了解数据

  1. 提供了user,item,context,shop相关的数据
  2. instance_id不作为特征,但是能看出来,实际上有重复instance_id的数据
  3. item_id 全数据要比train多,说明有新品,这些新品的点击率要靠其他商品信息做参考
  4. item_property_list 要分解之后,总共就三段应该不用分解了。
  5. item_brand_id全数据依然多
  6. item_city_id测试数据集中多两个
  7. [查]item_price_level 测试集要比训练集要少,多的这部分可能是没用的。要不要看看有没有成交记录?这个不一定要删除,如果分桶的话,就无所谓了。
  8. shop_id,全数据比训练数据高,说明有122家新店。
  9. [查]shop_review_num_level 评价数量等级,这个也没有。
  10. 不同性别的成交率,男的成交率要高

比赛提供了七天数据,预测后一天的数据。

看一下,数据分布的情况,其中instance_id按照定义是不应该有重复的情况的,从数据看来提供的样本中有instance_id重复的数据。下表观察其他特征,可以看出有部分特征的值数据在训练集中包含,但是在测试集中并没有对应的项目,考虑这部分数据处理掉。

价格区间在16,17的样本,只在训练集中出现,测试机没有出现,而且,量不大,考虑删掉。

可以看出:

  • 成交量比较少的转化率会显得稍高,成交量比较高商品集中在6-8价格区间,转化率在1.5%左右。
  • 价格区间在10以上的,没有成交记录。

点击次数和成交的关系,日期的分布,得到日期的分组,初赛是平日转化率预估,复赛是特殊日期的转化率预估。

  1. 根据上面这个结果看的话,训练数据应该选[2,3,4,6,7]
  2. 假设,1是周一,2是周2,3是周3,周一,和周五有相对较多的点击次数,这样应该是。需要预测的那一天应该是周一,会是图1的趋势。
  3. 这个数据说明,点击率超过3次,基本不会买,正常会买的点击次数在三次以内。

2. 数据预处理

  1. 去除重复值,点击记录的重复值
  2. 数据拼接,训练和测试数据整合在一起,一起做特征。
  3. 连续值类型,标准化
  4. price_level在测试集中出现了两个比较大的数据,16,17,删掉
  5. price_level在10以上的没有成交数据

3. 特征工程

  1. [天]同一个用户点击的数量
  2. [天]同一个商品被点击的数量
  3. [天,小时]历史转化率
  4. [全] 性别的处理,按照成交比例添加在数据中
  5. [天] collected level的成交率,按照每天的统计。这个参数应该和day没有关系,短时间内的平均水平决定了这个参数。
  6. 价格-成交率统计特征
  7. 时间特征,每个小时的成交率
  8. 相关系数,collected_level和sales_level两个特征差不多,age。star,occupation可以推出gender
  9. 缺失值分析:
    1. tem_city_id, shop_review_positive_rate,如果存在缺失,没有成交记录
    2. item_sales_level如果有缺失,成交几率很低
  10. Item_id,shop_id前者包含了后者信息
  11. 一天内同一个user在一个店铺点击不会超过3次,超过3次不会购买。
  12. 做了数据星期假设,总共给了一周的数据,而这些数据应该是和星期有关系的。确定需要预测的趋势是周一。