【案例】恒丰银行——基于大数据的精准营销模型应用 https://mp.weixin.qq.com/s?src=3×tamp=1500159788&ver=1&signature=pCHfpePVrKXUGp39JEg577lopIPT9KCdx9FqIL2LbRmunZMQ-86itFcexYXKcX3Vb1ypwGo8v0IU6fkNgcsQIafGAccsZFmMb6yBYcuPdqH63EKBvL88BGFaUrBBPQl0v*mpgzYxrTCkcaJGaX2iIFRHZEDNCmuM0qhqqN294=
- Github项目: awesome-coder-resources:编程/学习/阅读资源---开源项目,面试题,网站,书,博客,教程等等...欢迎Star,欢迎围观...
本篇案例为数据猿推出的大型“金融大数据主题策划”活动(查看详情)第一部分的系列案例/征文;感谢** 恒丰银行** 的投递
作为整体活动的第二部分,2017年6月29日,由数据猿主办,上海金融信息行业协会、互联网普惠金融研究院合办,中国信息通信研究院、大数据发展促进委员会、上海大数据联盟、首席数据官联盟、中国大数据技术与应用联盟协办的《「数据猿·超声波」之金融科技·商业价值探索高峰论坛》还将在上海隆重举办【论坛详情】【上届回顾(点击阅读原文查看)】
在论坛现场,也将颁发“技术创新奖”、“应用创新奖”、“最佳实践奖”、“优秀案例奖”四大类案例奖
来源:数据猿丨投递:恒丰银行
本文长度为6000字,建议阅读12分钟
如今,商业银行信息化的迅速发展,产生了大量的业务数据、中间数据和非结构化数据,大数据随之兴起。要从这些海量数据中提取出有价值的信息,为商业银行的各类决策提供参考和服务,需要结合大数据和人工智能技术。国外的汇丰、花旗和瑞士银行是数据挖掘技术应用的先行者。在国内的商业银行中,大数据的思想和技术逐步开始在业务中获得实践和尝试。
面对日趋激烈的行业内部竞争及互联网金融带来的冲击,传统的上门营销、电话营销,甚至是扫街营销等方式跟不上时代的节奏。利用精准营销可节约大量的人力物力、提高营销精准程度,并减少业务环节,无形中为商业银行节约了大量的营销成本。
虽然恒丰银行内部拥有客户的基本信息和交易等大量数据,但是传统的营销系统并没有挖掘出行内大量数据的价值,仍然停留在传统的规则模型。当下,恒丰银行接入了大量的外部数据,有着更多的维度,如果将内部数据与外部数据进行交叉,则能产生更大的价值。客户信息收集越全面、完整,数据分析得到的结论就越趋向于合理和客观。利用人工智能技术,建立精准营销系统变得可能且必要。
恒丰银行基于大数据的精准营销方案是利用大数据平台上的机器学习模型深入洞察客户行为、客户需求,客户偏好,挖掘潜出在客户,实现可持续的营销计划。
周期/节奏
2016.4-2016.5 完成需求梳理和业务调研,并在此基础上进行总体方案设计。
2016.5-2016.8 整理银行内、外部数据,根据营销需求制定客户标签和设计文档,实施用户画像。
2016.8-2016.10 在用户画像的基础上,构建理财产品个性化推荐系统。其中包括个性化推荐算法调研,模型对比等一系列工作。
2016.10-2017.1 客户需求预测并对客户价值进行建模,并完善整合精准营销应用模型。
2017.1-2017.3 用户画像、个性化推荐、客户价值预测等精准营销模型上线。
客户名称/所属分类
恒丰银行/客户管理
任务/目标
根据零售业务营销要求,运用多种数据源分析客户行为洞察客户需求,实现精准营销与服务,提高银行客户满意度和忠诚度。
针对不同的客户特征、产品特征和渠道特征,制定不同市场推广策略。为了完成以上任务,主要从以下几个方面构建精准营销系统:
1.用户画像:结合用户的历史行为和基本属性给用户打标签。
2.精准推荐系统:给用户推荐个性化理财产品, 例如在微信银行中给每个客户推荐他喜欢的产品,帮客户找到其最适合的产品,增加产品的购买率。
3.需求预测和客户价值:新产品发售的时候,找到最有可能购买该产品的客户,进行短信营销,进而提高产品响应率。客户价值精准定位,根据客户价值水平制定不同的推荐策略。银行通过计算客户使用其产品与服务后所形成的实际业务收益,充分了解每一个客户的贡献度,为管理层提供决策支撑。
挑战
项目实施过程由用户画像,精准推荐系统,需求预测和客户价值建模三部分组成,采用TDH机器学习平台Discover所提供的算法和模型库进行开发和验证。
(一)用户画像的建立
客户标签主要包含客户基本属性,客户等级标签,客户偏好标签,客户交易特征,客户流失特征,客户信用特征,客户终身价值标签,客户潜在需求标签。
(二)精准推荐系统的建立
由于系统复杂,且篇幅有限,仅对其中最重要的理财推荐系统做详细阐述。精准推荐系统架构图如下。
2.1业务问题转化为机器学习问题
业务问题
银行理财产品个性化推荐给客户。 例如在微信银行中给每个客户推荐此客户喜欢的产品,帮客户找到其最适合的产品,增加产品的购买率。
将业务问题转化为机器学习问题
理财产品种类繁多,产品迭代速度很快,客户在繁多的产品中不能快速找到适合自己的产品,因此有必要建立一个自动化推荐模型,建立客户理财偏好,给客户推荐最适合的产品。
将银行理财产品推荐业务问题转化为机器学习问题,进而利用人工智能技术提高推荐产品的点击率和购买率。例如在恰当的时间,通过用户偏好的渠道给用户推荐产品,推荐的结果为用户购买或者未购买。这个问题可以看作一个典型机器学习二分类问题:基于历史营销数据来训练模型,让模型自动学到客户购买的产品偏好,并预测客户下次购买理财产品的概率。对模型预测出所有客户对所有产品的响应概率进行排序,可选择客户购买概率最高的topN个产品推荐给客户。
下面将叙述如何构建该推荐预测模型。
2.2数据源准备
在建立的一个理财推荐模型之前,可以预见到相似的客户可能会喜好相似的产品(需要表征客户和产品的数据),同一个人的喜好可能具有连续性(购买历史交易数据,包括基金国债等),他的存款、贷款资金可能决定了他能购买什么档次的理财等等。因此,我们需要准备以下数据。
客户基本属性:客户性别,年龄,开户时间,评估的风险等级等等。
产品基本属性:产品的逾期收益率,产品周期,保本非保本,风险等级等。
客户购买理财产品的历史:在什么时候购买什么产品以及购买的金额。
客户的存款历史: 客户历史存款日均余额等。
客户的贷款历史: 客户历史贷款信息等。
客户工资:客户工资的多少也决定了客户购买理财的额度和偏好。
用户画像提取的特征:用户的AUM等级,贡献度,之前购买基金,国债的金额等。
2.3特征转换和抽取
有了这么多数据,但是有一部分特征是算法不能直接处理的,还有一部分数据是算法不能直接利用的。
特征转换
把不能处理的特征做一些转换,处理成算法容易处理的干净特征。举例如下:
开户日期。就时间属性本身来说,对模型来说不具有任何意义,需要把开户日期转变成到购买理财时的时间间隔。
产品特征。从理财产品信息表里面可以得到风险等级,起点金额等。但是并没有标志这款产品是否是新手专属,是否是忠诚客户专属。这就需要我们从产品名字抽取这款产品的上述特征。
客户交易的时间信息。同客户的开户日期,孤立时间点的交易信息不具有任何意义,我们可以把交易时间转变为距离上次购买的时间间隔。
特征抽取
还有一部分数据算法不能直接利用,例如客户存款信息,客户交易信息。我们需用从理财交易和存款表中抽取可能有用的信息。
用户存款信息:根据我们的经验,客户购买理财之前的存款变动信息更能表明客户购买理财的真实想法,因此我们需要从客户历史存款数据抽取客户近三个月,近一个月,近一周的日均余额,以体现客户存款变化。
客户交易信息:客户最近一次购买的产品、购买的金额、及其相关属性,最近一个月购买的产品、购买的金额及其相关属性等等。
以上例举的只是部分特征。
2.4构造、划分训练和测试集
构造
以上说明了如何抽取客户购买理财的相关特征,只是针对正样本的,即客户购买某种理财时候的特征。隐藏着的信息是,此客户当时没有购买其他在发售的产品。假设把客户购买了产品的标签设为1,没有购买的产品样本设为0,我们大致有如下训练样本(只列举部分特征)。
其中客户是否购买产品是我们在有监督训练的标签,也就是我们建立的是一个预测客户是否会购买产的模型。
划分训练集和测试集
考虑到最终模型会预测将来的某时间客户购买某种产品的概率,为了更真实的测试模型效果,以时间来切分训练集和测试集。具体做法如下。假设我们有2016-09-01 ~ 2017-03-20 的理财购买相关数据。以2016-09-01 ~ 2017-03-19的理财交易数据作为训练,2017-03-20这一天的客户对每个产品是否购买的数据作为测试。以2016-09-01 ~ 2017-03-18的理财交易数据作为训练,2017-03-19这一天的客户对每个产品是否购买的数据作为测试,以此类推。
2.5模型训练
根据提取的特征,组成样本宽表,输入到分类模型,这里选择了TDH平台机器学习组件Discover所提供的近百个分布式算法进行建模和训练,同时我们还使用了特征的高阶交叉特性进行推荐的预测和分析。
2.6模型评估
评价推荐好坏的指标很多,比较常用的有
1.ROC曲线下面积(AUC)
2.logloss
3.推荐产品第一次命中rank的倒数(MRR)
4.TopN
针对银行的理财推荐实际业务,客户当天绝大多数是只购买了某一款理财,MRR(Mean Average Precision 的特殊情况)能反应这种情况下推荐的好坏。另一种直观的评价指标是TopN,假定我们只推荐N个模型认为客户最有可能购买的产品,并和真实情况比较,就能得到当天推荐的结果的混淆矩阵,TN,TP,FN,FP,recall,precision等。
我们在生产上验证了最近十天的推荐效果,即测试了2017-03-20, 2017-03-19,…… , 2017-03-11等十天的推荐效果,以下是这些结果的评价。
AUC
Logloss
MRR
0.89
0.45
0.78
也可以把新客户(之前没有购买理财)和老客户(至少购买过一次)分开评估效果。 新客户的购买占了整个理财购买的1/3 以上。
测试新客户的预测效果,可以看出模型对冷启动问题解决的好坏。
对新客户的预测效果
AUC
Logloss
MRR
0.80
0.73
0.32
对老客户的预测效果
AUC
Logloss
MRR
0.92
0.38
0.88
2.7模型优化
1.上线之前的优化:特征提取,样本抽样,参数调参
2.上线之后的迭代,根据实际的A/B testing和业务人员的建议改进模型
(三)需求预测和客户价值
“顾客终生价值”(Customer Lifetime Value)指的是每个购买者在未来可能为企业带来的收益总和。研究表明,如同某种产品一样,顾客对于企业利润的贡献也可以分为导入期、快速增长期、成熟期和衰退期。
经典的客户终身价值建模的模型基于客户RFM模型。模型简单的把客户划分为几个状态,有一定意义但不一定准确,毕竟RFM模型用到的特征不全面,不能很好的表征客户的价值以及客户银行关系管理。
为了方便的对客户终身价值建模,有几个假定条件。其一把客户的购买价值近似为客户为企业带来的总收益,其二把未来时间定义在未来一个季度、半年或者一年。也就是我们通过预测客户在下一个时间段内的购买价值来定义客户的终身价值。因此,我们将预测的问题分为两个步骤:第一步预测这个客户在下一个阶段是否会发生购买(需求预测)。第二步对预测有购买行为的客户继续建模预测会购买多大产品价值。
3.1需求预测
提取客户定活期存款、pos机刷卡、渠道端查询历史等特征,以这些特征作为输入预测用户在当前时间节点是否有购买需求,训练和测试样本构造如下:
1.历史用户购买记录作为正样本。
2.抽样一部分从未购买的理财产品的用户作为负样本集合Un,对于每一个正样本Un中随机选取一个用户构造负样本。
3.选取2016.04-201610 的购买数据作为训练样本,2016.11的数据作为测试样本。
使用机器学习算法进行分类训练和预测,重复上述实验,得到下列结果:
AUC: 0.930451274
precision: 0.8993963783
recall: 0.8357507082
fmeasure: 0.8664062729
进一步对客户分群之后,可以更好的对新客户进行建模,对于老客户我们可以进一步提取他们的历史购买特征,预测他们在下一段时间内购买的产品价值(数量,金额等),对于新客户,可以进根据他的存款量预测其第一次购买的产品价值,把存款客户变成理财客户。通过分析客户存款变动于客户购买理财的关系,我们发现客户购买理财的前一段时间内定活期的增加的有不同的模式,如下图。
根据需求预测模型,我们给出新客户最有可能购买的top N 列表,然后由业务人员进行市场推广。
3.2客户价值预测
进一步预测有购买需求的客户的购买价值高低。这是个回归问题,但是预测变量从二分类变量变为预测连续的金额值。训练的时候预测值取训练周期内(一个月或者季度)客户所购买的总金额。
算出客户的当前价值(即当前阶段购买的产品价值)和未来价值(预测的下一个阶段的客户价值)可以帮助我们鉴定客户处于流失阶段,或者上升阶段,或者是稳定阶段。当前价值取的是当前时间前三个月的交易量。对流失阶段高价值客户可以适当给予营销优惠,对于有购买意向的客户适当引导。如下图所示。
结果/效果
一是提高银行营销准确性。随着客户不断增加,理财产品也在不断推陈出新,在实时精准营销平台的帮助下,银行从以前盲目撒网式的营销方式转变到对不同客户精准触达,提高了理财产品的营销成功率,降低销售和运作成本。理财产品推荐的上线以来,产品推荐成功率比专家经验排序模型最高提升10倍。
二是增加银行获客数量。精准营销系统洞察客户潜在需求和偏好,提高了银行获取目标客户群的准确率。从数百万客户中,通过机器学习模型,找到最有可能购买产品的客户群,通过渠道营销,实现响应率提升。相比传统盲发模式,发送原38%的短信即可覆盖80%的客户。
通过构建基于大数据的精准营销方案,恒丰银行深入洞察客户行为、需求、偏好,帮助银行深入了解客户,并打造个性化推荐系统和建立客户价值预测模型,实现可持续的营销计划。