Files

14 KiB

定价工具需求

状态:讨论中。本文件定义产品交互、输入输出和规则边界;不在本阶段确定数据库、接口或具体费用数值。

1. 定位

“定价工具”是同一个定价引擎的两个入口,不应建设两套公式:

  1. 即时试算:不依赖已有商品,用户输入类目、成本和包裹数据,比较同一跨境物流商下不同运输方式的报价、成本与利润。
  2. 定价方案:面向门店保存可复用的扣费与物流选择。商品编辑页的 SKU 引用方案后,只需补充采购成本、包裹重量和尺寸,即可计算销售价和划线价。

两种入口均调用同一版本的费用规则和计算引擎;每一次确认用于 SKU 的结果都必须保存完整输入、规则版本、汇率和费用拆分,不能只保存一个最终价格。

2. Ozon 类目佣金结论

现有项目中的 Ozon Seller API 文档包含类目树、类目属性、商品导入、商品查询和仓库接口;未包含“按类目获取佣金”的接口。商品导入也不返回可用于报价的类目佣金。

因此第一期在当前平台内维护独立的佣金类目树与平台佣金规则表:用户选择平台商品类目后,系统通过同平台映射找到对应的平台佣金类目,再按已维护且有生效日期的阶梯佣金规则取值。每条结果必须显示佣金来源和版本:

  • manual_rule:运营维护的类目佣金规则,首期唯一可靠来源;
  • competitor_capture:从友商页面抓取的待审核规则来源;审核通过并发布版本后,才可作为正式报价规则;
  • platform_sync:未来若 Ozon 提供稳定接口后同步;
  • product_observed:未来从已上架商品的实际费用回填,仅作参考,不能覆盖正式规则。

没有覆盖该类目的规则时,系统不得自动套用相邻类目或旧比例:显示“缺少佣金规则”,允许在即时试算中临时填写佣金率并清楚标记为临时值;SKU 定价确认则需要人工补齐规则或明确使用一次性覆盖值。

2.1 已获得的佣金数据

已获得一份从友商页面抓取的 Ozon 佣金数据。其结构是“佣金一级类目 → 佣金二级类目 → 销售价区间/佣金比例”,例如:

{
  "label": "服装",
  "cate_id": 15621031,
  "children": [{
    "label": "配饰",
    "cate_id": 41777465,
    "children": [
      { "label": "售价 ≤ 1500₽ (12.00%)", "value": "1,12.00" },
      { "label": "1500₽ < 售价 ≤ 5000₽ (14.00%)", "value": "2,14.00" },
      { "label": "售价 > 5000₽ (20.50%)", "value": "3,20.50" }
    ]
  }]
}

约定如下:

  • label 是展示名称;cate_id、层级 id 和叶子 value 是抓取来源字段,保留为来源标识,不能假设它们等同于 Ozon 商品类目 API 的 ID。
  • 叶子 value 的格式目前为 档位序号,佣金百分比;实际价格下界/上界以 label 解析或人工录入为准,导入时要转换为结构化的最小值、最大值、边界包含方式和佣金率,不能长期依赖字符串解析计算。
  • 该数据源标记为 competitor_capture,不是 Ozon 官方实时接口。导入时必须记录抓取日期、适用市场/履约模式、审核状态和生效版本;未经业务确认的版本只能用于参考试算,不能默认为正式发布报价依据。

2.2 平台商品类目与平台佣金类目的映射

平台商品类目与平台佣金类目是同一平台内的两套独立体系;它们都必须归属一个平台,禁止以相同名称或 ID 自动等同,也不能跨平台复用。一个平台佣金类目可对应多个平台商品类目;一个平台商品类目也可能因履约模式、市场或规则变更而在不同时期映射到不同的平台佣金类目。

维护“商品类目 → 佣金类目”的显式映射,并为映射保存平台、履约模式、适用市场、生效区间、优先级、来源和审核状态。报价时只取当前平台、市场、履约模式和日期下唯一有效的映射;没有唯一映射就要求人工选择,不作猜测。

2.3 阶梯佣金与反算售价

佣金率会随最终销售价变化,而销售价又受佣金影响。因此不能先随意选一档佣金后只算一次。报价引擎必须逐档计算候选销售价,并验证候选价是否落入该档价格区间;满足区间的候选即为有效结果。例如先按“≤1500₽、12%”求价,若结果超过 1500₽,则该档无效,继续按下一档重算。

结果卡必须展示命中的佣金类目、价格档位、佣金率、规则版本和边界条件。若某一档的计算结果恰好在边界,按规则中保存的包含/排除定义处理,而不是使用前端浮点数比较。

3. 页面信息架构

