图因果预测GCF — 时空GNN+Synthetic Control估计Listing删除的隐性需求
Skill-GCF-Counterfactual-Unobserved-Demand · 24-标签工程
causalexperimentforecastingoptimizationrecommendationpricing广告与投放供应链与补货推荐与搜索定价与利润WF-A 智能补货WF-B 广告优化WF-F 动态定价WF-G Listing内容优化
年化 ROI5-15 万元
实现难度⭐⭐⭐☆☆
业务优先级⭐⭐⭐⭐☆
业务视角
适用角色数据架构师 / 供应链数字化负责人 · CTO · 数据工程师 · 供应链团队
什么情况下用多平台数据孤岛导致断货识别延迟8小时;标签覆盖率不足使AI决策触发率<30%;想实现分析→行动自动闭环但不知从何下手
成功是什么样的统一 Tag Schema + 传播引擎将标签覆盖率从 30% 提升至 97%;Palantir 风格 Object-Action-Writeback 将补货响应从 2 天缩短至 4 小时自动触发
业务痛点
1. 解决的问题
Listing断货/广告暂停期间观测销量为0导致预测系统性低估备货量——GCF时空GNN+合成控制估计真实需求,MAPE降低75.3%,备货推荐准确率提升61.2%
2. 核心算法逻辑
核心问题:跨境电商存在大量"观测不到的需求"——Listing 被封号、商品搜索被屏蔽、竞品打压导致流量消失——此时记录到的销量是 0,但真实需求并非 0。传统预测模型只能学习"已观测的销量",会系统性低估备货需求。
3. 业务应用场景
吸奶器旗舰 ASIN 因入库超限导致 FBA 断货 3 周,期间销量记录为 0。备货决策时系统预测"日均 5 件"(被历史0值污染),但真实日均需求约 25 件。
GCF 通过同类产品合成控制,估计断货期真实需求为日均 23 件,备货量提升 4.6 倍,避免断货后恢复期的 GMV 损失。
数据要求:目标 SKU 历史销量(含断货期)、同品类对照 SKU 销量、品类相似度特征 预期产出:断货期反事实需求曲线 + 修正后的预测区间 + 建议备货量 业务价值:备货量准确率提升 61.2%,减少因历史0值污染导致的系统性低估,年化防损 5-15 万元
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ROI 预估:MAPE 降低 75.3%(AAAI 2025 验证),备货量推荐准确率↑61.2%,年化减少因历史0值污染导致的系统性低估损失 5-15 万元
- 实施难度:⭐⭐⭐☆☆(主要是数据处理 + scipy 优化,无复杂 DL 依赖)
- 优先级:⭐⭐⭐⭐☆(Listing 断货是跨境电商常态,此方法论独特价值高)
- 企业AI知识库依赖:中 — 需要同品类对照 SKU 历史数据 + 干预事件记录
7. 代码模板
代码块数量:3 · 路径:未检测到
import numpy as np
import pandas as pd
from typing import List, Optional, Dict, Tuple
from scipy.optimize import minimize
from dataclasses import dataclass
@dataclass
class GCFConfig:
"""GCF 模型配置"""
n_control_units: int = 10 # 对照 SKU 数量
pre_period_weight: float = 0.7 # 拟合前期权重
similarity_threshold: float = 0.3 # 最低相似度阈值
min_obs: int = 30 # 最少历史观测期数
class SyntheticControlSC:
"""
供应链 Synthetic Control 反事实需求估计
适用场景:
- FBA 断货期需求估计
- Listing 屏蔽期隐性需求
- 竞品干扰导致的流量损失量化
"""
def __init__(self, config: GCFConfig = None):
self.config = config or GCFConfig()
self.weights_: Optional[np.ndarray] = None
self.control_units_: Optional[List[str]] = None
self.pre_period_end_: Optional[int] = None
def _compute_sku_similarity(self, target: pd.Series,
donors: pd.DataFrame,
pre_period_end: int) -> np.ndarray:
"""计算目标SKU与对照SKU的相似度(基于预干预期销量模式)"""
target_pre = target.values[:pre_period_end]
similarities = []
for col in donors.columns:
donor_pre = donors[col].values[:pre_period_end]
# 归一化后的 cosine 相似度
if np.std(target_pre) > 0 and np.std(donor_pre) > 0:
corr = np.corrcoef(target_pre, donor_pre)[0, 1]
sim = (corr + 1) / 2 # 映射到 [0, 1]
else:
sim = 0.0
similarities.append(max(0, sim))
return np.array(similarities)
def fit(self, target: pd.Series, donors: pd.DataFrame,
intervention_start: int) -> 'SyntheticControlSC':
"""
拟合合成控制模型
Args:
target: 目标 SKU 销量时序(含干预期)
donors: 对照 SKU 矩阵(列=SKU,行=时期)
intervention_start: 干预开始的时期索引(如断货第一天)
"""
self.pre_period_end_ = intervention_start
T_pre = intervention_start
8. 论文来源
未自动抽取;请查看原始 Skill 卡片。