基于邏輯回歸的互聯(lián)網(wǎng)獲客策略研究(練習(xí))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 摘要
? 互聯(lián)網(wǎng)獲客渠道是為公司獲得收益,提升影響力的重要手段之一。在互聯(lián)網(wǎng)獲客渠道中,如何判別高質(zhì)量用戶和減少公司成本是最基礎(chǔ)、最首要的環(huán)節(jié),具有非常重要的理論以及現(xiàn)實意義。本文基于用戶各方面數(shù)據(jù)建立了互聯(lián)網(wǎng)獲客優(yōu)化模型。
? 針對問題一,首先,利用python通過數(shù)據(jù)合并,我們將四個數(shù)據(jù)表以user_id這一共通列進行合并為一張數(shù)據(jù)表,并進行查重和查空值,發(fā)現(xiàn)在city_num(城市)一列中,存在空值,將空值刪除后查看city_num的所有的元素,發(fā)現(xiàn)存在error(錯誤)元素,也予之刪除。之后查看異常值,發(fā)現(xiàn)在login_day(登錄天數(shù))中發(fā)現(xiàn)存在-1的元素,age_month(年齡)中發(fā)現(xiàn)過于巨大的數(shù)也予之刪除。隨后對登錄天數(shù),登錄間隔等的字段取5%~95%的區(qū)間。最后將first_order_time(體驗課下單時間)以”/”與空格進行分列,分別提取它們的年、月、日、具體時間以替換原有列。
? 針對問題二,利用python將city_num這一列繪制為詞云圖,以此可以更加清晰的看出下單用戶所在城市的數(shù)量。隨后利用R語言,對登錄情況利用連續(xù)與分類變量繪制了折線圖、箱線圖與荊狀圖。其中包括登錄間隔,登錄天數(shù),最后登錄距期末天數(shù)等因變量。
隨后對各圖進行解讀與描述性分析。
? 針對問題三。利用R語言以result(是否購買)為自變量建立基于aic、bic準(zhǔn)下的邏輯回歸模型,具體步驟為:建立全模型與空模型,經(jīng)比較,證明全模型顯著,并且查看全模型有哪些顯著變量,之后建立aic、bic模型通過對比選擇更優(yōu)模型為最終模型,隨后畫三個模型的ROC曲線,查看最佳閾值。最后根據(jù)閾值,判斷出用戶最后是否會下單。
關(guān)鍵詞:互聯(lián)網(wǎng)獲客渠道優(yōu)化模型、邏輯回歸、是否下單購買
一.針對問題一,我們需要將數(shù)據(jù)進行清洗。
1. 將多個數(shù)據(jù)集合并
然后,在對各個數(shù)據(jù)集進行初步的清洗之后,我們需要將多個數(shù)據(jù)集以user_id(用戶id)進行合并。



由于,result(用戶下單表)這一列數(shù)據(jù)只有購買的人,所以我們需要在合并這個數(shù)據(jù)表的時候采用外連。為了后面方便做邏輯回歸,我們需要將result(是否購買)這一列數(shù)據(jù)中為購買的標(biāo)記為0。

2. 數(shù)據(jù)集中是否存在缺失值
首先我們檢驗是否存在缺失值,除去各個文件中的缺失值,對于后面解釋數(shù)據(jù)是有幫助的,比如,用戶來自不同地點等…

檢查發(fā)現(xiàn),user_info(用戶信息表)中city_num(城市)這一列數(shù)據(jù)中發(fā)現(xiàn)有28209條缺失值數(shù)據(jù)。

將所檢測的缺失值刪除。
3. 數(shù)據(jù)集中是否存在重復(fù)值
其次,我們檢驗數(shù)據(jù)集中是否存在重復(fù)值。

經(jīng)檢驗,數(shù)據(jù)集中不存在重復(fù)值。
4.數(shù)據(jù)集中是否存在異常值
經(jīng)過我們對數(shù)據(jù)集觀察后發(fā)現(xiàn),user_info(用戶信息表)中city_num(城市)這一列數(shù)據(jù)中存在“error”這一特殊值。

去除掉“error”這一種特殊值數(shù)據(jù),方便我們對city_num(城市)這一列進行解讀分析。
? 然后,我們利用分位數(shù)去異常值的方法,將我們所需要的數(shù)據(jù)劃分,去除前5%和后95%的數(shù)據(jù),讓數(shù)據(jù)變得更具有價值。


