目錄
- 1 用戶畫像
- 2 RFM模型 (用戶價值分群模型)
- 3 PSM 價格敏感度
- 4 精細化運營
1 用戶畫像
也稱用戶表標簽,是基于用戶行為分析獲得的對用戶的一種認知表達,即用戶數據標簽化,通過收集與分析用戶的用戶屬性(年齡、性別、城市、職業、設備、狀態)、用戶偏好(購物偏好,聽歌偏好、訪問時間偏好)、用戶行為(近N日行為、消費行為、售后行為、累計行為:購物金額訂單數客單價)、用戶分層(rfm、會員分層、生命周期、預流失模型、活躍分層、消費分層)等,抽象出一個用戶的全貌。
2 RFM模型 (用戶價值分群模型)
用于判斷用戶價值度,通過三個指標進行綜合分析,可以將客戶分為不同的類別,如高價值客戶、重要挽留客戶、低價值客戶等,從而方便市場業務部門根據不同的客戶群體制定相應的營銷策略,以實現低成本高回收。
Recency 越小越好:最近一次消費距今多久(消費周期的標簽)7天作為閾值,小于7天或者大于等于7天
Frequency 越大越好:某段時間內消費頻率或次數:半年為周期,小于25次大于等于25次
Monetary 越大越好:某段時間內消費金額:半年為周期,小于2000大于等于2000
都是按照用戶ID進行分組,按照相應的指標進行聚合
RFM模型的作用:
RFM如何使用
每個維度劃分兩個區間:2^3=8組
每個維度劃分三個區間:3^3=27組
每個維度劃分五個區間:5^5=125組
RFM使用場景
M需要有消費、F需要有一定的頻次,頻次還需要有區分度、R最近半年/一年用戶需要出現過
外賣/打車/電商
RFE(RFM變種)
Engae:參與度、瀏覽、收藏、點贊、評論、彈幕、分享
瀏覽*1 收藏*2 點贊*3 評論*4 彈幕*5 分享*6
適用于信息流產品:微博、今日頭條、朋友圈、短視頻、抖快
RFM計算流程
1.第一步,以用戶為分組,
R:使用from_unixtime函數將時間戳轉化成日期格式并使用max函數計算出每個用戶最新的消費時間
F:使用counDistinct函數計算出每個用戶不同訂單的訂單總數,
M:sum計算出每個用戶所有訂單金額之和
2.第二步:把每個維度劃分為5個區間,在1-5之間打分,根據制定的打分標準使用when函數和otherwise函數為每個用戶打分,打分標準可以使用describe()函數計算出最大值和最小值去指定,需要注意的是,消費周期這個是時間越短分數越高,如果when的條件是多個,需要用&符號連接
3.第三步:提前計算出三個維度分數平均分,把用戶R F M三個維度的分數和三個維度的平均分數進行比較,把每個維度劃分為兩個區間比較,如果用戶分數大于等于平均分就是 1 這個區間,反之就是 0,然后使用withColumn函數添加R F M三個維度計算出的區間也就是0和1合并為RFM的列
4.第四步:把得到的RFM列和5級標簽的rule使用join連接,進行規則匹配,從而得出每位用戶RFM標簽
# 1.根據用戶id分別計算RFM的原始值esDF2:DataFrame=esDF.groupby('memberid').agg(F.datediff(F.date_sub(F.current_date(),1027),F.from_unixtime(F.max('finishtime'))).alias('recency'),F.countDistinct('ordersn').alias('frequency'),F.sum('orderamount').alias('monetary'))# esDF2.show()# +--------+-----+---------+------------------+# | memberid | recency | frequency | monetary |# +--------+-----+---------+------------------+# | 29 | 60 | 246 | 403524.2501525879 |# | 474 | 60 | 105 | 203666.499929199 |# esDF2.describe().show()# +-------+------------------+-------------------+------------------+--------------------+# |summary| memberid| recency| frequency| monetary|# +-------+------------------+-------------------+------------------+--------------------+# | count| 950| 950| 950| 950|# | mean| 475.5| 60.0178947368421|126.44736842105263| 366299.1070466518|# | stddev|274.38567746877766|0.14035852584856298| 39.00137616686665| 3276502.4657239863|# | min| 1| 60| 81| 114856.25006103516|# | max| 950| 62| 355|1.0018663619982529E8|# +-------+------------------+-------------------+------------------+--------------------+# 2.每個維度分成5份,根據業務規則標準打分# R 0~30 5 31~60 4 61~90 3 91~140 2 141 1recency = F.when(esDF2.recency <= 30, 5) \.when((esDF2.recency >= 31) & (esDF2.recency <= 60), 4) \.when((esDF2.recency >= 61) & (esDF2.recency <= 90), 3) \.when((esDF2