当前位置: 首页 > news >正文

数据产品(2)用户画像数据分析模型

目录

  • 1 用户画像
  • 2 RFM模型 (用户价值分群模型)
  • 3 PSM 价格敏感度
  • 4 精细化运营

1 用户画像

也称用户表标签,是基于用户行为分析获得的对用户的一种认知表达,即用户数据标签化,通过收集与分析用户的用户属性(年龄、性别、城市、职业、设备、状态)、用户偏好(购物偏好,听歌偏好、访问时间偏好)、用户行为(近N日行为、消费行为、售后行为、累计行为:购物金额订单数客单价)、用户分层(rfm、会员分层、生命周期、预流失模型、活跃分层、消费分层)等,抽象出一个用户的全貌。
各类应用推荐场景

2 RFM模型 (用户价值分群模型)

用于判断用户价值度,通过三个指标进行综合分析,可以将客户分为不同的类别,如高价值客户、重要挽留客户、低价值客户等,从而方便市场业务部门根据不同的客户群体制定相应的营销策略,以实现低成本高回收。

Recency 越小越好:最近一次消费距今多久(消费周期的标签)7天作为阈值,小于7天或者大于等于7天
Frequency 越大越好:某段时间内消费频率或次数:半年为周期,小于25次大于等于25次
Monetary 越大越好:某段时间内消费金额:半年为周期,小于2000大于等于2000
都是按照用户ID进行分组,按照相应的指标进行聚合

RFM模型的作用:
RFM模型作用
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
http://www.dtcms.com/a/349132.html

相关文章:

  • 【计算机视觉】CaFormer
  • 房屋装修设计管理系统的设计与实现/房屋装修管理系统
  • 审核问题——应用未配置图标的前景图和后景图
  • 深度剖析Spring AI源码(十):实战案例:智能客服系统
  • MySQL-delete tableName from ...
  • [GeographicLib] LocalCartesian用法
  • 从成本中心到价值创造者:网络安全运维的实施框架与价值流转
  • 深入两种高级并发设计模式
  • 零基础玩转STM32:深入理解ARM Cortex-M内核与寄存器编程
  • 奈飞工厂:算法优化实战
  • MySQL性能优化的5个维度
  • 02-开发环境搭建与工具链
  • 【Android Kotlin】Kotlin专题学习
  • 十一、redis 入门 之 数据持久化
  • [滑动窗口]1493. 删掉一个元素以后全为 1 的最长子数组
  • 3.6 虚拟存储器 (答案见原书 P225)
  • 国内第一本系统介绍 Obsidian 的书出版了
  • 基于Python的淘宝电商服装价格可视化分析
  • 【知识杂记】卡尔曼滤波及其变种,从理论精要到工程实践深入解析
  • AI代理需要数据完整性
  • C++ 可变参数模板(Variadic Templates)
  • 2025年09月计算机二级Java选择题每日一练——第六期
  • c#_数据持久化
  • LangGraph 那点事
  • 自定义SpringBoot的自动配置
  • 从零到精通:如何用 Python 高效查找数组中出现频率最高的元素
  • leetcode刷题记录04——top100题里的7道中等题
  • 网络编程-创建TCP协议服务器
  • 后端Web实战-Java代码操作数据库
  • 跨摄像头追踪精度↑79%!陌讯动态决策模型在智慧园区的落地实践