RFM模型-分析母婴类产品

1,场景描述

假设我们是某电商平台的数据分析师,负责分析母婴产品线的用户数据。母婴产品的购买行为具有一定的周期性和生命周期特征,如用户在不同怀孕阶段的需求不同,以及宝宝出生后的不同成长阶段需要不同的产品。

2,具体需求

  1. 识别高价值用户:通过RFM模型识别高价值用户,重点考虑用户的生命周期(例如:怀孕阶段、新生儿阶段)。
  2. 标签化用户行为:对用户行为进行标签化,包括季节性、促销活动、节假日事件等。
  3. 改进模型:针对母婴产品的特性,改进传统RFM模型的不足之处。

3,具体代码

数据模拟

import pandas as pd
import numpy as np
from datetime import datetime, timedelta# 模拟用户数据
np.random.seed(42)
user_ids = np.random.randint(1000, 2000, 1000)
dates = pd.date_range(end=datetime.today(), periods=365).to_pydatetime().tolist()
data = {'user_id': np.random.choice(user_ids, 5000),'order_date': np.random.choice(dates, 5000),'amount': np.random.uniform(10, 500, 5000)
}
orders = pd.DataFrame(data)# 假设部分用户的怀孕周数
orders['pregnancy_week'] = np.where(np.random.rand(5000) > 0.8, np.random.randint(1, 40, 5000), np.nan)# 生成一些标签,例如季节性、促销活动
orders['season'] = orders['order_date'].apply(lambda x: 'Winter' if x.month in [12, 1, 2] else ('Spring' if x.month in [3, 4, 5] else ('Summer' if x.month in [6, 7, 8] else 'Autumn')))
orders['promotion'] = np.random.choice([0, 1], size=5000, p=[0.7, 0.3])# 查看模拟数据
orders.head()

RFM 计算

# 当前日期
now = datetime.now()# 计算RFM值
rfm = orders.groupby('user_id').agg({'order_date': lambda x: (now - x.max()).days,'user_id': 'count','amount': 'sum'
}).reset_index()# 重命名列
rfm.columns = ['user_id', 'recency', 'frequency', 'monetary']# 计算RFM评分
rfm['R'] = pd.qcut(rfm['recency'], 4, ['1', '2', '3', '4'])
rfm['F'] = pd.qcut(rfm['frequency'].rank(method='first'), 4, ['4', '3', '2', '1'])
rfm['M'] = pd.qcut(rfm['monetary'], 4, ['4', '3', '2', '1'])# 组合RFM得分
rfm['RFM_Score'] = rfm['R'].astype(str) + rfm['F'].astype(str) + rfm['M'].astype(str)rfm.head()

标签化用户行为和生命周期分析

# 合并用户行为标签
rfm = rfm.merge(orders[['user_id', 'pregnancy_week', 'season', 'promotion']], on='user_id', how='left')# 根据怀孕周数标签化
def pregnancy_stage(week):if pd.isna(week):return 'Unknown'elif week < 13:return 'First Trimester'elif week < 27:return 'Second Trimester'else:return 'Third Trimester'rfm['pregnancy_stage'] = rfm['pregnancy_week'].apply(pregnancy_stage)# 计算用户在不同季节和促销活动中的消费
seasonal_promotion_agg = orders.groupby(['user_id', 'season', 'promotion']).agg({'amount': 'sum'
}).reset_index()# 合并
rfm = rfm.merge(seasonal_promotion_agg, on='user_id', how='left', suffixes=('', '_season_promo'))rfm.head()

4,改进模型

结合具体业务特性,针对母婴产品用户进行更精准的分析:

  1. 用户生命周期分析:重点分析怀孕阶段和宝宝成长阶段的用户需求。
  2. 行为标签:考虑用户在不同季节和促销活动中的消费习惯。

通过这样的改进,可以更精准地识别高价值用户和潜在流失用户,为制定营销策略提供数据支持。

