跳转至

抽样技术#

1.基本#

抽样技术,简单说就是从统计调查总体中抽取样本进行调查,然后对总体数量特征进行推断。

非随机抽样#

  • 随意抽样
  • 判断抽样/有目的抽样,
  • 定额抽样
  • 流动总体抽样:捕获-标记-再捕获

随机抽样#

  • 简单随机抽样
  • 分层抽样
  • 系统抽样
  • 整群抽样
  • 多阶段抽样

小流量实验抽样机制#

流量切分#

大搜抽样将线上流量划分成0~9999的1万份, 手段是通过一个hash算法, 对baiduid、登陆用户uid, query或者qid做hash后对10000取模。 如果hash算法足够随机,那么大搜流量都能均匀的按照抽取的key划分为10000等分, 这样,如果要抽取线上1%的流量, 只需要挑选出10000等分中的100个等分就行。

选择hash key的方式决定了流量抽取的效果, 解释如下:

  • 选择baiduid作为hash key, 在baiduid未清除的时候, 用户会被稳定的抽取到或者不抽取到
  • 选择登陆uid作为hash key, 一旦某个uid被选中抽样,只要用户处理登陆状态,就一直会中抽样
  • 选择query作为hash key, 中不中抽样只和query有关
  • 选择qid作为hash key, 由于qid是每次pv都会随机生成一个数, 所以这种方式中抽样完全是随机的,用户当前请求中抽样,刷一下就可能会不中抽样,对于用户来说,就是大搜的产品表现得不稳定。

流量分层#

流量不够的问题

  • 假设一个实验抽样1%,理论上可以做100组实验。实际上有些影响面小,或者只在特定query下生效的,抽样流量都会比较高,比如50% vs 50%。
  • 其他一些维度,比如客户端等限制。

所以实际上线上可用于做小流量实验的流量是有限的

方案

将线上流量划分成N*100%的流量层,基本原则:

  • 同层中的实验不会同时命中,不同层中的实验可能会同时命中