目录
- 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