驯服归因方法系列-第二篇-因素分解-用“建构主义“驯服指标异动:一次从FBA库存到因素分解的颅内推演
2026/7/13 4:16:06 网站建设 项目流程

驯服归因方法系列-第二篇-因素分解-用"建构主义"驯服指标异动:一次从FBA库存到因素分解的颅内推演

    • 01 一个让你拍脑袋的日常场景
    • 02 锚点:一个你有数据、老板能听懂的场景
    • 03 过程:在脑子里跑一遍"替换游戏"
    • 04 验算:一张可审计的分步计算表
    • 05 找边界:替换法的两个致命限制
      • 边界一:路径依赖(换顺序结果不同)
      • 边界二:只适用于乘除关系
    • 06 回到公式:把"替换游戏"翻译成数学
    • 07 扩充场景:当可售天数拆成三个因素
    • 08 这篇文章本身,就是一次"建构"的示范
    • 09 真正值得带走的东西
    • 01 一个让你拍脑袋的日常场景
    • 02 锚点:一个你有数据、老板能听懂的场景
    • 03 过程:在脑子里跑一遍"替换游戏"
    • 04 验算:一张可审计的分步计算表
    • 05 找边界:替换法的两个致命限制
      • 边界一:路径依赖(换顺序结果不同)
      • 边界二:只适用于乘除关系
    • 06 回到公式:把"替换游戏"翻译成数学
    • 07 扩充场景:当可售天数拆成三个因素
    • 08 这篇文章本身,就是一次"建构"的示范
    • 09 真正值得带走的东西

tags:

  • FBA
  • 库存管理
  • 因素分解
  • 因素分析
  • 建构主义
  • 数据分析
  • 供应链
  • 夏利普值(SHAP)

我算过一百次"可售天数下降",每次都是先看库存、再看销量、最后拍脑袋。
直到有人告诉我:你不是不会算,你是没把"谁干的"拆成"每个人干了多少"。

驯服归因方法系列-第一篇-用“建构主义“驯服夏普利值(shapley values)——从认知科学到工业归因

01 一个让你拍脑袋的日常场景

图1 01 日常场景:FBA 库存数据表

你是亚马逊FBA的数据分析(Data Analysis)师。某天早上,你打开后台,发现一个核心SKU的可售天数从上周的30天掉到了20天。

老板在群里@你:“怎么回事?”

你打开Excel,拉出数据:

指标上周本周变化
可售库存(件)300030000
日均销量(件/天)100150+50

你一眼就看出来了:库存没变,销量涨了50%,所以可售天数从30天变成了20天。

但问题来了——

如果两个指标同时变了呢?

指标上周本周变化
可售库存(件)30002400-600
日均销量(件/天)100120+20

可售天数从30天掉到了20天。

问题:这10天的下降,有多少是"库存少了"造成的?有多少是"销量涨了"造成的?

  • 如果你说"各占一半",你是拍脑袋。
  • 如果你说"说不清楚",你是在放弃一个数据人的尊严。

这篇文章,就是帮你把这个问题算清楚。

02 锚点:一个你有数据、老板能听懂的场景

我们用FBA最核心的库存公式:

可售天数 = 可售库存 ÷ 日均销量

这是FBA补货决策的基石。无论你用WDS还是ROP,最后都要回到这个公式。

我们的锚点数据:

指标上周(基期)本周(报告期)
可售库存(件)30002400
日均销量(件/天)100120
可售天数30天20天

总变化量:20 - 30 = -10天

我们的任务是:把这-10天拆成两笔账——

  • 库存变化贡献了多少?
  • 销量变化贡献了多少?

03 过程:在脑子里跑一遍"替换游戏"


图2 03 替换游戏:固定其中一个变量改另一个

这游戏的规则极其简单:只改一个变量,看指标变多少。


第一步:从"上周"出发,先改销量

我们先把库存固定在上周(3000件),只把销量换成本周(120件/天):

假设计算值 = 3000 ÷ 120 =25天

解读:如果只有销量涨了(从100→120),可售天数会从30天降到25天。
销量变化的贡献 = 25 - 30 = -5天


第二步:从"假设计算值"出发,再改库存

现在,我们把库存换成本周(2400件),销量保持本周(120件/天):

实际本周值 = 2400 ÷ 120 =20天

解读:在销量已经涨了的基础上,库存又从3000降到了2400,可售天数从25天降到20天。
库存变化的贡献 = 20 - 25 = -5天


第三步:汇总

变动因素计算过程对可售天数的影响
销量↑(100→120)3000÷120 = 25天,25-30-5天
库存↓(3000→2400)2400÷120 = 20天,20-25-5天
合计-10天 ✓