点击左侧“定价工具”进入一个页面,顶部使用三个页签:

页签 用途 首期
即时试算 临时输入并横向比较运输方式 是
定价方案 管理门店可复用的默认扣费和物流偏好 是
试算记录 查看、复制和复算已保存的结果 后续,可先只保留 SKU 的计算快照

“物流服务商的价格表”和“类目佣金规则”属于后台可配置资料,不应让普通卖家在每次试算中编辑。第一期仅内置 CEL,但所有选择器、规则和结果都以“服务商 + 运输方式 + 规则版本”表达,后续可增加其他服务商而不用改商品或 SKU 结构。

4. 即时试算

4.1 输入区

页面采用左侧输入、右侧结果的布局。目标平台与当前店铺不在此重复选择:它们来自页头全局工作上下文。平台是必选上下文;不同平台拥有独立的类目、佣金规则、跨境物流商和运输方式。输入分为以下四组:

分组 字段 规则
目标市场 履约模式、当前平台商品类目 当前平台和当前店铺从页头读取;店铺自动带入币种和默认定价方案。平台商品类目和平台佣金类目均强绑定当前平台;履约模式首期预留 FBS/FBO,实际可用项由该平台的佣金规则决定。
商品与包裹 采购成本、包裹实重、长/宽/高 采购成本首期以 CNY 输入;重量以 g、尺寸以 cm 或 mm 输入。体积由三边自动计算,不能只存一个孤立体积值。允许显示并在必要时人工确认体积重。
定价目标 期望加价率、划线折扣率、广告费占比、其他占比 所有比例必须明确单位为 %。期望加价率与划线折扣率的计算口径见第 7 节。
费用与物流 跨境物流商、运输方式、国内运费+代贴单、尾程(Ozon 代理费)、提现费、汇率 默认选择 CEL 并同时勾选其可用运输方式;用户可比较全部方式。国内运费+代贴单为固定金额;尾程、提现费为比例;汇率必须显示来源、值和更新时间,允许本次覆盖。

“其他”可先作为单一百分比输入,展示名称为“其他(提醒、货损等)”。规则模型必须支持将来拆成多项费用,例如货损、退款准备金、保险、税费,而不改变最终报价结构。

4.2 结果区

每种被选择的运输方式生成一张可比较的结果卡(桌面端可横向表格、移动端可纵向卡片)。默认按建议销售价升序,并突出推荐方式;推荐只依据完整成本、目标利润和规则有效性,不代表物流时效承诺。

每张结果必须同时展示:

  • 建议销售价和划线价(目标币种);
  • 毛利金额、毛利率、目标利润达成情况;
  • 采购成本;
  • 平台佣金(比例、金额、规则来源和版本);
  • 跨境物流费(实重、不计抛)以及实际计费重、抛重差额和最终跨境物流费;
  • 国内运费 + 代贴单;
  • 广告费;
  • 尾程(Ozon 代理费);
  • 提现费;
  • 其他(货损等);
  • 总成本、扣费总额、汇率与生效规则版本。

利润和建议价格一律按最终跨境物流费计算;“不计抛物流费”只是透明的对照项,不能错误地当成成本。用户点击“展开计算过程”后看到每一步公式、阈值、取整方式和输入来源;点击“保存为定价方案”可把当前可复用参数带到方案编辑器,但商品成本、尺寸和单次临时佣金覆盖不应成为默认值。

4.3 缺失与异常

  • 缺少类目佣金、有效运价、汇率、采购成本或有效包裹数据时,不输出建议售价,指出缺失项。
  • 包裹尺寸不适用于某个运输方式、超过重量/尺寸上限或无法得到计费重时,该方式单独标为不可报价,不影响其他方式。
  • 临时覆盖的佣金、汇率或运价必须以醒目标记,并且保存结果时固化为快照。

5. 定价方案

5.1 作用与范围

定价方案属于全局当前店铺;一个门店可以维护多个方案,例如“CEL 常规”“CEL 大件”“测试利润率”。门店可设置一个默认方案,商品编辑页的新 SKU 自动引用它。方案修改只影响后续试算;已有 SKU 的确认价格保留原快照,不能静默重算。

方案的可配置字段:

字段 说明
方案名称、备注、启用状态 用于识别和管理。
目标店铺、币种、履约模式 与平台规则、汇率和发布上下文绑定。
跨境物流商 首期 CEL;未来可扩展。
默认运输方式 空运、陆空、陆运之一;只可选择该服务商当前可用的运输方式。
参与比较的运输方式 即时试算默认勾选项;不等于 SKU 自动采用的方式。
国内运费 + 代贴单 固定金额。
广告费占比 销售价的百分比。
尾程(Ozon 代理费) 销售价的百分比。
提现费 销售价的百分比。
其他(货损等) 销售价的百分比;后续可拆项。
期望加价率 见第 7 节的统一口径。
划线折扣率 见第 7 节的统一口径。
汇率策略 使用系统汇率、固定汇率,或允许每次报价覆盖。

