291. 比较每个月客户的拉新质量(1)
请编写SQL查询,根据以下规则计算每位用户的RFM评分,并输出每位用户的首次购买时间所在的月份:
- Recency (R):使用
NTILE(3)
函数将用户按距离今天的天数分为三类。注意这里按照天数降序排列,因为Recency得分越低表示用户越近进行了购买。 - Frequency (F):使用
NTILE(3)
函数将用户按有下单记录的不同天数分为三类。 - Monetary (M):使用
NTILE(3)
函数将用户按每次交易的平均消费金额降序排列后分成三类。 - First Transaction Month:新增一列输出用户首次购买时间所在的月份。
输出: user_id
, recency_score
, frequency_score
, monetary_score
, first_trx_month
要求:
- 使用
NTILE(3)
函数对Recency、Frequency和Monetary进行分组评分。 - 新增一列显示用户首次购买时间所在的月份(格式为“YYYY-MM”)。
mt_trx_rcd_f,餐饮商户团购消费记录表
cust_uid | trx_amt | mch_nm | mch_typ2 | trx_dt |
---|---|---|---|---|
MT10008 | 132 | 阿里山烘焙坊(亚贸店) | 面包甜点 | 2024-05-03 |
MT10000 | 53 | 星巴克(融创茂店) | 咖啡厅 | 2024-09-16 |
MT10007 | 334 | 老胶东小船海鲜 | 海鲜 | 2024-05-22 |
MT10004 | 358 | 一枚帅哥做的菜 | 海鲜 | 2024-09-15 |
MT10003 | 154 | 一枚帅哥做的菜 | 海鲜 | 2024-11-16 |
成为会员,解锁300道大厂数分SQL真题
🔒 成为会员,解锁大厂300道数分SQL真题
MySQL 8.0
xxxxxxxxxx
2
select * from mt_trx_rcd_f limit 5;