学习契约与正确模型
先明确为什么学、学完能做什么,以及如何证明自己真的掌握。
没有日志,算法更新、季节性、内容发布和技术改动会混在一起;没有对照,前后对比很容易把自然波动当作成果。
- 能写出 mechanism、unit、primary metric、guardrail、window 和停止规则完整的实验卡
- 能选择匹配页面、分期上线或 interrupted time series 等合适设计
- 能维护连接发布、搜索事件和测量变化的 change log
精读 42 分钟 → 引导练习 38 分钟 → 实战任务 100 分钟。实战时间单列,不再把浏览页面和项目操作混成一个数字。
- 它是什么
- 实验是有意改变一个可控因素并比较反事实;change log 是解释反事实和复盘依赖的最小基础设施。
- 为什么重要
- 搜索环境动态且单位之间会互相影响,显式设计比“上线后看趋势”更能减少自我归因。
- 什么时候使用
- 批量 title、internal links、模板内容、schema、导航或 AI/GEO 改动可分组上线时使用。
- 什么时候不要套用
- 安全、索引事故或法律修复不应为了实验而延迟;页面太少或影响互相污染时应采用观察研究并降低结论强度。
- 边界与不确定性
- 实验不能 cloaking、操纵用户或牺牲无障碍;生产改动必须经 owner 审批,记录代码/内容版本、影响 URL、回滚和监控。
机制精讲
先读完整因果链,再看每个环节留下什么可观察信号。
SEO 实验的核心是建立可信反事实:如果没有发布这项改动,同一时期会发生什么。页面级 A/B 往往受搜索系统抓取、索引与展示延迟限制,不能像客户端按钮测试一样保证即时用户随机化。可行设计包括在足够相似的 URL 中配对后随机分配处理、分批上线、切换时间序列或可靠的同期对照。无论设计为何,都必须预先定义实验单位、资格集合、处理、主指标、护栏、最小观察窗和停止规则。
变更日志是实验的证据骨架,而不是发布备注。它应记录 URL 清单、代码或内容 diff、分配版本、实际曝险、抓取与索引时间、其他同期发布、负责人和回滚。排名、曝光、点击与业务结果有不同延迟,过早停止会把未处理页面算作失败;反复查看并在“变好”时结束会扩大误判。实验能加强因果判断,但污染、查询外溢、非完全随机、算法与需求变化仍需披露,相关前后对比不能冒充因果。
实验单位与分配决定独立性
URL、模板或目录可能共享内链、查询和组件;若同一簇分散到两组,处理会污染对照。
反事实来自同期可比组
单纯发布前后同时承受季节、需求和系统更新,无法知道未发布会怎样;同期对照用于估计共同趋势。
实际曝险晚于代码发布
页面要先被发布、抓取、处理,搜索结果才可能展示新状态;不同 URL 的曝险时间并不一致。
预设指标和停止规则抑制挑结果
同时看几十项指标、任意换窗口或提前结束,很容易选出偶然好看的结果。
关键概念
掌握术语之间的关系,才能迁移到不同网站、行业和工具。
实验单位
通常是 URL、模板或目录;单位必须能稳定分配 treatment/control,并控制交叉影响。
反事实
问题不是“上线后是否上升”,而是“如果没有上线,同一批页面会怎样”。
领先与滞后指标
抓取/渲染是领先信号,曝光/点击/转化常有更长延迟;不能混用观察窗口。
最小可检测变化
在开始前估计样本和噪声是否足以识别有业务意义的变化,避免对低功效结果过度解读。
完整示范
跟随一次“输入 → 分析 → 中间产物 → 结论”,看见专家是怎样做判断的。
测试指南页标题与首段的信息匹配
教学用合成数据:某 B2B 站有 96 个稳定指南页,团队希望把泛化标题改成包含任务与受众的具体标题,并同步调整首段;过去八周页面点击趋势差异很大。
- 96 页均已索引且无计划迁移,按意图簇分组后在配对内随机分配 48/48
- 主指标预设为固定非品牌 query cohort 的点击,曝光和位置为诊断指标,MQL 为延迟护栏
- 所有数值只用于教学,不代表通用最小样本或效果阈值
冻结资格与分配
- 输入
- 用前八周点击、趋势、意图和页面类型配成 48 对,在每对内随机指定处理页。
- 分析
- 配对改善基线可比,随机分配降低已知和未知混杂;同一查询高度重叠页放在同一簇以减少污染。
- 输出
- assignment 文件、seed、排除清单和零日基线图。
定义处理与证据链
- 输入
- 只改 title、H1 和首段承诺,其他内链与正文冻结;发布后保存页面 diff 与响应。
- 分析
- 限制同时变更使机制可解释;change log 能区分未真正发布和内容变更。
- 输出
- 每页目标版本、部署时间、QA 结果和可回滚旧文案。
等待并标记实际曝险
- 输入
- 第七天处理页仅 29/48 被重抓,第十四天为 44/48;对照页同期有 43/48 被重抓。
- 分析
- 第七天不宜判结果。主分析保持原分配以避免选择偏差,另报告实际曝险作为机制检查。
- 输出
- 将观察窗从多数页面重处理后开始,同时保留完整日序列。
按预设规则决策
- 输入
- 六周后处理组相对对照的非品牌点击改善,曝光与位置护栏稳定;MQL 样本区间仍宽,4 页标题被改写。
- 分析
- 结果支持在相似指南页扩大,但不证明所有标题公式有效;MQL 未恶化尚不等于已改善。
- 输出
- 扩大到下一批 50 页,继续记录改写、污染和成熟业务结果。
决策规则与证据边界
把“看到什么、意味着什么、下一步做什么”连起来,同时区分公开事实、实践推断和未知项。
- 分配文件、页面 diff、部署、抓取与展示状态可以被记录并复核。
- 预先定义指标、窗口与停止规则可减少事后挑选结果。
- 随机分配且污染较低时,处理组相对对照差异可支持局部因果判断。
- 观察性分批发布与差分趋势可提高可信度,但依赖平行趋势等不可完全验证假设。
- 搜索系统内部何时完全处理每页、页面间查询竞争如何传导通常不可完整观察。
- 一个页面集的效果能否迁移到其他模板、市场和季节需新证据。
引导练习
先独立完成,再按提示修正,最后展开参考解法并用 0–4 级量规评分。
教学用合成数据:60 个产品页中 30 页改写标题、30 页未改;分组由编辑自行挑选,高流量页几乎都在处理组。上线十天仅 12 个处理页被重抓,团队看到处理组点击高 18%并准备全站推广。请重建设计。
给定材料
- 60 页过去八周 clicks、impressions、position、意图簇和模板表
- 编辑选择记录、发布 diff、日志重抓与实际展示标题时间线
需要提示时再展开
- 高流量页被优先选择意味着基线不可比;不要把现有 18% 当处理效果。
- 十天只有 12 页重抓,先定义资格、重新分配与曝险窗口。
完成后核对参考解法
现有结果不能解释为标题效果:编辑按流量选处理组造成选择偏差,且只有 12/30 处理页被重抓,大多数页面尚未真实曝险。应冻结全部合资格产品页,按意图、模板、前八周点击水平与趋势配对,在配对内随机分配或以簇为单位分配,保存 seed 与排除理由;若业务不能撤销已改页面,可另选新的合资格页面做前瞻实验,旧批次仅作为观察记录。处理只包含预先定义的标题规则,主指标为固定 query cohort 的点击,曝光与位置为诊断,索引、MQL、投诉为护栏。记录部署、重抓和实际标题展示,主分析按原分配进行,等待预设多数页面重处理后的完整窗口。提前设定扩大、无明确结果、停止与回滚规则。最终报告现有 18%只是未校正组间差异,不从相关性推断因果。
自评分量规
真实项目实战
把理解变成一个可以检查、复核和复用的工作产物。
设计内部链接模板实验
团队想给所有博客自动加入产品页链接,希望验证能否改善目标页曝光。
- 定义机制:相关上下文链接提高发现、信号传递与用户导航;列出可能副作用。
- 选取相似 source/target 页面群,按历史趋势、类型和流量匹配后分 treatment/control。
- 预先指定 target impressions/clicks 为主指标,crawl、position、用户点击和性能为中间/保护指标。
- 记录 URL 清单、规则版本、发布日期、搜索更新与其他同期改动。
- 按预设窗口评估 effect size、区间、异质性与替代解释,再决定扩大、迭代或回滚。
验收条件
- 假设包含明确机制和可证伪结果
- 主指标、单位、窗口与 guardrail 在上线前锁定
- 对照与同期改动被记录
- 结论报告效果范围和不确定性,不只报告“显著/不显著”
诊断练习
目标不是猜中答案,而是提出竞争假设并选择能区分它们的证据。
treatment 页面点击提升 18%,control 提升 16%。
竞争假设
- 共同需求或算法变化解释大部分增长
- 处理效应约为小幅差值且不确定
- 两组基线/曝险不平衡
- 内部链接规则污染 control
应该检查的证据
- 比较差异中的差异与置信区间
- 核对 treatment assignment 和实际渲染
- 检查 query/page mix 与趋势平行性
- 查 change log 和外部事件
常见陷阱:只报告 treatment 的 18% 增长并宣布实验成功。
完成后用本页决策规则复核
- 若观察到:处理前两组水平或趋势明显不平衡
应优先:重新配对/分层分配,或用预先规定模型调整并降低结论强度。
事后删掉不利页面会引入选择偏差。 - 若观察到:大部分处理 URL 尚未被重抓或未显示新状态
应优先:继续观察至预设曝险条件,分别报告分配与实际曝险。
不能只保留已重抓页作为主分析,否则曝险可能与页面活跃度相关。 - 若观察到:主指标改善但排名、索引、MQL 或投诉护栏越界
应优先:按预注册规则停止、回滚或缩小范围,调查护栏机制。
延迟护栏需要成熟窗口,过早“无变化”不是安全证明。 - 若观察到:无法构建可比对照且同期有多项变更
应优先:加强 change log、分阶段发布和机制领先信号,明确称为推断。
复杂环境不等于不能行动,但不能夸大确定性。
自测与误区
先口头回答,再展开检查。无法给出例外与证据,说明还没真正掌握。
你应该能回答
1. 实验单位、处理曝险与污染路径是什么?
参考答案:单位可以是 URL、模板簇或目录,必须与处理实际施加层级一致。曝险包括版本已部署、页面被重抓并可能展示新状态;污染来自共享模板、内链、查询竞争或编辑跨组修改,应在分配前按簇隔离。
为什么:错误单位会低估相关性,未曝险与污染则把组间差异稀释或扭曲,破坏反事实。
2. 反事实由谁提供,为什么可比?
参考答案:优先由同一时期、同意图与模板、处理前水平和趋势相近的未处理单位提供,并尽可能在配对或分层内随机分配。若只能用历史自身,就必须显式控制季节与其他发布,结论降级为观察推断。
为什么:反事实的任务是估计未发布会怎样;简单前后比较无法排除共同时间变化。
3. 多长时间分别足够观察抓取、排名和业务结果?
参考答案:先设机制窗口:发布与 HTML QA可立即看,抓取需等真实日志,索引/标题需等重处理,排名点击需覆盖稳定周期,MQL/SQL 需再加销售成熟期。没有通用天数,应以本站重抓分布和业务延迟设定。
为什么:不同阶段的时钟不一致,统一在第七天判断会把未曝险当无效或把未成熟业务结果当安全。
4. 何种结果会触发扩大、迭代、停止或回滚?
参考答案:主指标达到预设幅度且护栏安全才扩大;方向可能有益但不确定时迭代并收集更多信息;无实际曝险先继续观察;明确负向或护栏越界则停止/回滚。所有规则在看结果前写入实验卡。
为什么:预先定义动作能降低逐日窥视和事后改阈值带来的选择偏差,也便于跨团队执行。
需要避开的误区
- 任何前后对比都可以叫 A/B test。
- p 值不显著代表改动没有任何价值。
- 实验期间只要不改测试页面,其他站点变更无需记录。
术语与复盘
用自己的话复述术语和结论;如果只能认出、不能解释,就还没有形成可调用的知识。
- 实验单位
- 被分配到处理或对照的最小独立对象,如 URL 或页面簇。
- 反事实
- 同一时期在未接受处理时本会出现的结果。
- 曝险
- 实验单位真正接收到并可能被搜索系统处理的新状态。
- 污染
- 处理影响进入对照组或组间共同变更破坏隔离。
- Intention-to-treat
- 按原始分配分析全部单位,避免按结果或曝险事后挑选。
- 变更日志
- 连接分配、diff、发布、处理、同期事件和回滚的版本化证据。
离开本页前记住
- 实验先定义反事实和单位。
- 实际曝险不等于代码已发布。
- 配对与随机分配应发生在看结果前。
- 主指标、护栏和停止规则需预注册。
- change log 要覆盖 URL、版本、抓取与同期发布。
- 相关前后变化不是因果;无法对照时降低措辞。
资料与证据
优先采用官方和一手资料。实践材料用于补充工作方法,不替代机制证据。