CTR的预估是一个典型的机器学习问题。在这个问题里,每条输入数据包含多个维度:广告主,展现(媒体),用户等。广告主维度包含了广告的商品信息,展现维度包含了域名.广告位.广告类型等等,用户维度不仅包含用户的浏览器.设备等信息,还包括用户本身的人群属性(性别,兴趣等)。为了准确的预测CTR,往往需要多个特征维度的交叉。举个例子,某个性别的用户在某个类型商品上的转化率可以作为一个很好的特征。在实际预测中,算法工程师有很多模型可以选择,常用的如朴素贝叶斯,逻辑回归,随即森林等。若采用回归模型,则需要用one-hot
encoding将categorical variable 转化为 numerical variable,使输入变为很高维度的向量,这里可以采用各种特征工程以及特征交叉。另外,用soft的贝叶斯转化率代替hard的0,1作为特征值往往会有不错的效果。多个模型ensemble也可以在工业上直接应用。得出了预估的CTR,往往之后还有一个校准的过程,使出价函数变得更为平滑,具体细节就不在这里阐述了。
实时的CTR是否比预估(校准后)的CTR更准? 不少DSP公司优先采用(比如域名和广告位的)实时CTR计算出价。事实上这样做考虑的维度信息是非常少的。在我看来,当训练数据足够的情况下,预估的CTR更能反应通过长期积累的经验反映出的CTR情况,同时也支持多个维度非常flexible的交叉。而实时的CTR则更能反映某个广告主或某个点位的CTR在短期内的波动情况,但多维度交叉比较困难。将二者按一定比例加权是合理的处理方式。