行为标签体系搭建方法论

本文结合理想汽车中台运营实习经验与通用方法论,详解从零搭建用户行为标签体系的完整流程。


为什么需要标签体系

用户数据的根本问题不是"数据太少",而是"数据太分散、不可操作"。数据仓库里有几十张表、几百个字段,但运营人员无法直接回答:"高价值沉默用户现在有多少?他们上次下单是什么品类?我应该推什么内容?"

标签体系解决的是从数据到人的抽象层:把散落在各表的事实字段,聚合为可以直接挂在用户 ID 上的描述性属性。一旦建成,运营侧圈人群时只需要几行筛选条件,而不需要每次临时写 JOIN 查询。

在理想汽车,这个问题的表现形式是:每个省区、城市、门店的销售都需要知道"哪些用户今天应该被跟进"。没有标签体系时,每次提数都需要数据团队临时取,速度慢且口径不统一。我们搭建标签体系后,销售可以直接在 CRM 里筛选"留资超过 7 天但未到店"的用户,自行发起跟进。


标签的分类框架

标准五分类是业界最常用的结构,也是理想内部使用的框架:

1. 身份标签

描述用户的静态属性或来源属性,通常不会频繁变化。

| 标签名 | 示例 | 数据来源 | |---|---|---| | 注册渠道 | 自然/广告/老客转介绍 | 注册事件表 | | 设备类型 | iOS/Android/Web | 登录事件表 | | 注册时间区间 | 2023Q1/2023Q2 | 注册表 | | 城市 | 北京/上海/成都 | 用户资料表 |

身份标签的价值是控制变量:排查问题时,先看身份标签分布是否在实验前后或活动前后发生了偏移。

2. 行为标签

描述用户近期或历史的具体行为,通常有时间窗口。

| 标签名 | 定义 | 更新频率 | |---|---|---| | 近 30 天活跃 | 近 30 天有任意登录行为 | 日更 | | 近 90 天下单 | 近 90 天有至少 1 笔有效订单 | 日更 | | 加购未购 | 有加购行为但近 14 天无对应下单 | 实时/日更 | | 高频浏览品类 | 近 30 天浏览次数 TOP3 品类 | 周更 |

行为标签是运营最常用的标签,因为它直接对应用户当前意向阶段。

3. 偏好标签

从历史行为中推断用户偏好,通常是计算派生,而非直接观察。

| 标签名 | 定义 | 计算方式 | |---|---|---| | 价格敏感度 | 用户是否倾向于在促销期间购买 | 促销期订单占总订单比 | | 品类偏好 | 用户历史购买最多的品类 | 订单品类分布 TOP1 | | 时段偏好 | 用户活跃的时间段 | 行为事件时间分布 |

偏好标签需要足够多的历史数据支撑,新用户没有偏好标签是正常的,不要强行打标。

4. 价值标签

描述用户的商业价值,是 RFM 体系的标签化表达。

| 标签名 | 定义 | |---|---| | 高净值用户 | 历史总消费 >= 阈值 A | | 潜力用户 | 近 6 个月消费增长明显但未达阈值 | | 低价值用户 | 历史仅购买 1 次且客单价偏低 | | LTV 预测分层 | 基于机器学习预测未来 12 个月消费 |

价值标签在资源分配时起决定性作用:高净值用户的运营成本可以更高,低价值用户适合自动化低成本触达。

5. 生命周期标签

描述用户在完整生命周期中所处的阶段,这是所有标签里最核心的标签。

| 标签名 | 定义 | |---|---| | 新用户 | 注册未满 30 天 | | 活跃用户 | 近 30 天有行为(非新用户) | | 沉默用户 | 近 31-90 天无行为 | | 流失用户 | 近 90 天以上无行为 | | 召回用户 | 曾流失但近 30 天重新有行为 | | 高忠诚用户 | 连续 3 个月均有消费 |

生命周期标签决定运营策略的方向:新用户需要引导完成首购;沉默用户需要唤醒;流失用户需要评估挽回 ROI。


搭建步骤

Step 1: 梳理业务链路,确定关键节点

先做全链路梳理,再决定打哪些标签。

汽车 To C 链路:触达 → 留资 → 邀约 → 到店 → 订单 → 复购 电商链路:曝光 → 点击 → 浏览 → 加购 → 下单 → 复购

每个节点都对应一批标签:

不要从数据仓库字段出发决定打什么标签,要从业务问题出发。 先问:"运营人员最常问的 10 个关于用户的问题是什么?"这 10 个问题所需要的信息,就是最高优先级的标签。

Step 2: 定义口径,写清楚每个标签的计算逻辑

标签最容易出问题的地方是口径模糊。"活跃用户"是有登录就算,还是有下单才算?是自然日 30 天还是滚动 30 天?

每个标签必须明确:

  1. 定义:用一句话说清楚是什么
  2. 包含条件:满足哪些条件才打标
  3. 排除条件:哪些情况不打标(如测试账号、内部账号)
  4. 时间窗口:看过去多少天的数据
  5. 更新频率:每天算,还是每周算
标签名:近 30 天活跃
定义:近 30 个自然日内有至少 1 次应用打开或页面访问事件
包含:event_type IN ('app_open', 'page_view')
排除:is_test_account = 1 的用户
时间窗口:DATEDIFF(today, event_date) <= 30
更新频率:每日 02:00 全量重算
负责人:数据团队

Step 3: 确定数据来源和加工方式

标签的数据来源通常是:

加工方式有三种:

初期优先建规则标签,因为口径清晰、易排查问题。等运营体系稳定后,再引入模型标签。

Step 4: 评估计算成本和更新频率

不是所有标签都要实时更新。 错误的更新频率是标签体系最常见的性能瓶颈。

| 标签类型 | 建议更新频率 | 原因 | |---|---|---| | 实时意图标签(加购/收藏) | 实时/分钟级 | 时效性高,过期无意义 | | 行为状态标签(近 X 天活跃) | 每日 T+1 | 日粒度足够,成本低 | | 价值分层标签(RFM) | 每周一次 | 变化慢,高频重算浪费 | | 偏好标签(品类/时段偏好) | 每周/每月 | 需要积累足够样本 |

在理想,因为汽车决策周期长,大部分标签是日更的,只有"是否今天到店"需要分钟级更新。

Step 5: 存储和使用

标签通常以用户宽表的形式存储:一行代表一个用户,每列是一个标签值。

CREATE TABLE dwd_user_tags AS
SELECT
    user_id,
    -- 生命周期标签
    CASE
        WHEN days_since_register <= 30 THEN '新用户'
        WHEN days_since_last_order BETWEEN 1 AND 30 THEN '活跃用户'
        WHEN days_since_last_order BETWEEN 31 AND 90 THEN '沉默用户'
        WHEN days_since_last_order > 90 THEN '流失用户'
        ELSE '未购用户'
    END AS lifecycle_stage,
    -- 价值标签
    rfm_segment,
    -- 行为标签
    has_cart_no_order,
    favorite_category
FROM rfm_base
JOIN behavior_summary USING (user_id);

运营人员圈人群时,直接从这张宽表 SELECT,不需要复杂 JOIN。


标签治理

标签生命周期管理

标签不是建完就不管了。要建立:

常见问题

1. 标签漂移

用户的标签在短时间内频繁变化,导致运营策略不稳定。例如一个用户今天是"活跃用户",明天凌晨过了 30 天窗口变成"沉默用户",后天又买了一单变回"活跃"。

解决方案:对频繁变化的标签加 buffer(如活跃用户:近 30 天有行为,且在过去 7 天内不曾被标记为沉默,避免边界反复跳变)。

2. 标签冲突

一个用户同时符合"高价值用户"和"流失用户",两个策略同时触发。

解决方案:建立标签优先级规则,明确多个标签同时命中时的处理逻辑。通常生命周期标签优先级高于价值标签。

3. 冷启动

新用户没有行为数据,无法打行为标签,导致运营无法针对性触达。

解决方案:对新用户单独维护"新用户引导"标签体系,基于注册来源、首次访问路径等少量信号给出初始标签。


从理想实习的迁移经验

在理想,我们面对的标签体系挑战是:多线索合并。同一个用户可能从不同渠道(App / 官网 / 门店 iPad / 销售电话)产生多个线索,线索 ID 不统一,标签打在哪个 ID 上是个问题。

迁移到电商场景,对应的是多设备 ID Mapping:同一个用户可能用手机和 PC 分别访问,这两个 device_id 是否能合并到同一个 user_id 下,决定了行为标签的准确性。

解决思路相同:

  1. 建立 ID 优先级规则(登录 user_id > 手机号 > cookie_id)
  2. 登录行为时做 ID Mapping(把匿名 ID 和登录 ID 关联)
  3. 对未能关联的 ID,维护独立的标签,不强行合并

核心认知:标签体系的上限,是 ID 体系的天花板。 在着手打标签之前,先把 ID 打通方案想清楚。


求职视角:这段经历对应 JD 的哪些能力

| JD 要求 | 标签体系经验如何覆盖 | |---------|-------------------| | 构建完整的数据分析体系 | 标签体系是数据分析体系的"用户层"——让业务人员无需写 SQL 就能圈选人群 | | 将业务语言转化为数据解决方案 | 标签的本质是业务语言("高价值流失用户")→ 数据口径("RFM 分离群 + 30 天无行为")的翻译 | | 推动数据在业务中的实际落地 | 标签体系的最终交付物不是数据表,而是 CRM 里运营人员可以直接筛选的标签 |

面试叙事

在理想汽车,我发现各战区对"高意向用户"的定义完全不一致——A 区说是 7 天内有过互动的,B 区说是 14 天内到店过的。这导致全国的策略无法横向比较。

我主导搭建了一套五层标签体系(身份/行为/偏好/价值/生命周期),为每个标签定义了统一的计算口径、数据来源和更新频率。最终产出 30+ 标签,成为全国 6 个战区运营策略配置的"通用语言"。

这个经历的核心能力是:能把模糊的业务概念(比如"高意向")翻译成精确的数据口径(比如"近 14 天有试驾行为且销售跟进 ≥ 2 次"),并把这个翻译规则系统化。 这在任何需要数据驱动运营的公司都是刚需能力。

延伸阅读