客户交易促动场景下的交易额预测研究与实践
2018-09-07 19:12 交易额

如何提前预知客户未来的消费水平、如何明确在合适时机对客户进行有效的促动、如何精准定位交易促动客群、如何为客群制定交易目标从而为目标设定对应奖品等问题成为活动营销成功与否的关键。

作者 | 张晓筱、李晶、乔延柯

编辑 | Natalie

AI 前线导读: 在现今互联网金融爆炸的时代,各类信用卡交易活动层出不穷。面向所有客户设定门槛的活动更是屡见不鲜,如刷卡满 99 元送某咖啡品牌现金券、刷卡满 999 元送某知名品牌剃须刀、刷卡满 9999 元送旅游产品等。各种交易促动活动看似层出不穷,但其实际都仅基于简单规则对客户进行阶梯分群,通过“千人一面”的方式促达所有客户,故易导致客户活动转换率低、涉及短信成本增加、礼品费用的浪费等问题,从而无法真正达到客户交易促动的目的。 在信用卡领域开展客户交易促动,其实质是通过赠予客户实物、刷卡金等奖励以刺激其使用信用卡,以达到提高客户粘性、提升客户交易额的目的。但由于客户消费的随机性大,如何提前预知客户未来的消费水平、如何明确在合适时机对客户进行有效的促动、如何精准定位交易促动客群、如何为客群制定交易目标从而为目标设定对应奖品等问题成为活动营销成功与否的关键。 基于上述开展客户交易促动活动现状及痛点,如果能够精准预测客户月消费额,结合客户消费习惯的分析,即可为交易活动策略的定制提供指引。 

基于上述问题,本文拟通过如下五个方面,从技术角度出发,就如何通过交易额准确预测,进而实现业务引领,推动业务发展开展研究及探讨:

数据探索及分析、特征工程;

客户交易额预测方法论探索;

客户群体交易额预测建模;

客户个体交易额预测建模;

实践过程中的问题解决思路分享。

数据探索及分析、特征工程

数据探索及分析

基于历史经验及线上探索,影响客户交易额的因素主要包括客户的基本属性,如年龄、性别;交易属性如历史月消费额、节假日消费情况等。在数据探索阶段,我们以某银行一整年度的交易数据做为研究对象,对该银行当年 1600 万客户共计 6 亿交易数据进行了从总体到细分的方式逐步探索,最终确认将客户活跃度作为消费行为探索的切入点。

客户消费活跃情况通常取决于客户的偏好,且与客户自身属性存在关联。如下我们主要以消费时间、客户属性(性别及、年龄、星座等)做为对象进行细项分析,从而就影响客户活跃度的因素得出结论。

活跃度与消费时间(客户对消费时间的偏好)

时间上选取一周内的每天与一天内的时段作为数据聚合标尺。如下图 1-1 是产生过消费行为的客户数量在一年内周日至周六各时段的分布,客户活跃数量大小由颜色深浅表示。可以看出,在一年周期内客户偏好最大的消费时段是中午 12:00-13:00 以及晚上 18:00-19:00,该消费偏好可为活动营销的时间推送策略做参考辅助。

图 1-1 客户对消费时间偏好的热力图

活跃度与客户属性(客户行为的集群性)

客户性别在不同时段的活跃度

在研究的年度周期内,消费过的男性为 986 万,女性为 665 万。如下图 1-2 展示男性客户与女性客户在年度内 24 小时各时段活跃客户数在该性别消费总人数的占比。在活跃高峰时段 10:00-19:00(活跃比>70%)女性客户比男性客户略为活跃;但在夜间时段 23:00-1:00,男性客户比女性客户更为活跃。

图 1-2 客户性别在不同时段的活跃度热力图

客户年龄在不同时段的活跃度

下图展示的是年度内消费过的客户按年龄(13-89)在 24 小时的消费活跃数分布。客户活跃情况按年龄段有明显差别,其中 18 岁到 50 岁客户活跃变化分段呈现先递增再递减的现象。

图 1-3 客户年龄在不同时段的活跃度热力图

特征工程

经过数据探索及分析,我们基于客户基本属性、行为属性、时间属性、环境数据、扩展属性 5 个维度进行初步特征构建。具体包括:

1) 客户基本属性:年龄、性别、星座、持卡数、城市等;

2) 消费行为属性:消费时间段、日消费统计、周中消费统计、月度消费统计等;

3) 消费时间属性:消费日、消费所在周、上次消费距离等;

4) 消费环境属性:传统节假日、电商节假日、“双十一”、“双十二”、“618”等;

5) 消费扩展属性:商户位置、支付渠道、客户参与活动数据、客户行为数据等。

客户群体交易额预测建模

经过前期对客户消费数据的探索与分析,结合客户个体消费的随机性的特性,本小节主要介绍通过聚类找出交易行为类似的客户划分不同的群体,并在此基础上进行了群体交易额预测的过程。

聚类方法的探索尝试

在研究过程中,我们尝试基于距离的聚类算法及基于密度的聚类算法进行分群,如 KMeans,MiniBatchKMeans,DBSCAN,MeanShift, AffinityPropagation 等。基于实际研究涉及用户数(1600 万),同时结合各算法时间复杂度考虑,经尝试比对后,最终决定采用 miniBatchKMeans 算法做群体聚类分析。

以下为采用本算法的考虑:

1) KMeans 算法计算速度快,时间复杂度为 O(nkt)(n 为样本数,k 为类别数,t 为迭代数),但需事先输入分类类别数;

2) MiniBatchKMeans 是对 KMeans 算法的改进,更适用于大数据量的聚类;

3) 其他几个聚类算法的时间复杂度较大。