类目佣金不建议固定写死在方案中:它随商品类目选择;方案只允许设“无规则时的临时覆盖是否可用”。

5.2 商品编辑页的 SKU 定价

SKU 的“定价”按钮打开轻量报价抽屉/弹窗,而不是跳转到完整工具页。流程:

  1. 自动读取当前商品的 Ozon 类目、目标店铺、SKU 采购成本和有效包装物流规格。
  2. 自动加载店铺默认方案;用户可临时切换至该店铺其他启用方案,也可临时改变运输方式。
  3. 显示默认运输方式的结果,并可展开比较该方案中允许的其他方式。
  4. 用户确认一项运输方式和结果后,回填 SKU 的销售价、划线价、采用的运输方式及不可变更的报价快照。

临时切换方案或运输方式只影响本次 SKU 报价和确认后的报价快照,不会修改门店默认方案。SKU 缺少采购成本、包装重量或包装长宽高时,不能使用父商品的实物规格替代;若存在父商品的包装默认规格,则按既有继承规则先解析为有效包装规格。缺失或口径待确认时只允许修正数据,不允许确认价格。

6. 物流服务商与运价规则的预留

第一期 UI 仅暴露 CEL,但规则层必须支持以下信息,以适配不同服务商和运输方式:

维度 需要预留的信息
服务商 名称、代码、状态、结算币种、适用目的地/仓、备注、生效时间。
运输方式 名称、代码(如 air/land_air/land)、时效说明、状态、可承运类目或限制。
计费重量 实重单位、体积重公式/除数、计费规则(实重、体积重、两者取大、阶梯等)、进位粒度和最小计费重。
运价阶梯 起止计费重、固定费、每 kg/每续重单价、最低收费、币种、生效区间。
附加费 偏远地区、燃油、超长超重、带电/敏感货、保险、清关等;支持固定额或比例、是否纳入利润计算。
限制 重量/尺寸/体积上限、禁运类目、运输方式特有的校验与错误信息。
版本与来源 规则来源、文件/人工录入、创建人、审核状态、生效时间;任何报价引用准确版本。

CEL 的 Ozon-rFBS 资费表已提取为待审核规则,见 cel-ozon-rfbs-rates-review.md。在其中的源表疑点、计费重粒度和实际账单复算完成前,首期不得把这些费率作为正式生产报价启用。

7. 已确认的两个公式口径

旧项目试算页的“净利率”是以采购成本为基数的加价率,且以固定 15.5%/21.5% 的平台抽成估算。新工具要拆开佣金、广告、物流和其他费用,不能继续沿用该固定比例。

字段 建议定义 建议公式
期望加价率 净利润相对采购成本的比例 目标净利润 = 采购成本 × 期望加价率。建议销售价由“固定成本 + 目标净利润”除以 1 − 平台佣金率 − 广告费率 − 尾程费率 − 提现费率 − 其他费率 得到;采购成本按汇率转换到销售币种。
划线折扣率 买家相对划线价实际享受的折扣率 划线价 = 销售价 ÷ (1 − 划线折扣率);折扣必须大于等于 0 且小于 100%。

其中固定成本为:采购成本(按汇率换算)+ 最终跨境物流费 + 国内运费/代贴单 + 所有固定附加费。平台佣金、广告费、尾程、提现和其他百分比费用均以销售价为基数。

新项目只使用“划线折扣率”,不保留、不兼容也不迁移旧试算页的“划线价倍数/售价加价率”计算方式。所有新报价均按 划线价 = 销售价 ÷ (1 − 划线折扣率) 计算并保存快照。

8. 与旧试算页的继承关系

旧项目的计价模块可以复用其“按 SKU 用包装规格计算、保存报价快照、单个 SKU 出错不阻断其他 SKU”的经验;但不复用以下业务常量:物流等级 low/high/high2、固定平台佣金 12%/18%、固定“提现费及其他”约 3.5%,以及将实物尺寸当物流尺寸的旧数据。

Atlas 的定价工具以服务商运输方式、类目佣金、包裹物流规格和版本化费率为唯一依据。

9. 待确认事项

  1. 请提供首批 CEL 的空运、陆空、陆运价表和计费规则(计费重、体积重除数、阶梯、附加费、限制、生效日期);拿到后再将其整理为可录入的规则模板。