简介
🧿 选题指导, 项目分享:见文末
背景
某金融公司新推出的理财产品,预测客户是否会接受新的产品,并提高产品的销售量。
数据内容
根据公司提供的用户数据,包括职业、婚姻状态房产、年龄、违约情况等数据。与近期购买的详细资料,包括金额、购买频率,时间等相关数据。
数据分析目标
根据客户的信息,将客户进行分类打上标签,预测该用户是否会购买理财产品以及是否需要对该用户进行主动销售。
数据分析思路
对客户进行精准营销可以提高产品的销售。那么对产品分析转换为对客户的分析。
考虑客户是否能接受新的产品,可以从两方面着手分析。
- 依据往期客户数据进行是否购买预测,二分类回归问题。
- 根据客户价值进行划分,对高价值客户加大营销力度。
- 根据结果可以对客户进行分群划分,降低营销成本。
数据分析
数据预处理
数据观察
IO1 = r'MyData\Yian_Cinformation1782.csv'
IO2= r'MyData\Yian_details1782.csv'
data1 = pd.read_csv(IO, header=None, names=(['id','name','age','job','marital','education','default','balance','housing','loan','contact','day','month','duration','campaign','pdays','previous','poutcome','address','y'])
data2 = pd.read_csv(IO2)
根据业务常识,客户基本信息删除如ID,姓名等无关维度。
还款明细提取总计金额,购买时间,购买产品数等维度。
数据清洗
客户资料文本数据较多,去除缺失的数据以免影响结果。
数据分析
文本数值化 ,本次基本信息中主要处理的是职业,学历,地址等文本信息。
data1.groupby(['job']).describe()
根据业务经验将对应的职业划分打分。
def Replace (X,columns):
a = X.groupby([columns],as_index=False)[columns].agg({
'cnt':'count'})
for i in a[columns]:
X[columns] = X[columns].replace(i,a[(a[columns]== i )].index.tolist()[0])
return (X)
def Len(X,columns):