跨境电商运营副驾驶

选品评分 · 贡献利润测算 · 竞品变化监控 —— 同一套逻辑,命令行 / AI / 网页三个入口

输入

改任意一项,右侧实时重算。

结果

为什么保本价是「除以 (1 − 费率)」

因为佣金和支付手续费按 售价 百分比收取,不是按成本收取。 固定成本 43 元、费率合计 12% 时,正确算法是 43 ÷ 0.88 = 48.86, 而不是 43 × 1.12 = 48.16。后者每单会少算几块钱,而且错得不明显。

广告 Broke-even ROAS = 1 ÷ 贡献利润率。利润率 20% 意味着广告每花 1 元 至少要带回 5 元销售额才不亏 —— 同一个 ROAS 在不同利润率的品上,可能一个赚一个亏。

六维度评分与硬性淘汰

需求稳定性 25 + 竞争缺口 20 + 贡献利润 20 + 物流履约 15 + 合规风险 10 + 内容展示 10 = 100。

硬性淘汰优先于总分:出现禁限售 / 功效宣称风险,或贡献利润 ≤ 0, 直接出局,不等总分算完。看「美白牙贴」那行 —— 需求分和缺口分都是全场最高, 总分仍然是 0。合规不是扣点分,是一票否决。

六项里只有一项是系统算的

贡献利润由系统按真实平台费率计算,是唯一客观项。 另外四项(需求稳定性、竞争缺口、物流履约、内容展示)需要运营自己判断打分。 这个工具的定位是把打分标准固定下来 + 算准利润 + 自动执行红线, 不是替人做判断 —— 它是纪律工具,不是决策替代品。

竞品变化日报

识别降价 / 涨价 / 新品上榜 / 下架 / 促销变化 / 评分变化,每类配一条处理建议。

日报不是把价格列一遍。它要回答四个问题:谁变了、变了什么、可能原因是什么、 建议观察还是立即处理。降价的默认建议是「先核算己方贡献利润再决定是否跟价」—— 不是直接跟价,因为跟价可能把自己打到亏损线以下。

竞品快照

① 从真实竞品里挑候选品

⚠️ 币种必须换算。抓来的售价是平台当地货币,而成本模型以人民币计价 (采购价来自 1688、物流是国内货代报价)。两者直接相减会得出完全错误的结论 —— 22.99 美元的品,若当成 22.99 元去减 42 元采购价,会被误判为亏本淘汰。
这里的默认汇率是占位量级,不是实时汇率,请自行核实当日汇率后修改。
已勾选 0 个

② 补齐抓不到的字段

这几列抓取拿不到,只能你自己填: 采购价 / 包装 / 重量 / 体积是供应链数据——去 1688、阿里巴巴找同款问供应商报价; 需求 / 缺口 / 物流 / 内容四项打分是运营自己的判断,系统不代填。
计划售价已用竞品售价预填,这是「对标定价」的起点,可以改。

③ 评分结果

保存后自动重算。缺采购价或计划售价的品会被判为无法测算。

为什么不能直接比标价

¥38/件 · MOQ 1000 · 不含税 · 不含运¥42/件 · MOQ 100 · 含税 · 含运 哪个便宜? 你只要 200 件时,前者根本买不到;就算买得到,加上税和国内运费后可能更贵。

真正可比的是 到仓成本单价适用阶梯单价(按需含税)+(国内运费 + 打样费 + 模具费)÷ 实际采购量

本工具不抓取供货平台报价。实测 1688、阿里巴巴国际站、义乌购、DHgate 的价格全在登录墙或反爬后面(1688 正文只返回 97 字符,AliExpress 撞 Sign in 墙), 而且 B2B 采购价大量是「面议」——那本来就是谈出来的,不是挂出来的。 报价请人工录入,或从平台自己的导出文件导入。

① 录入各平台报价

每一列填什么(不确定就点开)

这些数不是你估的,是去 1688 / 阿里巴巴问供应商拿的。 打开商品页,或者点「聊天」问店家,把他给的数原样抄进来。 至少录两三家才有比价的意义——只录一家,算出来还是那一家。

