一圃酵、 用戶行為路徑分析背景知識(shí)
用戶行為路徑分析是一種監(jiān)測(cè)用戶流向,從而統(tǒng)計(jì)產(chǎn)品使用深度的分析方法馍管。它主要根據(jù)每位用戶在App或者網(wǎng)站中的點(diǎn)擊行為日志郭赐,分析用戶在App活網(wǎng)站中各個(gè)模塊的流轉(zhuǎn)規(guī)律,挖掘用戶的訪問或點(diǎn)擊模式确沸,進(jìn)兒實(shí)現(xiàn)一些特定的業(yè)務(wù)用途捌锭。
用戶路徑的分析轉(zhuǎn)化結(jié)果通常以桑基圖形式展現(xiàn)张惹,以目標(biāo)事件為起點(diǎn)/終點(diǎn)舀锨,詳細(xì)查看后續(xù)/前置路徑的流向,可以詳細(xì)查看某個(gè)節(jié)點(diǎn)事件的轉(zhuǎn)化情況宛逗】材洌總的來說,行為路徑分析有如下作用:
1.可視化用戶流向雷激,對(duì)海量用戶的行為習(xí)慣形成宏觀了解替蔬。
2.定位影響轉(zhuǎn)化的主次因素,使產(chǎn)品的優(yōu)化與改進(jìn)有的放矢屎暇。
二承桥、金融行業(yè)用戶行為路徑漏斗轉(zhuǎn)化分析案例
1.案例背景
消費(fèi)金融也就是大家所理解的互聯(lián)網(wǎng)金融或者網(wǎng)絡(luò)貸款,主要就是為個(gè)人提供以消費(fèi)為目的的消費(fèi)貸款根悼,一般來說貸款額度都不高凶异。我們大家都會(huì)用支付寶,里面的借唄和花唄就是消費(fèi)貸款的兩種形式挤巡,花唄是有消費(fèi)場(chǎng)景的消費(fèi)貸剩彬,你必須在購買商品或者吃飯結(jié)賬向商家付款時(shí)才能使用;而借唄則是現(xiàn)金貸矿卑,直接將現(xiàn)金轉(zhuǎn)入你的銀行卡里喉恋。
本案例中的數(shù)據(jù)為某貸款平臺(tái)的流量表與貸款審核表,通過jupyter notebook,使用python的pandas和numpy包完成分析轻黑,觀察用戶行為路徑漏斗轉(zhuǎn)化情況糊肤。
2.數(shù)據(jù)結(jié)構(gòu)
表名 | 字段 | 注釋 |
---|---|---|
plat_flow | date | 日期 |
plat_flow | PV | 頁面瀏覽量 |
plat_flow | UV | 獨(dú)立訪客量 |
plat_flow | regist_cnt | 注冊(cè)數(shù) |
plat_flow | regist_rate | 訪客注冊(cè)率 |
plat_flow | active_cnt | 激活數(shù) |
plat_flow | active_rate | 激活訪問率 |
loans_check | ID | 用戶ID |
loans_check | date | 申請(qǐng)日期 |
loans_check | new_cus | 是否新用戶 |
loans_check | lending | 是否放貸 |
3.數(shù)據(jù)處理
-
1.導(dǎo)包、導(dǎo)入數(shù)據(jù)
#導(dǎo)包
import pandas as pd
import numpy as np
import pymysql
import sqlalchemy
# 讀取數(shù)據(jù) plat_flow:平臺(tái)流量表 氓鄙;loans_check:貸款審核表
# 連接數(shù)據(jù)庫 馆揉,使用sql讀取數(shù)據(jù)
# 連接數(shù)據(jù)庫('mysql+pymysql://用戶名:密碼@ip:端口號(hào)/庫名')
engine = sqlalchemy.create_engine('mysql+pymysql://****:****@localhost:3306/fhd')
sql_flow='select * from plat_flow'
sql_check='select * from loans_check'
dt_flow=pd.read_sql(sql=sql_flow,con=engine)
dt_check=pd.read_sql(sql=sql_check,con=engine)
#查看平臺(tái)流量表情況
dt_flow.head()
輸出:#查看貸款審核表情況
dt_check.head()
輸出:
-
2.計(jì)算每日申請(qǐng)貸款人數(shù)、審批貸款人數(shù)抖拦、放貸率
#先將表分成新用戶表和老用戶表把介。分別計(jì)算每日貸款人數(shù)和放貸率
#dt_check_1 新用戶貸款審核表
dt_check_1 = dt_check[dt_check['new_cus']==1]
#dt_check_2 老用戶貸款審核表
dt_check_0 = dt_check[dt_check['new_cus']==0]
#對(duì)新用戶貸款審核表進(jìn)行數(shù)據(jù)透視生成表pt_1
pt_1=pd.pivot_table(data=dt_check_1,index=['date'],values=['lending'],aggfunc=[np.sum,'count'])
#重命名
pt_1.columns=['new_loans_num','new_apply_num']
#重置索引
pt_1=pt_1.reset_index()
#計(jì)算新用戶放貸率
pt_1['new_loans_rate']=pt_1['new_loans_num']/pt_1['new_apply_num']
#查看新用戶貸款情況表,新用戶放貸數(shù)蟋座、新用戶申請(qǐng)數(shù)、新用戶放貸率
pt_1.head()
輸出:#對(duì)老用戶貸款審核表進(jìn)行數(shù)據(jù)透視生成表pt_0
pt_0=pd.pivot_table(data=dt_check_0,index=['date'],values=['lending'],aggfunc=[np.sum,'count'])
#重命名
pt_0.columns=['old_loans_num','old_apply_num']
#重置索引
pt_0=pt_0.reset_index()
#計(jì)算老用戶放貸率
pt_0['old_loans_rate']=pt_0['old_loans_num']/pt_0['old_apply_num']
#查看老用戶貸款情況表脚牍,老用戶放貸數(shù)向臀、老用戶申請(qǐng)數(shù)、老用戶放貸率
pt_0.head()
輸出:#計(jì)算老用戶的復(fù)借率诸狭。
#本案例中老用戶的定義:前一天放款的新用戶券膀,第二天繼續(xù)借款就是老用戶。(暫不考慮存量老用戶)
#每天的老客戶數(shù)量為新用戶前一天的放貸數(shù)量驯遇,因此需要取4月30日到5月29日的新用戶放貸數(shù)芹彬,來構(gòu)成5月1日到5月30日的老用戶數(shù)。
#從新用戶貸款情況表取出前29天放貸數(shù)據(jù)叉庐,作為5月2日到5月30日的老用戶數(shù)
old=list(pt_1['new_loans_num'])[0:29]
#經(jīng)查詢4月30日的新用戶放貸數(shù)為24舒帮,插入數(shù)據(jù)。
old.insert(0,24)
#生成老用戶復(fù)借情況表pt_0_m
data={'date':list(pt_1['date']),'old_num':old}
dt_old=pd.DataFrame(data)
pt_0_m=pd.merge(pt_0,dt_old,how='left',on=['date'])
pt_0_m['repeat_rate']=pt_0_m['old_apply_num']/pt_0_m['old_num']
pt_0_m.head()
輸出:
-
3計(jì)算各節(jié)點(diǎn)路徑轉(zhuǎn)化率并繪圖
#連接平臺(tái)流量表陡叠,新老用戶貸款情況表玩郊,組成一張用戶路徑總表dt_1,計(jì)算各節(jié)點(diǎn)轉(zhuǎn)化率
dt=pd.merge(dt_flow,pt_1,how='left',on='date')
dt_1=pd.merge(dt,pt_0_m,how='left',on='date')
dt_1.head()
輸出:#匯總求和數(shù)據(jù)
dt_2=dt_1.drop(['date'],axis=1)
dt_2.loc['Row_sum']=dt_2.apply(lambda x:x.sum())
dt_3=dt_2[dt_2.index=='Row_sum'][['PV','UV','regist_cnt','active_cnt','new_apply_num','new_loans_num']]
#將數(shù)據(jù)行列轉(zhuǎn)化枉阵,便于漏斗圖的繪制
dt_3_s=pd.DataFrame(dt_3.stack()).reset_index().iloc[:,1:3]
dt_3_s.columns=['指標(biāo)','匯總']
dt_3_s
輸出:#進(jìn)行漏斗圖的繪制
from plotly import graph_objects as go
trace = go.Funnel(
y=dt_3_s['指標(biāo)'],
x=dt_3_s['匯總'],
textinfo='value+percent initial',
marker=dict(color=['deepskyblue','lightsalmon','tan','teal','silver','yellow']),
connector={'line':{'color':'royalblue','dash':'solid','width':1}}
)
data=[trace]
fig=go.Figure(data)
fig.show()
輸出:三译红、知識(shí)補(bǔ)充
1.指標(biāo)釋義
- PV(page view)/UV(unique visitor):分別指頁面瀏覽量和獨(dú)立訪客量,每次用戶對(duì)頁面或標(biāo)簽的點(diǎn)擊都會(huì)記一次PV兴溜。
- 注冊(cè)用戶數(shù):只有注冊(cè)過的用戶才有可能進(jìn)一步發(fā)生轉(zhuǎn)化行為侦厚,一個(gè)平臺(tái)的注冊(cè)用戶數(shù)衡量了該平臺(tái)當(dāng)前已經(jīng)積累的有效用戶的數(shù)量。
- 激活/活躍用戶數(shù):激活用戶代表一個(gè)用戶在注冊(cè)完成后成功登錄一次拙徽。而活躍用戶代表一個(gè)用戶在登錄后完成了訪問刨沦。
- 申請(qǐng)/放款用戶數(shù)活躍用戶中的一部分會(huì)完成貸款的申請(qǐng)行為,這部分用戶被記為申請(qǐng)用戶斋攀。申請(qǐng)用戶會(huì)被審核已卷,通過審核并成功放款的用戶會(huì)記為放款用戶。
- 復(fù)借用戶數(shù):指借款次數(shù)超過一次的用戶數(shù),復(fù)借行為往往也需要結(jié)合時(shí)間維度進(jìn)行考量侧蘸,因?yàn)橛脩魪?fù)借行為出現(xiàn)的時(shí)間并不固定裁眯。
2.用戶行為路徑分析方法
轉(zhuǎn)化漏斗
轉(zhuǎn)化漏斗是針對(duì)特定模塊與事件節(jié)點(diǎn)的路徑分析。無論是新用戶的引導(dǎo)讳癌、某個(gè)業(yè)務(wù)流程還是某一次運(yùn)營活動(dòng)穿稳,涉及到有流程轉(zhuǎn)化的都可以建立漏斗來分析。在分析過程中晌坤,可以觀察整體的轉(zhuǎn)化率是否符合行業(yè)水準(zhǔn)逢艘,哪些步驟轉(zhuǎn)化率還有優(yōu)化空間?可以通過細(xì)分維度發(fā)現(xiàn)導(dǎo)致轉(zhuǎn)化率低的因素有哪些骤菠,也可以通過查看流失環(huán)節(jié)的其他使用路金它改,做出正對(duì)性的引導(dǎo)。
它適用于對(duì)產(chǎn)品運(yùn)營中的關(guān)鍵環(huán)節(jié)進(jìn)行分析商乎、監(jiān)控央拖,找到其中薄弱的環(huán)節(jié),通過用戶引導(dǎo)或者產(chǎn)品迭代來優(yōu)化鹉戚,提升轉(zhuǎn)化效果鲜戒。