一炕贵、單變量分析——用戶首逾率增高問題
二、用戶群組分析——對(duì)相同生命周期階段的用戶進(jìn)行垂直分析
三亩钟、用戶行為路徑漏斗轉(zhuǎn)化分析
一清酥、單變量分析——用戶首逾率增高問題
單變量分析:
單變量分析的目的是焰轻,通過對(duì)數(shù)據(jù)的整理辱志、加工狞膘、組織和展示,并計(jì)算反應(yīng)數(shù)據(jù)的集中趨勢(shì)和離散程度的指標(biāo)已球,對(duì)變量分布的特征和規(guī)律進(jìn)行刻畫和描述智亮。不同類型的變量需要使用不同的方法和指標(biāo)。
單變量分析又稱“單變量統(tǒng)計(jì)分析”弃舒,就是在一個(gè)時(shí)間點(diǎn)上對(duì)某一變量所進(jìn)行的描述和統(tǒng)計(jì)棒坏,因而又可以分為單變量描述統(tǒng)計(jì)和單變量推論統(tǒng)計(jì)兩種方式坝冕。
1.案例背景
日常監(jiān)控發(fā)現(xiàn)某款消費(fèi)貸產(chǎn)品首逾率有逐漸升高的趨勢(shì)喂窟,需要把首逾率降下來以減少產(chǎn)品帶來的損失央串。
2.分析目標(biāo)及思路
● 分析目標(biāo):通過數(shù)據(jù)探查分析制定出可以有效降低首逾率的策略稳摄。
● 分析思路:分析的策略是在客戶申請(qǐng)時(shí)用來判斷客戶是否會(huì)逾期的條件饲宿,所以需要還原這些有首逾表現(xiàn)的客戶在申請(qǐng)時(shí)的數(shù)據(jù)瘫想,即提取出客戶在申請(qǐng)時(shí)點(diǎn)各個(gè)維度的數(shù)據(jù)国夜,然后利用這些數(shù)據(jù)去找出能夠區(qū)分好壞客戶的變量,從而制定策略筹裕。
3.數(shù)據(jù)加工
觀察原數(shù)據(jù)饶碘,并對(duì)列名進(jìn)行更改馒吴,方便理解豪治。最終所得數(shù)據(jù)(部分)如下:
3.1 計(jì)算首逾率
# 計(jì)算總體首逾率 = 首逾客戶數(shù)/總申請(qǐng)客戶數(shù)
dt['是否逾期(1是负拟,0否)'].sum()/dt.shape[0] #因?yàn)橛馄谑?掩浙,未逾期是0秸歧,所以求出來的和就是逾期的人數(shù)。
計(jì)算得到首逾率約為0.3076谬墙,屬于過高的情況拭抬。下面將采取單變量分析法造虎,從不同維度去分析算凿,尋找解決方法急但。
3.2 篩選出有效變量
3.2.1 征信查詢次數(shù)
# 定義一個(gè)信用評(píng)級(jí)分組的函數(shù)
# 定義一個(gè)征信分組的函數(shù)
def judge_zhengxin(nums):
try:
nums=int(nums)
if 0<= nums <3:
return '1:[0,3)'
elif 3<= nums <6:
return '2:[3,6)'
elif 6<= nums <12:
return '3:[6,12)'
elif 12<= nums <21:
return '4:[12,21)'
elif 21<=nums:
return '5:[21,無窮)'
except Exception as e:
return "6:缺失"
# 新建一個(gè)字段記錄分組信息
dt['征信分組']=dt['近半年征信查詢次數(shù)'].apply(judge_zhengxin)
# 分組統(tǒng)計(jì)各個(gè)分組的情況
# 區(qū)間用戶占比戒努、未逾期客戶數(shù)要另外計(jì)算
dt_info=dt.groupby('征信分組').agg({'用戶id':'count',
'是否逾期(1是镐躲,0否)':'sum'}).reset_index().rename(columns={'用戶id':'區(qū)間客戶數(shù)',
'是否逾期(1是,0否)':'區(qū)間逾期客戶數(shù)'})
# 區(qū)間用戶占比撒穷、未逾期客戶數(shù)要另外計(jì)算
dt_info['區(qū)間用戶占比']=dt_info['區(qū)間客戶數(shù)']/dt_info['區(qū)間客戶數(shù)'].sum()
dt_info['區(qū)間沒有逾期客戶數(shù)']=dt_info['區(qū)間客戶數(shù)'] - dt_info['區(qū)間逾期客戶數(shù)']
dt_info['區(qū)間首逾率']=dt_info['區(qū)間逾期客戶數(shù)']/dt_info['區(qū)間客戶數(shù)']
dt_info
所得結(jié)果如下:
由上圖可以看出:
● 約80.51%的用戶征信查詢次數(shù)在12次以上禽笑;
● 首逾率與征信查詢次數(shù)呈正相關(guān)的趨勢(shì):隨著征信查詢次數(shù)的不斷增加佳镜,首逾率也呈現(xiàn)升高的趨勢(shì)蟀伸,且征信查詢次數(shù)超過21次時(shí)缅刽,首逾率此時(shí)達(dá)到最高,約為59.85%迟蜜。
3.2.2 信用評(píng)級(jí)分組
將信用評(píng)級(jí)劃分為5個(gè)分組:AA小泉、A微姊、BCD兢交、ERC笼痹、缺失凳干,并進(jìn)行聚合統(tǒng)計(jì)。
# 定義一個(gè)信用評(píng)級(jí)分組的函數(shù)
def judge_pingji(level):
if level == 'A':
return 'A'
elif level == 'AA':
return 'AA'
elif level in ('B','C','D'):
return 'BCD'
elif level in ('E','HR','NC'):
return 'ERC'
else:
return '缺失'
# 添加一列‘信用評(píng)級(jí)分組’
dt['信用評(píng)級(jí)分組']=dt['信用評(píng)級(jí)'].apply(judge_pingji)
# 分組統(tǒng)計(jì)各個(gè)分組的情況
dt_info2=dt.groupby('信用評(píng)級(jí)分組').agg({
'用戶id':'count',
'是否逾期(1是涧团,0否)':'sum'}).reset_index().rename(columns={'用戶id':'區(qū)間客戶數(shù)',
'是否逾期(1是泌绣,0否)':'區(qū)間逾期客戶數(shù)'})
# 區(qū)間用戶占比阿迈、未逾期客戶數(shù)要另外計(jì)算
dt_info2['區(qū)間用戶占比']=dt_info2['區(qū)間客戶數(shù)']/dt_info2['區(qū)間客戶數(shù)'].sum()
dt_info2['區(qū)間沒有逾期客戶數(shù)']=dt_info2['區(qū)間客戶數(shù)']-dt_info2['區(qū)間逾期客戶數(shù)']
dt_info2['區(qū)間首逾率']=dt_info2['區(qū)間逾期客戶數(shù)']/dt_info2['區(qū)間客戶數(shù)']
所得結(jié)果如下:
● 除去缺失字段刊棕,客戶占比最高的是評(píng)級(jí)為BCD的用戶鞠绰,其次為ERC飒焦,整體用戶評(píng)級(jí)偏低牺荠;
● 首逾率與評(píng)級(jí)檔次呈正相關(guān)休雌,其中ERC評(píng)級(jí)用戶首逾率最高達(dá)到52.74%左右杈曲,其次為BCD評(píng)級(jí)用戶首逾率在36.27%胸懈。
3.2.2 計(jì)算提升度
進(jìn)行變量分析之后趣钱,這時(shí)我們就要從中篩選中較為有效的變量了首有,這里涉及到一個(gè)衡量變量是否有效的指標(biāo),提升度卜壕。
提升度:通俗的來說就是衡量拒絕最壞那一部分的客戶之后轴捎,對(duì)整體的風(fēng)險(xiǎn)控制的提升效果军掂。 提升度越高蝗锥,說明該變量可以更有效的區(qū)分好壞客戶,能夠更少的誤拒好客戶汇竭。
計(jì)算公式:提升度=最壞分箱的首逾客戶占總首逾客戶的比例 /該分箱的區(qū)間客戶數(shù)占比。
例如:上表中征信總查詢次數(shù)的最壞分箱提升度就是(1923/17365)/(3213/56456)=11%/5.69%=1.93 提升度這個(gè)指標(biāo)一般來說都是用來一批變量分析里做相對(duì)比較两曼,很多時(shí)候都是在有限的變量里盡可能選提升度更高的變量來做策略悼凑。
分別計(jì)算征信總查詢次數(shù)和客戶信用評(píng)級(jí)的提升度:
征信總查詢次數(shù)提升度
# 計(jì)算征信總查詢次數(shù)最壞分箱的首逾客戶占總首逾客戶的比例户辫。
bad_rate=dt_info.iloc[dt_info['區(qū)間首逾率'].idxmax()]['區(qū)間逾期客戶數(shù)']/dt_info['區(qū)間逾期客戶數(shù)'].sum()
# 計(jì)算該分箱的區(qū)間客戶數(shù)占比
num_rate=dt_info.iloc[dt_info['區(qū)間首逾率'].idxmax()]['區(qū)間客戶數(shù)']/dt_info['區(qū)間客戶數(shù)'].sum()
# 計(jì)算提升度
bad_rate/num_rate
最終結(jié)果為1.9458渔欢。
信用評(píng)級(jí)提升度
bad_rate2=dt_info2.iloc[dt_info2['區(qū)間首逾率'].idxmax()]['區(qū)間逾期客戶數(shù)']/dt_info2['區(qū)間逾期客戶數(shù)'].sum()
num_rate2=dt_info2.iloc[dt_info2['區(qū)間首逾率'].idxmax()]['區(qū)間客戶數(shù)']/dt_info2['區(qū)間客戶數(shù)'].sum()
bad_rate2/num_rate2
最終結(jié)果為1.7147奥额。
3.3 解決方案
在上文中访诱, 通過上一步的單變量分析,我們篩出了“征信查詢次數(shù)”棒拂、“信用評(píng)級(jí)”這兩個(gè)提升度最高的變量帚屉。所以選擇將其最壞分箱的人全部拒絕攻旦,計(jì)算提出后的首逾率降幅為多少生逸。(這個(gè)影響就是指假設(shè)我們將‘征信總查詢次數(shù)>=21的3213位客戶全部拒絕’之后槽袄,剩下的客戶逾期率相比拒絕之前的逾期率降幅是多少)
# 對(duì)征信分組的數(shù)據(jù)
# 排除最壞分箱后的逾期客戶數(shù)
new_yuqi_nums=dt_info['區(qū)間逾期客戶數(shù)'].sum() - dt_info.iloc[dt_info['區(qū)間首逾率'].idxmax()]['區(qū)間逾期客戶數(shù)']
# 排除后的新逾期率
new_yuqi_rate=new_yuqi_nums/dt_info['區(qū)間客戶數(shù)'].sum()
new_yuqi_rate
# 原有的逾期率
old_yuqi_rate=dt_info['區(qū)間逾期客戶數(shù)'].sum()/dt_info['區(qū)間客戶數(shù)'].sum()
old_yuqi_rate
# 新的逾期率下降數(shù)值
old_yuqi_rate - new_yuqi_rate
# 對(duì)評(píng)級(jí)分組的數(shù)據(jù)
new_yuqi_nums2=dt_info2['區(qū)間逾期客戶數(shù)'].sum() - dt_info2.iloc[dt_info2['區(qū)間首逾率'].idxmax()]['區(qū)間逾期客戶數(shù)']
# 排除后的新逾期率
new_yuqi_rate2=new_yuqi_nums2/dt_info2['區(qū)間客戶數(shù)'].sum()
# 原有的逾期率
old_yuqi_rate2=dt_info2['區(qū)間逾期客戶數(shù)'].sum()/dt_info2['區(qū)間客戶數(shù)'].sum()
# 新的逾期率下降數(shù)值
old_yuqi_rate2 - new_yuqi_rate2
最終結(jié)果分別為“征信查詢次數(shù)”:3.41%和“信用評(píng)級(jí)”:7.53%遍尺。
● 通過計(jì)算可得,通過拒絕最壞分組的客戶迂苛,得到的最終首逾率分別下降了3.41%和7.53%,證明該方法確實(shí)能起到降低首逾率的效果就漾。
二抑堡、用戶群組分析——對(duì)相同生命周期階段的用戶進(jìn)行垂直分析
群組分析法就是按某個(gè)特征對(duì)數(shù)據(jù)進(jìn)行分組夷野,通過分組比較,得出結(jié)論的方法。
群組分析的作用:
1.對(duì)處于相同生命周期階段的用戶進(jìn)行垂直分析骑丸,從而比較得出相似群體隨時(shí)間的變化通危。
2.通過比較不同的同期群,可以從總體上看到节芥,應(yīng)用的表現(xiàn)是否越來越好了头镊。從而驗(yàn)證產(chǎn)品改進(jìn)是否取得了效果相艇。
1.案例背景
當(dāng)我們?cè)谧鲇脩舴治鰰r(shí)纯陨,會(huì)遇到這樣的一個(gè)問題翼抠,一個(gè)用戶使用APP時(shí)阴颖,會(huì)留下一連串的使用數(shù)據(jù),可能是一月份的購買了1次膘盖,二月份購買了2次尤误,三四月沒有購買损晤,五月份又購買了尤勋。也就是對(duì)于用戶來說他的數(shù)據(jù)是一個(gè)時(shí)間面數(shù)據(jù)茵宪,而且不同用戶的時(shí)間面是不相同的稀火,開始時(shí)間經(jīng)歷時(shí)間都不一樣,而如果我們分析的時(shí)候不考慮到這個(gè)因素而直接進(jìn)行分析篇裁,顯然是不夠合理的达布,因?yàn)樾掠脩艉屠嫌脩艚?jīng)歷的產(chǎn)品運(yùn)營情況是不一樣的黍聂。
那我們應(yīng)該如何處理呢身腻,這個(gè)時(shí)候就有一種分析方法,可以幫助我們?cè)跁r(shí)間軸上對(duì)齊用戶雕沉,這就是群組分析坡椒。
2. 分析目標(biāo)及思路
通過用戶的訂單消費(fèi)情況尤溜,對(duì)比同一月份的新用戶留存率的變化趨勢(shì)宫莱,以及不同時(shí)間期的新用戶在同周期時(shí)的留存率情況
3. 數(shù)據(jù)加工
對(duì)數(shù)據(jù)進(jìn)行觀察,發(fā)現(xiàn)分析留存率只需要用到四個(gè)字段:
OrederId:訂單編號(hào)
OrderDate:訂單日期
UserId:用戶編號(hào)
TotalCharges:消費(fèi)金額
3.1 分組處理
# 生成一個(gè)新字段际插,用戶訂單月份(只要月份)
df['orderperiod']=df.orderdate.apply(lambda x:x.strftime('%Y-%m'))
# 設(shè)置userid為索引
df.set_index('userid',inplace=True)
# 這里的level=0表示第一層索引即userid(因?yàn)榇藭r(shí)userid已經(jīng)被設(shè)置為索引)框弛,并且每次分組之后都會(huì)形成很多個(gè)dataframe
# 按照每個(gè)用戶的訂單的最早時(shí)期瑟枫,生成用戶群組
df["cohortgroup"]=df.groupby(level=0)['orderdate'].min().apply(lambda x:x.strftime('%Y-%m'))
# 重設(shè)索引
df.reset_index(inplace=True)
# 根據(jù)用戶群組和月份字段進(jìn)行分組
grouped=df.groupby(['cohortgroup','orderperiod']) #1月份首次消費(fèi)用戶慷妙,在后續(xù)的1允悦、2、3猿挚、4、5月的相關(guān)消費(fèi)情況室埋,所以對(duì)兩列數(shù)據(jù)都要進(jìn)行分組伊约。
# 求每個(gè)用戶群下每一個(gè)月份的用戶數(shù)量屡律、訂單數(shù)量、購買金額
cohorts=grouped.agg({'userid':pd.Series.nunique,'orderid':pd.Series.nunique,'totalcharges':np.sum}) #因?yàn)橛卸鄠€(gè)dataframe搏讶,所以用nunique和np.sum
#列重命名
cohorts.rename(columns={'userid':'totalusers','orderid':'totalorders'},inplace=True) #totalcharges無需重新命名
cohorts
orderperiod:用戶消費(fèi)月份
chortgroup:用戶最早消費(fèi)時(shí)間(出現(xiàn)的時(shí)間點(diǎn))
3.2 計(jì)算留存率
# 把每個(gè)群組繼續(xù)購買的日期字段進(jìn)行改變媒惕。因?yàn)椴煌路莸目蛻舳饰担状蜗M(fèi)的月份也有不同(如2月份的客戶,首次消費(fèi)就是2月科盛,而不是1月)贞绵,所以重新編號(hào)幌墓。
def cohort_period(df):
# 給首次購買日期進(jìn)行編號(hào)常侣,第二次購買為2胳施,第三次購買為3
df["cohortperiod"] = np.arange(len(df)) + 1 #len(df):有多少行。得到的結(jié)果命名為‘cohortperiod’焦辅。np.arange():列表函數(shù)筷登,得到一個(gè)列表前方。
return df
# 注意的是apply后面?zhèn)魅氲氖且粋€(gè)個(gè)dataframe
cohorts = cohorts.groupby(level=0).apply(cohort_period) # level=0表示第一層索引惠险,此時(shí)即'cohortgroup'班巩。對(duì)該分組下的每個(gè)月進(jìn)行編號(hào)嘶炭。
# 得到每個(gè)群組的用戶量旱物,重新設(shè)置索引
cohorts.reset_index(inplace=True)
# 將"cohortgroup","cohortperiod"兩列設(shè)為索引(level=0和level=1)宵呛。
cohorts.set_index(["cohortgroup","cohortperiod"],inplace=True)
# 得到每個(gè)群組的用戶量,就是第一天的用戶數(shù)據(jù)量户秤,用作留存率的分母
cohort_group_size = cohorts["totalusers"].groupby(level=0).first()
# 計(jì)算每個(gè)群組的留存
cohorts["totalusers"].unstack(0).head() # unstack(0):對(duì)level=0的索引進(jìn)行unstack操作转砖。
# 計(jì)算留存
user_retention = cohorts["totalusers"].unstack(0).divide(cohort_group_size,axis=1).fillna(0)
3.3 總結(jié)和解決方案
● 整體用戶留存率偏低府蔗,在5月就已經(jīng)沒有用戶姓赤;
● 3仲吏、4月份的用戶生命周期較短裹唆,而1许帐、2月用戶生命周期相對(duì)較長成畦;
● 猜測(cè)可能1月羡鸥、2月有活動(dòng)惧浴,特別是1月份的衷旅,能夠讓用戶的留存較高柿顶,對(duì)于此類情況的產(chǎn)生需要想辦法增加用戶留存操软,比如持續(xù)推出新品、進(jìn)行短信營銷蝗羊、推出活動(dòng)等耀找。
三野芒、用戶行為路徑漏斗轉(zhuǎn)化分析
用戶行為路徑分析:用戶行為路徑分析是一種監(jiān)測(cè)用戶流向狞悲,從而統(tǒng)計(jì)產(chǎn)品使用深度的分析方法效诅。它主要根據(jù)每位用戶在App或網(wǎng)站中的點(diǎn)擊行為日志乱投,分析用戶在App或網(wǎng)站中各個(gè)模塊的流轉(zhuǎn)規(guī)律與特點(diǎn),挖掘用戶的訪問或點(diǎn)擊模式顷编,進(jìn)而實(shí)現(xiàn)一些特定的業(yè)務(wù)用途戚炫,如App核心模塊的到達(dá)率提升、特定用戶群體的主流路徑提取與瀏覽特征刻畫媳纬,App產(chǎn)品設(shè)計(jì)的優(yōu)化與改版等双肤。
行為路徑分析有如下作用:
1.可視化用戶流向,對(duì)海量用戶的行為習(xí)慣形成宏觀了解钮惠。
2.定位影響轉(zhuǎn)化的主次因素茅糜,使產(chǎn)品的優(yōu)化與改進(jìn)有的放矢。
1. 案例背景及目的
案例基于網(wǎng)絡(luò)消費(fèi)貸款形式素挽,對(duì)消費(fèi)貸借款進(jìn)行復(fù)盤分析缩赛,增加用戶借貸率酥馍。
2. 數(shù)據(jù)加工
2.1 數(shù)據(jù)觀察及重命名
獲取原始表格每日信息表dt_flow、用戶信息表dt_check峦失,如下所示
# 對(duì)列名進(jìn)行重命名
dt_flow.rename(columns={'date':'日期',
'regist_cnt':'注冊(cè)數(shù)',
'regist_rate':'訪客注冊(cè)率',
'active_cnt':'激活數(shù)'
},inplace=True)
dt_check.rename(columns={'ID':'用戶ID',
'date':'申請(qǐng)日期',
'new_cus':'是否新用戶(1為是,0為否)',
'lending':'是否放貸(1為是,0為否)'
},inplace=True)
2.2 計(jì)算每日申請(qǐng)貸款人數(shù)卓练、審批貸款人數(shù)、放貸率
# 選取子集顽悼,將新用戶和老用戶分開統(tǒng)計(jì)每天申請(qǐng)貸款人數(shù)和審批放貸人數(shù),然后計(jì)算新用戶放貸率木羹。
# 將新老用戶分組
dt_check_1=dt_check[dt_check['是否新用戶(1為是,0為否)']==1] # 新用戶
dt_check_0=dt_check[dt_check['是否新用戶(1為是,0為否)']==0] # 老用戶
#對(duì)新用戶數(shù)據(jù)透視計(jì)算放貸率。
pt_1=pd.pivot_table(data=dt_check_1,index='申請(qǐng)日期',values='是否放貸(1為是,0為否)',aggfunc=[np.sum,'count'])
# 刪除指定的索引/列級(jí)別的數(shù)據(jù)脐瑰。
pt_1.columns=pt_1.columns.droplevel(0)
# 改列名中剩。由于此時(shí)列名一樣,所以直接采用pt_1.columns來賦值郊愧,不用rename眠寿。
pt_1.columns=['新用戶放貸數(shù)','新用戶申請(qǐng)數(shù)']
# 增加一列為:新用戶放貸率
pt_1['新用戶放貸率']=pt_1['新用戶放貸數(shù)']/pt_1['新用戶申請(qǐng)數(shù)']
#重置索引
pt_1 = pt_1.reset_index()
pt_1
得到新用戶表:
同理例嘱,也可以得到老用戶表:
總體上來看,老用戶的平均放貸率比新用戶要高出許多雀彼。
2.3 計(jì)算老用戶復(fù)借率
老用戶定義:前一天的放款的新用戶第二天繼續(xù)借款就是老用戶。
對(duì)存量老用戶我們暫時(shí)不考慮实柠,就看前一天貸款的人第二天是否還繼續(xù)貸款,貸款的就認(rèn)為是老用戶復(fù)借
取新用戶放貸透視表的5月前29天數(shù)據(jù)+4月30日的人(分析5月1日-5月30日的復(fù)借率)構(gòu)成老客戶數(shù)量蟹漓,我們看這些客戶是否還繼續(xù)貸款膜钓。
# 先得到當(dāng)月前29天的數(shù)據(jù)夫壁,得到的數(shù)據(jù)為list
old = list(pt_1["新用戶放貸數(shù)"])[0:29]
# 4月30日有24個(gè)人梅肤,添加到old數(shù)據(jù)中
old.insert(0,24)
# 設(shè)置數(shù)據(jù) data(字典)
data={'申請(qǐng)日期':list(pt_1["申請(qǐng)日期"]),'老客戶數(shù)':old}
# 將data數(shù)據(jù)轉(zhuǎn)換為DataFrame表格
dt_old=pd.DataFrame(data)
# 將老用戶數(shù)據(jù)pt_0和dt_old拼接為一張表
pt_0_m=pd.merge(pt_0,dt_old,on=['申請(qǐng)日期'],how='left')
pt_0_m['老客戶復(fù)借率']=pt_0_m['老用戶申請(qǐng)數(shù)']/pt_0_m['老客戶數(shù)']
pt_0_m.head()
得到復(fù)借率表和走勢(shì)圖:
● 從整體上看,5月復(fù)借率走勢(shì)起伏不定炒辉,推測(cè)在復(fù)借率較高的時(shí)間段可能是因?yàn)闋I銷活動(dòng)的影響;
● 平均復(fù)借率約為34.72%缝裤。
2.4 計(jì)算各節(jié)點(diǎn)路徑轉(zhuǎn)化率并繪圖
# pd.merge連接平臺(tái)流量表姆吭,組成一張用戶路徑總表检眯,計(jì)算各節(jié)點(diǎn)轉(zhuǎn)化率昂灵。(所有表格連接起來
dt=pd.merge(dt_flow,pt_1,how='left',left_on='日期',right_on='申請(qǐng)日期')
dt_1=pd.merge(dt,pt_0_m,how='left',left_on='日期',right_on='申請(qǐng)日期')
dt_1=dt_1.drop(['申請(qǐng)日期_x','申請(qǐng)日期_y'],axis=1)
#計(jì)算轉(zhuǎn)化漏斗管削。 計(jì)算匯總數(shù)據(jù)
# 刪除‘日期’列。(因?yàn)閷儆谌掌谛蛿?shù)據(jù)茸俭,計(jì)算時(shí)會(huì)報(bào)錯(cuò))
dt_2=dt_1.drop('日期',axis=1)
#匯總求和
dt_2.loc['Row_sum'] = dt_2.apply(lambda x: x.sum())
# 將 "Row_sum"這一行這些列的數(shù)據(jù)取出來
dt_3 = dt_2[dt_2.index == "Row_sum"][["PV","UV","注冊(cè)數(shù)","激活數(shù)","新用戶申請(qǐng)數(shù)","新用戶放貸數(shù)"]]
dt_3_s = pd.DataFrame(dt_3.stack()).reset_index().iloc[:,[1,2]]
dt_3_s.columns = ["指標(biāo)","匯總"]
得到指標(biāo)匯總圖和漏斗圖:
由上圖可知:
● 轉(zhuǎn)換率在 UV → 注冊(cè)的轉(zhuǎn)換率很低居砖,需要采取針對(duì)性營銷措施解決循集;
● 最終放貸成功率很低,可以優(yōu)化繼續(xù)模型镶柱,在保證資金安全的情況下提高放貸率范咨。