填什么不知道就填
平台报价从哪来的(1688 / 义乌购 / 线下档口…)照实选
供应商店铺名或工厂名,用来区分是哪一家。
例:义乌某某日用品厂1688-旺铺A
随便写个能认出来的代号
标价¥商品页上挂的单价(人民币/件)——必填
MOQ最小起订量。商品页写「10 件起批」就填 101
阶梯价买越多越便宜的那张表。格式 数量:单价,多档用 ; 隔开:
100:42.5;500:38;1000:35
留空(没有阶梯就按标价算)
含税报价是否已含增值税。1688 大多数标价是不含税的, 要专票得另加 13%。不确定就问店家「这个价含不含票」不勾(当作不含税,成本算高一点更安全)
含运是否包邮到你手里不勾
国内运费¥这一整批货的运费总额,不是每件的。 系统会自己除以件数0,但记得回头补
打样费¥寄样品收的钱。一次性费用,会摊到每件上0
模具费¥开模费。定制品才有,现货一般是 00
交期天下单到发货要几天。超过 20 天会提示断货风险留空
报价日期店家给你报价那天。留空会被警告—— 报价会变,没日期的报价不能当决策依据今天的日期
两个常填错的地方:
「供应商」填的是店名,不是快递方式。填「平邮」「顺丰」是不对的—— 那属于运费信息,该体现在「含运」和「国内运费」两列。
「国内运费」填总额不填单件。店家说「运费 300」,就填 300, 别自己先除以件数——系统会按实际采购量摊。

填不全也能先比。 不确定的留默认值先跑一遍,看看差距有多大,再决定值不值得回头问店家要准数。 每条报价缺什么,比价结果里都会单独提示。

② 到仓成本对比

③ 用选中的报价作为采购价

写入 data/products.csvcost_price,打通到选品评分。写前自动备份。

Listing 文案生成 · 三层 Prompt 架构

决策层出「内容策略卡」→ 执行层按平台出文案 → 质检层扫合规风险。 架构复用自开源项目 xhs-content-workflow,从小红书内容场景迁移而来。

为什么不直接在页面里调 AI

在网页里调 LLM 需要把 API Key 放进浏览器 —— 密钥会暴露在前端,且你的产品数据会发给第三方。 本面板刻意只生成 Prompt、不碰任何 API Key,你把 Prompt 粘到自己的 AI 工具里跑, 数据流向完全由你控制。

想要全自动,正确做法是把这套 Prompt 装成 Claude Code Skill (cp -r skills/listing ~/.claude/skills/), 或通过 MCP 由 AI 助手编排 —— 两者都在你自己机器上运行。

抓取真实竞品数据

新手别只看热销榜。实测美国站办公用品热销榜前 68 名里, 76% 是大牌或 Amazon 自有品牌、62% 售价低于 $10 —— 那是已经被占住的位置,从这里选品等于挑最强的对手打。 新品榜看的是最近上架且卖得动的,缺口更可能还在; 飙升榜看排名涨得最快的,适合抓短期趋势。


      
抓取的硬性约束(写在服务端,前端改不了): 站点白名单 · 类目 slug 只允许小写字母数字连字符 · 单次最多 3 页 · 间隔强制 ≥3 秒 · 只抓公开 Best Sellers 榜单页。 服务只绑定 127.0.0.1,且不提供改价 / 上架 / 投放 / 发消息任何接口

快照与变化对比

⚠️ 两份快照必须同类目、同页数。范围不同时多出来的商品会被误判成「新品上榜」—— 系统会自动只在共同区间内比对并在顶部警告,但那部分数据等于白抓了。

每日工作流

一次跑完「导入 → 比对 → 评分摘要 → 落盘报告」。


  

平台 / 市场 / 站点全部可自定义

