用户分层:RFM 模型分析
聚合函数GROUP BYCASE WHEN日期函数用户行为分析标签画像
题目描述
给定一张 transactions 表:
user_id: 用户IDamount: 消费金额trans_date: 交易日期
请基于 RFM 模型(假设今天是 2024-04-01)计算每个用户的:
- R (Recency): 最近一次消费距今天数
- F (Frequency): 消费次数
- M (Monetary): 消费总金额
并根据规则分类:R<=30 且 F>=3 且 M>=500 为「高价值」,否则为「普通」。
期望输出列
| 列名 | 说明 |
|---|---|
| user_id | 用户ID |
| recency | 距今天数 |
| frequency | 消费次数 |
| monetary | 消费总金额 |
| user_level | 用户分层 |
数据样例
| idPKINTEGER | user_idINTEGER | amountREAL | trans_dateTEXT |
|---|---|---|---|
| 1 | 1 | 200 | 2024-03-10 |
| 2 | 1 | 300 | 2024-03-15 |
| 3 | 1 | 150 | 2024-03-25 |
| 4 | 2 | 500 | 2024-02-01 |
| 5 | 2 | 100 | 2024-03-30 |
| 6 | 3 | 800 | 2024-01-15 |
| 7 | 4 | 100 | 2024-03-20 |
| 8 | 4 | 200 | 2024-03-22 |
输入数据显示 8 / 9 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里