结论:这10天的下降,销量上涨和库存下降各背5天的锅。

04 验算:一张可审计的分步计算表

如果老板说"你凭什么是各5天?换一种替换顺序会不会不一样?"

你直接上这张表,告诉他:顺序不影响最终结果,但影响每一步的账面。

我们换一种替换顺序:先改库存,再改销量。

步骤操作可售天数变化
基期库存3000 ÷ 销量10030天
①先改库存2400 ÷ 10024天-6天(库存贡献)
②再改销量2400 ÷ 12020天-4天(销量贡献)
合计20天-10天

你会发现:

  • 先改销量时:销量贡献-5天,库存贡献-5天
  • 先改库存时:库存贡献-6天,销量贡献-4天
  • 但最终谁多谁少,取决于"谁先被替换"

如果顺序会影响结果,那这套方法是不是有问题?

不是。这恰恰是我们接下来要聊的"边界"——它暴露了替换法的核心缺陷:路径依赖。

05 找边界:替换法的两个致命限制


图3 05 路径依赖:替换顺序影响贡献分解

边界一:路径依赖(换顺序结果不同)

同样的数据,先改销量→各-5天;先改库存→销量-4天、库存-6天。结论不同,怎么办?

工业界有两种解法:

解法操作适用场景
取平均法两种顺序的结果取平均日常汇报、非正式分析
夏普利值(Shapley Value)枚举所有顺序取平均需要绝对公平、多因素拆分

在只有两个因素的场景下,取平均就够了:

  • 库存贡献 = (-5 + -6) / 2 =-5.5天
  • 销量贡献 = (-5 + -4) / 2 =-4.5天

边界二:只适用于乘除关系

如果你要拆的指标是利润 = 销量 × 价格 - 固定成本,里面有减法,替换法就失效了。因为"先替换谁"的路径依赖会被加减法进一步放大。

06 回到公式:把"替换游戏"翻译成数学

如果你走完了前面三步,你已经"建构"了因素分解分析。现在回头看它的通用公式,你会觉得异常亲切:

因素分解分析 = 控制其他变量不变,依次替换每个变量的值,计算每次替换带来的指标变化量。

数学上,对于乘法模型 Y = A × B × C:

  • A的贡献 = (A₁ - A₀) × B₀ × C₀
  • B的贡献 = A₁ × (B₁ - B₀) × C₀
  • C的贡献 = A₁ × B₁ × (C₁ - C₀)

你会发现,这本质上就是控制变量法的代数表达。而你刚才在"替换游戏"里做的每一步,都在对应这些公式里的每一项。

这就是建构的威力——你先在脑子里跑通了逻辑,公式只是把那个逻辑翻译成了符号。

07 扩充场景:当可售天数拆成三个因素


图4 07 三因素分解:库存/预留/销量各贡献

现实中,FBA库存管理往往不止两个因素。比如,可售天数还可以继续拆:

可售天数 = 可售库存 ÷ (销量 × 可售率)

其中:

  • 可售库存= 总库存 - 预留库存(FC转运、仓库调拨等)
  • 销量= 日均销量
  • 可售率= 可售库存 ÷ 总库存(即库存中"可卖"的比例)

现在我们要拆解:可售天数从30天降到20天,三个因素各贡献多少?

锚点数据:

因素上周本周变化
总库存35003000-500
预留库存500600+100
日均销量100120+20

计算基期与报告期的可售天数:

  • 上周:可售库存 = 3500 - 500 = 3000,可售率 = 3000/3500 = 0.857,可售天数 = 3000/100 = 30天
  • 本周:可售库存 = 3000 - 600 = 2400,可售率 = 2400/3000 = 0.80,可售天数 = 2400/120 = 20天

总变化:-10天。三因素各贡献多少?

我们按"取平均法"处理路径依赖。分别计算三种不同替换顺序下的结果:

顺序一:总库存 → 预留库存 → 日均销量

步骤操作可售天数变化
基期3500-500=3000 ÷ 10030天
①改总库存3000-500=2500 ÷ 10025天-5天(总库存↓)
②改预留库存3000-600=2400 ÷ 10024天-1天(预留↑)
③改日均销量2400 ÷ 12020天-4天(销量↑)

顺序二:预留库存 → 总库存 → 日均销量

步骤操作可售天数变化
基期3500-500=3000 ÷ 10030天
①改预留库存3500-600=2900 ÷ 10029天-1天(预留↑)
②改总库存3000-600=2400 ÷ 10024天-5天(总库存↓)
③改日均销量2400 ÷ 12020天-4天(销量↑)