# 模拟分析结果
# 查看高价值用户
high_value_users = rfm[rfm['RFM_Score'] == '444']# 查看高风险流失用户
high_risk_users = rfm[rfm['RFM_Score'] == '111']# 根据怀孕阶段细分用户群体
first_trimester_users = rfm[rfm['pregnancy_stage'] == 'First Trimester']
second_trimester_users = rfm[rfm['pregnancy_stage'] == 'Second Trimester']
third_trimester_users = rfm[rfm['pregnancy_stage'] == 'Third Trimester']# 分析用户在不同季节和促销活动中的消费行为
seasonal_promotion_analysis = rfm.groupby(['season', 'promotion']).agg({'amount': 'sum','user_id': 'nunique'
}).reset_index()# 结果展示
print("高价值用户:")
print(high_value_users)print("\\n高风险流失用户:")
print(high_risk_users)print("\\n第一孕期用户:")
print(first_trimester_users)print("\\n第二孕期用户:")
print(second_trimester_users)print("\\n第三孕期用户:")
print(third_trimester_users)print("\\n季节性和促销活动分析:")
print(seasonal_promotion_analysis)# 建议
print("建议:")
print("1. 针对高价值用户,提供专属优惠和服务,提升用户粘性。")
print("2. 针对高风险流失用户,分析流失原因并采取挽回措施,如发送个性化优惠券。")
print("3. 根据用户怀孕阶段,推荐相应的母婴产品,满足用户特定需求。")
print("4. 在促销活动期间,加强推广力度,吸引更多用户参与消费。")
print("5. 关注季节性消费变化,提前准备相关产品的库存和促销策略。")

(交个朋友/技术接单/ai办公/性价比资源)

c27159cc0cbd41ef98cb474cc2c7d5e5.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XV7011BB可为智能割草机的导航系统提供新的解决方案

智能割草机作为现代家庭和商业草坪维护保养的重要工具&#xff0c;其精确的定位和导航系统对于提高机器工作效率和确保安全运行至关重要。在智能割草机的发展历程中&#xff0c;定位和导航技术一直是关键的创新点。 传统的基于RTK(实时动态差分定位技术)技术的割草机虽然在…

景源畅信电商:抖音开店步骤是什么?

随着社交媒体的兴起&#xff0c;抖音已经成为一个不可忽视的电商平台。许多人都希望通过抖音开店来实现自己的创业梦想。那么&#xff0c;抖音开店的具体步骤是什么呢?接下来&#xff0c;我们将详细阐述这一问题。 一、明确回答问题抖音开店的步骤主要包括&#xff1a;注册账号…

Vue 3 教程:核心知识

Vue 3 教程&#xff1a;核心知识 1. Vue3简介1.1. 【性能的提升】1.2.【 源码的升级】1.3. 【拥抱TypeScript】1.4. 【新的特性】 2. 创建Vue3工程2.1. 【基于 vue-cli 创建】2.2. 【基于 vite 创建】(推荐)2.3. 【一个简单的效果】 3. Vue3核心语法3.1. 【OptionsAPI 与 Compo…

【C++】---二叉搜索树

【C】---二叉搜索树 一、二叉搜索树概念二、二叉搜索树操作&#xff08;非递归&#xff09;1.二叉搜索树的查找 &#xff08;非递归&#xff09;&#xff08;1&#xff09;查找&#xff08;2&#xff09;中序遍历 2.二叉搜索树的插入&#xff08;非递归&#xff09;3.二叉搜索树…

Java 实现二叉搜索树 代码

新建文件 创建TreeNode类&#xff0c;实例化 直接在BinarySearchTree类里面写就可以 static class TreeNode {public int key;public TreeNode left;public TreeNode right;TreeNode(int key) {this.key key;}}public TreeNode root; 插入节点 insert public boolean inser…

Spring创建对象的多种方式

一、对象分类 简单对象&#xff1a;使用new Obj()方式创建的对象 复杂对象&#xff1a;无法使用new Obj()方式创建的对象。例如&#xff1a; 1. AOP创建代理对象。ProxyFactoryBean; 2. Mybatis中的SqlSessionFactoryBean; 3. Hibernate中的SessionFactoryBean。二、创建对象方…

创新案例 | 持续增长,好孩子集团的全球化品牌矩阵战略与客户中心设计哲学

探索好孩子集团如何通过创新设计的全球化品牌矩阵和以客户为中心的产品策略&#xff0c;在竞争激烈的母婴市场中实现持续增长。深入了解其品牌价值观、市场定位策略以及如何满足新一代父母的需求。本文旨在为中高级职场人士、创业家及创新精英提供深度见解&#xff0c;帮助他们…

最新上市公司控制变量大全(1413+指标)1990-2023年

数据介绍&#xff1a;根据2023年上市公司年报数据进行更新&#xff0c;包括基本信息、财务指标、环境、社会与治理、数字化转型、企业发展、全要素生产率等1413指标。数据范围&#xff1a;A股上市公司数据年份&#xff1a;1990-2023年指标数目&#xff1a;1413个指标&#xff0…

在云中确保安全的五个技巧

随着采用云计算战略并开始充分意识到云计算技术可以提供的回报&#xff0c;企业可以做些什么来改善他们的风险状况?以下是德迅云安全在云中确保安全的五个技巧。 德迅云安全对如何在云计算基础设施中确保安全的五个技巧进行了阐述和分析。 在当今的混合工作环境中&#xff0c…

