精准营销神器之客户画像,你值得拥有!-阿里云开发者社区

开发者社区> 技术小能手> 正文

精准营销神器之客户画像,你值得拥有!

简介: 为进一步精准、快速分析用户行为习惯、客户画像应运而生,本文就为大家阐述客户画像是如何生成的。
+关注继续查看

现如今越来越多的用户偏爱线上交易,越来越少的人会选择去银行网点咨询,银行业要如何精准营销呢?相比传统的问卷调查,大数据金融科技可以更好地为银行赋能。

为进一步精准、快速分析用户行为习惯、客户画像应运而生,本文就为大家阐述客户画像是如何生成的。

客户信息千千万,在生成客户画像前,需要了解业务方向与重心,例如,某行想知道零售客户群的分布情况,以及客户标签。故本文就以客户资产、投资偏好、风险承受能力三方面收集了近千条数据。

采用经典机器学习算法——聚类算法来生成客户画像,由于聚类算法是无监督模型,数据质量直接决定分群结果的好坏,这里收集到的数据大部分经过处理。

目标

1.利用聚类算法,得到合理的分群客户。
2.对聚类中心进行解释,生成客户标签。
3.阐述测试样本如何分群。

数据源

本文用到的数据已经同步到kaggle数据集中,并将字段说明与结果一同上传了。
https://www.kaggle.com/yuzijuan/customer-clust

开始

环境与工具

Rstudio、openxlsx、fpc、cluster、Nbclust

调库及数据清洗

image

读取数据,由于数据类型大部分是连续性,故选择kmeans聚类算法,选取连续性字段,剔除掉仅有一个值的变量、剔除掉ID、年月等信息,查询数据分布,发现数据质量较好,可以用于建立数学模型。

image

建立聚类模型

因为kmeans算法是根据距离求得相似性,故要消除源数据的量纲,这里用scale()将源数据进行Z变化,得到一系列均值为0,方差为1的正态分布。再对每一列数据求和,验证是否变化完毕。如果源数据有取值仅为一值或者严重偏态的数据,验证便不会通过。

image

这种结果表示验证通过,列求和的数据位于0左右。如果出现下面的情况,则表明前面数据处理有仅有一值的数据,需要处理这样的数据。

image

距离的计算公式有很多,这里给出常见的几种连续性和离散型计算方式。本文全篇的计算方式均为欧式距离。

image

聚类的思想较为简单,难点在于要确定初始聚类中心和类别数。如果想自定义初始聚类中心,可先通过采样,用层次法对样本聚类,可以预估k-means的k值和簇中心,以这些k值和簇中心,作为大样本的初始点。对于K值的选取,R中有一个很棒的包,叫NbClust,提供了三十种评价评价指标,用于选择K值,包括聚合优度、轮廓系数以及CCC检验。执行代码如下。

image

通过结果可以看出,在评价指标中有6个选择分为2类,有5个选择分为3类,有6个选择分为5类。由于奥卡姆剃刀原理存在,系统推荐是分为2类,而基于业务角度思考,分为5类最为可靠。故后续我们将聚类类别分为5类。

image

由分类分布可知,2类和5类是一样多的票数。

image

再由kmeans()进行聚类。给定聚类中心为5个,最大迭代20次。算得聚类优度为0.39,给定聚类中心为2个时算得聚类优度为0.13,再次证明选择5类效果更好。

image

生成聚类结果

通过cluster.km$cluster可知各个样本的类别,再求得各个类别的均值,以及各类均值与总均值之比,可以看出各个类别的差异,以便给客户打标签。代码如下最后将聚类得分保存为clus_profile2.csv文件中。

image

通过clusplot()可以看前两个成分下的二维聚类效果图,从图中可以看出,聚类结果较好。因为较为明显地将客户分开。

image

后续我又用kmedios中心聚类,又将数据聚为5类,效果不如kmeans,聚类图如下。

image

可以看出,中心聚类下,数据有大量重叠的,而均值聚类,较好区分各个类别。

解读聚类结果

聚类算法相比于其他机器学习算法,其实还是很简单的,而聚类的难点就是需要使结果具有可解读性,也就是为客户打标签的过程。本文借助了银行对个人理财产品的风险承受能力评估等级,从低到高分别:A1(保守型)、A2(稳健型)、A3(平衡型)、A4(进取型)、A5(激进型);将得分超过100分(即比总体分布均值大)的标为红色,将得分低于65(即不达总体分布均值的65%)的标为绿色。可以看出区分程度较好。具体解读结果如下。

image

以第三类举例,可以看出,第三类客户在资产余额、总权益余额、近6月资产均值、近6月总权益均值的比分上均远远大于均值,并且客户爱购买债券、没有投资股票、基金、理财、贵金属、交易较为频繁且金额较大,基于这个特点,我给这类客户定义为高资产、稳中求进、投资意愿高而投资方向上,很可能属于年长多金爱存款的类别,风险承受为平衡型。当然,打标签是一个很好玩的过程,本文主要给大家介绍如何解读,至于解读得好不好,就仁者见仁智者见智。

测试新样本

最后,我简单计算了一下,如果进来新样本是如何计算类别的,由于本文仅1000条数据,没有新样本,故我将训练样本选择了200条作为新样本,纳入模型计算距离并得到类别数。代码如下。

image

得到的测试结果展示如下。

image

与原来的聚类结果相比发现并不是百分百聚类正确。不足5%的会聚类错误,在可允许范围内。

image

最后如果要给领导看,那么就要学会在解读结果方面下文章,给领导讲讲故事,一个好的客户画像不仅需要使结果具有可解读性,更要能够清晰展现客户特点,以便后续精准营销。

image

结语

本案例不足之处在于:

1.样本量不算充裕,可能导致在聚类结果上有一定的偏差。

2.本文未对离散型数据如何处理进行阐述。因为本案例中没有离散型数据。

原文发布时间为:2018-08-01
本文作者:余子娟
本文来自云栖社区合作伙伴“ CDA数据分析师”,了解相关信息可以关注“ CDA数据分析师

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9485 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26733 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11191 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13168 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9049 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6886 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4008 0
+关注
技术小能手
云栖运营小编~
7208
文章
9
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载