GEO-117·第 10 期·技术底座·117 / 132

日志、API 与数据仓库:GEO 数据管线

GEO 的数据散在日志、搜索后台、AI 抽样、订单与 PIM 里,颗粒度各不相同,直接 join 会放大也会丢记录。本文给出数据源清单、三层实体 ID、四层管线与刷新频率,附五步落地清单和一条示例记录,说明为什么先统一 ID 再谈看板。

7 分钟GEO技术底座出海

本期主线可度量:AI 可见度、归因与实验

示例:十月的双周会,一家做智能门锁的出海团队放了四张表。技术说检索类爬虫对商品页的请求在掉;运营的 AI 监测说品牌提及率涨了一截;财务说 AI 渠道只有零星几单;客服说有人拿 AI 截图来问“支不支持 2.4GHz、2 英寸的门能不能装”。四张表都没算错,只是同一个型号有三个名字。

GEO 的数据问题不是缺看板,而是缺一条以实体 ID 为主键的管线:源、键、刷新频率定不下来,看板只会把四种颗粒度混成一个看起来很精确的错数。

四张表都没错,错在直接相加

日志是请求级,抽样是样本级,订单是交易级,三者相加不成立。 先定“一行代表什么”,才有资格谈 join。

日志一行是一次请求,回答谁抓了、抓哪页、什么状态码。搜索后台一行是“一页 × 一个查询”。AI 抽样一行是一次提问的一次回答,同一句问三遍可能三个答案。订单与工单一行是一笔交易或一次求助。

颗粒度不对齐,后果很具体。请求级 join 订单级,一次热门页的上百次抓取会把一张订单复制成上百行;样本级 join 交易级,二十次提问对一张订单,算出的转化率没有分母意义。两类错误都不报错,只安静产生一个漂亮的数。

数据源回答什么一行是什么刷新常见坑
日志 / CDN爬虫来没来、抓了哪页一次请求日更,留三个月导出被采样,保留期短
搜索与广告后台品牌词有没有被搜一页 × 一查询周更归因窗口算进 Direct
AI 答案抽样提及、引用、推荐位一次回答周更,每题三次不记样本量,涨幅难解释
订单 / CRM / 工单谁买了、退了什么一笔交易日更,按月结算渠道字段是自由文本
PIM / feed各出口径是否一致一个 SKU变更即同步feed 常落后于页面

这张表最大的用处,是逼你承认缺哪个源:商品主数据常在品类运营的表格里,日志常常只有 CDN 抽样导出。缺源不可怕,假装有才可怕。

先统一实体 ID,join 才有分母

三层键必须先定:商品是 SKU,页面是 canonical URL,品牌是实体 ID。 三层混用,是 GEO 数据最常见的错。

商品层用 SKU 加变体 ID,必要时带 GTIN;页面层用去参数的 canonical URL 加 locale;品牌层用实体 ID 配 sameAs。三层寿命不同:SKU 随换代消失,URL 因改 slug 失效,品牌实体长期在。拿页面当主键统计可见度,改一次 slug 就断一条历史。

一对多要显式处理:一个 SKU 五个语言站就是五条 URL,一个页面挂三个颜色就是三个 SKU。经销商页、白标页、比价页看着像你,只能进品牌层的第三方分支。

ID map 必须带生效时间,否则上月报告重跑,数字会跟着今天的映射变。还要盯未匹配率:日志里对不上 SKU 的请求占比越高,按 SKU 的可见度就越偏。

层主键关联数据一对多怎么办
商品SKU + 变体 ID(+ GTIN)feed、订单、库存、评价组合装拆父子项,别共用同一个键
页面canonical URL + locale日志、搜索后台、AI 引用来源多语言多 URL 用 locale 字段,不建多张表
品牌实体 ID + sameAs站外语料、知识图谱、媒体经销与白标页标为非官方,不并入商品层

刷新频率按用途定,不按“实时”定

抓取日更、答案周更、订单月结、主数据变更触发,四档够用。 越实时越贵,还会把噪声当信号。

