1. 背景

  • 信息流广告包括:预分配曝光、预估CTR、广告排序、频次过滤四个过程(https://info.b2b168.com/s168-69085142.html )这里介绍的是其中的预分配曝光部分,即广告流量预估。

2. 流量预估的粗细粒度

  • 总体流量预估:总体流量预估相对比较简单,例如预估整个产品端每天或者每个小时的pv、uv,请求两等指标,一般情况下,这类问题可以通过时序问题解决,比如简单的ARIMA,Prophet,就可以达到不错的效果

    这里一定要注意一点,在预估之前评估一下当前任务的可预估性。像有些场景下的连续值预估问题是很随机的,比如品牌流量这种,很多时候不具备预估性,这个时候还不如用历史的一些规则来简单填充。

  • 细粒度的流量预估:细粒度流量预估包含很多,像题目中提到的不同定向下的流量预估,除了定向维度以外,还有就是比如行业的流量预估、不同投放端的流量预估等,都可以归为这一类问题。这个问题的特点是,样本包含很多条时序曲线,比如一个定向组合就有一条曲线,这个时候我对每条曲线做一条预估曲线显然不是很现实;另外,每条曲线做预估,在使用中也有问题,例如我们模型预估“ios+男性”定向流量是100,“ios+女性”定向流量是200,“ios”的流量可能预估出来是360,这个时候你会发现"ios+男性“+”ios+女性“不等于”ios“流量,没办法配平。所以这里其实很自然的思路就是把细粒度流量预估转变为回归问题,将历史的时序信息构造在特征里面。以定向流量预估为例,这里首先确定好最细粒度的定向是什么,比如我最细的粒度是”性别“+”操作系统“+”地区“,那么就将这三个定向下的取值做笛卡尔积组合得到所有可能定向结果,每一个定向视为一条样本,例如“男”+“ios”+“Beijing”就是一个样本。特征上的话,可以统计一下历史的流量信息等,然后跑个XGBoost或者NN来预估就好。

3. 流量预估的方法

  • 方法有:ARIMA、SVR、XGB、Prophet、RNN、seq2seq、TCN
  • 互联网公司的处理方法:
    a. 淘宝: XGB, 业务异常日期节点单独处理
    b. 微博:XGBoost+模式,XGBoost做平日预估模型,异常情况用模式,分为两种,像国庆这种可预知会有流量异常情况拟合预热、爆发、衰退流量,像明星出轨这种不可预知情况,拟合学习衰退期流量
    c. 每日优鲜:七日去峰谷平均,由于特征不足,促销等拿不到,且基于安全库存模型,前一日剩余库存凌晨才能统计完全,而早上五六点就要下补货单为近一到三天内补货,所以各模型效果差不多的前提下,选速度快的。
    d. 京东销量:lightGBM+Holt-winter,特征还算比较全,也加了不少统计特征比如近一周的均值方差最值等,上机器学习模型进行短期,比如3-7天的销量预估,Holt-winter进行长期,比如90天的销量预估,考虑进季节等因素。

内容源自知乎https://www.zhihu.com/question/358302367