5. 將時間數(shù)據(jù)分列
將first_order_time(體驗課下單時間)進行分裂,將原始合并的數(shù)據(jù)分裂成年、月和時間。



6.去除無行為交互的用戶
通過對數(shù)據(jù)的觀察可以發(fā)現(xiàn)到,絕大多數(shù)用戶的數(shù)據(jù)對我們后面的研究分析沒有用處,并且會影響到我們的整體美觀。所以,對這些無行為交互的用戶我們應(yīng)當(dāng)去除這類數(shù)據(jù)。

7. 建立測試集和預(yù)測集

8.導(dǎo)出數(shù)據(jù)
將清洗后的數(shù)據(jù)、測試集和預(yù)測集的數(shù)據(jù)導(dǎo)出成csv文件。

二.描述性分析

此圖為各城市分布情況,可以看到購買課程的用戶所在城市最多的為重慶,其次為成都、運城、廣州等地區(qū)。全部為發(fā)達地區(qū),可以看出顧客是否會購買產(chǎn)品,與所在城市是否為發(fā)達城市有關(guān)。


此二圖為登錄天數(shù)和登錄時長對是否購買影響的箱線圖,可以看出,購買產(chǎn)品的人登錄天數(shù)一般在5天,登錄時長在40天左右。均比不購買的人數(shù)大,以此可以看出,購買產(chǎn)品的人在登錄天數(shù)和時長上都比不購買產(chǎn)品的人要大。


此二圖為是否購買與是否進群與是否添加銷售好友荊狀圖,可以看到購買的人數(shù)要比不購買的人數(shù)少很多,但是絕大部分都以進群和添加了銷售好友,所以可以看出人們有購買的意愿,但絕大多數(shù)人并沒有付諸實際行動。


此三圖為是否購買與最后登錄距期末時長、登錄間隔、登陸時長的箱線圖可以看出最后購買產(chǎn)品的人登錄距期末天數(shù)和登錄天數(shù)要比不夠買的人要少,證明購買的人對產(chǎn)品使用次數(shù)更多。
三.建立模型
建模數(shù)據(jù)說明:
根據(jù)對題目的分析,判斷用戶最終是否會下單購買可視為0—1邏輯回歸問題。因此確定因變量為是否下單購買,因變量為定性變量,有兩個水平即1(用戶下單購買)、0(用戶不下單購買)。確定自變量為年齡、登錄天數(shù)、登錄間隔、登陸時長、添加銷售好友、進群、開課數(shù)、領(lǐng)卷數(shù)量,其中年齡、登錄天數(shù)、登錄間隔、登陸時長、開課數(shù)、領(lǐng)卷數(shù)量為定量變量,添加銷售好友、進群為定性變量。采用預(yù)處理后的數(shù)據(jù)進行建模,共81900條數(shù)據(jù),具體如下表所示:

建立模型:
建立空模型,空模型的建立可以檢驗所建立的模型是否有效。
建立0—1邏輯回歸模型得出結(jié)果如下表:

由全模型結(jié)果可看出在其它因素保持不變的情況下影響是否下單購買的因素可能是登錄間隔、登陸時間、開課數(shù)和領(lǐng)券數(shù)量。
由于全模型部分顯著,因此建立AIC模型與BIC模型,模型結(jié)果如下表所示:

AIC模型與BIC模型整體比較顯著。
畫出全模型、AIC模型與BIC模型的ROC曲線如下圖:

模型確立與模型預(yù)測:
取AIC模型作為最終預(yù)測模型,單獨繪制出AIC模型的ROC曲線如下圖:

得出AIC模型的ROC曲線圖得出的AIC模型AUC值為0.065,以0.065為閾值來進行建立模型預(yù)測后的混淆矩陣如下表:

整體錯判率:100% *(5311+326)/81899=6.88%
TPR=100% * (2978/3304)=92.54%
FPR=100% * (5311/78595)=6.76%
故:整體模型預(yù)測精準(zhǔn)度=1-錯判率=1-6.88%=93.12%
四.建議


建議在發(fā)達城市進行對該產(chǎn)品的宣傳、在第一季度和第四季度進行大力度的宣傳,購買的用戶會更有效。
建議在發(fā)達城市進行對該產(chǎn)品的宣傳
字段說明:

部分數(shù)據(jù)展示:
