| 文件名 | turf.xlsx |
|---|---|
| 数据用途 | TURF 组合模型案例数据 (300 行 × 12 候选) |
| 变量说明 | 消费者ID 为标识列;其余 12 列为口味_原味 / 口味_香草 / 口味_巧克力 / 口味_抹茶 / 口味_草莓 / 口味_芒果 / 口味_蓝莓 / 口味_黑芝麻 / 口味_咸蛋黄 / 口味_海盐焦糖 / 口味_榴莲 / 口味_桂花,均为 0/1 二值变量,1 表示该消费者未来 6 个月会购买该口味。 |
完整案例
1. 背景
TURF (Total Unduplicated Reach and Frequency,总不重复触达与频次) 是一种产品组合优化方法,常用于 SKU 上架、菜单瘦身、广告渠道组合等"在 N 个候选中只能挑 K 个"的决策场景。它关心的不是单个选项的人气,而是组合整体能触达的独立用户数 (Reach,去重覆盖率) 与 总频次 (Frequency,人均勾选项数)。直觉上"取人气最高的前 K 个"看似稳妥,但若热门选项之间高度重叠 (喜欢 A 的人往往也喜欢 B),那么 Top-K 之间在大量同一群人里反复触达,新增覆盖收益迅速递减,反而不如让出 1-2 个名额给冷门但用户群独立的选项。本案例以一个奶茶店上架 5 款口味的场景演示 TURF 如何系统识别"替代关系"并跳出 Top-K 偏好陷阱。
2. 理论与公式
设 N 个候选项的二值矩阵为 X ∈ {0,1}^(n×N),组合 S ⊆ {1..N}、|S| = K。TURF 关注两个核心指标。
样本中至少勾选 S 内任一选项的人数占比,衡量组合能触达多少独立用户。
组合内每位受访者平均勾选的选项数,反映该组合的强度/重复触达深度。
在固定 K 下穷举或贪心搜索 Reach 最大的子集,Reach 并列时再按 Freq 决出。
3. 数据结构
300 行 (消费者) × 12 列 (口味),每列为 0/1 二值变量。允许同一消费者勾选多项 (多选题),每行至少 1 个 1。SPSSzero 工作台中将这 12 个口味列作为"候选项变量"投入分析,并在参数中指定组合容量 K (本案例 K=5)。
4. 操作步骤
- 在工作台点击"上传数据"导入 turf.xlsx,确认 12 个口味列均为 0/1 数值变量。
- 在"问卷研究"分类中选择"TURF 组合模型"。
- 将 12 个"口味_*"列拖入"候选项变量"框 (顺序不影响结果)。
- 设置组合容量 K = 5;选择搜索算法:候选数 ≤ 20 时优先选"穷举" (C(12,5) = 792 个组合,瞬时返回),候选数较大时改用"贪心"。
- 勾选"输出 Top-N 组合" (默认 5) 与"输出单选项 Reach 排序"用于诊断。
- 点击"开始分析",在结果区按 Reach 降序查看最优组合,并与单选项 Top-K 排序对比识别"替代项"。
5. 结果表格与结果阅读
| 排名 | 口味 | 勾选人数 | Reach | 是否进入 Naive Top-5 |
|---|---|---|---|---|
| 1 | 原味 | 156 | 52.00% | 是 |
| 2 | 抹茶 | 152 | 50.67% | 是 |
| 3 | 草莓 | 147 | 49.00% | 是 |
| 4 | 香草 | 120 | 40.00% | 是 |
| 5 | 巧克力 | 117 | 39.00% | 是 |
| 6 | 芒果 | 109 | 36.33% | 否 |
| 7 | 海盐焦糖 | 109 | 36.33% | 否 |
| 8 | 桂花 | 104 | 34.67% | 否 |
| 9 | 蓝莓 | 93 | 31.00% | 否 |
| 10 | 黑芝麻 | 76 | 25.33% | 否 |
| 11 | 咸蛋黄 | 71 | 23.67% | 否 |
| 12 | 榴莲 | 53 | 17.67% | 否 |
单选项 Reach 仅反映各口味的独立人气,未考虑组合内重叠;Naive Top-5 即按此列直接取前 5。
| 排名 | 组合 | Reach | Freq (人均勾选) | 说明 |
|---|---|---|---|---|
| 1 | 原味 + 抹茶 + 草莓 + 芒果 + 咸蛋黄 | 97.33% | 2.117 | Reach 并列第一,Freq 最高 |
| 2 | 原味 + 巧克力 + 抹茶 + 芒果 + 黑芝麻 | 97.33% | 2.033 | Reach 并列,Freq 次之 |
| 3 | 巧克力 + 抹茶 + 草莓 + 芒果 + 黑芝麻 | 97.33% | 2.003 | Reach 并列 |
| 4 | 原味 + 巧克力 + 抹茶 + 蓝莓 + 黑芝麻 | 97.33% | 1.980 | Reach 并列 |
| 5 | 香草 + 巧克力 + 抹茶 + 芒果 + 黑芝麻 | 97.33% | 1.913 | Reach 并列 |
| 最优组合增量分解 (贪心顺序) | ||||
| 步骤 1 | + 原味 | 52.00% | +52.00pp | 新覆盖 156 人 |
| 步骤 2 | + 抹茶 | 79.33% | +27.33pp | 新覆盖 82 人 |
| 步骤 3 | + 草莓 | 90.33% | +11.00pp | 新覆盖 33 人 |
| 步骤 4 | + 芒果 | 94.33% | +4.00pp | 新覆盖 12 人 |
| 步骤 5 | + 咸蛋黄 | 97.33% | +3.00pp | 新覆盖 9 人 |
Reach 并列时按 Freq 决出最优;增量分解中每一步加入的口味均为"在已选基础上最大化新增独立用户"的选项。
| 方案 | 组合 | Reach | Freq | 未覆盖人数 |
|---|---|---|---|---|
| Naive Top-5 | 原味 + 抹茶 + 草莓 + 香草 + 巧克力 | 93.33% | 2.307 | 20 |
| TURF 最优 | 原味 + 抹茶 + 草莓 + 芒果 + 咸蛋黄 | 97.33% | 2.117 | 8 |
| 差异 | 替换:香草 + 巧克力 → 芒果 + 咸蛋黄 | +4.00pp | −0.190 | −12 人 |
TURF 牺牲了一部分 Freq (重复触达降低) 换取了 4.00pp / 12 人的额外独立用户,体现"去重"的核心价值。
7. 文字分析
- 个体最强项:原味 (Reach=52.00%)、抹茶 (50.67%)、草莓 (49.00%) 构成单选项第一梯队,均为偏好群体最广的"基础款",任何 K≥3 的组合都应锁定这三项。
- TURF 最优 K=5 触达:在 792 个候选组合中,最优组合"原味+抹茶+草莓+芒果+咸蛋黄"的 Reach 达 97.33%,即 300 人中仅剩 8 人未被覆盖,5 个 SKU 已逼近本数据的覆盖上限。
- 对比 Naive 收益:相较直接取人气前 5 的方案 (Reach=93.33%),TURF 多覆盖 12 人 (+4.00pp);但其 Freq 由 2.307 降至 2.117,说明 TURF 通过减少同一用户的重复勾选来换取更多新增独立客户。
- 替代关系业务含义:Naive 中的"香草"和"巧克力"与"原味"高度共现 (经典甜口三件套),边际新增独立用户有限;TURF 将其替换为"芒果" (清新水果群体的独立代表) 和"咸蛋黄" (网红猎奇群体的独立代表),用 2 个名额各撬动 1 个新的偏好群体。
- 上架建议:首批上架原味、抹茶、草莓 (步骤 1-3 已达 90.33% Reach,边际明显);第 4-5 槽位优先芒果与咸蛋黄而非传统甜口续作,可多吸纳约 12 名独立消费者;若后续扩到 K=6,可考虑追加海盐焦糖或桂花 (人气次梯队 + 偏好群体仍未饱和)。
8. 剖析提醒
- K 与计算量:穷举组合数为 C(N,K),随 N 指数增长。N=12, K=5 仅 792 个组合,瞬时可解;N=30, K=10 即达 3000 万级,需切换贪心算法 (每步加入"边际 Reach 最大"的选项,可在 O(NK·n) 内得到近似解,但不保证全局最优)。
- Reach 并列与 Freq 决胜:多个组合 Reach 完全相同时 (本案例 Top-5 均为 97.33%),应按 Freq 排序选择"既覆盖广又触达深"的方案;若仍并列,可结合毛利/库存约束在业务侧再决策。
- 样本量与稀疏性:候选项太多 (N≥20) 或样本量偏少 (n<200) 时,稀有偏好会让 Reach 估计方差很大,Top-K 组合可能不稳定;建议对最优组合做 bootstrap 抽样,观察其 Reach 95% 置信区间宽度,若宽于 ±5pp 应慎用并补充样本。