跨零售商的产品匹配:规范化 SKU、GTIN 和变体
Scrapeless Agent Browser 渲染零售商的变体选择,而 Scrapeless Residential Proxies 让采集端能够观察与选定位置相关联的店面上下文。
摘要
- 零售商 SKU 属于零售商命名空间。 保留原始值,并在零售商加本地标识符的组合上进行关联。
- GTIN 规范化需要保留标识符结构中的重要信息。 在将代码视为证据之前,先校验支持的位数长度和校验位。
- 产品身份与卖家报价存放在不同记录中。 一个目录变体可以关联多个报价和重复的观测结果。
- 变体属性可以否决一个表面看似合理的候选。 拒绝与品类相关的包装数量、成色、电压或其他维度上的冲突。
一眼看懂的产品匹配流水线
跨零售商的产品匹配将各店独有的商品列表关联到同一贸易单元或目录变体,从而在定义好的基础上比较价格。它从原始列表开始,捕获所选变体,对标识符进行规范化,生成候选集合,评估冲突并存储可解释的决策。始终保持购买单位固定。同样标题的页面仍可能描述一个套装、另一种规格或二手商品,而与你的目录行并不一致。
围绕三类实体进行设计。产品族记录品牌、系列等共享属性。变体包含定义贸易单元的属性。报价描述由谁在特定市场、以何种条件销售该变体。 ProductGroup 词汇 表示共享的产品属性以及变体之间的关系。 Offer 词汇 表示商业条款。你的 schema 可以使用不同的字段名,只要保持这条边界即可。
零售商变体与内部目录变体之间的链接应记录决策方法、对比的属性、匹配规则的版本以及输入证据。当列表发生变化时,为审核人员保留一份持久记录。如果零售商在新一代商品上复用原有的商品路径,旧的匹配决策仍然可以解释它之前关联的观测记录。
阶段 1:捕获报价所描述的变体
将所选选项状态与可见报价一起捕获。零售商可能把多个颜色或容量放在一个共享的规范页面下。组级 JSON-LD 标识符可能指向基础型号,而选中行显示的是不同的变体 ID。保留请求和最终 URL、所选属性、原始 SKU 和 GTIN 候选,以及每个标识符的来源。
在交互式页面上,使用 Scrapeless Agent Browser 来操作选项控件,并等待选定的变体与报价达成一致。 Agent Browser automation solution 适用于渲染状态很重要的浏览器驱动型流程。如果匹配来源提供不同的市场品类组合,请使用 Residential Proxies 进行与市场对齐的采集,并在结果中验证店面区域。出口流量本身不会告诉你站点是否应用了之前的市场偏好设置。
为调查同时保留初始证据和已接受证据。即使渲染页面没有展示,数据源提要中也可能暴露出该贸易单元的精确 GTIN。渲染页面可能展示出数据提要只压缩为宽泛类别的包装或成色信息。在字段级标注来源,以便审核人员看到冲突从何而来。
阶段 2:在不破坏含义的前提下规范化标识符
SKU 规范化将零售商特定规则应用于本地库存代码。保留源字符串和规范化后的字符串。修剪已知的传输空白字符,仅在该零售商的约定将其视为不重要时才改变大小写或分隔符。看起来像颜色码的后缀可以区分两个变体。前导零也可能有意义。将本地标识符存储为字符串。
GTIN 规范化将代码视作一串数字,并遵循 GS1 General Specifications中的标识符规则。检查允许的 GTIN 长度并验证校验位。校验通过后,如果约定如此,可将较短的有效 GTIN 用前导零填充到统一的 14 位对比表示。保留原始表示和包装上下文。有效的校验和可以发现部分抄录错误,但不能证明该代码一定属于页面上的商品。
当 GTIN 缺失时,制造商零件号可能很有用。用规范化后的制造商限定零件号的作用域,并捕获表示地区、颜色或包装的有意义后缀。将零售商 SKU 与零件号区分开来。即便两个域之间出现完全相同的本地 SKU,也可能只是巧合,如果这些代码是由零售商各自独立分配的话。
| 信号 | 匹配处理方式 | 常见例外 |
|---|---|---|
| 已验证 GTIN | 生成高优先级候选并比较标识属性 | 兄弟变体之间共享或错误的代码 |
| 制造商加 MPN | 在制造商范围内比较完全规范化的零件号 | 市场后缀或更新一代产品 |
| 零售商加 SKU | 在其自身目录中识别一个列表 | 零售商复用或做别名映射的代码 |
| 标题和属性 | 生成用于打分和审核的候选项 | 标题漏写包装数量或成色 |
阶段 3:在相似度打分前拒绝严重冲突
如果候选项违反了必需的变体维度,就应当退出自动匹配路径。对于咖啡胶囊,即使品牌和口味一致,也无法弥补“12 粒装”和“6 盒 12 粒装整箱”之间的差异。对于家电,电压和接口类型可能也很重要。按品类定义必需维度,并将缺失的维度视为未知。已知冲突与属性缺失在复审决策上应当区别对待。
考虑一个虚构的咖啡胶囊商品,零售商 SKU 为 B-099,复制了单盒装记录中的有效 GTIN,标题写的是“6 盒装整箱”。你自己的目录商品是单盒装版本。这个候选项应该保持“未解决”状态,或被作为不同购买单位而拒绝,并保存标题和包装证据。当定价团队明确需要按每粒胶囊的等效成本比较时,可以单独生成单位价格对比。
在缺乏强标识符时,模糊匹配是一种候选生成工具。先按品类和品牌限制候选集合,再比较规范化后的型号标记和带类型的属性。避免将品类级别的形容词当作身份信号。构建一个带有困难负样本的标注集合,其中包括容量相近和视觉上完全相同的套装,并针对该集合评估每条自动接受规则的准确率。
阶段 4:存储决策、覆盖和修订
可审计的匹配是一种带版本的关系,并附有原因,例如“GTIN 完全一致且属性已确认”“人工匹配”“因包装冲突被拒绝”或“身份未解决”。保留匹配生效的时间点,让历史定价查询可以选取观测时有效的关系。未来的修正可以生成修订后的视图,而无需删除原始溯源信息。
对自动匹配候选写入和覆盖审批使用不同的权限。向审核者展示原始标识符、规范化标识符、对比属性、最近抓取结果、来源市场以及规则犹豫的原因。当目录所有者预期来源会发生变化时,对覆盖设置时效。记录负责审核过期决策的团队或服务。
分别发布覆盖率和准确率。自动匹配率可能上升的同时,错误合并也在增加。在已接受的那一组上衡量质量,并从未解决那一组抽样,看看规则漏掉了哪些有价值的关联。将结果与 区域价格监控工作流 以及 竞争性定价流水线指南 配对,这样连接结果就能为正确市场提供对比。根据 Scrapeless pricing 中测得的变体选择和市场检查组合,估算采集成本。
在修改规则前检查跨店铺分歧
把店铺之间的分歧当作一次诊断任务。在调整阈值前,检查每条观测记录是否指向相同的包装、成色和已选配置。如果冲突只是在某个来源模板变更后才出现,对比归档的字段溯源与当前解析器输出。促销标题可能会引入一些字段,使匹配器将其解读为套装大小。店铺改版可能会把变体 ID 放到一个被该系列所有商品共用的元素上。
在调查结束后保留一条裁决过的示例。审核者应该记录哪些证据会改变决策,例如清晰的制造商标识符,或授权数据源中带有标注单位的图片。在评估规则修订时使用该示例。可以通过让更多品类经过同一道闸门来提升自动匹配率,但可靠的修订应当是提升某个已知群组的接受率,并保持在困难负样本上的表现。
只发布可比较报价的连接
从一个目录团队能自信标注变体属性的品类起步。从两个来源中抓取被选中的购买单位,并把已批准的匹配原因向下游暴露。定价报告应该能够解释两个报价为何被配对,并在证据发生变化时将它们拆开。
准备好收集更好的产品匹配证据了吗?
在连接零售商报价前,在各个市场采集已选的规格、包装或表面处理。
立即注册即可获得 $5 免费额度 — 无需信用卡.
领取你的 $5 额度 →常见问题
零售商 SKU 可以用作全球产品标识符吗?
零售商 SKU 通常只在签发它的目录中是本地唯一的。在该命名空间内使用它,并依赖已确认的贸易标识符或匹配的变体证据,来连接不同零售商之间的记录。
有效的 GTIN 校验位能证明什么?
有效的校验位表明这些数字通过了预期的算术校验。在接受产品匹配之前,先核实观测到的品牌、型号和购买单位。
父级产品 ID 应该与变体进行匹配吗?
父级产品 ID 可以用来分组候选项。当尺寸或颜色等属性会影响购买或价格时,应在已选变体层面连接报价。
当变体选择会改变页面标记时,采集端应该怎么做?
用稳定的标识符或可访问的选项控件来构建选择器,并维护一个能触发模板变更的测试夹具。如果无法确认已选选项,就不要发布自动匹配。
匹配任务需要住宅代理或 AI 代理吗?
匹配规则可以直接在代码中运行。针对按地域差异化的授权店面观测,本地定向代理会很有用,而测试夹具或店铺提供的 feed 可以在无需浏览器路由的情况下提供确定性输入。
采集应该如何处理访问被拒和限流?
将受限页面记录为不可用,并遵守来源方约定的限制。在需要时与来源所有者及法律顾问核实采集权限和适用规则,然后优先使用授权的 feed 填补目录空缺。