用户分群
问题
什么是用户分群?有哪些分群方法?如何应用于运营?
答案
什么是用户分群
用户分群是把用户划分为特征相似的群体,让运营策略从"一刀切"变为"千人千面"。
分群方法对比
| 方法 | 原理 | 优势 | 适用 |
|---|---|---|---|
| 规则分群 | 手动设定条件 | 简单、可解释 | 快速分群、明确业务规则 |
| RFM 分层 | 交易行为三维度 | 经典、通用 | 电商用户价值分层 |
| K-Means 聚类 | 算法自动发现群体 | 数据驱动 | 无先验假设时 |
| 标签组合 | 多维标签叠加 | 灵活 | 精准营销圈人 |
规则分群示例
按生命周期阶段分群
SELECT
user_id,
CASE
WHEN register_date >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)
AND order_count = 0
THEN '新用户-未转化'
WHEN register_date >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)
AND order_count > 0
THEN '新用户-已转化'
WHEN last_active_date >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)
AND order_count >= 3
THEN '活跃忠诚用户'
WHEN last_active_date >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)
AND order_count < 3
THEN '活跃普通用户'
WHEN last_active_date BETWEEN DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY)
AND DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)
THEN '沉默用户'
ELSE '流失用户'
END AS user_segment
FROM user_profile;
K-Means 聚类分群
K-Means 用户聚类
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 准备特征
features = df[['recency', 'frequency', 'monetary', 'avg_session_duration']]
# 标准化(K-Means 对量纲敏感)
scaler = StandardScaler()
features_scaled = scaler.fit_transform(features)
# 聚类(先用肘部法确定 K)
kmeans = KMeans(n_clusters=5, random_state=42, n_init=10)
df['cluster'] = kmeans.fit_predict(features_scaled)
# 分析每个群体的特征
print(df.groupby('cluster')[['recency', 'frequency', 'monetary']].mean())
确定 K 值
- 肘部法:画 K vs 惯性(inertia)曲线,找拐点
- 轮廓系数:衡量聚类质量,越接近 1 越好
- 业务可解释性:聚类结果要让运营能理解和执行,K 不宜太大(通常 3~8)
分群运营策略
| 用户群 | 运营目标 | 具体动作 |
|---|---|---|
| 新用户未转化 | 促首单 | 首单优惠券、新手引导 |
| 高价值活跃 | 留住 | VIP 权益、专属服务 |
| 沉默用户 | 召回 | Push/短信、大额优惠 |
| 流失用户 | 放弃或低成本触达 | 邮件、节日问候 |
| 高频低客单 | 提客单价 | 满减、套餐推荐 |
常见面试问题
Q1: 用户分群和用户画像有什么区别?
答案:
| 对比 | 用户分群 | 用户画像 |
|---|---|---|
| 粒度 | 把用户分成群体 | 描述单个用户 |
| 输出 | 分群标签(高价值/沉默/流失) | 完整 profile(年龄+偏好+消费力) |
| 目的 | 群体策略 | 个性化推荐 |
| 关系 | 画像是分群的输入 | 分群是画像的应用 |
Q2: K-Means 聚类的结果怎么解读?
答案:
- 看每个 cluster 的中心点特征(均值)
- 给每个 cluster 起一个业务含义的名字
- 和业务同学一起验证是否合理
- 如果某个 cluster 的特征不明显,考虑调整 K 值或特征选择
Q3: 分群颗粒度太细,运营执行不过来怎么办?
答案:
- 分层聚合:先分 3~5 个大群(如新/活跃/沉默/流失),再在大群内细分
- 优先级排序:ROI 最高的群体优先运营
- 自动化:用标签系统 + 自动化消息,减少人工