本文是對貸款活動案例的一個總結恩静,主要任務是對活動效果進行復盤分析赫冬,并挖掘出影響用戶貸款的關鍵因素。
一目木、項目背景介紹:
Thera Bank是一家擁有不斷增長客戶群的銀行换途。銀行希望有效地將存款用戶轉化為貸款用戶以此擴大貸款業(yè)務量的基礎,以帶來更多的貸款業(yè)務刽射。因此军拟,該銀行去年為存款用戶但未辦理個人貸款業(yè)務的客戶開展了一項推廣活動來促使其辦理個人貸款業(yè)務,有部分客戶通過此活動已經辦理了相關服務誓禁。這時的零售營銷部門希望制定更好的策略去定位營銷懈息,以最小的預算提高成功率。
二摹恰、分析目標:
該部門希望識別出更有可能購買貸款的潛在客戶辫继,提高轉化的成功率,降低營銷的費用俗慈。
三姑宽、分析思路:
- 去年銀行舉辦的推廣活動的效果如何?
- 什么類型的存款用戶成為銀行貸款業(yè)務的潛在客戶可能性更大闺阱?
- 隨著客戶年收入的增長炮车,貸款情況是如何變化?
- 隨著客戶年齡的增長酣溃,貸款情況如何變化瘦穆?
四、分析過程:
1赊豌、準備工作(數據集觀察與數據清洗)
(1)導入常用包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
(2)導入數據集
import pymysql
pymysql.install_as_MySQLdb()
from sqlalchemy import create_engine
engine=create_engine('mysql://frogdata05:Frogdata!1321@localhost:3306/frogdata?charset=gbk')
(3)讀取數據
Bank_Personal_Loan=pd.read_sql_query('select * from Personal_Loan',con=engine)
2扛或、理解數據
數據集共包含5000條記錄,14個字段碘饼,對應字段含義如下:
ID - 客戶
Age - 客戶年齡
Experience - 客戶工作經驗
Income - 客戶年收入(單位:千美元)
ZIPCode - 家庭地址郵政編碼
Family - 客戶的家庭規(guī)模
CCAvg - 每月信用卡消費額(單位:千美元)
Education - 教育水平 (1: 本科; 2: 研究生; 3: 高級)
Mortgage - 房屋抵押價值(如有)(單位:千美元)
Personal Loan - 此客戶是否接受上一次活動中提供的個人貸款熙兔?(1:是 0:否)
Securities Account - 是否有證券賬戶悲伶?(1:是 0:否)
CD Account - 是否有存款證明(CD)帳戶嗎(1:是 0:否)
Online - 是否開通網上銀行?(1:是 0:否)
CreditCard - 是否有信用卡黔姜?(1:是 0:否)
#觀察數據整體情況
Bank_Personal_Loan.info()
- 觀察各字段信息拢切,數據并無重復蒂萎,缺失情況秆吵;對于一些數值型的字段則需要做一些數據類型的轉化
#更改變量類型,方便后續(xù)做統(tǒng)計分析
Bank_Personal_Loan['Age']=Bank_Personal_Loan['Age'].astype('int')
Bank_Personal_Loan['Experience']=Bank_Personal_Loan['Experience'].astype('int')
Bank_Personal_Loan['Family']=Bank_Personal_Loan['Family'].astype('int')
Bank_Personal_Loan['Education']=Bank_Personal_Loan['Education'].astype('int')
Bank_Personal_Loan['ZIP Code']=Bank_Personal_Loan['ZIP Code'].astype('int')
Bank_Personal_Loan['Personal Loan']=Bank_Personal_Loan['Personal Loan'].astype('int')
Bank_Personal_Loan['CD Account']=Bank_Personal_Loan['CD Account'].astype('int')
Bank_Personal_Loan['Securities Account']=Bank_Personal_Loan['Securities Account'].astype('int')
Bank_Personal_Loan['Online']=Bank_Personal_Loan['Online'].astype('int')
Bank_Personal_Loan['CreditCard']=Bank_Personal_Loan['CreditCard'].astype('int')
Bank_Personal_Loan['Income']=Bank_Personal_Loan['Income'].astype('float')
Bank_Personal_Loan['CCAvg']=Bank_Personal_Loan['CCAvg'].astype('float')
Bank_Personal_Loan['Mortgage']=Bank_Personal_Loan['Mortgage'].astype('float')
#觀察數據的一個描述性信息
Bank_Personal_Loan.describe()
- 發(fā)現Experience出現負值,有異常數據
#考慮將Experience的負值改為0
Bank_Personal_Loan.loc[Bank_Personal_Loan['Experience']< 0,'Experience']=0
Bank_Personal_Loan['Experience'].describe()
3五慈、數據分析
(1)去年銀行舉辦的推廣活動的效果如何纳寂?
#活動推廣結果分析
Bank_Personal_Loan['Personal Loan'].value_counts()
# Bank_Personal_Loan.groupby(['Personal Loan']).size() 也能達成
通過這次推廣活動以后,5000名客戶中泻拦,有480個客戶開通了個人貸款業(yè)務毙芜。由于該活動是針對未辦理個人貸款業(yè)務的客戶開展的,對比從以往數據來看争拐,個人貸款業(yè)務增長了近10%腋粥,說明此次推廣活動的效果還是不錯的
(2)什么類型的存款用戶成為銀行貸款業(yè)務的潛在客戶可能性更大?
#探索其他變量與Personal Loan變量的關系
print(Bank_Personal_Loan.corr()['Personal Loan'])
#fig代表繪圖窗口(Figure)架曹;axis代表這個繪圖窗口上的坐標系(axis)
fig,axis=plt.subplots(figsize=(12,12))
#繪制熱力圖隘冲,顏色越深,相關性越強,annot是否顯示數值绑雄,cmap指定顏色
ax=sns.heatmap(Bank_Personal_Loan.corr(),annot=True,cmap="YlGnBu")
#bottom代表y軸下限展辞,top表示y軸上限(有些matplotlib版本畫熱力圖上下邊框只顯示一半)
bottom, top = ax.get_ylim()
ax.set_ylim(bottom + 0.5, top - 0.5)
- 從圖中可以看出:
1、和開通信貸強相關的變量有:收入万牺,信用卡還款額及是否有該銀行存單賬戶罗珍;
2、和開通信貸弱相關的變量有:受教育程度脚粟,房屋抵押貸款數覆旱,家庭人數;
3核无、郵編通殃、是否是證券賬戶,是否開通網上銀行及是否有信用卡厕宗,關系都不大画舌;
4、年齡已慢、工作經驗雖然關系也不大曲聂,但它們屬于連續(xù)的數值變量,所以需要分箱后再做觀察佑惠,看看是否有某一段存在特殊值朋腋。
先剔除無關的變量齐疙,對其余相關變量進行分析
1.1、定性變量與開通貸款的關系
(對定性變量中是否有該銀行存單賬戶旭咽、受教育程度贞奋、家庭人數與是否開通貸款的關系進行探究)
1.1.1、是否有該銀行存單賬戶
print(Bank_Personal_Loan.groupby('CD Account')['Personal Loan'].agg([np.mean]))
sns.countplot(x="CD Account",data=Bank_Personal_Loan,hue='Personal Loan')
開通了銀行存單賬戶的客戶穷绵,其申請貸款的可能性是沒有開通的6倍多,說明開通了銀行賬戶的客戶是一個主要的目標客戶轿塔;找到方法讓客戶開通該銀行存款賬單也是一個提高申請貸款率的可能選項。
1.1.2仲墨、教育水平
print(Bank_Personal_Loan.groupby('Education')['Personal Loan'].agg([np.mean,'count']))
sns.catplot('Education',hue='Personal Loan',data=Bank_Personal_Loan,kind='count')
學歷越高勾缭,貸款意愿的比率越多,說明教育水平越高,越能接受超前消費觀念目养,其貸款意愿越高俩由。學歷層次越高的用戶的存款用戶成為銀行貸款業(yè)務的潛在客戶可能性會更大
1.1.3 家庭人數
print(Bank_Personal_Loan.groupby('Family')['Personal Loan'].agg([np.mean]))
sns.catplot('Family',hue='Personal Loan',data=Bank_Personal_Loan,kind='count')
單身人士與沒有孩子的家庭的貸款率都比較低,有孩子的家庭用戶相對而言更有意愿轉化為貸款用戶癌蚁,特別是獨生子女家庭
2.1幻梯、定量變量與開通貸款的關系
(對定量變量中的年領、收入努释、信用卡還款額和房屋抵押貸款與是否開通貸款的關系進行探究)
2.1.1碘梢、年齡
print(Bank_Personal_Loan.groupby('Personal Loan')['Age'].agg([np.mean,'count']))
sns.boxenplot(x='Personal Loan',y='Age',data=Bank_Personal_Loan)
#對年齡分層
Bank_Personal_Loan['Income Bins'] = pd.qcut(Bank_Personal_Loan.Age,6)
print(Bank_Personal_Loan.groupby('Income Bins')['Personal Loan'].agg([np.mean,'count']))
Bank_Personal_Loan.groupby('Income Bins')['Personal Loan'].agg({'Loan rate':np.mean}).plot()
綜合來看,各階段的年齡的貸款意愿都相差不大洽洁,相對來說區(qū)間在(32.0, 39.0]的客戶意愿較強
2.1.2痘系、收入
print(Bank_Personal_Loan.groupby('Personal Loan')['Income'].agg([np.mean,'count']))
sns.boxenplot(x='Personal Loan',y='Income',data=Bank_Personal_Loan)
取平均來看,高收入的人群會比低收入的人群更愿意申請貸款
#對收入分層
Bank_Personal_Loan['Income Bins'] = pd.qcut(Bank_Personal_Loan.Income,20)
print(Bank_Personal_Loan.groupby('Income Bins')['Personal Loan'].agg([np.mean,'count']))
Bank_Personal_Loan.groupby('Income Bins')['Personal Loan'].agg({'Loan rate':np.mean}).plot()
2.1.3饿自、房屋抵押值
print(Bank_Personal_Loan.groupby('Personal Loan')['Mortgage'].agg([np.mean,'count']))
sns.catplot('Personal Loan','Mortgage',data=Bank_Personal_Loan,kind='boxen')
#對抵押值分層
Bank_Personal_Loan['Mortgage_Bins']=pd.cut(Bank_Personal_Loan.Mortgage,10)
print(Bank_Personal_Loan.groupby('Mortgage_Bins')['Personal Loan'].agg({np.mean,'count'}))
Bank_Personal_Loan.groupby('Mortgage_Bins')['Personal Loan'].agg({'Loan_rate':np.mean}).plot()
當房屋抵押值大于190.5千美元時汰翠,貸款申請的意愿有明顯的提升,總體來看昭雌,抵押值越高复唤,貸款意愿越強烈
2.1.4、每月信用卡消費額
print(Bank_Personal_Loan.groupby('Personal Loan')['CCAvg'].agg([np.mean,'count']))
sns.boxenplot(x='Personal Loan',y='CCAvg',data=Bank_Personal_Loan)
大部分沒有申請貸款的烛卧,信用卡消費額的均值在1.7K美元左右佛纫,而申請貸款的客戶信用款消費額均值達到3.9K美元,是前者的2倍多总放。
#對每月消費額進行分層
Bank_Personal_Loan['CCAvg Bins']=pd.qcut(Bank_Personal_Loan.CCAvg,20)
print(Bank_Personal_Loan.groupby('CCAvg Bins')['Personal Loan'].agg({'mean','count'}))
Bank_Personal_Loan.groupby('CCAvg Bins')['Personal Loan'].agg({'Loan rate':np.mean}).plot()
大概在每月消費額為2.8千美元時呈宇,申請貸款率會增大將近4倍,超過6千美元時局雄,申請申請貸款率會有所回落到31%左右甥啄,但這個貸款意愿相對還是很強烈的,可對每月消費額在2.8千美元以上的客戶加大力度去營銷
四炬搭、結論
- 通過這次活動蜈漓,個人貸款業(yè)務增長了近10%穆桂,說明此次推廣活動的效果還是不錯的。
- 對于開通了銀行賬戶的用戶需要加強營銷力度融虽,他們的貸款意愿相對于沒有開通銀行賬戶更強,同時也需要擴展開通了銀行賬戶的用戶數量享完,以將其轉化為更多的貸款用戶。
- 教育水平越高的客戶越容易接受貸款
- 家庭人口較多的家庭貸款意愿較強有额,尤其是獨生子女的家庭
- 年齡區(qū)間在30-40歲的客戶相對貸款意愿更強
- 相對收入越高般又,貸款的意愿越強烈, 當年收入超過82時谆吴,貸款意愿會有5倍以上的上升倒源,超過98時苛预,貸款意愿達到17%以上句狼,超過170時,貸款意愿達到一半
- 當房屋抵押值大于190.5千美元時热某,貸款申請的意愿有明顯的提升
- 每月消費額在2.8千美元以上的客戶腻菇,貸款申請的意愿有明顯的提升