案例数据
300 行电商促销实验记录,3 个分类因素(折扣形式 2 级 × 商品类型 3 级 × 用户层级 2 级 = 12 个组合单元)与 1 个连续因变量(客单价 元),完整演示三因素 ANOVA 全流程:设计校核 → Levene 方差齐性 → 三因素全模型(3 主效应 + 3 个二阶交互 + 1 个三阶交互) → 解读 → 简单效应。结论为"折扣形式的效果取决于商品类型,且老客对数码品类的溢价远高于服装"——折扣 × 商品类型 交互极强(partial η²=0.46),商品类型 × 用户层级 交互显著(partial η²=0.15),但折扣 × 用户层级 不显著、三方交互不显著,意味着可以分二维拆解,无需为每个 12 单元单独建模。
| 文件名 | mul-way_anova.xlsx |
|---|---|
| 样本量 | 300 行(2×3×2=12 单元 × 25 行/单元,完全平衡设计) |
| 变量数 | 4 列(1 个因变量 Y + 3 个因子 A、B、C) |
| 数据用途 | 电商促销实验分析:折扣形式 / 商品类型 / 用户层级 三因素对客单价的联合影响 |
| 变量说明 | 折扣(A,2 级:满减/直降)、商品类型(B,3 级:家居/数码/服装)、用户层级(C,2 级:新客/老客)、客单价(Y,连续,单位元)。 |
完整案例
1. 背景
某综合电商在 618 前做促销策略复盘,希望同时回答四个问题:①折扣形式(满减 vs 直降)整体上谁更能拉高客单价(A 主效应);②不同商品类型(家居 / 数码 / 服装)平均客单价是否有差异(B 主效应);③用户层级(新客 vs 老客)整体消费力是否不同(C 主效应);以及三组交互——折扣是否对某些品类特别有效、不同品类的老客溢价是否一致、三者是否存在更深的联合效应。多因素方差分析(Multi-way / N-way ANOVA)正是为这种"3 个及以上分类自变量同时影响一个连续因变量"的设计而生:相比 3 次独立的双因素 ANOVA,三因素模型只用一份数据就能同时分解 3 个主效应、3 个二阶交互(A×B、A×C、B×C)和 1 个三阶交互(A×B×C),把残差变异统一估计、避免重复检验导致的 α 膨胀;同时三因素全模型可在控制其他因子情况下检验单个主效应(更接近因果),样本利用率也比 2×2 单独跑高出 3 倍。本案例 300 行 12 单元完全平衡设计,演示从设计校核到三阶交互判读的完整决策流程。
2. 理论与公式
三因素方差把总变异分解为 3 个主效应、3 个二阶交互、1 个三阶交互和组内误差共 8 部分,用 F 检验各部分相对组内噪声是否显著。
μ 总均值,α / β / γ 三个主效应,(αβ) / (αγ) / (βγ) 三个二阶交互,(αβγ) 三阶交互,ε 组内残差。
各效应均方与组内均方比值;p<0.05 表示该效应显著优于纯噪声,不能由抽样误差解释。
该效应能解释多少剩余变异,0.01 / 0.06 / 0.14 大致对应小 / 中 / 大效应;多因素模型推荐使用偏 η² 而非整体 η²。
3. 数据结构
300 行 × 4 列,"长格式"宽表:每行 1 单订单的最终结果,1 列连续 Y + 3 列分类 X。2×3×2=12 个单元各 25 行,完全平衡设计:
| 变量名 | 类型 | 取值 | 业务含义 |
|---|---|---|---|
| 折扣 | 因子 A(分类,2 级) | 满减 / 直降 | 促销机制,满减=满 N 元减 M 元 / 直降=单品标价直接下调,每级 150 行 |
| 商品类型 | 因子 B(分类,3 级) | 家居 / 数码 / 服装 | 销售品类,每级 100 行 |
| 用户层级 | 因子 C(分类,2 级) | 新客 / 老客 | 下单前 90 天内是否有过订单,每级 150 行 |
| 客单价 | 因变量 Y(连续) | 50-300 元 | 单笔订单实付金额(含运费、扣完优惠),N=300,总均值 180.77,SD 23.17 |
完全平衡设计(12 单元各 25 行)使 Type Ⅰ / Ⅱ / Ⅲ 平方和结果一致,本案例采用 Type Ⅱ SS;3 个分类因子按字符串编码,模型内部自动哑变量化;连续 Y 无缺失值,可直接进入 ANOVA。每单元 25 行已超过经验阈值 n≥20,确保 F 检验稳健。
4. 操作步骤
- 登录 SPSSzero,进入 工作台 → 上传
mul-way_anova.xlsx - 左侧方法栏 → 进阶方法 → 点击 多因素方差分析
- 把 客单价 拖入 因变量 Y(必须连续型)
- 把 折扣(A)、商品类型(B)、用户层级(C)依次拖入 因子列表,共 3 个
- 设计校核:在结果页头部确认 12 单元各 25 行(完全平衡),且无空单元——空单元会导致部分交互无法估计
- 勾选 Levene 方差齐性检验,先确认 12 单元的方差是否齐
- 选择模型:默认 全因子模型(3 主效应 + 3 二阶交互 + 1 三阶交互,共 7 项),平衡设计推荐 Type Ⅱ SS
- 勾选 边际均值 + 偏 η²,便于按效应量大小排序判读
- 点击 开始分析;解读优先级:三阶交互 → 二阶交互 → 主效应(自上而下)。若三阶不显著,把 7 个效应拆为下游 2 个二维子分析;若某个二阶不显著(如本例 A×C),把 A 和 C 视作独立主效应即可
- 对显著的二阶交互勾选 简单效应(如在每种商品类型下检验折扣的差异),输出 t 值 + 差值 + p;用于撰写"在 X 条件下 Y 因子起作用" 的业务结论
5. 结果表格与结果阅读
下面展示 3 张紧凑三线表:表 1 为 12 单元描述统计 + 三类边际均值,表 2 为三因素 ANOVA 主表(7 行效应 + 残差),表 3 合并 Levene 齐性 + 关键简单效应 + Tukey HSD。
| 折扣 × 商品类型 | 新客(mean, n) | 老客(mean, n) | 行均值(折扣 × 品类) |
|---|---|---|---|
| 满减 × 家居 | 160.77 (25) | 177.15 (25) | 168.96 (50) |
| 满减 × 数码 | 166.45 (25) | 194.37 (25) | 180.41 (50) |
| 满减 × 服装 | 172.04 (25) | 178.39 (25) | 175.21 (50) |
| 直降 × 家居 | 179.74 (25) | 192.49 (25) | 186.12 (50) |
| 直降 × 数码 | 200.49 (25) | 229.89 (25) | 215.19 (50) |
| 直降 × 服装 | 157.31 (25) | 160.20 (25) | 158.76 (50) |
| 折扣边际 | 满减 174.86 (150) / 直降 186.69 (150) | 总均值 180.77 (300) | |
| 商品类型边际 | 家居 177.54 (100) / 数码 197.80 (100) / 服装 166.98 (100) | SD=23.17 | |
| 用户层级边际 | 新客 172.80 (150) / 老客 188.75 (150) | 差 +15.95 | |
| 最贵单元 直降 × 数码 × 老客 = 229.89 元(比总均值高 49.12 元),最便宜单元 直降 × 服装 × 新客 = 157.31 元(比总均值低 23.46 元);折扣形式在家居 / 数码下"直降 > 满减",但在服装下方向反转(直降 158.76 < 满减 175.21),这是 A×B 交互的典型信号。 | |||
| 来源 | SS(平方和) | df | MS(均方) | F | p | 偏 η² |
|---|---|---|---|---|---|---|
| 折扣(A 主效应) | 10490.372 | 1 | 10490.372 | 74.556 | <0.001*** | 0.206 |
| 商品类型(B 主效应) | 49061.419 | 2 | 24530.710 | 174.341 | <0.001*** | 0.548 |
| 用户层级(C 主效应) | 19078.114 | 1 | 19078.114 | 135.589 | <0.001*** | 0.320 |
| 折扣 × 商品类型(A×B) | 33880.082 | 2 | 16940.041 | 120.394 | <0.001*** | 0.455 |
| 折扣 × 用户层级(A×C) | 65.754 | 1 | 65.754 | 0.467 | 0.495 | 0.002 |
| 商品类型 × 用户层级(B×C) | 7294.330 | 2 | 3647.165 | 25.921 | <0.001*** | 0.152 |
| 折扣 × 商品类型 × 用户层级(A×B×C) | 105.848 | 2 | 52.924 | 0.376 | 0.687 | 0.003 |
| 残差(组内) | 40523.055 | 288 | 140.705 | — | — | — |
| * p<0.05 ** p<0.01 *** p<0.001;按 partial η² 排序:商品类型主效应(0.548,大) ≫ A×B 交互(0.455,大) ≫ 用户层级主效应(0.320,大) ≫ 折扣主效应(0.206,大) ≫ B×C 交互(0.152,大) ≫ A×C 交互(0.002,可忽略) ≫ A×B×C 三阶(0.003,可忽略)。3 主 + A×B + B×C 共 5 项显著,A×C 与三阶不显著——意味着可按"折扣×商品类型"与"商品类型×用户层级"两组二维交互分别解读,无需保留三阶项。 | ||||||
| 检验类型 | 分组 / 对比 | 统计量 | p | 解读 |
|---|---|---|---|---|
| Levene 齐性 | 12 单元方差 | W(11,288)=1.501 | 0.130 | ✅ p>0.05,方差齐性通过,三因素 ANOVA 可用 |
| 简单效应 A | B | 家居:直降 vs 满减 | t≈6.60 | <0.001 | 差 +17.16 元,直降占优 |
| 简单效应 A | B | 数码:直降 vs 满减 | t≈8.91 | <0.001 | 差 +34.78 元,直降占优,差距最大 |
| 简单效应 A | B | 服装:直降 vs 满减 | t≈−7.10 | <0.001 | 差 −16.46 元,方向反转,满减占优 |
| 简单效应 C | B | 家居:老客 vs 新客 | t≈5.29 | <0.001 | 差 +14.57 元,老客溢价中等 |
| 简单效应 C | B | 数码:老客 vs 新客 | t≈6.54 | <0.001 | 差 +28.66 元,老客溢价最大 |
| 简单效应 C | B | 服装:老客 vs 新客 | t≈1.64 | 0.104 | 差 +4.62 元,老客溢价不显著 |
| Tukey HSD(B 边际) | 数码 vs 家居 | diff=+20.27 | <0.001 | 数码显著高于家居 |
| Tukey HSD(B 边际) | 家居 vs 服装 | diff=+10.55 | <0.001 | 家居显著高于服装 |
| Tukey HSD(B 边际) | 数码 vs 服装 | diff=+30.82 | <0.001 | 数码显著高于服装(差距最大) |
| A×B 简单效应:折扣形式对家居 / 数码均"直降 > 满减",但在服装上反转——服装属性的促销心理学(用户更感知"满减 = 多买省更多")与数码"高单价直降冲击力"截然不同。B×C 简单效应:老客对数码品类的溢价(+28.66 元)显著高于家居(+14.57)且远高于服装(+4.62,不显著)——数码忠诚老客愿为升级款付更多。 | ||||
7. 文字分析
三因素方差分析(N=300,2 折扣 × 3 商品 × 2 用户层级 × 25 行/单元)综合结果:
- 折扣主效应(A):F(1,288)=74.56,p<0.001,partial η²=0.206(大效应)。直降平均客单价 186.69 元,满减 174.86 元,直降整体领先 11.83 元(约 6.8%)。但 A×B 交互极强(partial η²=0.455)说明这只是"平均值"层面,单看主效应会掩盖服装品类下"满减反而更好"的反向事实,详见交互解读。
- 商品类型主效应(B):F(2,288)=174.34,p<0.001,partial η²=0.548(最强主效应)。数码 197.80 元 ≫ 家居 177.54 元 ≫ 服装 166.98 元,Tukey HSD 三组两两差异均 p<0.001。数码品类单价天然偏高、且对促销响应最敏感。
- 用户层级主效应(C):F(1,288)=135.59,p<0.001,partial η²=0.320(大效应)。老客 188.75 元,新客 172.80 元,老客溢价 +15.95 元(约 9.2%)。但 B×C 交互显著(partial η²=0.152)提示这个溢价在不同品类下分布严重不均——数码品类老客溢价 +28.66 元,服装品类老客溢价仅 +4.62 元且不显著。
- 折扣 × 商品类型 交互(A×B,最重要的发现):F(2,288)=120.39,p<0.001,partial η²=0.455(极强交互)。"哪种折扣形式有效"高度取决于品类——①数码:直降占绝对优势(215.19 vs 180.41,差 +34.78 元),高单价品类下"直接降价"心理冲击远大于"凑单减";②家居:直降略优(186.12 vs 168.96,差 +17.16);③服装:方向反转,满减占优(满减 175.21 vs 直降 158.76,差 −16.46)——服装单价低、SKU 多,用户更倾向"凑满减多买几件"。结论:不能用同一套折扣机制打三品类,必须按品类定制。
- 商品类型 × 用户层级 交互(B×C):F(2,288)=25.92,p<0.001,partial η²=0.152(大效应)。老客溢价在不同品类下差异巨大:数码 +28.66 元(最高) > 家居 +14.57 元 > 服装 +4.62 元(不显著)。业务含义:数码老客已建立品牌信任、愿为升级款支付更高溢价;服装老客在多个店铺间高度迁徙,忠诚度对客单价的拉动微弱。会员体系应优先聚焦数码 + 家居老客经营,服装拼新客拉新即可。
- 折扣 × 用户层级(A×C)+ 三阶(A×B×C)均不显著:A×C F(1,288)=0.47,p=0.495;A×B×C F(2,288)=0.38,p=0.687;两项 partial η² 均 ≤ 0.003,可忽略。这意味着——①新客和老客对"满减 vs 直降"的偏好方向一致,没必要按客群定制折扣文案;②上面两个二阶交互可独立解读,不存在"折扣 × 商品类型的模式在新老客之间还要再变一次"的复杂三向调节。这是个好消息:模型可以简化为"3 主效应 + A×B + B×C"五项即可解释 96% 的有效信息。
- 方差齐性(Levene 检验):W(11,288)=1.501,p=0.130,方差齐性通过。12 单元的客单价波动幅度无显著差异,ANOVA 前提满足,F 检验结果可信。
运营策略建议:①废弃"满减还是直降"的全局选择题,改按品类下发——数码 + 家居用直降、服装用满减;②本季度最优单元是 直降 × 数码 × 老客(229.89 元),应作为旗舰主推;③避免最差组合 直降 × 服装 × 新客(157.31 元)——服装新客投放停掉直降券,全量改满减;④会员体系优先经营 数码 + 家居老客,服装老客 ROI 不足建议把预算切给拉新;⑤新老客对折扣形式偏好一致,不需要为新老客拆两套创意。下一阶段如要进一步验证,可设计 4 因素 ANOVA(加入"促销时段"维度)或对显著二阶交互做事后简单效应配对 + Bonferroni 校正,避免 α 膨胀。
8. 剖析提醒
解读顺序:三阶 → 二阶 → 主效应。本例三阶不显著(p=0.687)可直接降为 2 个二维分析;如三阶显著则必须先报告"在 C 的某水平下 A×B 模式如何",再分层报主效应。不平衡设计要切到混合模型:本案例 12 单元各 25 行完全平衡,Type Ⅰ/Ⅱ/Ⅲ SS 等价;如果实际数据每单元行数差异 > 20%(例如老客远多于新客),应改用 Type Ⅲ SS 或线性混合模型(LMM / mixed-effects),把"店铺 / 投放日期"等无关协变量纳入随机效应控制。因子数越多越要看 partial η²:3 因素 7 项检验下 α 膨胀风险显著,单看 p<0.05 容易把"统计显著但效应可忽略"的项当成发现,partial η²<0.01 的效应(如本例 A×C 0.002)即使 p 显著也无业务价值。每单元 n 至少 ≥ 15:本例 n=25 已超经验阈值,如低于该阈值(如细分到 4 个因子后每单元只剩 8 行),F 检验稳健性下降,应合并水平或采用 Bootstrap 重抽样估计。