顺序三:日均销量 → 总库存 → 预留库存

步骤操作可售天数变化
基期3500-500=3000 ÷ 10030天
①改日均销量3000 ÷ 12025天-5天(销量↑)
②改总库存3000-500=2500 ÷ 12020.83天-4.17天(总库存↓)
③改预留库存3000-600=2400 ÷ 12020天-0.83天(预留↑)

取平均,得最终结论:

因素顺序一顺序二顺序三平均贡献
总库存↓-5.00-5.00-4.17-4.72天
预留库存↑-1.00-1.00-0.83-0.94天
日均销量↑-4.00-4.00-5.00-4.33天
合计-10.00-10.00-10.00-10.00天 ✓

结论:可售天数减少10天,主因是总库存下降(贡献-4.72天)和销量上涨(贡献-4.33天),预留库存增加的影响较小(-0.94天)。

这意味着,如果你的目标是恢复可售天数到30天,最有效的杠杆是补总库存——而不是去压预留库存或压制销量。

08 这篇文章本身,就是一次"建构"的示范

你刚才经历了什么:

阶段你在做什么对应"理解=建构"的三步
读到两个因素"库存和销量"锚定一个你有数据的FBA场景锚定具体事物
走完"先改销量,再改库存"在脑子里模拟了替换过程模拟变化
看到"取平均法"时理解路径依赖发现替换法的边界抽象出规律 + 找边界
看到三个因素的完整拆解表将方法论扩展到真实复杂场景迁移到实战

你不是在"背"因素分解分析。
你是在我引导下,自己在脑子里"建"出了这套方法。

09 真正值得带走的东西

这篇文章表面上在讲"怎么拆指标变化"。
但它的底层逻辑是:

因素分解分析 = 控制变量法 × 按顺序替换

它的核心步骤只有三个:

  1. 确定公式:目标指标 = 因素A × 因素B × 因素C…
  2. 依次替换:保持其他因素不变,逐个替换基期值→报告期值
  3. 汇总贡献:每次替换造成的指标变化,就是该因素的贡献

两个因素时直接算;三个及以上时取多顺序平均,消除路径依赖。

下次你遇到"指标变了,谁干的"这个问题:

  1. 写出公式(目标 = A × B × C…)
  2. 用替换法逐一代入,算出每个因素的贡献
  3. 如果因素超过2个,用取平均法消除路径依赖
  4. 三张表拍老板桌上:“这是明细,这是汇总,这是结论”

三件事做完,你就是团队里那个"把帐算清楚"的人。


最后,这段对话发生之前我提过"先学贡献度(Contribution Degree)分析和因素分解分析,再学根因分析和变量影响分析"。你现在已经建构了前者,要不要接着用同一套方法论,把根因分析(RCA)也拆了?它在库存管理里,解决的是另一个问题——“为什么会有这个异常”,而不是"异常由谁构成"。😎


🔍 相关搜索(Related Searches)
夏普利值(Shapley Value) · 建构主义(Constructionism) · 数据分析(Data Analysis) · 贡献度(Contribution Degree)

🏷️ 本文关键词(Tags)
夏普利值 · 建构主义 · 数据分析 · 贡献度

我算过一百次"可售天数下降",每次都是先看库存、再看销量、最后拍脑袋。
直到有人告诉我:你不是不会算,你是没把"谁干的"拆成"每个人干了多少"。

01 一个让你拍脑袋的日常场景

图1 01 日常场景:FBA 库存数据表

你是亚马逊FBA的数据分析(Data Analysis)师。某天早上,你打开后台,发现一个核心SKU的可售天数从上周的30天掉到了20天。

老板在群里@你:“怎么回事?”

你打开Excel,拉出数据:

指标上周本周变化
可售库存(件)300030000
日均销量(件/天)100150+50

你一眼就看出来了:库存没变,销量涨了50%,所以可售天数从30天变成了20天。

但问题来了——

如果两个指标同时变了呢?

指标上周本周变化
可售库存(件)30002400-600
日均销量(件/天)100120+20

可售天数从30天掉到了20天。

问题:这10天的下降,有多少是"库存少了"造成的?有多少是"销量涨了"造成的?

  • 如果你说"各占一半",你是拍脑袋。
  • 如果你说"说不清楚",你是在放弃一个数据人的尊严。

这篇文章,就是帮你把这个问题算清楚。

02 锚点:一个你有数据、老板能听懂的场景

我们用FBA最核心的库存公式:

可售天数 = 可售库存 ÷ 日均销量

