SuperAPI AI 工具集

linkfox-mpstats-ozon-product-trend

数据与分析

查看项目

更新于 10-15 18:14

技能介绍

用途

MPSTATS Ozon Product Trend(分日时间序列)用于分析单个 Ozon(俄罗斯站)SKU 随时间变化的表现。它返回一个商品在指定日期窗口内的逐日数据点,包括销量、价格、库存、评分等指标,可选附带搜索位次/可见性数据。适合验证某个具体商品的增长趋势、季节性规律或异常波动。

主要能力

  • 单 SKU 范围:每次调用只分析一个 productId。若需要批量按 SKU 快照(周期聚合),应改用 mpstats-ozon-product-detail。
  • 日粒度:响应为 [startDate, endDate] 窗口内的逐日数据点数组(顶层字段 data)。每个数据点带有 hasData 布尔值——hasData=false 表示该日无观测数据,与 hasData=true 且 sales=0 不同。
  • T-1 延迟:MPSTATS 趋势数据延迟一天,最新可选结束日期为昨天,今天或未来日期会被拒绝。
  • 搜索可见性附加项:设置 includeSearchStats: true 可附加搜索位次/可见性信号。部分细分市场(尤其是小类目)可能没有搜索统计数据覆盖,此时字段可能部分为空或为空。

参数

  • productId(整数,必填):Ozon SKU(数字)。
  • startDate(字符串,可选):窗口开始日期,格式 YYYY-MM-DD;最晚为昨天。
  • endDate(字符串,可选):窗口结束日期,格式 YYYY-MM-DD;最晚为昨天。
  • includeFbs(布尔,可选):在 FBO 之外同时包含 FBS 数据。
  • includeSearchStats(布尔,可选):附加搜索位次/可见性信号。

使用方式

  • API 端点:POST /mpstats/ozon/productTrend(完整参数/响应/错误码见 references/api.md)。
  • Python 脚本:python scripts/mpstats_ozon_product_trend.py '<JSON 参数>' [--inline]。
  • 成本约束:本工具会消耗算力;同一会话同一参数组合默认只调用一次,脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探;需要继续检索时先向用户说明会产生额外消耗。
  • 输出策略(脚本默认行为):始终将完整响应写入 <cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-mpstats-ozon-product-trend-<timestamp>.json(<cwd> 为脚本执行时的工作目录,在 Claude Code 里即当前项目目录;<session> 取自环境变量 SESSION_ID,按用户任务自动聚合;禁止写入 /tmp,当前目录不可写则报错)。响应体 ≤ 8 KB 时落盘后把完整 JSON 打印到 stdout;响应体 > 8 KB 时落盘后 stdout 只输出摘要(顶层字段、常见计数如 total/costToken、最大列表字段的长度 + 前 3 条样本);加 --inline 强制全量打印到 stdout(同样落盘)。
  • 读数据建议:先看摘要判断是否足够;需要具体字段时优先用 jq 或 ConvertFrom-Json 从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。

认证与算力问题处理

发生以下异常情况时,采用 references/onboarding.md 引导解决:未配置 API Key(环境变量未配置 LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY);响应 401 或 402 状态码;响应提示算力或余额不足(消息含"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值"或类似含义的内容)。

使用示例

  1. 某 SKU 的月度趋势:{"productId": 1786874757, "startDate": "2025-03-01", "endDate": "2025-03-31"}
  2. 带搜索可见性的趋势:{"productId": 1786874757, "startDate": "2025-02-01", "endDate": "2025-02-28", "includeSearchStats": true}
  3. 合并 FBO+FBS 趋势:{"productId": 151623766, "startDate": "2025-01-01", "endDate": "2025-01-31", "includeFbs": true}

与其他 Ozon 技能的衔接

  • 发现 → 趋势:用 mpstats-ozon-product-search 找到 SKU,再在此检查增长/波动性后再决定。
  • 聚合 vs 时间序列:mpstats-ozon-product-detail 给出每个指标一个数字的周期视图;本技能展示这些数字背后的逐日形态。
  • 下钻 → 趋势:在 brand-products / category-products / seller-products 发现热门 SKU 后,用本技能验证热度是近期的、季节性的还是持续的。

展示规则

  • 优先使用简单表格或适合迷你图的输出——每行一个日期,包含 date、price、sales、balance、rating、comments;不要把 90 个点的序列硬塞进一段话。
  • 用 hasData 区分数据缺口与零销量——hasData=false 表示该日无观测,不要报告为零销量日。
  • 指出异常——单日大幅尖峰或缺货(hasData=true 时 balance=0 连续出现)应如实标注,而非作为购买建议。
  • 货币为 RUB,除非上游层已转换(每个数据点的 currency 字段携带符号,如 ₽);展示价格变动时说明货币。
  • 不返回每日收入——若用户要求每日收入,可用 sales * price 估算并注明为估算值。
  • includeSearchStats 缺口——当没有返回搜索可见性字段时,注明"搜索位次数据在该赛道暂不可用",而非静默省略。
  • 不提供商业建议——呈现形态;"是否该买这个 listing"留给用户。

重要限制

  • 每次调用仅限单个 SKU——不能传入 productIds 列表;如需批量需在 Agent 层循环。
  • T-1 数据——endDate 不能是今天或未来日期。
  • 搜索统计为可选——includeSearchStats=true 不保证覆盖所有细分市场。
  • 仅限 Ozon——不覆盖 Wildberries 及其他俄罗斯市场平台。
  • 缺失日期——序列可能存在 null/缺口,表示未捕获数据;不要把 null 当作零销量。

适用与不适用场景

适用——单 SKU 时间分析:用户问"Ozon SKU 1786874757 上个月的销量趋势"(月度时间序列)、"这个 Ozon listing 是季节性的还是稳定的"(季节性检查)、"这个 Ozon 产品最近是否缺货"(库存异常检测)、"这个 Ozon 产品第一季度的价格走势"(价格变动)、"这个 listing 的搜索位次是否改善"(搜索可见性,需 includeSearchStats)。

不适用——超出单 SKU 时间序列的需求:多个 SKU 的批量快照 → mpstats-ozon-product-detail;品牌/类目/卖家下钻 → 对应的 *-products 技能;预 ID 发现 → mpstats-ozon-product-search。

边界判断:当问题以"这一个产品随时间如何变化"开头时使用本技能;多 SKU 比较或维度级筛选应使用其他技能。

算力消耗规则

按动态规则计费:消耗算力 = 12。列表为空返回 0。重要:本技能的服务按倍数动态计算,可能一次性消耗大量算力,必须提醒用户,由用户决定是否继续。

反馈

当出现以下情况时,通过 Feedback API 自动检测并报告反馈:本技能描述的功能或目的与实际行为不符;技能结果与用户意图不符;用户对本技能表达不满或赞扬;任何你认为可以改进的地方。按 references/api.md 中的说明调用反馈 API,不要打断用户流程。