A. 基於RFM的客戶價值分析報告
1. 項目背景
在制定針對客戶的運營和營銷策略時,我們希望根據不同的客戶實施定製化策略,實現精準營銷,以提高轉化率。精準營銷的基礎是客戶分類。通過客戶分類,我們可以對客戶群體進行細分,區分出低價值客戶和高價值客戶,並對不同客戶群體提供個性化的服務。這樣可以合理分配有限的資源,實現收益最大化。RFM模型是客戶分類中的一個經典方法,它基於三個關鍵維度——最近消費(Recency)、消費頻率(Frequency)、消費金額(Monetary)來細分客戶群體,並分析不同群體的客戶價值。
2. 項目目標
本項目利用某電商的客戶數據,探討如何對客戶群體進行細分,並利用RFM模型對客戶價值進行分析。項目的主要目標是:
1. 利用某電商的客戶數據,對客戶進行群體分類。
2. 比較不同細分群體的客戶價值。
3. 根據客戶價值制定相應的運營策略。
3. 分析過程
1. 數據預覽
我們的原始數據是訂單表,其中包含用戶的交易信息。通過觀察數據,我們發現訂單狀態有交易成功和退款關閉兩種。我們檢查是否存在其他情況,並只保留這兩種狀態的訂單。然後,我們觀察數據的類型和缺失情況。訂單表共有28,833行數據,沒有缺失值,付款日期是日期格式,實付金額、郵費和購買數量是數值型,其他欄位是字元串類型。
2. 數據清洗
(1) 剔除退款訂單。
(2) 提取關鍵欄位:買家昵稱,付款時間和實付金額。
(3) 構造關鍵欄位:構建RFM模型所需的三個欄位,R(最近一次購買時間間隔),F(購買頻次),M(平均或累計購買金額)。
首先計算R值,按買家昵稱分組,選取付款日期最大值。為了得到R值,我們用當前日期減去每位用戶最近一次付款時間。然後計算F值,即每個用戶的累計購買頻次。對於M值,我們計算用戶平均支付金額,通過總金額除以購買頻次得出。
3. 維度打分
維度打分的核心是確定分值。在RFM模型中,通常採用5分制,根據數據和業務理解進行分值劃分。R值根據行業經驗設置為30天一個跨度,左閉右開。F值與購買頻次掛鉤,每多購買一次,分值增加一分。M值按照50元一個區間劃分。這一步確定了每個用戶每個指標對應的分值。
4. 分值計算
(1) 計算每個用戶的R、F、M分值。
(2) 簡化分類結果:通過比較每個客戶的R、F、M值與平均值,將結果分為8個組別。
5. 客戶分層
根據R、F、M每個指標是否高於平均值,將用戶劃分為8類。使用python實現時,首先定義一個人群數值,將R、F、M是否大於均值的三個值相加。人群數值較高的類別將自動忽略前面的0,例如1代表高消費喚回客戶,10代表一般客戶。然後,在Python中定義一個判斷函數,根據人群數值返回相應的分類標簽。
6. 數據解讀與建議
首先,查看各類用戶的佔比情況。然後,查看不同類型客戶對消費金額的貢獻佔比。最後,在Tableau中進行數據可視化展示。通過可視化分析,我們發現:
1. 流失客戶佔比超過總客戶的50%,客戶流失情況嚴重。
2. 高消費喚回客戶和頻次深耕客戶的金額總佔比約66%,是消費的重點客戶。
3. 流失客戶和新客戶的總人數佔比約38%,但金額總佔比只有約13%。
建議:
1. 對高消費喚回客戶和流失客戶採用喚回策略,如推送相關信息、發放禮品券等,以挽留客戶。
2. 對高消費喚回客戶和頻次深耕客戶,深入挖掘其消費特性,如喜愛購買的產品、消費的時間段等,據此加強店鋪產品與時間段的改進,以留住這兩部分客戶。
3. 針對流失客戶和新客戶金額總佔比低的情況,推出一些低價產品,以吸引新客戶,保證店鋪的活躍性。
B. 知乎,豆瓣,果殼都是python開發的,是不是python程序員都比較文藝還是文藝青年都喜歡python
這個一點關系都沒有。我相信最初設計這些網站的人,選擇什麼語言開發,當然是選擇自己最熟悉的語言去實現。進了公司後,才會考慮性能,開發周期,維護難度等等問題。
內在動機,除了自身的創作沖動,一個網站能吸引優質粉絲,一定是它激發了你隱隱之中對自己的想像、期待和深刻的身份認同。它提示,你是一個什麼樣的人,想成為什麼樣的人。這種提示通過你創作、瀏覽網站內容,及與網站其它成員之間的互動完成。一些大而雜的社區網站之所以衰落,是因為它只提供信息,卻沒法提示,你是什麼樣的人。而另一些小網站,原來有清晰的身份辨識度,但隨著用戶的大量湧入,這種身份辨識度越發模糊,最終引發老用戶的焦慮和流失。
C. 用Python做生存分析--lifelines庫簡介
Python提供了一個簡單而強大的生存分析包——lifelines,可以非常方便的進行應用。這篇文章將為大家簡單介紹這個包的安裝和使用。
lifelines支持用pip的方法進行安裝,您可以使用以下命令進行一鍵安裝:
在python中,可以利用lifelines進行累計生存曲線的繪制、Log Rank test、Cox回歸等。下面以lifelines包中自帶的測試數據進行一個簡單的示例。
首先載入和使用自帶的數據集:
運行一下將會看到以下結果,
數據有三列,其中T代表min(T, C),其中T為死亡時間,C為觀告坦橋測截止時間。E代表是否觀到「死亡」,1代表觀測到了,0代表未觀測到,即生存分析中的刪失數據,共7個。 group代表是否存在病毒, miR-137代表存在病毒,control代表為不存在即對照組,根據統計,存在miR-137病毒人數34人,不存在129人。
利用此數據取擬合擬生存分析中的Kaplan Meier模型(專用於估計生存函數的模型),並繪制全體人群的生存曲線。
圖中藍色實線為生存曲線,淺藍色帶代表了95%置信區間。隨著時間增加,存活概率S(t)越來越小,這是一定的,同時S(t)=0.5時,t的95%置信區間為[53, 58]。這並不是我們關注的重點,我們真正要關注的實驗組(存在病毒)和對照組(未存在病毒)的生存曲線差異。因此我們要按照group等於「miR-137」和「control」分組,分別觀察對應的生存曲線:
可以看到,帶有miR-137病毒的生存曲線在control組下方。說明其平均存活時間明顯小於control組。同時帶有miR-137病毒存活50%對應的存活時間95%置信區間為[19,29],對應的control組為[56,60]。差異較大,這個方法可以應用在分析用戶流失等場景,比如我們對一組人群實行了一些防止流行活動,我們可以通過此種方式分析我們活動是否有效。
該模型以生存結局和生存時間為應變數,可同時分析眾多因素對生存期的影響,能分析帶有截尾生存時間的資料,且不要求估計資料的生存分布類型。
對於回歸模型的假設檢驗通常採用似然比檢驗、Wald檢驗和記分檢驗,其檢驗統計量均服從卡方分布。,其自由襪猛度為模型中待檢驗的自變數個數。一般說來,Cox回歸系數的估計和模型的假設檢驗計算量較大,通常需利用計算機來完成相應的計算
通常存活時間與多種因素都存在關聯,因此我們的面臨的數據是多維的。下面使用一個更復雜的數據集。首先仍然是導入和使用示例數據。
[圖片上傳中...(24515569-a5987d05b5e05a26.png-4ed038-1600008755271-0)]
其中T代表min(T, C),其中T為死亡時間,C為觀測截止時間。E代表是否觀察到「死亡」,1代表觀測到了,0代表未觀測到,即生存分析中的 「刪失信老」 數據,刪失數據共11個。var1,var2,var3代表了我們關系的變數,可以是是否為實驗組的虛擬變數,可以是一個用戶的渠道路徑,也可以是用戶自身的屬性。
我們利用此數據進行Cox回歸
從結果來看,我們認為var1和var3在5%的顯著性水平下是顯著的。認為var1水平越高,用戶的風險函數值越大,即存活時間越短(cox回歸是對風險函數建模,這與死亡加速模型剛好相反,死亡加速模型是對存活時間建模,兩個模型的參數符號相反)。同理,var3水平越高,用戶的風險函數值越大。