这是FBA补货决策的基石。无论你用WDS还是ROP,最后都要回到这个公式。

我们的锚点数据:

指标上周(基期)本周(报告期)
可售库存(件)30002400
日均销量(件/天)100120
可售天数30天20天

总变化量:20 - 30 = -10天

我们的任务是:把这-10天拆成两笔账——

  • 库存变化贡献了多少?
  • 销量变化贡献了多少?

03 过程:在脑子里跑一遍"替换游戏"

图2 03 替换游戏:固定其中一个变量改另一个

这游戏的规则极其简单:只改一个变量,看指标变多少。


第一步:从"上周"出发,先改销量

我们先把库存固定在上周(3000件),只把销量换成本周(120件/天):

假设计算值 = 3000 ÷ 120 =25天

解读:如果只有销量涨了(从100→120),可售天数会从30天降到25天。
销量变化的贡献 = 25 - 30 = -5天


第二步:从"假设计算值"出发,再改库存

现在,我们把库存换成本周(2400件),销量保持本周(120件/天):

实际本周值 = 2400 ÷ 120 =20天

解读:在销量已经涨了的基础上,库存又从3000降到了2400,可售天数从25天降到20天。
库存变化的贡献 = 20 - 25 = -5天


第三步:汇总

变动因素计算过程对可售天数的影响
销量↑(100→120)3000÷120 = 25天,25-30-5天
库存↓(3000→2400)2400÷120 = 20天,20-25-5天
合计-10天 ✓

结论:这10天的下降,销量上涨和库存下降各背5天的锅。

04 验算:一张可审计的分步计算表

如果老板说"你凭什么是各5天?换一种替换顺序会不会不一样?"

你直接上这张表,告诉他:顺序不影响最终结果,但影响每一步的账面。

我们换一种替换顺序:先改库存,再改销量。

步骤操作可售天数变化
基期库存3000 ÷ 销量10030天
①先改库存2400 ÷ 10024天-6天(库存贡献)
②再改销量2400 ÷ 12020天-4天(销量贡献)
合计20天-10天

你会发现:

  • 先改销量时:销量贡献-5天,库存贡献-5天
  • 先改库存时:库存贡献-6天,销量贡献-4天
  • 但最终谁多谁少,取决于"谁先被替换"

如果顺序会影响结果,那这套方法是不是有问题?

不是。这恰恰是我们接下来要聊的"边界"——它暴露了替换法的核心缺陷:路径依赖。

05 找边界:替换法的两个致命限制

图3 05 路径依赖:替换顺序影响贡献分解

边界一:路径依赖(换顺序结果不同)

同样的数据,先改销量→各-5天;先改库存→销量-4天、库存-6天。结论不同,怎么办?

工业界有两种解法:

解法操作适用场景
取平均法两种顺序的结果取平均日常汇报、非正式分析
夏普利值(Shapley Value)枚举所有顺序取平均需要绝对公平、多因素拆分

在只有两个因素的场景下,取平均就够了:

  • 库存贡献 = (-5 + -6) / 2 =-5.5天
  • 销量贡献 = (-5 + -4) / 2 =-4.5天

边界二:只适用于乘除关系

如果你要拆的指标是利润 = 销量 × 价格 - 固定成本,里面有减法,替换法就失效了。因为"先替换谁"的路径依赖会被加减法进一步放大。

06 回到公式:把"替换游戏"翻译成数学

如果你走完了前面三步,你已经"建构"了因素分解分析。现在回头看它的通用公式,你会觉得异常亲切:

因素分解分析 = 控制其他变量不变,依次替换每个变量的值,计算每次替换带来的指标变化量。

数学上,对于乘法模型 Y = A × B × C:

  • A的贡献 = (A₁ - A₀) × B₀ × C₀
  • B的贡献 = A₁ × (B₁ - B₀) × C₀
  • C的贡献 = A₁ × B₁ × (C₁ - C₀)

你会发现,这本质上就是控制变量法的代数表达。而你刚才在"替换游戏"里做的每一步,都在对应这些公式里的每一项。

这就是建构的威力——你先在脑子里跑通了逻辑,公式只是把那个逻辑翻译成了符号。

07 扩充场景:当可售天数拆成三个因素

图4 07 三因素分解:库存/预留/销量各贡献

现实中,FBA库存管理往往不止两个因素。比如,可售天数还可以继续拆:

可售天数 = 可售库存 ÷ (销量 × 可售率)

其中:

  • 可售库存= 总库存 - 预留库存(FC转运、仓库调拨等)
  • 销量= 日均销量
  • 可售率= 可售库存 ÷ 总库存(即库存中"可卖"的比例)

