SGL with AFM

Background

  • 基于二部图Embedding的难点
    • 用户酒店交互的低频性(稀疏性)
    • 酒店交互行为的长尾分布问题
    • 僵尸酒店及交互行为的噪声问题

AFM

提出的AFT模型是酒店行业衡量客户价值和客户创造利益能力的重要工具和手段。在对比并试验了众多其他的客户关系管理(CRM)的分析模式中,本方案提出的AFT模型在酒店行业中的应用是效果最优的。该模型主要通过对一个客户在一段时间内在消费次数、消费的总金额、订单的平均消费金额三项指标来衡量某个特定用户的价值状况,这里需要说明的是,消费次数 * 订单的平均消费金额并不等于消费的总金额,因为在酒店行业中一次订单可能包括多间夜,接下来将对AFT模型作详细阐述。

如上图所示,我们主要将用户在过去年的消费状况分为如下三个指标:

  • A(Average Money):过去n年每次订单的平均消费金额(可能一次订单包含了多个间夜,融入了间夜的业务特征);

  • F(Frequency):过去n年在酒店行业消费的次数;

  • T(Total Money):过去n年在酒店行业消费的总金额;

整体流程图如上图所示,具体的流程步骤为:

  1. 首先针对所有的订单,计算所有用户所有订单的平均A、F、T值,具体计算公式为

其中代表用户的个数,分别代表用户的过去年的订单平均消费金额、消费频率以及消费的总金额。

  1. 计算出整体数据的A、F、T值之后,我们对特定的用户按照流程图所示的方式进行分级。首先我们判断用户的订单平均消费金额是否在整体平均值之上,紧接着判断用户的消费频率是否在整体平均值之上,最后判断用户的消费总金额是否在整体平均值之上。

  2. 经过(2)中的三个阶段,我们就可以将用户进行分级,按照数学计算我们可以得出,总的分级种类有种,但是结合业务情景,我们可以判定下面的两类是不存在的,其一是订单平均消费金额在整体平均值之上、消费频率在整体平均值之上但消费的总金额在整体平均之下,其二是订单平均消费金额在整体平均值之下、消费频率在整体平均值之下但消费的总金额却在整体平均之上。排除完上述两种状况之后,我们可以将用户分级成了种,本方案将其称之为VIP客户、忠诚用户、潜在VIP客户、潜力用户、保持客户、流失客户,其具体的含义以及解释如下表所示(其中,+号表示用户对应的指标值大于所有用户该指标值的平均值,-号表示用户对应的指标值小于所有用户该指标值的平均值):

用户分类/指标 A F T 解释
VIP客户 + + + 这一批用户的特点是酒店需求量大、购买能力强(例如:高频出差、目的性旅游)
忠诚客户 - + + 这一批用户的特点是酒店需求量一般、购买能力强(例如:非目的性旅游)
潜在VIP客户 + - + 这一批用户的特点是酒店需求量小、购买能力强(例如:低频出差)
+ + -
潜力客户 + - - 这一批用户需要刺激其的消费频率,使其变成潜在VIP客户或者VIP客户
保持客户 - + - 这一批用户的特点是酒店需求量大、但购买能力差(例如:学生情侣),只需要保持其继续使用
- - +
流失客户 - - - 这一批用户可能已经不用app了,需要激活让其重新使用

然后根据AFT模型中不同人群的百分比进行按比例的抽样操作(预处理长尾效应),然后输入到何向南团队提出的SGL模型中。

SGL

详情见PaperReading中的SGL论文。SGL

Result

offline

score SGL Afm&SGL 相对提升
HR 0.3265 0.3280(+0.0015) 0.4%
GAUC 0.5776 0.5794(+0.0018) 0.3%

online

name uctr pctr l2o_uv2book 平均预定间夜 平均浏览深度
baseline 0.1898 0.0710 0.02356 8.335 1.07857E-06
afm&sgl 0.1921 0.0721 0.02367 8.440 1.09031E-06
gap 0.84% 0.58% 0.41% 1.67% 1.25%

可视化对比

Swing
SGL&AFM

可以很明显的对比出Swing与SGL&AFM之间的差别,明显SGL&AFM要更胜一筹;

Analysis

  • 解决了Swing算法召回的局限性
    • 通过embedding可以挖掘出一些潜在的信息
    • 可以在训练embedding的时候添加属性信息,扩展性强
    • SGL模型中的RW是一个优化的点,利用预计算的酒店sim score控制RW的方向