抓取健康日更,403 与 robots 变更要当天处理。答案抽样周更,跟内容迭代对齐;它是抽样,日更只会把波动放大成趋势。订单日更入库、按月结算,退款与支付回调会改历史。主数据变更触发,SKU 一改就同步。

管线分四层,各有各的失败方式。

层做什么出错的样子
采集日志导出、接口拉取、抽样入库漏一天,周报曲线断一截,没人发现
归一统一 UTC 日、币种、UA 分类、URL 去参数带 utm 的同一页被算成二十个页面
关联套 ID map,未匹配记录单独留存未匹配被静默丢弃,指标反而更好看
服务宽表、口径文档、权限三个人写三份 SQL,出来三个“提及率”

一条硬规则:未匹配的记录不能丢,要单独落表。 它既是质量指标,也是发现新品与新渠道的线索。丢掉的记录不会消失,只会在下次汇报时以“数据对不上”的形式回来。

五步落地:从三个问题反推管线

先问本季度要回答哪三个问题,再倒推接哪些源。 接得越多不等于越准,只会越难维护。

步骤做什么谁来做怎么算过
1 定问题抓取有没有掉、答案里排第几、带来多少订单增长负责人每个源都能指到一个决策,指不到的先不接
2 建 ID mapSKU、GTIN、ASIN、canonical URL、locale,加生效时间技术 + 品类运营抽二十条订单与二十条日志,能匹配到唯一 SKU
3 定口径每个指标写清分子分母、时间窗、样本量、去重增长 + 财务两人按同一份文档各算一遍,结果一致
4 搭最小管线日更日志、周更抽样、月度订单,宽表落仓,不碰实时数据工程连续四周无断点,未匹配率上到看板
5 接周报一张周报三个数,加一列“数据可信度”增长会上不再出现同一指标的两个版本

第 3 步最容易被跳过。口径写不清,管线再稳也只是把争论从“数是多少”推到“你那个数怎么算的”。每层的判定证据与分母,可以借用AI 可见度的四层指标当骨架。

示例:一条记录走完管线

以下品牌、路径与数字均为示例,只演示字段如何对上。

一对智能门锁(型号与参数虚构)在 10 月 8 日 02:14(UTC)被抓取,状态码 200。归一后得到去参数的 canonical URL,在 ID map 里对应哑黑与拉丝银两个变体——一个页面两个 SKU。

10 月 9 日的抽样里,同一问题重复五次:三次提到品牌,一次给出可点击的来源,零次进推荐位。样本量、模型版本、地区节点都写进表,下周换节点才可比。

10 月 12 日进来一张订单,渠道写着“chatgpt referral”,归一后归到 AI 引荐;两周后退货,原因“App 配对失败”。这条退货同时是内容线索:配对步骤在页面上太靠后。

三行记录对上同一个 SKU、同一个 URL、一个时间窗,这就是管线的用处;此前它们分属四张表、三个名字。

边界:什么时候别建这条管线

第一,流量太小。 一周只有几十条日志命中,周更结论都由噪声主导,先做抓取健康与月度人工核查。

第二,拿不到原始数据。 平台内卖家与部分 SaaS 建站只能读后台报表,管线退化成“抽样 + 订单”两源,仍然有用,但不能自称有取证能力。

第三,归因有天花板。 AI 引荐在复制粘贴、跨设备、暗社交里大量不可见,管线只能给下限。指标要写“可识别的 AI 引荐”,不要写“AI 带来的全部订单”。

第四,供应商是黑盒。 采样方法、模型版本、节点不透明,跨月不可比。合同要写清原始数据能否导出,否则存的只是别人的结论。

口径之外还有一层一致性问题:各源叙事冲突时,join 得再准也只是把矛盾拼得更完整,见品牌叙事一致性检查。这条线归技术底座,它解决“能不能算”,不解决“该不该做”。

这个月先做一件事:从日志、订单和最近一次 AI 抽样里各抽二十行,手工对齐到同一张 ID map。对不上的那一列,就是你的管线起点。