现在我们要拆解:可售天数从30天降到20天,三个因素各贡献多少?

锚点数据:

因素上周本周变化
总库存35003000-500
预留库存500600+100
日均销量100120+20

计算基期与报告期的可售天数:

  • 上周:可售库存 = 3500 - 500 = 3000,可售率 = 3000/3500 = 0.857,可售天数 = 3000/100 = 30天
  • 本周:可售库存 = 3000 - 600 = 2400,可售率 = 2400/3000 = 0.80,可售天数 = 2400/120 = 20天

总变化:-10天。三因素各贡献多少?

我们按"取平均法"处理路径依赖。分别计算三种不同替换顺序下的结果:

顺序一:总库存 → 预留库存 → 日均销量

步骤操作可售天数变化
基期3500-500=3000 ÷ 10030天
①改总库存3000-500=2500 ÷ 10025天-5天(总库存↓)
②改预留库存3000-600=2400 ÷ 10024天-1天(预留↑)
③改日均销量2400 ÷ 12020天-4天(销量↑)

顺序二:预留库存 → 总库存 → 日均销量

步骤操作可售天数变化
基期3500-500=3000 ÷ 10030天
①改预留库存3500-600=2900 ÷ 10029天-1天(预留↑)
②改总库存3000-600=2400 ÷ 10024天-5天(总库存↓)
③改日均销量2400 ÷ 12020天-4天(销量↑)

顺序三:日均销量 → 总库存 → 预留库存

步骤操作可售天数变化
基期3500-500=3000 ÷ 10030天
①改日均销量3000 ÷ 12025天-5天(销量↑)
②改总库存3000-500=2500 ÷ 12020.83天-4.17天(总库存↓)
③改预留库存3000-600=2400 ÷ 12020天-0.83天(预留↑)

取平均,得最终结论:

因素顺序一顺序二顺序三平均贡献
总库存↓-5.00-5.00-4.17-4.72天
预留库存↑-1.00-1.00-0.83-0.94天
日均销量↑-4.00-4.00-5.00-4.33天
合计-10.00-10.00-10.00-10.00天 ✓

结论:可售天数减少10天,主因是总库存下降(贡献-4.72天)和销量上涨(贡献-4.33天),预留库存增加的影响较小(-0.94天)。

这意味着,如果你的目标是恢复可售天数到30天,最有效的杠杆是补总库存——而不是去压预留库存或压制销量。

08 这篇文章本身,就是一次"建构"的示范

你刚才经历了什么:

阶段你在做什么对应"理解=建构"的三步
读到两个因素"库存和销量"锚定一个你有数据的FBA场景锚定具体事物
走完"先改销量,再改库存"在脑子里模拟了替换过程模拟变化
看到"取平均法"时理解路径依赖发现替换法的边界抽象出规律 + 找边界
看到三个因素的完整拆解表将方法论扩展到真实复杂场景迁移到实战

你不是在"背"因素分解分析。
你是在我引导下,自己在脑子里"建"出了这套方法。

09 真正值得带走的东西

这篇文章表面上在讲"怎么拆指标变化"。
但它的底层逻辑是:

因素分解分析 = 控制变量法 × 按顺序替换

它的核心步骤只有三个:

  1. 确定公式:目标指标 = 因素A × 因素B × 因素C…
  2. 依次替换:保持其他因素不变,逐个替换基期值→报告期值
  3. 汇总贡献:每次替换造成的指标变化,就是该因素的贡献

两个因素时直接算;三个及以上时取多顺序平均,消除路径依赖。

下次你遇到"指标变了,谁干的"这个问题:

  1. 写出公式(目标 = A × B × C…)
  2. 用替换法逐一代入,算出每个因素的贡献
  3. 如果因素超过2个,用取平均法消除路径依赖
  4. 三张表拍老板桌上:“这是明细,这是汇总,这是结论”

三件事做完,你就是团队里那个"把帐算清楚"的人。


最后,这段对话发生之前我提过"先学贡献度(Contribution Degree)分析和因素分解分析,再学根因分析和变量影响分析"。你现在已经建构了前者,要不要接着用同一套方法论,把根因分析(RCA)也拆了?它在库存管理里,解决的是另一个问题——“为什么会有这个异常”,而不是"异常由谁构成"。😎


🔍 相关搜索(Related Searches)
夏普利值(Shapley Value) · 建构主义(Constructionism) · 数据分析(Data Analysis) · 贡献度(Contribution Degree)

🏷️ 本文关键词(Tags)
夏普利值 · 建构主义 · 数据分析 · 贡献度

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询