这三类清单不写在代码里,都是 data/*.yaml 配置文件。 在这里改完保存即刻生效,所有计算立刻用新配置,不需要重启、不需要动代码。

写坏了不会有事:保存前自动备份,保存后立刻用 YAML 解析并校验必需字段, 解析失败或缺字段会自动回滚到修改前的版本,并告诉你哪里错了。

三份配置怎么填

销售平台费率 platforms.yaml

你的平台名:
  commission_rate: 0.13     # 平台佣金率(必需)
  payment_fee_rate: 0.029   # 支付手续费率(必需,含在佣金里就填 0)
  return_rate:              # 退货准备金率(可按类目区分)
    default: 0.08
    baby_safety: 0.12

已内置 16 个平台:Amazon(标准 / 电子 / 服饰)、TikTok Shop(常规 / 新卖家)、 独立站(Stripe / PayPal)、eBay、Walmart(常规 / 低费率类目)、Etsy、Temu、 Shopee(本地 / 新加坡跨境 / 马来跨境)、Lazada。 佣金与支付费率是查公开费率表填的,来源链接写在文件头注释里; 退货率全部是估算占位值

⚠️ 含固定费的平台会被低估成本。eBay 每单 $0.30、Etsy 每单 $0.25 加每 listing $0.20 —— 本模型只算百分比费率,没有计入固定费,低客单价商品尤其要注意。

目的市场物流 logistics_rates.yaml

你的市场代码:
  base_fee: 15        # 首重基础费(元,必需)
  rate_per_kg: 20     # 续重单价(元/kg,必需)

已内置 10 个市场:US / EU / SEA / UK / JP / CA / AU / MX / BR / ME。 全部是估算占位值 —— 货代报价一对一议价、不公开挂牌, 找货代(4PX、云途、燕文、递四方等)要一份 rate card 后替换。

抓取站点 sites.yaml

站点代码:
  domain: www.amazon.xx
  currency: XXX
  verified: false     # 是否实测抓取成功过(面板会标 ✓)
  enabled: true       # 改成 false 就不出现在抓取下拉里
  note: 备注
⚠️ 加站点不是只改这里就能抓。抓取工具(amzrank)也要支持该站点, 否则会报「页面没有榜单元素」。已内置 us / jp / uk / de 四个站可抓; fr / it / es / ca / au 已列出但 enabled: false, 因为需要先在抓取工具的 SITES 里补对应配置

类目 slug

类目不需要配置,本来就是自由填的。只校验格式(小写字母、数字、连字符), 不限制取值 —— 因为各站 slug 不同(美国站玩具是 toys-and-games 而不是 toys)。 抓不到时去目标站榜单页,看地址栏 /gp/bestsellers/<这一段>/ 的真实值。

数据存在哪里

本面板不会把你的数据上传到任何服务器。三种存储方式,你自己选:

浏览器本地
默认可用
存在浏览器 localStorage 里,只在这台机器这个浏览器中。 清缓存会丢,不同设备不同步,Claude 和任何人都读不到。适合临时对比结果。
本机文件
需本地服务
抓取结果写成 data/real/*.csv 与本地 SQLite (data/history.db),完全在你机器上。这是主力方式。
自建数据库
需自行接入
见下方说明。要用支持浏览器直连的数据库(如 Supabase), 或让本地服务代写。凭据只存在你本地,不进仓库。

浏览器本地存储

接入自建数据库

浏览器只能直连显式开放了 CORS 的数据库服务(Supabase、PocketBase 这类)。 MySQL / PostgreSQL 这类原生协议数据库浏览器连不上,必须由本地服务代写。

凭据风险请自行判断:key 存在浏览器 localStorage 里, 同机器上的其他脚本理论上能读到。只填 anon / 只写权限的 key,不要填 service role key。 本面板不会把凭据发到除你填的那个端点之外的任何地方。

数据真实性分三类

真实公开数据 平台佣金、支付手续费率。来源链接与查询日期写在 data/platforms.yaml 文件头注释里。 例如 TikTok Shop 美区 referral fee 为 6%,已包含支付处理费,无单独交易手续费
估算占位值 退货率(平台不公布,只能用自己店铺历史订单统计)、头程物流费率(货代一对一报价,不公开挂牌)。 这两项换成真实数字不需要改任何代码
训练用虚构 示例商品清单、演示用竞品快照(URL 为不可路由占位域名)。 保留它们是为了让测试与演示不依赖网络
用于任何真实经营决策前,请把后两类全部换成自己的真实数据。 平台费率会变,请以官方费率页为准。

踩过的一个分析陷阱

第一次用真实数据做对比时,系统报出 38 条「新品上榜」——全是假的。 原因是两次抓取的页数不同:前一次抓 1 页(前 30 名),后一次抓 2 页(前 88 名), 第 31–88 名的商品在前一份快照里根本不存在,自然全被判成新出现。 工具没算错,是对比方法错了。

修法:自动只在两份快照共同覆盖的排名区间内比对, 范围不一致就在报告顶部警告。修完重跑同一组数据,38 条假新品全部消失,只剩 1 条真实降价。

数据工具最危险的不是算错,是算出一个看起来合理的错误结论。 38 条新品上榜如果没多想,写进周报就是一个完全错误的市场判断。

三个入口,同一套逻辑

命令行python cli.py score-products / profit / monitor / ingest。全部离线运行,无需账号与 API Key。
AI 助手MCP Server 暴露 6 个工具,含审批分级:4 个只读;起草 Listing 需人工审核;改价工具禁止自动执行 —— 函数里根本没有调用店铺 API 的代码
网页本页面。计算公式由 Python 端移植,页面加载时会自动校验与 Python 结果一致(见页脚)。

本项目不做自动改价、自动上架、自动投放广告、自动发送客户或达人消息 —— 这些永远需要人工在平台后台确认执行。