UG NX二次开发(C#)-UFun函数-利用UFPart.Export导出模型中的对象并创建一个新的part

文章目录 1、前言2、UF_PART_export函数定义3、UF_PART_export_with_options函数定义4、代码1、前言 在UG NX 10.0二次开发中,需要用到将装配体中通过几何建模创建的对象独立创建一个part文件,所以查找了下UFun函数,即是UF_PART_export 和UF_PART_export_with_options两个函…

在Windows 10中,如何利用命令提示符删除应用程序

如果你使用的是Windows 10&#xff0c;并且需要释放一些磁盘空间&#xff0c;你可以直接从命令提示符卸载不再使用的应用程序。以下是操作方法。 首先&#xff0c;你必须以管理员身份运行命令提示符才能卸载程序。在“Windows搜索”框中&#xff0c;键入“cmd”或“命令提示符…

NVR对接三方相机预览黑屏问题案例

一、 问题现象 【问题现象】NVR接入三方相机,通道状态显示在线,但本地、web预览显示黑屏。更换H.264&#xff0c;H.265均预览黑屏&#xff0c;且NVR侧的萤石云手机APP预览报错260025。 【现场拓扑】现场拓扑如下 &#xff08;1&#xff09; IPC使用onvif协议添加至NVR&#xff…

程序猿转型做项目经理一定要注意这 5 个坑

前言 国内的信息系统项目经理&#xff0c;很多都是从技术骨干转型的&#xff0c;我就是这样一路走过来的&#xff0c;这样有很多好处&#xff0c;比如技术过硬容易服众、熟悉开发流程更容易把控项目进度和质量、开发过程中碰到难题时更好组织攻坚等等&#xff0c;但是所谓成也…

SpringBootWeb 篇-深入了解会话技术与会话跟踪三种技术(Cookie 会话跟踪、Session 会话跟踪与 JWT 令牌会话跟踪)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 会话技术 2.0 会话跟踪 2.1 会话跟踪 - Cookie 2.1.1 客户端获取 Cookie 的流程 2.1.2 Cookie 会话跟踪的特点 2.2 会话跟踪 - Session 2.2.1 客户端获取 SESSION…

C++设计模式-单例模式,反汇编

文章目录 25. 单例模式25.1. 饿汉式单例模式25.2. 懒汉式单例模式25.2.1. 解决方案125.2.2. 解决方案2 &#xff08;推荐写法&#xff09; 运行在VS2022&#xff0c;x86&#xff0c;Debug下。 25. 单例模式 单例即该类只能有一个实例。 应用&#xff1a;如在游戏开发中&#x…

【漏洞复现】大华智能物联综合管理平台 log4j远程代码执行漏洞

0x01 产品简介 大华ICC智能物联综合管理平台对技术组件进行模块化和松耦合&#xff0c;将解决方案分层分级&#xff0c;提高面向智慧物联的数据接入与生态合作能力。 0x02 漏洞概述 大华ICC智能物联综合管理平台/evo-apigw/evo-brm/1.2.0/user/is-exist 接口处存在 l0g4i远程…

【1.文件和目录相关(上)】

一、Linux的文件系统结构 1、Linux文件系统就是一个树形的分层组织结构。 2、文件系统层次结构标准FHS&#xff1a;用于规范文件目录命名和存放标准。 &#xff08;1&#xff09;/bin:是二进制英文缩写。 &#xff08;2&#xff09;/boot:存放的是系统启动时要用到的程序。 …

如何配置才能连接远程服务器上的 redis server ?

文章目录 Intro修改点 Intro 以阿里云服为例。 首先&#xff0c;我在我买的阿里云服务器中以下载源码、手动编译的方式安装了 redis-server&#xff0c;操作流程见&#xff1a;Ubuntu redis 下载解压配置使用及密码管理 && 包管理工具联网安装。 接着&#xff0c;我…

Java中的ORM框架——myBatis

一、什么是ORM ORM 的全称是 Object Relational Mapping。Object代表应用程序中的对象&#xff0c;Relational表示的是关系型数据库&#xff0c;Mapping即是映射。结合起来就是在程序中的对象和关系型数据库之间建立映射关系&#xff0c;这样就可以用面向对象的方式&#xff0c…

【UE 反射】反射的原理是什么?如何使用机制?

目录 0 拓展0.1 静态类型检查0.1.1 静态类型检查的主要原理0.1.2 编译器的工作流程0.1.3 静态类型检查的优点和缺点0.1.4 示例0.1.5 C也可以在运行时类型检查RTTI基本原理RTTI的实现RTTI的工作流程RTTI的限制 0.2 运行时动态类型检查0.2.1 主要特点0.2.2 动态类型检查的实现0.2…