徐一文 黎潇阳 董启文 钱卫宁 周防
摘要:在聚合支付领域,为了减少聚合支付平台的运营成本、提高平台利润率,要解决的一个关键问题是确保平台中达到较低的商户流失率。本文所关注的是聚合支付平台的商户流失预测问题,目标是帮助平台及时挽回可能流失的客户。基于交易流水数据和商户基本信息,本文提出了与商户流失密切相关的特征,采用多种传统机器学习模型进行流失预测。考虑到商户的交易流水数据具有时序性,增加了基于LSTM的多种时间序列模型来建模。在真实数据集上的实验结果表明手动提取的特征具有一定的预测能力,结果具有可解释性:采用时间序列模型能够较好地学习到数据的时序特征,从而进一步提升预测结果。
关键词:流失预测:特征工程:时间序列模型
中图分类号:TP399 文献标志码:A DOI:10.3969/j.issn。100~5641.202091016
0引言
随着移动通信设备在我国的飞速普及,移动支付正逐渐取代现金支付成为支付的主流方式。常见的移动支付平台有支付宝、微信、银联等,然而不同的用户对支付平台有不同的偏好,在线下消费场景中,商户需要同时安装多种支付软件来满足不同顾客的需求,这给商户和顾客都带来了一定程度的不便,因此聚合支付技术随之出现。聚合支付技术支持收款码一码通用以及自动识别多种平台的付款码,提供聚合支付服务的公司会从每一笔交易里收取一定比例的费率。考虑到中国人口数量和移动支付的普及,这是一个巨大的市场且竞争十分激烈,目前常见的提供聚合支付服务的公司有ping++、快钱、收钱吧、美团等。
在竞争如此激烈的市场中,用户的留存率是一个至关重要的问题。Bhattacharya的研究表明,增加一个新用户的运营成本是保留一个老用户的运营成本5至6倍Ⅲ;根据Reichheld和Derrick的研究,企业的客户流失率每减少5%,平均利润就会增加约25%。本项研究是针对聚合支付领域的商户流失预测问题进行的。聚合支付平台的业务部门每天需要对可能流失的用户进行回访,越早进行回访,成功挽回的概率就越大。如果某商户连续两天没有任何交易,则认为该商户有可能会流失。在这个条件下,聚合支付平台每天都会出现大量的疑似流失商户,但是真正有流失倾向的只占一小部分。如果对每个疑似流失商户都进行电话回访会带来两个问题:一是工作量太大,需要耗费大量的人工成本和时间成本;二是如果频繁地对本身并无流失倾向的商户进行回访,反而会极大地降低客户的满意度。因此,如何准确地预测出具有流失倾向的商户成为一个至关重要的问题。
本文关注的是具有挽回价值的疑似流失商户,该商户需要达到一定的历史交易金额和历史交易笔数。实验使用真实数据对疑似流失商户进行预测。针对数据的特点,预测任务面临如下挑战。
(1)如何提取有效的特征来进行预测?实验数据包含商户的基本信息和一个月的历史交易流水。针对商户的基本信息,需要筛选出对预测有帮助的字段作为特征。例如,入网时长能反映商户的忠诚度,且加入模型后能够提高预测结果的准确性,所以将其作为特征;又如,对商户的行业字段进行one-hot编码后,因为太过稀疏,入模后并不能提高模型的表现,因此不能将其作为特征。针对流水数据,最直接的做法是使用交易金额和交易笔数的统计信息,如均值、最值、中位数、标准差等作为特征,但这样得到的预测结果并不理想。因此我们需要设计出更加有效的特征,使其既能體现流水数据的动态信息,同时又具有较强的预测能力。
(2)如何解决交易记录间的时间不规律问题?商户不一定每天都有交易记录,两笔交易间有可能间隔几天或几个星期。本次实验取商户一个月时间范围内的流水记录,有交易的天数无规律地分布在[1,30]区间内。由于商户近期的数据更能反映其流失倾向,如果交易记录之间的时间间隔较大,应给予近期数据更多的关注,降低早期数据的影响。因此在建模时需要将记录之间的时间间隔考虑在内。
针对第一个挑战,本文不仅提出了商户信息方面的特征,如入网时长、连锁门店数量,以及交易流水方面的特征,如平均交易金额、无交易天数占比,还提出了一系列风控特征用来反映商户存在的刷单套现等异常行为,如信用卡支付笔数占比、整10金额交易笔数。本次实验将这3类特征输入传统机器学习模型,验证了所提出特征的有效性。
针对第二个挑战,常见的序列模型如RNN、LSTM(Long Short-Term Memory)没有考虑到数据间的时间间隔。本文首次将T-LSTM(Time-aware LSTM)模型用于商户流失预测任务,T-LSTM模型能够接收时间信息,根据输入的时间间隔对长短期记忆进行分解,使得时间间隔越长,前序时间节点的输入对模型的影响越小。实验部分通过与LSTM和Bi-LSTM(Bidirectional LSTM)的对比验证了其预测结果的有效性。
本文的主要贡献如下。
(1)提出了有效的特征用于商户流失预测,具有可解释性,为业务提供指导。
(2)使用考虑了序列数据中时间间隔属性的T-LSTM模型,使预测结果得到较大提升,验证了商户流失问题中数据的时间敏感性,为商户流失预测的研究提供了新的思路。
(3)使用自编码器来学习商户的表征,再根据商户的表征进行分类,进一步提升了预测结果的准确度。同时自编码器输出的商户表征不仅可用于分类,也可用于聚类分析等各种任务,为机器学习系统的构造提供了新的思路,即可将自编码器输出的表征作为各种任务的共享数据,提高了机器学习项目的开发效率。
本文后续结构:第1章介绍相关工作;第2章介绍实验数据及问题描述;第3章介绍根据商户基本信息和交易流水数据提取的3类特征;第4章简单介绍本文所使用的各种时间序列模型;第5章为实验部分,对各种模型的实验结果进行对比分析;第6章总结所做的工作并展望未来的研究方向。
1相关工作
本章从两个方面进行介绍。先介绍国内外在用户流失预测方向上的相关工作,包括基于特征工程和传统机器学习模型的方法,以及使用深度学习模型的方法。再介绍考虑了序列数据中时间属性的相关工作。
1.1用户流失预测
近年来用户流失预测问题在学术界引起了广泛关注,范围涉及MOOC平台、社交平台、电信等多个领域。在早期电信领域的研究中,研究者通过领域的业务知识设计各种特征,再使用随机森林、梯度提升树等集成模型就能获得准确度较好且具有可解释性的结果。例如,使用随机森林模型可获得特征的重要性系数,系数值越高表示该特征在模型中所起的作用越大,在业务上代表这个特征跟流失的关系越密切,从而对业务流程起到指导作用。同时重要性系数可用于特征选择,对于重要性系数值太低的特征,可认为与用户流失相关性不大,甚至对模型结果起到反作用,所以可将其剔除。这种方法具有较好的可解释性,但是,特征选取的好坏将直接影响最终的预测结果。随着深度学习的兴起,神经网络模型在众多任务上的表现超过了大多数传统模型。在MOOC平台用户流失预测的研究中l引,作者通过大量的数据分析提取了有效的用户行为特征与全局环境特征,使用Embedding、CNN和Attention机制将两种特征进行结合,得到了较好的预测结果。另外,作者提到一种可用的模型集成方法,将神经网络第(L-1)层的输出提取出来,与原始特征结合放入XGBoost等集成模型中,可以得到更好的预测结果。在社交应用的用户流失预测研究中,作者将预测任务分为了两步,第一步对用户进行聚类;第二步同时训练多个LSTM网络,设计损失函数将分类结果与聚类结果相关联,极大提高了预测的准确性。这种方法通过聚类分析使结果拥有较好的可解释性,同时使用原始的用户行为数据训练LSTM模型,避免了繁杂的特征工程。
1.2T-LSTM
传统的RNN、LSTM模型并没有考虑到序列数据中隐含的时间属性,会导致某些场景下模型不能得到理想的预测结果。例如,在医疗诊断预测的研究中,病人的病历记录时间往往是不规律的,两条记录之间的时间间隔短则几天,长则数年,建模时应该考虑时间的影响。为此有研究者提出T—LSTM模型,该模型修改了LSTM的内部结构,将序列数据中两个相邻输入之间的时间间隔加入模型。同时作者将其扩展为T-LSTM自编码器结构,用于学习病人的表征,可用于分类、聚类等任务。但是各种疾病对于时间的敏感度是不同的,流感、肠胃炎等急性病症在短时间内会造成很大影响,但在较长的时间跨度下其影响可忽略不计,而糖尿病等慢性疾病会持续造成影响,为此有研究者提出Timeline模型。Timeline模型的主体部分采用Bi_LSTM结构,在序列数据输入Bi-LSTM之前对其进行处理,将时间跨度和不同疾病种类对时间跨度的敏感度同时考虑在内,并引入注意力机制为每个诊断结果分配权重,从而得到了表现良好并具有可解释性的结果。
2数据及问题描述
本章正式介绍实验数据和商户流失预测问题。如图1所示,本文所关注的疑似流失商户在t1和t2两天内无任何交易记录,且在t-2到to三天内有一定的交易量,该商户在tz时间点被系统检测到并标记为疑似流失。若在未来28天内,即t3至t30时间段内,该商户仍无交易发生,则认为该商户已流失,否则为未流失。本文将根据t1前30天,即t-29至t0区间内的历史记录数据,预测t2后28天,即t3至t30区间内商户是否会发生交易。下文将对重要概念和数据集进行详细介绍,并给出商户流失预测问题的正式定义。
2.1概念定義
定义1疑似流失商户本文考虑的是疑似流失但具有挽回价值的商户,商户在t1至t2两天内没有交易,但是在t-2至t0三天内有10笔以上大于2元的交易。
定义2系统预警时间点系统预警时间点是指疑似流失商户被系统检测到的日期,对应于图1中的t2时间点。
定义3商户流失商户流失是指疑似流失商户在t2时刻被系统预警,且后续m天仍无任何交易发生。本文实验设置m=28,即t3至t30时间段内仍无交易。因此一个商户连续30天无交易记录,则认为该商户已流失。
2.2数据介绍
本文采用上海市2019年8月至11月商户的数百万条支付数据作为实验数据,数据均以二维表结构的形式存储在关系型数据库中,商户基本信息包括商户标识码、门店标识码、省份、城市、区、入网时间、所属行业等字段,其中同一个商户标识码可以对应多个门店标识码;交易流水数据包括门店标识码、交易类型、支付方式、交易金额、信用卡支付金额、创建时间等字段。对于一些入网时间非常短的商户来说,其交易流水数据的数量较少,无法准确描述商户行为。因此,本文剔除了入网时长少于30天以及数据项存在缺失值的商户,并最终选取出83198家疑似流失商户作为实验数据。在模型构建阶段,将2019年8月至10月的疑似流失商户作为训练集(64325家疑似流失商户),11月的疑似流失商户作为测试集(18873家疑似流失商户),占比接近3:1.
2.3问题定义
3特征描述
本章详细介绍根据交易流水和商户信息提出的特征,这些特征将用于传统机器学习模型。通过对原始数据集进行数据处理和相关性分析,本文选取能够反映商户经营状况的重要特征用于商户流失预测。特征被划分为三组:商户信息特征、交易流水特征、风控特征。
3.1商户信息特征
商户的基本信息中拥有大量描述字段,本文考虑其中能够反映商户规模、商户忠诚度和经营模式的特征,如入网时长反映了商户的忠诚度,而连锁门店数量反映了商户的规模,详细描述如下。
入网时长:入网日期是指商户开始注册使用目标产品的日期。入网时长是指商户从入网日期到系统预警时间点的时间长度(单位:月),反映了商户对于产品的忠诚度。给定入网日期ts,则入网时长表示为(t2-ts)/30.
连锁门店数量:指该商户旗下所有门店的总数量,反映了商户规模。
系统预警次数:指商户在t-29至t0历史时段内被系统预警的总次数。对于不同类型的商户,存在不同的经营模式,如大多餐饮门店全周经营,每天均存在交易,而4s店可能一周只有几笔交易,会出现多次预警。
无交易天数占比由图4可知,未流失样本中位数显著大于流失样本,因此该特征具有一定的区分性。表1中无交易天数占比与流失的相关性系数为-0.11,该特征与流失呈负相关,即无交易天数占比越高,越倾向于未流失。原因与系统预警次数中的情况相同,由于部分商户的经营模式不同,会经常性地暂停营业,造成一个月内无交易天数较多。
信用卡支付金额占比由图5可知,未流失样本的中位数、上四分位数、上边缘均大于流失样本且差异较为显著,因此该特征具有一定的区分性。表1中信用卡支付金额占比与流失的相关性系数为-0.14,该特征与流失呈现负相关,信用卡支付金额占比越高的商户越不倾向于流失。业务上认为,这是由于这类商户具有比较稳定的客源,一般经营状况良好,所以不容易流失。
5.3.2传统机器学习模型实验效果
为了验证所提取的特征能够有效地进行预测,本文选取逻辑回归、随机森林和XGBoost这3种传统机器学习模型进行实验。实验在训练集上使用5折交叉验证对各模型进行超参数调优。逻辑回归模型的超参数设置为:正则化方法penalty='L2',正则项系数c=0.1,最大迭代次数ma34 iter=1 000,类别权重class weight='balanced',其余均使用默认参数。随机森林模型的超参数设置为:决策树数量n estimators=200,最大树深度max depth=3,类别权重class weight='balanced',其余均使用默认参数。XGBoost模型的超参数设置为:决策树数量n estimators=200,最大树深度mad(depth=3,类别权重scale pos weight=2.5,其余均使用默认参数。
各模型所得结果如图6所示。由于逻辑回归是简单的线性模型,因此得到3个模型中最低的AUC值0.747,随机森林和XGBoost的AUC值分别为O。779和0.789.与随机森林相比,XGBoost具有以下3个优点:①在损失函数里引入了正则项控制模型复杂度;②优化时对损失函数进行了2阶泰勒展开;③使用shrinkage机制防止过拟合,因此取得了3个模型中最好的结果。XGBoost支持查看特征的重要性系数,表2列举了重要性系数最高的4个特征和对应的相關系数。无交易天数占比获得了最高的重要性系数,其相关性和业务解释在上文中已做了详细分析;休息日获得了第二高的重要性系数,与类别的相关系数为0.14,呈现负相关,这表示若商户的系统预警时间点为休息日,更可能是由于假期或周末暂停营业,倾向于未流失;连锁门店数量的重要性系数排第三位,呈现负相关性,其特征反映的是商户的经营规模,值越高表示商户规模越大,经营状况更加平稳,更不倾向于流失;平均交易笔数与流失呈现正相关性,表示该值越大,则越倾向于流失。这是由于数据集中餐饮行业的占比较大,经过数据分析,餐饮行业的流失率远大于其他行业,而餐饮行业表现为高频次的交易,所以造成该特征与流失的正相关性。
5.4基于时序数据的实验
为了验证交易流水数据的时序性以及对时间间隔的敏感性,本文将时序特征V输入一系列时间序列模型进行了实验。模型选择LSTM、Bi-LSTM、T-LSTM及对应的自编码器,为公平起见,各模型使用了相同的参数设置。在LSTM、Bi-LSTM、T-LSTM中,递归网络中隐藏层单元数units=64,激活函数activation=-relu',返回序列return sequence=False,再通过一层全连接网络输出预测结果,激活函数activation=sigmoid',模型的损失函数loss=binary crossenrtopy',优化函数optimizer=-adam'。在自编码器模型中,编码单元参数与上述网络一致,解码单元参数为隐藏层单元数units=64,激活函数activation=relu',返回序列return sequence=True,通过层封装器TimeDistributed结合全连接层Dense输出30x2维的序列数据。模型的损失函数loss='mse'。使用自编码器得到的表征进行分类时,模型选用一层的全连接网络,激活函数activation=sigmoid',损失函数loss=binary crossenrtopy',优化函数optimizer='adam'。对所有模型,训练的迭代次数epochs=25,块大小batch size=128.
模型所得结果如图7所示。根据结果可以看出,在仅使用交易金额和交易笔数这两个特征的情况下,所有模型的表现均优于使用了包含流水信息和商户信息的逻辑回归模型,其中LSTM自编码器和Bi-LSTM自编码器的预测结果均优于XGBoost模型。结果表明仅使用时序数据就能够产生较好的预测结果。在LSTM、Bi-LSTM、T-LSTM模型中,T-LSTM模型取得最高的AUC值,验证了实验数据中时间间隔敏感性的假设,将时间间隔特征加入模型能够有效地提升预测结果的准确性。LSTM自编码器、Bi-LSTM自编码器和T-LSTM自编码器的预测结果均优于原始的LSTM、Bi-LSTM、T-LSTM模型,这表明使用自编码器结构能够更好地学习到序列数据的表征。与图6相比,本实验不仅提高了预测结果的准确性,同时还避免了繁杂的特征工程,为商户流失预测的研究提供了可行的方法。
5.5基于组合特征的实验
为了能进一步提高预测结果的准确性,本文尝试将特征工程方法和序列模型方法相结合。本实验将特征V与自编码器学习的表征(记为R)拼接在一起形成新的特征矩阵[V,R],再将这个特征矩阵放入XGBoost模型中进行最终的预测,实验结果见图8.由图8可知模型效果略有提升。这表示可以采用模型集成的方法,将自编码器学习出的表征与其他特征相结合,从而进一步提升预测结果。
6总结
为了准确预测流失商户,本文根据商户信息和交易流水数据提出了与商户流失相关的3类特征,实验证明所提特征既能获得较好的预测结果,又具有可解释性。同时本文根据交易流水数据提取了时序特征,使用时间序列模型获得了更好的预测结果。最后使用了模型集成的方法将两种方案结合,进一步提升了预测结果的准确性。在未来的研究中,考虑将行业信息引入时间序列模型,使模型同时拥有时间敏感性和行业敏感性,并将考虑时间序列模型在商户流失预测中的可解释性。