聚类所用的特征

日消费信息,月消费信息结合传统节假日信息、电商节假日信息等抽取的特征。

聚类效果

KMeans 是基于距离的聚类算法。顾名思义,聚类完成后,类别内部各个点对应到聚类中心的间距(类内间距)越小,说明聚类效果越好。在研究过程中,为保证聚类效果最好,需要轮询不同聚类个数,如图 3-1 所示,在聚类个数 K=16 时,类内间距最小,此时分类效果最好。

完成聚类之后,将各个类别作为一个单独的对象进行预测,得到群体交易总额。预测模型主要有 GBR 和 Random Forest 等。同时,采用循环预测(预测结果同时成为训练集数据),可支持预测未来 1~7 天的消费额的连续预测。

用于预测的特征主要包括时间特征、交易特征、差分特征及滑动特征。

预测结果

基于每一个群体未来 T+1~T+7 每一天的预测总交易额和真实值的一致程度进行效果评估。其中 5 个类别的群体交易额预测效果见表 3-1。结果表明,群体个数高于 1 万的预测效果更佳。

客户个体交易额预测可以看作为时间序列问题,也可以看作回归问题。普通的时间序列预测是基于单一预测对象进行模式分析,进而挖掘数据的平稳性、趋势性、季节性等特征。将信用卡客户作为预测对象时,时间序列的方法在时效往往会显得力不从心。因此我们认为将该问题作为回归问题来解决更为合适。

我们基于前期的数据探索,发现某些客户的月交易额的波动频率以及波动程度会存在类似。我们认为,通过区分这些“类似”客户,并分别建立机器学习预测模型进行建模分析,可以更有效的获取客户个体交易潜在模式,提升预测精度。

按变异系数分群客户

变异系数常用于量纲不一样的数据比较场景。而对于不同客户而言,消费能力与信用卡额度不尽相同,换言之也就是不同客户的消费额的量纲不一样。因此为找寻前面提到的“类似”客户,我们先用变异系数来聚集客群,再分别建立预测模型。基于训练数据的实验测试,当变异系数按 0.2 为间隔取值在当前场景下能够获得较为合理的分类。

数据与特征处理

基于变异系数分群,需要额外的预处理工作包括两项:第一是选取一整年消费月数大于 10 的客户,对于消费月数过少的客户,我们认为他的消费模式还未趋于稳定,暂不属于消费促动场景的目标客户;第二是计算每个客户当前的月消费变异系数,之后随着预测月的变化,部分客户会在不同变异系数客户群中出现,当客户从低变异系数大跨度的迁移到高变异系数群时,我们认为这类客户更有促动价值,但这属于该项目后续的研究内容,不在此详述。

基于前文提到的特征工程内容,我们结合 XGBoost 与 RandomForest 的特征重要度进行粗略的特征筛选,选取排名前 80% 的特征作为模型训练的输入。

为了对比多个模型的效果,选取以个体为单位并在客群上求均值的 MAPE 以及 RAE 变种作为评价函数。MAPE(Mean Absolute Percentage error)对于客户消费水平不同这种情况能更好的评价模型预测结果的好坏;

RAE(Relative Absolute Error)的优点也是在于用来比较不同量纲的误差(公式如下),其中均值选取每个客户历史交易均值,这也是与普通 RAE 计算不同的地方,故称为 RAE 变种。

根据模型原理,选取 XGBoost 与 RandomForest 这两种 Boosting 与 Bagging 模型的代表作比对。采用 3 折选取最近一个月作为 validation 数据集,其余作为训练数据,分别对 XGBoost 与 RandomForest 两种模型的主要参数进行网格搜索,并计算 3 组数据的 MAPE 均值与方差,平衡某个参数取值在均值与方差上的表现选取最优参数值。 基于最优参数下,XGBoost 较 RandomForest 在各个客群上仅有 0.01 级别的优势,在选定参数下 XGBoost 计算速度有分钟级别优势,但 RandomForest 在客户异常跌落情况下(后面会提到)预测值略优,因此选取 XGBoost 和 RandomForest 融合作为最终预测值。

预测结果

各类别的基本信息与预测结果如下:

1) 从绝对误差率角度,预测模型在离散率较低个体上表现良好,并随离散率升高而表现下降;从某种程度上说明,离散率较高个体的交易规律性不是很明显。

2) 从相对均值预测的误差率角度,对于离散率较低的群体由于消费趋于平稳,模型预测比均值预测准确度略高 10%;而对于离散率较高的群体,均值很难捕捉其波动规律,此时模型预测相对均值预测准确度提升较大。整体而言,模型预测较均值预测表现良好。

注:

1)绝对误差率中位数:由于预测结果在个别样本上存在异常波动点,采用中位数而非均值评估模型结果稳定性;

2)相对均值预测误差率降低:相对误差的一种评估方式。与均值作预测的结果进行整体比较。

预测结果分析

对各类别的个体预测数据进行分析发现:

存在个别个体的某月交易额陡然跌落(相较历史趋势),影响模型整体预测误差率

1) 离散率低于 0.2 的客群中, 存在将近 5% 个体在个别预测月交易额突然跌落历史均值的 56% 以上,而其余个体预测准确率达到 91%。个别突然跌落个体数据列举如下:

2) 离散率在 0.2 至 0.4 区间的客群, 存在将近 9% 个体在个别预测月交易额突然跌落历史均值的 52% 以上,其余个体预测准确率达到 76%。个别突然跌落个体数据列举如下:

对于陡然跌落的个体,由于受第三方因素影响很难预测,但可结合业务场景进行千人千面的消费促动等市场活动来促动客户恢复原有消费模式,以此来预防跌落。