业务场景与标签建模:从业务目标出发,如何定义标签?
标签这东西,听起来简单,做起来坑不少。
我见过太多团队,一上来就拍脑袋:「用户性别、年龄、消费金额,先打上!」结果呢?标签建了一大堆,业务方用的时候发现——我要找「高价值流失风险用户」,你给我一堆「最近一次登录时间」?
说白了,标签不是拍出来的,是从业务场景里「长」出来的。
从业务目标出发:标签的源头在哪?
我个人习惯,做标签建模之前,先问三个问题:
- 业务要解决什么问题?(比如:提升复购率、降低流失率)
- 需要什么样的用户分群?(比如:高活跃但未付费的用户)
- 用什么指标来定义这个分群?(比如:近30天登录次数≥10次,但累计付费=0)
你看,标签的定义就自然出来了。不是先有标签,而是先有业务场景。
核心原则:标签是业务问题的「数据投影」。业务场景越清晰,标签定义越精准。
我在项目中遇到过,某电商团队想做「大促高转化用户」标签。一开始他们定义的是「历史大促消费金额>5000元」。结果上线后发现,这批用户在大促期间转化率反而下降了。为什么?因为「历史大促消费高」的用户,很多是「羊毛党」,专门等大促囤货,平时根本不买。后来我们把标签改成「近3个月有复购行为且客单价>200元」,效果才对了。
标签的四分类:事实、规则、模型、预测
标签怎么分?业界有个比较通用的分类法,我把它整理成一张表:
| 分类 | 定义 | 例子 | 更新频率 |
|---|---|---|---|
| 事实标签 | 直接从原始数据提取,不做加工 | 性别、注册时间、最近一次登录时间 | 实时/准实时 |
| 规则标签 | 基于业务规则,对事实进行组合或计算 | 高活跃用户(近7天登录≥5次)、沉睡用户(近30天未登录) | 定时(T+1) |
| 模型标签 | 通过统计模型或机器学习模型生成 | 用户价值评分(RFM模型)、用户生命周期阶段 | 定时(T+1/周) |
| 预测标签 | 基于历史数据预测未来行为 | 流失概率、购买意向概率、下一笔消费金额预测 | 定时(周/月) |
嗯,这里要注意:这四类标签不是互斥的,而是层层递进的关系。
事实标签:最基础,也最容易出错
事实标签就是「是什么」。比如用户的性别、年龄、注册渠道。听起来简单吧?但坑往往就在这里。
我曾经接手过一个项目,事实标签「用户性别」居然有30%的数据是「未知」。查了半天,原来是注册页面性别字段不是必填项。你想想看,一个基础标签质量都保证不了,后面的规则标签、模型标签能准吗?
避坑指南:事实标签的质量取决于源数据质量。在定义事实标签之前,先做数据探查(Data Profiling),确认字段的完整性、唯一性、一致性。我曾经因为没做这一步,导致整个标签体系重建了两次。
规则标签:业务经验的「硬编码」
规则标签是业务人员最熟悉的。比如:「高价值用户 = 近30天消费金额 > 5000元」。规则清晰,解释性强。
但规则标签有个问题——规则是静态的,业务是动态的。我见过一个案例,某平台定义「活跃用户 = 近7天登录≥3次」。这个规则用了两年没变过。后来产品改版,用户登录频率整体下降了30%,这个标签就失效了。
所以我的建议是:规则标签要定期review,至少每季度一次。规则不是写死的,是要跟着业务跑的。
模型标签:从「拍脑袋」到「算出来」
模型标签是用算法算出来的。最经典的就是RFM模型——最近一次消费时间(Recency)、消费频率(Frequency)、消费金额(Monetary)。
举个例子,我们可以用RFM给用户打分:
-- 假设我们有一个用户交易表 user_transactions
-- 计算每个用户的RFM分数
WITH rfm_raw AS (
SELECT
user_id,
DATEDIFF('2024-01-01', MAX(transaction_date)) AS recency,
COUNT(DISTINCT transaction_id) AS frequency,
SUM(amount) AS monetary
FROM user_transactions
WHERE transaction_date >= '2023-01-01'
GROUP BY user_id
),
rfm_score AS (
SELECT
user_id,
NTILE(5) OVER (ORDER BY recency ASC) AS r_score, -- 越近分数越高
NTILE(5) OVER (ORDER BY frequency DESC) AS f_score,
NTILE(5) OVER (ORDER BY monetary DESC) AS m_score
FROM rfm_raw
)
SELECT
user_id,
CONCAT(r_score, f_score, m_score) AS rfm_code,
CASE
WHEN r_score >= 4 AND f_score >= 4 AND m_score >= 4 THEN '高价值用户'
WHEN r_score >= 3 AND f_score >= 3 AND m_score >= 3 THEN '中价值用户'
ELSE '低价值用户'
END AS user_segment
FROM rfm_score;
模型标签的好处是客观、可量化。但坏处是——业务人员可能看不懂。所以我在项目中,一般会给模型标签配一个「业务解释文档」,把算法逻辑翻译成业务语言。
预测标签:面向未来的「水晶球」
预测标签是最高级的,也是最难做的。它要回答的是「将来会怎样」。
比如:这个用户下个月流失的概率是多少?他会不会买这个商品?
我做过一个流失预测标签,用的是逻辑回归模型。特征包括:近7天登录次数、近30天消费金额、客服投诉次数、最近一次登录距今天数。模型输出一个0-1的概率值,我们把它映射成「高流失风险」「中流失风险」「低流失风险」三个等级。
小技巧:预测标签的阈值设定,一定要和业务方一起定。不是模型说概率>0.7就是高风险,要看业务能承受的误判成本。我曾经把阈值从0.5调到0.8,虽然召回率降了,但精准率从60%升到85%,业务方反而更满意了。
一张图看懂标签分类体系
我把这四类标签的关系画了张图,方便你理解:
怎么选?一个简单的决策框架
你可能会问:那我到底该用哪种标签?
我一般用这个框架来判断:
- 业务规则清晰、数据充分 → 用规则标签,简单直接
- 需要综合多个维度、人工规则太复杂 → 用模型标签,比如RFM
- 需要预判未来、做前置干预 → 用预测标签,比如流失预警
- 只是记录事实、不做判断 → 用事实标签,比如注册时间
我的经验:80%的业务场景,用「事实标签 + 规则标签」就能解决。不要一上来就上模型,成本高、周期长、解释难。先跑通基础标签,再逐步升级。
好了,标签的分类和定义方法,大概就是这些。记住一句话:标签不是目的,解决业务问题才是。从业务场景出发,选择最合适的标签类型,这才是标签建模的正确姿势。