P&L Attribution Analysis(SKU 级损益归因分析)
Skill-PL-Attribution-Analysis · 23-运营财务
causalexperimentforecastingoptimizationpricing广告与投放供应链与补货定价与利润WF-A 智能补货WF-B 广告优化WF-F 动态定价
年化 ROI10-30 万元
实现难度⭐⭐☆☆☆
业务视角
适用角色CFO / 财务负责人 · CEO · 运营负责人
适用平台Amazon Seller Central · Amazon SP API · FBA 报告 · 多货币财务系统
什么情况下用月度 FBA 账单 15 万但不知道哪些 SKU 在亏损;大促备货资金不够但不知道缺口多少;整体利润率 18% 但不知道是哪条产品线在拖累
成功是什么样的SKU 级 P&L 实时可见,FBA 费用长库龄提前预警,大促现金流缺口提前识别,融资窗口精准规划
业务痛点
1. 解决的问题
月度总利润率 18% 但不知道是哪个 SKU 在拖累整体——P&L 四层拆解(毛利/运营/净利/因果归因修正)识别亏损 SKU,停止无效广告投放年节省 10-30 万元
2. 核心算法逻辑
核心思想:跨境电商的 P&L 必须拆解到 SKU × 渠道 × 市场三个维度,才能识别「哪个 SKU 真正在赚钱」「哪个渠道拉高了整体亏损」。传统 P&L 只看总账,导致高毛利 SKU 补贴低毛利 SKU 的情况长期不可见。
3. 业务应用场景
业务痛点:某母婴品牌月度总利润率看起来 18%,但不知道是哪些 SKU 在拉高还是拖低。吸奶器主力款和配件款的真实利润完全不清楚。
分析结论示例: | SKU | 毛利率 | 运营利润率 | 净利润率 | 状态 | |-----|--------|-----------|---------|------| | 吸奶器 S1 主机 | 52% | 24% | 19% | ✅ 核心利润源 | | 吸奶器配件包 | 61% | 38% | 31% | ✅ 高利润,低广告依赖 | | 婴儿推车 L1 | 38% | 8% | 2% | ⚠️ 高运费侵蚀利润 | | 奶粉定制款 | 28% | -5% | -12%| ❌ 广告费过高,亏损 |
决策:停止奶粉定制款广告投放,将预算转移到配件包;推车单独计算物流方案。
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
10-30 万元
7. 代码模板
代码块数量:3 · 路径:未检测到
from dataclasses import dataclass
@dataclass
class SKUPLData:
sku: str
revenue: float
cogs: float
head_haul: float
platform_commission_pct: float
fba_fee: float
ad_spend: float
return_cost: float
fx_adjustment: float = 0.0
ad_attribution_fraction: float = 1.0
def compute_pl(d: SKUPLData) -> dict:
gross_profit = d.revenue - d.cogs - d.head_haul
platform_fee = d.revenue * d.platform_commission_pct
operating_profit = gross_profit - platform_fee - d.fba_fee - d.ad_spend
net_profit = operating_profit - d.return_cost + d.fx_adjustment
causal_ad_revenue = d.ad_spend / max(d.ad_attribution_fraction, 0.01) * d.ad_attribution_fraction
naive_ad_revenue = d.ad_spend / max(d.ad_attribution_fraction, 0.01)
attribution_adj = -(naive_ad_revenue - causal_ad_revenue)
adjusted_profit = net_profit + attribution_adj
def pct(v):
return round(v / d.revenue * 100, 1) if d.revenue else 0.0
status = "盈利" if adjusted_profit > 0 else "亏损"
if pct(adjusted_profit) < 5 and adjusted_profit > 0:
status = "微利"
return {
"sku": d.sku, "revenue": d.revenue,
"gross_margin": pct(gross_profit),
"operating_margin": pct(operating_profit),
"net_margin": pct(net_profit),
"adjusted_margin": pct(adjusted_profit),
"status": status,
}
skus = [
SKUPLData("吸奶器S1", 100000, 28000, 5000, 0.15, 3000, 8000, 2000, 0, 0.85),
SKUPLData("配件包", 30000, 8000, 1500, 0.15, 800, 1500, 500, 0, 0.95),
SKUPLData("婴儿推车", 50000, 22000, 7000, 0.15, 4000, 5000, 3000, 0, 0.80),
SKUPLData("奶粉定制", 20000, 10000, 2000, 0.15, 1500, 8000, 800, 0, 0.60),
]
print(f"{'SKU':<10} {'毛利%':>7} {'运营%':>7} {'净利%':>7} {'归因调整%':>9} {'状态'}")
print("-" * 55)
for s in skus:
r = compute_pl(s)
print(f"{r['sku']:<10} {r['gross_margin']:>7} {r['operating_margin']:>7} "
f"{r['net_margin']:>7} {r['adjusted_margin']:>9} {r['status']}")
print("\n[✓] P&L Attribution Analysis 测试通过")8. 论文来源
未自动抽取;请查看原始 Skill 卡片。