项目背景
随着用户量级的增长,用户消费行为呈现分化,而现有统一发券、统一开展活动的转化率低、成本高。为了实现精细化用户运营,需要建立一套可量化、可执行的用户分层体系,对不同价值的用户提供差异化服务与营销策略。
业务目标
用户分群:明确区分高价值用户、潜力用户、流失风险用户。
差异化营销:支撑优惠券、Push、客服优先级差异化配置,为流失预警、人群运营提供基础标签。
业务目标:提升营销ROI、提升复购率和GMV。
运营策略
|--------|-----------|--------------|
| 分群 | RFM特征 | 运营动作 |
| 重要价值客户 | R↑F↑M↑ | VIP专线,新品优先体验 |
| 重要保持客户 | R↓F↑M↑ | 大额券、情感关怀 |
| 重要深耕客户 | R↑F↓M↑ | 跨品种推荐、捆绑销售 |
| 新客户 | R↑F↓M↓ | 首单返券、新手任务 |
| 一般客户 | R↓F↑M↓ | 低成本召回 |
| 流失客户 | R↓F↓M↓ | 低成本召回、暂停投入 |
**重要价值客户:**是平台的"金主",贡献了大部分利润,而且粘性高。他们追求尊贵感,如果给"满减券"反而掉价,提供"VIP专线"或大客户运营是为了提高服务体验,"新品优先体验"则满足了身份的象征。
**重要保持客户:**这类用户曾经很活跃、消费多,但最近没来,可能对平台有所不满或被竞品吸引。如果流失对平台造成的损失很大,所以需要强利益刺激作为"钩子"强行拉回。这是ROI最高的人群,值得花大成本去挽回。
**重要深耕客户:**最近消费额高,但购买频率不高。这类用户是认可平台的品质的,但需求可能没有被充分挖掘。他们有消费能力,可以通过跨品类推荐和捆绑销售来挖掘潜在需求,把一次性大消费转化为高频多品类消费。
**新客户:**最近才开始购买,对平台还在试用期。提供优惠券或首单返券是为了降低购买门槛;新手任务是为了引导用户熟悉平台功能,发现平台的核心用户价值,完成从"访客"到"活跃用户"的转化。
**一般客户&流失客户:**很久没来也没花过什么钱,属于边缘用户,对这部分用户投入高昂的营销费用是比较浪费的,如果召回的的成本是比较低的Push或短信,可以试一试。
实施流程
① 明确项目目标
② 确定统计周期 & 用户范围
③ 数据提取(订单事实表)
④ RFM 指标计算
⑤ RFM 打分(1--5分)
⑥ 用户分群映射
⑦ 分群验证 & 业务命名
⑧ 标签写入用户画像 / CDP
⑨ 运营策略落地
⑩ 效果复盘 & 周期性重算
SQL代码
表结构:order_info表名
|---------------|---------------|------------------------------|
| 字段名 | 字段类型 | 备注 |
| order_id | bigint | 订单号 |
| user_id | bigint | 用户id |
| order_date | date | 订单日期 |
| pay_time | datetime | 支付时间 |
| order_status | string | 订单状态(如:待支付、已支付、已完成、已取消、已退款等) |
| pay_amount | decimal(10,2) | 实付金额 |
| refund_amount | decimal(10,2) | 退款金额 |
sql
-- 计算RFM
with order_count as ( -- 以用户id为维度的中间表
select
user_id,
datediff(current_date(),max(order_date)) as R,
count(distinct order_id) as F,
sum(pay_amount-coalesce(refund_amount,0)) as M
from order_info
where order_status = 'success'
and order_date>= date_sub(current_date,365)
group by user_id
)
user_score as( -- 计算得分
select
user_id,
6-ntile(5) over(order by R ASC) as R_score,
ntile(5) over(order by F DESC) as F_score,
ntile(5) over(order by M DESC) as M_score
from order_count
)
select
user_id,
R_score,
F_score,
M_score,
case
when R_score>=4 and F_score>=4 and M_score>=4 then '重要价值客户'
when R_score<=2 and F_score>=4 and M_score>=4 then '重要保持客户'
when R_score>=4 and F_score<=2 and M_score>=4 then '重要深耕客户'
when R_score <= 2 and F_score <= 2 and M_score >= 4 then '重要挽留客户'
when R_score >= 4 and F_score <= 2 and M_score <= 2 then '新客户'
when R_score >= 4 and F_score >= 4 and M_score <= 2 then '潜力客户'
when R_score <= 2 and F_score >= 4 and M_score <= 2 then '一般客户'
else '流失用户'
end as user_segment
from user_score