没有合适的资源?快使用搜索试试~ 我知道了~
首页基于RFM模型对借贷App用户分层分析案例
基于RFM模型对借贷App用户分层分析案例
942 浏览量
更新于2023-03-16
评论 2
收藏 178KB PDF 举报
一、目的 1、根据还款未复贷老户的借贷数据,对老户进行群体分类; 2、对不同的客户群体进行特征分析,以便于定向营销。 二、分析过程 1、分析思路 数据包含了2018年4月13日至2020年4月9日期间的客户数据,共有22014条记录。在RFM模型的基础上,增加了注册使用App天数这一指标用于客户分群与价值分析,得到本次的LRFM模型,变量解释如下: L:注册使用APP天数。客户注册日期至观测结束日期的间隔。 R:距今还款未复贷天数。客户最近的成功还款日期至观测结束日期的间隔。 F:借款成功次数。观测时间内客户借款成功次数。 M:借款成功总金额。观测时间内客户借款成功总金额。 2、数据提取及处理
资源详情
资源评论
资源推荐

基于基于RFM模型对借贷模型对借贷App用户分层分析案例用户分层分析案例
一、目的一、目的
1、根据还款未复贷老户的借贷数据,对老户进行群体分类;
2、对不同的客户群体进行特征分析,以便于定向营销。
二、分析过程二、分析过程
1、分析思路、分析思路
数据包含了2018年4月13日至2020年4月9日期间的客户数据,共有22014条记录。在RFM模型的基础上,增加了注册使用App天
数这一指标用于客户分群与价值分析,得到本次的LRFM模型,变量解释如下:
L:注册使用APP天数。客户注册日期至观测结束日期的间隔。
R:距今还款未复贷天数。客户最近的成功还款日期至观测结束日期的间隔。
F:借款成功次数。观测时间内客户借款成功次数。
M:借款成功总金额。观测时间内客户借款成功总金额。
2、数据提取及处理、数据提取及处理
(1)从数据库中提取需要的注册使用APP天数、距今还款未复贷天数、借款成功次数、借款成功总金额等数据,并排除掉黑名
单、被关小黑屋及电话已注销的用户。
(2)可以查看下数据的最大最小值、平均值、方差等描述性统计量,及查看缺失值、异常值等情况。
3、数据标准化、数据标准化
由于变量量纲不同,对数据进行标准差标准化,具体实现如下:
#-*- coding: utf-8 -*-
import pandas as pd
inputfile = 'D:/data/classification/old_user.xlsx' #需要进行标准化的数据文件
outputfile = 'D:/data/save/zscore_old_user.xlsx' #需要进行标准化的数据文件
data = pd.read_excel(inputfile)
data = (data - data.mean(axis = 0))/(data.std(axis = 0)) #标准化处理
data.columns=['Z_'+i for i in data.columns] #表头重命名
data.to_excel(outputfile, index = False) #数据写入
4、、K-Means聚类聚类
利用K-Means算法对客户进行聚类分析,得到细分的客户群。
具体实现如下:
#-*- coding: utf-8 -*-
#K-Means聚类算法
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans #导入K均值聚类算法
import matplotlib.pyplot as plt
if __name__ == '__main__':
filepath = 'D:/..../' #保存图片的路径
inputfile = 'D:/....xlsx' #待聚类的数据文件
resultfile1 = 'D:/....xlsx' #统计聚类类别下样本量及聚类中心的文件
resultfile2 = 'D:/.....xlsx' #生成含聚类类别的文件
k = 5 #需要进行的聚类类别数
data = pd.read_excel(inputfile, encoding='utf-8') #读取数据
#调用k-means算法,进行聚类分析
kmodel = KMeans(n_clusters = k, n_jobs = 4) #n_jobs是并行数,一般等于CPU数较好
kmodel.fit(data) #训练模型
r1 = pd.Series(kmodel.labels_)
#每个聚类对应的样本个数
r1 = r1.value_counts()
#聚类的中心
r2 = pd.DataFrame(kmodel.cluster_centers_)
max = r2.values.max()
min = r2.values.min()
#将r1和r2进行列合并


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0