• 传统生意免责声明如何做

    做任何的社群营销或者销售任何产品,必须过滤掉一些胡搅蛮缠的人,必须把免责声明做到极致,

    保证所有人,都没办法找到您的漏洞,您的麻烦。

    任何人找您麻烦,过分了,您就可以起诉他。这就是免责声明的威力。我们不是什么人的生意都做。我们每句话都是真话,一味的索取者不是我们的客户群体,我们要找的是有智慧,智力高的人。您必须不断强调您要的客户是什么人,如此,越精准,您越赚钱,而且越具有品牌属性。

    付费后不退费,用完产品不保证每一个人都有效果。写的非常明确。

    讲清楚,自己是知识消费,培训消费,社群消费,由于是虚拟消费,所以不退费。是产品的,可以写明由于每一个人特别性质不同,所以无法保证一样的效果。

    免责声明做得越到位,越正式,资料齐全,公司名称齐全,公章齐全,出单率越高。

  • 传统生意在朋友圈内怎么搞图片

    朋友圈销售的是信任感!而图片是最容易产生信任感的,所谓无图无真相。不管你是做任何生意的,做朋友圈营销图片非常的重要,一张好的图片可以让潜在客户瞬间记住你的产品,你的服务,你的个人品牌,提升对你的信任感。

    1,好的图片都是贴近生活化的东西,贵在用心,我们不管走到哪里,看到好的人、事、物都可以拍照记录下来。我们创业的人生活跟工作其实就是一体的,本来就分不开。

    2,拍一些职业装、或者找个摄影师街拍,做 300 张质量高的图片。人们都喜欢赏心悦目的照片,这样的朋友圈看起来就是生活化而又不缺专业素养。能够更加获得他人的认可。

    3,社群成员聊天的截图、与客户沟通的截图、好的图片内容截图,各种截图。

    4,看到好吃的,好玩的,好看的都拍下来,作为图片素材库。

    5,自己的工作场景,生活化场景都是我们采集图片的对象,女朋友、家人、朋友的合影能出现在朋友圈信任度会更高。

    6,拒绝发布负能量、情绪化的图片。永远发正能量、有价值的图片。

    7、所有的图片上必须有一句广告词阐明你的业务,您的收费标准,您的付费方式,这是最简单也是最基本的营销。

  • 传统生意如何在朋友圈做自动成交?

    微信已经是一种生活方式,不管您是传统生意还是别的任何生意都可以在朋友圈做社群营销,如何通过朋友圈营销做自动成交产品和服务。

    1,自我介绍。朋友圈营销第一要素就是自我介绍,你是谁?你多大?你来自哪里?你是做什么的?你有什么故事?你的创业故事、奋斗故事。

    2,为什么要买你的产品或加入社群。你能提供什么价值和服务,加入社群的好处,比如你做化妆培训的,好处就是有讲课,有老师指导你学习化妆技巧。

    3,定位聚焦关键词。我们必须时刻清楚自己的定位。你是卖什么产品,提供什么服务,应该很清楚,比如说你是卖护肤产品,那你的客户就是注重保养的,那你的内容应该朝这个思路走,我们就要做个护肤专家。如果你提供的是虚拟产品,比如说英语培训,那你的文案图片视频都是围绕这个话题来讲。一定不能做两个以上的环节,比如你做护肤产品的又做英语线上培训,那你的标签属性就不明确,别人不知道你具体是做什么的。聚焦关键词,只做一个内容。

    4,您必须讲真话,每句话都是真的,你的文案、图片、视频全部都要是真实的。杜绝弄虚作假。

    5,朋友圈有您的家人,女朋友,老婆,父母,孩子,朋友,吃饭,您的成交率会更高。

    6,社群聊天图片,客户咨询截图,都要进行传播,对你的社群进行真实描述。比如群里有 500 人,200 人,100 人,进行真实描述。您卖什么,您就实际描述,买什么有什么具体的好处。

    7,广告里必须要有免责声明,也就是出现哪些情况不是您承担的责任,这必须告知您的客户,您的粉丝。免掉一切的麻烦。

    8,设置业务介绍封面背景图,搞一个文字版本的业务介绍,任何人加您,跟您聊天,最多聊三句话,然后就发布这个文字版的广告,图片版如果看得清楚也行,告诉他, 如果想加入社群,跟着老师学,就看看这个。

    9,真正的高手。是通过释放价值做广告,是通过组合拳做广告。一切广告,只针对富人,不针对穷人。针对耿直的人,不要给自己惹麻烦,切记切记,千万不要骗人。

    10,做人态度要极度诚恳,要勤奋,要尊重人,要有爱。

    11,竭尽全力搞外部流量,视频+音频不断的去释放价值吸引到你的朋友圈,不要局限于你身边的那点流量。只有真正认可你内容价值的人才是你的精准客户。

  • 传统项目放弃后做什么项目赚钱?

    项目很多,可以分实体项目、虚拟项目、虚实结合项目。

    很多人从来没想过,通过自媒体这条渠道突显自己的品牌价值、打造个人 IP。展现自己的专业,技能水平,其实只要你能突破自己,踏出第一步,你已经开始赚钱了。若有才华,更佳。

    在互联网上积累粉丝,别人就会为你买单。你看那些抖音上做泡妞的、恋爱的、做英语内容的……,无不是这种套路。

    自媒体转化产品,无论是实体产品还是虚拟产品,其实这都不重要了。重要的是有需求就有市场。

    1,实体项目可以按照我们的方法论,用我们的聚焦系统、30 循环系统、行动力系统去量化考核你的员工工作。

    2,虚拟项目可以选择靠我们社群内部的项目赚钱,创业社群、恋爱社群、微博社群项目都可以做。进相对于的 Vip 社群就可以参与,没有其他的成本。

    3,想继续做传统行业的,直接转型互联网化。用我们的 30 循环系统吸引外部流量,导入到你的微信朋友圈做自动成交。

    4,任何赚钱的项目本质上就是搞流量、做成交,我们提供的是可以直接落地操作的方法,解决流量的问题,成交的问题。

  • 传统实业如何搞合作

    传统生意老板大多是把所有的利润都抓到手里,越是这样越辛苦,越不赚钱。成功的人往往并不是自身能力有多牛逼,而是懂得借力搞合作。不是让自己成为一个巨人,而是站在巨人的肩膀上。

    1,任何生意的本质都是搞流量、做成交。没有流量何谈成交。一个人只要做好一个环节到极致已经很厉害了,其他的就一切外包找合作。

    2,前期做一个项目或者卖一个产品,你可以找合作着谈好分层,把售后或者产品交给别人来做,比如我们每天的任务就是做 30 个视频发出去搞流量,为了聚焦这一个环节疯狂的搞流量,我就把成交售后交给别人来做。

    3,找员工来给你做视频、做售后也算是合作,只是你是发工资给他们,并且还要懂得管理他们,不然他们不会卖力的给你干活。考核他们也是有没有一天完成一个 30 循环系统。所以没有管理能力的人就找有实力的人合作。谈好分层就好了,你会非常轻松。

    4,当你比较有财力后,你的合作系统可以更精细化,比如有专门做视频的、有专门负责搞图片的、有专门负责文案和作品上传的……..

    5,搞合作是为了专注于自己擅长的环节,聚焦做到极致,不是为了当甩手掌柜。完全什么都不做,什么都依靠别人,你会吃大亏。

    6,社会是有分工的,一个人永远干不过一个团队。如果你的团队里面有很多牛逼的合作者,你会变得更牛逼。

    7,传统生意老板还要懂得与自身建立的社群成员合作,让自己客户和粉丝成为您产品的传播者,代理商,而通过您少他多的方式让他们全力以赴为您裂变。

    8,记住,要想赚钱,一定是工作越简单越好,环节越少越好,只抓最有价值的工作,其它一切都是通过分成机制来完成。我们社群的合作是 91 分成,表面上看老师赚得特别少,但是有了影响力和自动传播的裂变,实则得到了很多,而合作者赚取了高利润,这叫各取所需,各作共赢。

  • 传统行业如何线下做流量?

    任何生意亏损或者倒闭本质都是缺少流量,也就是没有客户。传统行业要想在这个时代生存,必须懂得如何通过一些方式方法主动引流,而守株待兔的获客方式无异于坐以待毙。通过以下方法可以为传统实业更好的做线下导流:

    1、通过设置优惠券和会员卡的方式引流。传统实业门店的生意分为引流期,裂变期和锁客期。引流期的活动一定要大,给到客户超出想像的优惠,到店消费赠送优惠券,消费引导办理会员卡,会员卡的设置可用价格锚定效应,锚定一个主推的价格档次,通常是第二个价格阶梯为主推。

    2、社群裂变。前端的大量引流到一定程度,建立微信端社群,社群里设置各种互动,无利团财等,前期建立与粉丝的信任感,驱动粉丝主动传播达到大量裂变粉丝的目的。在些基础上再实现多种方式的盈利,可以从主营业务上延伸出多种盈利点。

    3、异业联盟。通过与一系列与自身所营业务相关的产业进行合作导流,资源共享达到双方共赢的目的。比如服装可以选择与美容美体,鞋类门店合作,餐饮可与水果,超市等实业合作。

    4、招牌款引流。招牌爆款让利,可在一周内设置固定时间段,无利出售或者搭配一些捆绑销售甚至免费等等,根据不同的行业性质来划分,目的是为了人气,记住,所有的实业都是先有流量和人气再有财气。

    5、砸广告。差异化卖点打造,让人过目不忘的广告词非常重要。但这项成本较高,对一些没有财力基础的老板不建议使用。互联网时代免费广告宣传的渠道很多,各位老板在投入的时候务必计算产出。

  • 自媒体如何转化产品

    1,实体项目可以按照我们的方法论,用我们的聚焦系统、30 循环系统、行动力系统去量化考核你的员工工作。

    2,虚拟项目可以选择靠我们社群内部的项目赚钱,创业社群、恋爱社群、微博社群项目都可以做。进相对于的 Vip 社群就可以参与,没有其他的成本。

    3,想继续做传统行业的,直接转型互联网化。用我们的 30 循环系统吸引外部流量,导入到你的微信朋友圈做自动成交。

    4,任何赚钱的项目本质上就是搞流量、做成交,我们提供的是可以直接落地操作的方法,解决流量的问题,成交的问题。

  • 传统项目放弃后做什么项目赚钱?

    项目很多,可以分实体项目、虚拟项目、虚实结合项目。

    很多人从来没想过,通过自媒体这条渠道突显自己的品牌价值、打造个人 IP。展现自己的专业,技能水平,其实只要你能突破自己,踏出第一步,你已经开始赚钱了。若有才华,更佳。

    在互联网上积累粉丝,别人就会为你买单。你看那些抖音上做泡妞的、恋爱的、做英语内容的……,无不是这种套路。

  • 传统实业如何让收入翻几翻

    1、当您一个人能干出月入十万的时候,您要开始用这套方法将项目放大。比如您可以有团队一天有十个人帮您做 30 循环系统。那么您就拥有了原来十倍的流量。

    2、您有一个五百人的社群,您完全搞懂了如何运营互动裂变,您可以用利益交换让群员帮您裂变出第二个,第三个,第十个 500 人的大群,将项目放大。

    3、聚焦一个环节,也就是互联网音频,视频搞流量。

    4、30 循环系统是什么?就是日日 30 个视频,或者音频。

    10 个账号操作,每个账号 3 个视频,或者音频,日日夜夜上传。

  • 传统实业如何为您的产品搞广告

    做任何生意都离不开打广告,你永远都在释放价值,却不告诉别人你在做什么,能提供什么样的产品和服务,那毫无意义。你永远都在说你的产品多好多好,多便宜,只会招来方案甚至屏蔽。谁跳出来都说他的产品特别好特别牛,那我为什么要找你买。其实这个时代不缺好的产品,缺的好的营销广告。

    1,高明的广告是让你看不出来是广告,广告本质是越软越好。观众看得津津有味,看到最后一回味才知道原来是个广告,心里面是佩服是认同,通俗说就是你的内容很有价值感,别人喜欢看,你只是在不起眼的地方恰到好处的留了一句话广告。

    2,我们的广告一定要从内容上下功夫,江小白为什么那么火,就是它的文案内容很牛逼。我们做朋友圈营销也要走这样的模式,永远是好的文案+一句话广告+图片。

    3,好的文案怎么写,就是内容要足够干,没有废话,让别人看了有价值感、有认同感。可以去到各大平台,比如百度搜索相关的素材,改编成自己的。比如你是做护肤的,你就搜护肤小知识,跳出来的内容多得不行,整理好做成一段或一篇文案即可。

    4,一句话话广告怎么写。一句话广告只需要介绍你的产品和服务就可以了,比如说,怕上火喝王老吉、老白金,健康品,年轻态……,但是我们可以更直接一点,你是做化妆社群的,可以写成“付费 500 邀你进 VIP 群学化妆,解决每天化妆的烦恼”。

    5,一句话广告就是加在你优质的文案最后,或者加在优质的图片上就可以了。直接发硬广告是愚蠢的行为。

谷歌重叠实验设施:更多、更好、更快地实验

书城 JackLeon 5天前 27次浏览 0个评论 扫描二维码

Google 这篇 8 年前 2010 年的关于『实验基础设施』设计的论文,现在看来仍然是关于这个领域最有深度和体系的资源。不单说明了,实验设施的系统设计,还包含实验的进阶的主题如:实验可信度、敏感度、围绕实验数据驱动的整体流程。对于了解 Growth Hacking/ABTest 的同学,可以有效的学习实验设施的系统设计,尤其是重叠实验设施要考虑多方面的需求、维度,如何建模是很复杂的;对于不了解 Growth Hacking/ABTest 这个领域知识的同学,可以通过这篇文章,学习一个复杂系统整体的思考和设计的模式,包含需求、场景、模型设计、产品流程、落地关键。

谷歌重叠实验设施:更多、更好、更快地实验

重叠实验设施:更多、更好、更快地实验

1. 序言

Google是一个数据驱动型公司,这意味着所有对用户的改动的发布,都要决策者以相应的经验数据作为依据。这些数据大部分是由在线流量上的实验产生的。在Web的语境下,一个实验是由一股流量(比如,用户的请求)和在这股流量上进行的相对对比实验的修改组成的。修改包括用户可见的修改(比如,修改顶部广告的背景色),以及不可见的修改,比如测试一个新的广告点击率(CTR)预测算法,都可以通过实验的方式进行的。

要支持数据驱动方法论的挑战在于要跟上创新的速度。我们想支持进行尽可能多的实验,如果限制了同时进行的实验的数量,那是绝不可被接受的。我们进行实验是为了测试一些新的特性和挖掘一些已有特性的提升空间。对于已有特性,实验可以学习到用户的反应并可以对特性进行优化。试想一下,如果在搜索结果页上的内容都是通过参数控制的,包括展示方式和算法。通过对参数设置不同的参数值进行实验,我们可以用衡量指标(用户体验,收入或其它指标)来决定是否要进行哪些修改以得到最好的结果。

UI的修改通常会使用实验来评价用户反应,但需要注意的是算法的修改同样也需要实验。例如:假设一些团队想测试一个新的机器学习算法来预测广告CTR,或是测试对现有算法的调整(比如,修改学习速度或是收敛速度)。虽然线下评估可以进行一些分析后,可以缩小参数的最佳取值区间(不是最佳取值),但最终这些参数还是需要在线上流量进行评估,分析这些参数在真实的流量上的效果(因为修改可能会影响用户的行为,并改变流量本身的模式,这是不可能在线下环境评估的)。所以,评价这些机器学习算法是需要通过线上实验的方式进行的。

设计我们实验设施的目标是:更多更好更快

  • 更多:我们需要能同时进行多个实验的可扩展性。但是我们也需要灵活性:不同的实验需要不同的配置和不同的流量来衡量实验的统计意义上的效果显著性。有些实验只需要修改流量的一个子集,比如只是日语的流量,并需要取一个合理的流量规模。其它的实验有可能需要修改所有的流量,并对指标造成很大影响,这种才可以在小流量上进行测试。
  • 更好:不合理的实验是不应该让它在线上流量进行的。合理的但是很差的实验(比如,有Bug的实验或是无意中产生的很差的实验结果)都应该能很快的被捕获并且停止它的进行。标准化的标价指标可以让所有的实验进行公平的比较:比如在计算CTR指标的时间,两个实验应该用相同的过滤器去掉爬虫流量。
  • 更快:能够很容易并且很快地建立一个实验。容易到非工程师不需要写代码就可以创建一个实验。评价指标应该很快的被统计出来,以便分析。简单的迭代可以很快速地进行。理想状态是,实验系统不仅支持实验,并且可以控制放量,比如,以一种系统的和容易理解的方式对实验进行放量。

为了达到这些设计的目标,我们不仅需要实验设施来进行更多的实验,并且需要一些工具和指导过程来支持更多和更快的实验。

对于实验设施,有两个很明显的选择,或是要支持单层实验或是要支持多因素实验。单层实验意味着每个请求最多只会通过一个实验,单层实验是很容易使用的,并且也具有灵活性,但是扩展性不足。多因素实验在统计学上进行了大量的讨论,多因素实验中每个参数(因素)都可以被独立地实验,在实验中每个参数(因素)都可以独立地被实验,每个实验中只测试一个参数,这个参数会覆盖所有其它实验中的其它参数。每个查询可以同时在  个实验中,其中  是参数的个数。虽然这种方法进行了多年的研究和实践,但对于Google的系统却不适用,因为Google有几千个参数,并且不能被独立的分析。例如:要对两个参数进行分析,一个参数是Web页面的背景色,另一个是文字的颜色,虽然『蓝色』对两个参数都是合法值,但是如果两个参数都取『蓝色』,那么页面是不可读的。

本文提出的解决方案是将参数分成子集,每个参数子集包含相互不能独立修改的参数。一个参数子集会与一个包含实验的层相关联,不同层的实验的流量是正交的。每个查询(query)可以在  个实验中,其中  是层的数量。

2. 相关工作成果【略】

3. 背景

在讨论Google的实验之前,我们先描述一下我们实验设施所处的环境,因为环境给定了我们实验设施的设计所要面临的机会和限制。

宏观上看,用户通过浏览器发送Web页面请求与Google交互。请求进入Google的服务设施可能会落在多个二进制(binary)上(比如,运行在服务器上的程序),然后产生面向用户的结果页。比如,可能有一个服务决定与查询最相关的原生搜索结果,另一个服务决定与查询最相关的广告,还有一个服务将原生搜索结果和广告结果组织到结果页,返回给用户。见图 1。一方面,这种模块化可以让我们降低延时(不相互依赖的过程可以并行),显然,原生的搜索过程与广告搜索过程是相互独立的,并能更快速的试验(每个服务都可以独立地进行,并且模块化的测试可以进行更快速的发布)。另一方面,如果要求每个请求最多只进入一个实验,那么模块化就需要更精心地设计。可能存在的问题有流量饥饿(上游模块的实验可能优先处理了所有请求,导致下游模块的实验没有请求)和偏置(bias)(比如,上游模块的实验处理了所有英语的请求,导致下游模块的实验就只有非英语请求)。

图 1:一个请求经过多个模块的例子,信息(和时间)都是从左流向右

每个服务都有二进制推送和数据推送。二进制推送是指发布新的程序(Bug修复、性能提升、新特性,等等),它一定时期进行一次(比如每周)。数据推送更频繁(比如,按需或是每几小时推送一次),并且这还涉及了推送更新的数据到相应的程序。数据推送中还包含了默认参数配置,参数是用来配置程序如何运行,比如,控制结果如何展示的服务也许有一个参数是决定顶部广告块的背景色。再比如,预测CTR的服务可能有参数是控制学习速度和收敛速度的。程序可能有几百个参数。新的特性可能会添加一个或多个参数:最简单的场景是,一个参数可以控制打开或关闭新特性,在更复杂的场景中,也许有多个参数决定新特性如果展示,有数值阈值决定新的特性是否被展示,等等。将程序和数据分离,意味着如果我们可以找到合适的分离方式,我们就可以同时得到快速影响线上服务的通路,和慢速影响线上服务的通路(程序是慢的通路,改变参数值是快速的通路)。

一个Web搜索中的实验是指将一部分请求流量转向一个特定的处理路径,这个处理路径会改变向用户展示的内容。一个对照实验将一部分请求流量转向一个处理路径,但它并不改变向用户展示的内容。我们用数据推送来决定实验的配置。在数据推送中,有一个文件决定程序的默认参数配置。另一个文件决定实验所需要改变的参数的值,实验只用指定实验所要改变的参数,对于其它参数,都采用默认值。比如,在一个简单实验中,它只改变顶部广告的背景色这一个参数,它可以改变黄色(默认值)到粉色(实验值)。

实验还需要决定实验所用的流量如何分配。最简单的分配方式是用 _ 随机流量 _,即对每个请求都进行随机分配。但这样做的问题是如果实验是用户可见的改变(比如,改变背景色),那么一个用户可能就得到不同的用户体验(背景色不断地在黄色和粉色间转换),这会造成用户体验不一致。在Web实验中常用的方法是用 cookie 作为流量分配的依据,cookie被网站用来定位唯一用户。实践中,cookie是机器/浏览器相关的,并可能被清除。然而,虽然一个cookie不能唯一定位一个用户,但对于连续的查询,它可以提供给用户一致性的用户体验。对于实验流量分配,我们并不直接对每单个cookie进行分配,而是用 cookie取模 进行分配:用一个ID表示一个cookie,对这个ID模 1000,将模相等的流量聚合为实验流量,比如模等于 42 的流量。假设cookie的分配是随机的,那么随意cookie的模数的请求数据也应该是大致相等的。在实验配置中使用cookie的模,也可以很容易地检查流量之间是否有冲突:实验 1 可能会用cookie模 1 和模 2,实验 2 可能使用cookie模 3 和模 4,这两个实验就会有相近的大小,理论上,是可以进行比较的流量。

【译注】:上面例子中用的示例数值 42 是Hacker必读的《银河系漫游指南》中的梗:42 是万事万物的答案。

在数据文件中配置实验,可以让实验更快更方便地创建:数据文件是可读的,并容易手工编辑,不需要进行代码变更,并可以由非工程师进行创建,而且配置数据的推动会比二进制程序的发布更加频繁,它使创建仅包含已有参数的实验更加方便快捷。

在开发我们的实验设施之前,我们使用一个简单的单层实验设施,在这个设施中,每个请求最多进行一种实验。先分配cookie取模的流量的实验,再分配随机流量的实验。上游服务会优先分配流量,所以如果上游(即cookie取模的实验)进行了很多实验,那么下游可能会得不到足够的流量,即流量饥饿问题。除了这些问题之外(包括前面提到的流量饥饿和偏置问题),单层实验可以满足我们设计目标中的易用和相对的灵活性。但是在Google数据驱动的文件中,单层的方法没有足够的可扩展性:我们无法快速地进行足够多的实验。

4. 重叠实验基础设施

在本节中,我们将介绍重叠实验基础设施(overlapping experiment infrastructure),在尽量保留单层实验系统的优点(易用、快速)的同时,增加了可扩展性、灵活性和健壮性。我们还实现了一种可控的、定义明确的逐步放量的方式。

前面解释过,多因素实验并不适用于Google的实验场景,因为实验参数可能并不相互独立(比如,粉色的字和粉色的背景)。有了这个限制,我们的核心思路是将参数划分到  个子集。每个子集都关联着一个实验层,每个请求最多会被  个实验处理(每层一个实验)。每个实验只能修改自己层相关联的参数(即在参数子集中的参数),并且同一参数不能出现在多个层中。

一个很明显的问题是如何划分参数。首先,我们可以根据模块化的程序(服务)对参数进行子集划分,不同程序的参数可以划分到不同的子集中(这会解决前面提到的流量饥饿和偏置的问题)。然而一个程序所有的参数并不一定要在一个参数子集中,我们可以通过分析(比如,我们知道某些参数是相互独立的)或是通过以前实验(比如,分析以前将参数放到一起修改的实验)可以对一个程序的参数进行进一步划分。

事实上,我们设计的更加灵活,我们不止是将参数划分子集,再将子集与层相关联。为了解释灵活性,我们引入了一些定义。在流量和系统参数的语境下,我们有三个关键的概念:

  • 是指流量的一个划分(一部分流量的意思)。
  • 是指系统参数的一个子集。
  • 实验是指在一个流量划分上,进行零个或多个参数的修改,并最后改变请求处理的过程。

域和层可以相互嵌套。域中包含层。层中包含实验,层中也可以包含域。在一个层中嵌套域可以使这一层中的参数在嵌套域中进行进一步划分。开始时,我们有默认的域和层,它有包含所有的流量和参数,在默认域和层中,比如我们可以:

  • 简单地将参数分为三层(图 2a),这种情况下,每个请求最多只会同时在三个实验中,每层一个,每个实验只能修改相应层的参数。
  • 我们可以先将流量分为两个域,一个域只有一个单一层(非重叠域),和一个有三个层的重叠域(见图 2b),在这种情况下,每个请求会分到非重叠域或是重叠域。请求只能在非重叠域或重叠域其中之一。如果请求在重叠域,那么请求最多在一个实验中(这个实验可以改变参数集合中的任意参数的值),如果请求在重叠域,那么请求最多在三个实验中,每层一个实验。并且对于每个实验,只能使用对应层的参数。

图 2:重叠分层示意图

这种嵌套看起来有些复杂,但它有几个好处。

  1. 使用非重叠域可以让我们同时进行改变大量参数值的组合实验,这些实验参数也许并不常一起使用。
  2. 它允许我们进行不同参数划分方式。比如你可以划分出三个域,一个是非重叠的,一个是有两个层的域(即对参数集合进行一次划分),第三个域进行其它的划分方式(即有不同数量的层)。
  3. 嵌套可以更有效地利用空间,可以根据常用的参数划分方式,和哪些跨层的实验经常进行,注意将一个层的参数从一个层移到另一个层是很容易的,只要确认参数可以安全地与原有层的参数值重叠,并注意保证不同层的实验会被独立地进行,对于基于cookie取模的实验,我们用mod = f(cookie, layer) % 1000,而不是f(cookie) % 1000的方式,虽然这种方式增加了复杂性,但它也增加了灵活性。对配置的修改是需要付出代价的,特别是对域的修改,修改域的流量,即是修改实验的流量,比如如果我们将非重叠流量大小从 10%修改到 15%,这多出来的 5%流量来自重叠域,以前经过重叠域的请求现在会经过非重叠域。

另一个概念是发布层Launch layers),发布层与前面介绍的实验层有下面区别:

  • 发布层总是在默认域中(比如,它们有全部流量)。
  • 发布层是对参数的一个独立划分,比如,一个参数最多只能同时在一个发布层和最多一个正常层中(一个域中)。
  • 为了让发布层和正常层的重复参数配合起来。在发布层中的实验有着稍有不同的语法。特别是,在发布层的实验会为覆盖参数的默认值,作为新的默认值,换言之,如果没有正常实验层的实验覆盖了默认参数,那么在发布层的行为就像一个普通的实验,但如果实验层的实验覆盖了默认值,那么实验就会用这个覆盖的值,而不是系统的默认值,或是发布层实验中的参数值。

发布层的示例在图 2c、2d 中,通过发布层,我们能以一种标准通用的方式逐步灰度最终全量一个实验策略,且可以跟踪灰度过程中实验效果变化。 通常情况下,每有一个新特性要开始全量时都需要新建一个发布层,当这个新特性最终完成全量时,再将相应的发布层删除。并且因为发布层实验的流量一般都比较大,所以它们可以用于测试特性之间的相互影响,虽然理论上我们可以测试正常实验层的特性相互影响(比如,如果参数在同一层,我们可以手工设置创建实验,如果参数在不同层,我们观察实验的交集流量),但因为在正常层中,实验流量比较少,交集比较小,所以相互影响很难检测。

从前面我们已经了解到实验和域都是在操作一份流量,(我们称这种流量为『分配』的流量),为了更有效的进行实验流量分配,我们提出了两个不同的概念:分配类型和分配条件。

我们在第三节讨论了两种流量分配类型,即cookie取模方式和随机方式,还讨论了为了让层与层之间实现流量之间相互独立,在cookie取模时加入了层id的信息(mod = f(cookie, layer) % 1000)。我们还支持另两种流量分配类型,用户id取模和cookie日期取模,用户id取模类似于cookie取模,区别仅是对用户id取模而不是cookie,对于cookie日期取模,综合cookie和日期的信息后再取模,采用这种方式的话,一个实验一天内圈定的cookie是固定的,但随着日期的变更会圈定不同的cookie。在所有的场景中,是没有办法配置一个实验能使特定的cookie或是用户必通过这个实验。同样,在分析实验结果的时候也要考虑不同抽样方式的差别。同样注意,我们当前只支持的四种分类型,但我们也可以支持其它的流量分配类型,比如通过Hash查询串分流。

支持多种流量分配类型的主要目的一方面是为了保持处理的一致性,另外也希望可以覆盖到所有可能的情况,比如因时间变化而表征出来的不同特征。基于这些原因,我们以特定的顺序对不同的流量分配类型进行分流:用户idcookiecookie日期,随机。一旦这个请求被某高优先级分配方式抽中后,其它低优先级的分配方式将忽略这个请求(图 3),虽然这个顺序最大化地了一致性,但它也有一个缺点,比如,在同一层中 1%的cookie取模流量会比 1%的随机流量大,在极端情况下,我们会遇到流量饥饿问题。在实践中,一层之中一般只应有一种分流类型,实验和对比实验必须使用相同的分流类型,最主要的影响是不同的分流类型实验需要不同的样本量(见 5.2.1 节)。

在通过流量分配类型选择一部分流量后,分流条件condition)通过仅分配特定条件的流量给实验或域,以达到更高效利用流量的目的。比如,一个实验仅仅改变来自日语的查询,那么实验配置中只抽取日语的流量。我们可以基于地区,语言,浏览器等信息设置流量抽样条件。有了分流条件,一个只使用『日语』流量的实验,和一个只使用英语流量的实验,可以使用相同的cookie取模。另一个使用分流条件的场景是灰度测试新代码(代码是通过二进制推送发布的),比如,在一股小流量上测试新代码,以保证新代码没有Bug,并与预测一致,然后才能放到大流量环境中(灰度环境中,通过错误日志和实验监控方式检查Bug)。为了支持这种使用场景,我们提供了以机器或数据中心为分流条件的分配方式,它进一步限制了一个实验的流量。虽然灰度实验无法代替严格的测试,但它们是一个有用的补充,因为它既限制了潜在的错误,并且它让新的代码在真实环境中运行,从而可以遇到各种在测试环境中很难构造的真实请求。

图 3:决定请求进入域、层、实验的逻辑

分配条件是直接在实验(或域)的配置中指定的,这允许我们在实验的创建时基于数据文件对流量分配冲突进行检测。如在流量分配类型一节中提到的一样,如果一个请求先满足了流量分类顺序中的一个 _ 类型 _,它不会再考虑下面的分配类型,即使它不满足这一种分配类型的分配条件。这很重要,最好以一个例子来说明,如果我们通过特定的cookie取模来得到实验的流量,我们将会得到一个无偏的分配。考虑一下一个指定cookie取模上有两个实验,一个分配条件为日语流量,另一个分配条件是英语流量,而这个cookie取模剩余的流量(即不是日语和英语的流量)将不会分配给以cookie分配方式的其它实验,这是为了避免分配顺序后几种分配方式的偏置,重要的逻辑是不再将上述剩余的流量分配给分配顺序后几种分配方式的实验了。我们通过将有偏的剩余流量分配一个偏置id来避免偏置。

图 3 中展示了一个请求分配给域,层和实验的逻辑。这些逻辑都以动态库的方式实现,编译链接到二进制之中,所以任何修改(比如,新的分配类型,新的分配条件,等等)都会在日常的二进制推送时集成到系统中去,动态库保证了在整个系统内的一致性,并且从动态库中自动可以获取到最新的功能。

在这个设施下,一个特性的评估和发布过程是类似如下过程的:

  • 在合适的模块中,实现新的特性(包括code review、二进制推送、设置默认参数等等,和标准的工程实践一样)。
  • 创建一个灰度实验(通过数据推送方式),以保证特性可以正常工作,如果不能正常工作,那么可能就要重写代码修复这个问题。
  • 创建一个实验或是一组实验(通过数据推送的方式)来评估特性。注意配置实验涉及指定分配类型和相关的分配参数(比如:cookie取模),分配条件,和特性相关的参数。
  • 评估实验指标。根据实验结果,判断是否要进行新一轮的实验,即通过修改或创建新的实验,或甚至修改代码从根本上改变特性。
  • 如果特性可以发布,就进入发布过程:创建一个新的发布层和发布层实验,逐步的放量这个实验,并最终删除发布完的发布层,然后将发布层实验的相关参数设为系统默认参数。

5. 工具与流程

虽然重叠实验设施是有能力运行更多的实验,更快速地进行实验,并能同步优化实验效果,但只依靠设施还是不够的。我们还需要工具、研究、和教导过程来支持更快速的实验。在本节,我们讨论几个关键的工具和过程,以及它们如何帮助我们扩展的。

5.1 工具

  • 数据文件检查: 数据文件的其一优势是它们可以被自动检查错误,这可以避免一些不合理的实验运行。我们会自动检查法语错误(所有的必填字段都有并且合法),一致性和约束错误(比如,id的唯一性,根据所有的参数判断是否实验在正确的层,是否这一层有足够的流量来支持实验,流量约束检查,如果实验要求的流量已经被另一个实验使用了,等等,注意当可用的分配条件集合变大时,这些检查就变的复杂了),和基本的实验设置检查(是否实验有对比实验,并且对比实验在相同的层,是否对比实验与实验的流量分配方式和规模一致,等等)。
  • 实时监控: 我们用实时监控来检测基本的指标(比如CTR),我们通过实时监控尽快地发现某个实验是不正常的,实验者可以设置监控指标的期望值区间(也有这些指标的默认波动区间),如果监控指标超出了期望的波动区间,那么会触发自动告警,然后实验者可以修改期望区间或停止他们的实验,或调整它们的实验参数值,但它允许实验者可以激进地对于可能的潜在的变化进行测试,因为错误或预期之外的影响会被很快检测到。

5.2 实验设计与样本量

相比基本的对实验配置的基本检查外(比如,每个实验都必须有一个对照实验,它与实验使用相同的分流条件),实验设计(experiment design)和样本量(sizing)是更高级的话题。

5.2.1 样本量

如 Kohavi 论文[7]中所述,样本量应该让实验有足够的统计意义,可以统计认为有意义的指标很小的变化。在本节中,我们讨论以及实验样本量,以及实验依赖的设置,还有一些相关的样本量的工具。

一个实验的有效规模定义为:

在工程实践中,我们主要关注  和  ,但要通过  个和才能影响相关的实验指标,为了正确确定  值,我们需要知道:

  • 实验所关注的指标是什么。
  • 对每个指标,我们想检测实验改变的敏感度()值是什么。比如,实验者想检测到 2%的点击率变化。
  • 对每个指标,一个抽样单元()样本标准误差是(),实验大小为  的标准误差为 

Kohavi 假设实验与对照实验有相同的大小,比如  ,那么必须  大于等于  才能满足最小变化检测需求,16 这个值是由置信度(  ,通常为 95%)和期望的统计功效(  ,通常为 80%)决定的。

我们这套重叠做法的一个优点是我们可以在每一层创建一个大的比照实验,这样它可以被多个实验共享,如果共享的对照实验规模比实验大的多(  ),那么我们可以用  而不是  ,这样虽然样本量变小为  ,却有着 90%的统计功效(  )。

在确定实验规模的过程中,更重要的问题是如何估计标准误差  ,特别是当我们使用很多比率指标  时(比如,覆盖率,有多少查询是返回广告的(有广告返回的查询/全部查询量))。问题产生于是实验的单元与分析的单元不一致时,比如,对于覆盖率,分析的单元是一个查询,但对于cookie取模的实验而言,实验的单元是一个cookie(一系列查询),并且我们无法假设来来自同一用户或cookie的请求之间是相互独立的,我们的方法是计算  ,即每个实验的标准误差,然后以  来表示  ,在上例中,  是每个cookie取模的标准误差,且  。对于比率指标,我们用delta方法计算  [11]。

图 4 是在不同实验中,包括cookie取模和随机流量实验,对于覆盖率指标与标准误差呈  的关系,图中的斜线即是  ,坐标轴上的值出于保密的原因隐去了,但可以看出cookie取模的斜线比查询的斜线陡峭,比如在相同的准确度下衡量相同的覆盖率的变化,一个cookie取模的实验需要比随机流量实验大的规模。

图 4:在分配类型下计算覆盖度  的斜线

因为不同的指标和不同的分配有着不同的  ,那么我不应该让每个实验者自己去计算它, 我们提供了一个工具计算实验者指定的关注指标和指标敏感度,分配类型(比如cookie取模或是随机流量)和他们想要的某种流量(比如,分配条件,比如日语流量),工具就告诉实验者他需要多大规模流量才可以支持他的要求的实验。实验者可以轻松地在流量大小和敏感量之间权衡,有了这个工具,我们可以认为实验者在运行实验之前会设置合理的实验规模。

为了为我们的实验规模工具收集数据,我们一直运行一组 同质测试uniformity trial),比如,我们运行许多 对比实验或 A vs. A 实验。这些实验有着不同的实验规模和分配类型,我们可以用这些结果经验地衡量我们指标的自然变化(natural variance),并可以测试我们计算的置信区间的正确性。

5.2.2 触发、日志与反事实

回顾一下,流量分配是指分配给实验的流量,但是一个实验可能不会对所有分配给它的流量进行新特性服务,相反,一些实验可能仅在某种请求时被 触发器trigger),比如一个实验是测试何时应该显示天气信息,它可能会得到全部的流量 ,但只有一部分流量的查询会触发显示天气,这一部分但触发查询就称为触发集合。

通常,我们无法仅将触发集合的流量给实验,因为要确定请求是否触发,是需要运行时计算的,这种运行时的计算正是触发无法实现成分配条件的原因(这个触发条件很难构造对照实验流量),所以,重要的工作是记录事实(factual,当实验被触发)和反事实(counter-factual,当实验可被触发),反事实是在对比实验中记录的,比如在前面的例子中,事实(当天气信息展示)是记录在实验中的,反事实是记录在对照实验中的。比如当这个查询是可以展示天气信息的(因为它是在对比实验中,所以实际并没展示)。这些日志对于实验样本量和分析实验都很重要,因为流量中包括了没有实验变化的请求,这些请求会稀释实验的作用,在触发集合上衡量实验结果会更准确衡量实验的影响。另外,通过关注于触发集合的显著效果,实验流量的需求可以减少,因为实验的有效规模是依赖于我们要想检测的敏感度的倒数()。

5.2.3 前期与后期

一个前期(pre-period)是指在先于开始实验的时期,这时期与实验有着相同的流量(比如,相同的cookie取模),但没有实验的效果,一个后期(post-period)是类似的概念,区别是它是在实验之后的,这两个时期类似于一个对比实验与另一个对比实验比较,只是使用实验的流量,前期是保证一个实验与它的对比实验是实际可比的,而不受其它因素影响,比如,有未捕获的垃圾流量或是爬虫,后期判断运行实验是有学习到的效果,这些技术仅能用于用户idcookie取模实验。

5.3 快速的分析(Fast Analytics

虽然前面提到的设施,可以同时进行许多实验,并快速地运行一个实验,但没有实验分析工具,一个真正的实验进程是无法在本质上快速进行的。对实验工具完整的讨论已经超出了本文的范围,但这里我们讨论一个重要的设计目的。

分析工具最重要的目标是提供实验者要衡量它们的实验的指标。在Google,我们并不将好多个实验指标合成一个目标函数,而是查看多个指标,以更彻底地理解用户的体验是如何改进的(比如,用户可以多快解析这个页面,点击按钮应如何移动,等等),注意,实时流量只能衡量发生了什么,而无法看到改变的原因。

实验除了正确性和完备性,对一个实验分析工具的其它重要设计目标包括:

  • 正确地计算和显示置信区间:实验者需要知道是否他的实验仅是没有得到足够的流量(置信区间太宽),或是是否观察到的变化是统计显著的。我们研究了很多种计算准确置信区间的方法,虽然无法完整地讨论已经超出了本文范围,仅说明一下我们考虑了delta方法和其它的经验方法来计算置信区间:将实验分成几个子集,从这些子集上统计方差,并注意,一定要观察多个实验指标和实验,因为一些指标值会随机显示为显著,所以一定要多检查。
  • 一个好的UIUI必须是易用的,并是易于理解的。图形化是会有所帮助的,如果要聚合的效果在一定时期内是致的,即使是简单的走势图也能对可视化有所帮助。UI也应提示不合理的比较(比如,比较两个不同层的实验),并且UI应该方便地更改对比的实验,或对比的时期等等。
  • 支持划分,聚合后的数值常会有误导性,比如导致指标改变的原因也许并不是实验(比如,CTR改变),而是因为一个混合的变化(比如,更多的商业搜索词)。正如 Kohavi 所言[4],辛普森悖论的观察与理解是很重要的。
  • 扩展性,它必须能方便地添加用户自定义的指标和划分,特别是对新特性,已经存在的指标集合和划分可能是不够的。

只有一个工具提供实验准确的指标意味着我们有唯一的一致性实现,它使用相同的过滤器(比如,移除潜在的爬虫流量和垃圾流量),这样,不同的团队之间就可的CTR值就具有了可比较性。一个唯一的工具也更高效,因为计算会一次完成后,并呈现给实验者们,而不是每个实验者进行他们自己的计算。

5.4 教导(Education

现在我们有了重叠设实验施和相关工具,实验设计已经完成了进行更多、更快、更好的技术方面的要求。我们还是要讨论一下人的因素。教导在促进健壮的实验目标中是同样重要的。在Google,有两个过程来保证实验是良好设计的,并且一个实验的结果是能被理解和传播的。

5.4.1 实验委员会(Experiment council

第一个过程我们称之为实验委员会,它包含一组工程师,他们会审核实验者在做实验前提交的一个轻量级的checklistchecklist中问题包括:

  • 基本的实验特性(比如,实验测试什么?它们的假设是什么?)
  • 实验的建立(比如,要修改哪些参数,每个实验或实验集合分别要测试的是什么?在哪一层?)
  • 实验的流量分配和触发条件(比如,使用什么分配类型和什么分配条件,在多大比例的流量触发实验)
  • 实验分析(比如,关注哪个指标?实验者要检测的指标敏感度是什么?)
  • 实验规模和时间跨度(即保证,给定一定的流量,实验是有足够的统计量来检测指标敏感度)
  • 实验设计(比如,是否要用预时期和后时期来保证,是否反事实日志正确被记录等等)

初次使用的实验者会通过这些问题学习合理的实验设计和实验样本量,并了解实施一个实验背后的技术细节。有经验的实验者仍会发现checklist仍是有用的。不止于此,这个方法可以将所产生的更好的实验实践传播出来(比如,产生了新的工具来促进实验,产生了新的评价指标,等等),这个checklist是一个Web应用,Web应用对于存档和教导都是有用的,教导作用体现在实验者可以阅读以往的checklist来理解相关信息。

5.4.2 解读数据(Interpreting the Data

另一个过程是讨论会,实验者们带着他们的实验结果与专家进行讨论,讨论的目标是:

  • 保证实验的结果是有效的。在有些时候,即使有实验委员会,但在实际的实验上出错了,或是有一些意外发生,在这些情况中,讨论会中的讨论就像是一个调试(debugging)的过程,而对涉及的应用、日志、实验设施、指标和分析工具都有整体了解的专家是解决问题的关键。
  • 有了有效的结果后,要保证对指标集合做整体的观察,以理解实验结果到底如何,其它划分数据的方法或是改变指标也许可以更进一步理解实验的影响。一些实验很复杂,需要实验者追踪地进行几次。
  • 有了完整的结果集合,讨论并决定整个实验是一个正影响或负影响的用户体验,有了决定后,决策者可用这个数据(结合策略和战略信息)来决定是否要发布这个实验,或提出可能的改进建议,或是放弃。

讨论会对实验者是一个学习如何解读实验结果的有益之所,有经验的实验者通常不会犯以前犯过的错误,并可以预期要得到完全理解的实验结果,需要什么数据。讨论是开放的,将来要进行实验的人,可以参加以了解运行一个实验需要了解什么。实验都会记录,我们就有了一个知识库。

6. 成果

我们在 2007 年 3 月部署了我们的重叠实验设施(以有很多工具和处理前期和后期的设施发布),最终衡量我们整个系统成功的指标是我们在运行更多的实验,更好地运行,更快得到结果的能力。

6.1 更多

我们可以用几个标准来判断我们是否成功地运行更多的实验,在一个时期上一共运行了多少实验,这些实验中有多少发布了,有多少不同的实验在运行实验(见图 5)。要说明的是实验的数目包含了对照实验的数目。对于运行实验人数,一些实验是有多个拥有者的(比如,如果某人离开城市或发生了事),或是将团队邮件列表中的成员也认为拥有者。不幸的是,我们无法轻松地知道有多少拥有者是非工程师,但有意思的是,非工程师的数据是在增加的,对分布层的数量,我们只计算了使用重叠实验的发布层的数量。在重叠实验之前,我们用其他的一些机制发布实验,但它们的频率在下降。在所有的图中,Y轴上的数据出于保密的原因隐去了(它们是线性比例),但从趋势上可以明显地看出,我们系统支持了指数级增加的实验,发布,实验者。

图 5:实验,拥有者,发布数量在时间上的趋势图

6.2 更好

另一个衡量我们整体系统工具和系统的指标是判断是否比以前运行实验更好,于此我们仅有耳闻,没有实际的数据,但我们是实验委员会和讨论组的成员,我们见过这个系统发布前后的许多实验情况,我们观察的结论是:

  • 错误配置的实验变少了,尽管我们仍偶尔会遇到日志的问题(反事实)或是诡异的错误/失败情况。
  • 被遗忘的实验变少了(比如,有进行了实验,却之后忘记了分析实验)。
  • 『究竟你是用什么指标衡量CTR的』或是『你用的是什么过滤器』的讨论减少了,有一个权威的分析工具,讨论的重点现在仅在于对指标进行解释,而不是确保指标的定义和计算都是合理的。
  • 更好的合理性检查,比如有预时期来确保实验所用的流量是没有问题的。

显然理想的结果是上述问题都不存在,但是考虑到我们有更多的实验者,而上述问题即在下降,这已经是一个不错的结果。

6.3 更快

最后的一个衡量我们系统成功的指标是我们是否最终更快地得到数据,并更快地做出决策,对于速度,我们还是没有具体数据,但我们可以讨论对实验速度的观察,实验可以分解为下面几个阶段:

  • 实现一个新特性并对它进行测试,这阶段现在是最慢的,所以我们还建立了其它工具(不在本文范围)来加速创建和测试原型(比如,将下面两个步骤分离:建立可实验的版本和正式可发布版)
  • 对这个实现的特性创建一个新的实验,这个阶段要花几分钟或几小时来创建,取决于参数的复杂性,和一个少的可以忽略的提交前的检查时间(几秒到几分钟),创建时的review时间同样很短,数据推送的时间取决于二进制,时间在 1-2 小时(包括灰度测试时间)到半天。
  • 运行实验的速度取决于实验的规模和实验要运行多久才能得到想要的统计显著值。我们在实验开始后的数小时就通常就可以对实验的效果有大致的了解。实验总的时间跨度取决于:实验所需要的迭代次数、规模和紧急性,等等。
  • 分析实验的时间长短也不一定。在很多情况下,不需要自定义的分析方法,或是只需要对分析工具进行很小的扩展。在这些情况中,分析速度通常很快(数天)。但在其它情况下,需要自定义的分析方法分析的时间的长度就不一定了。

概括才言,当前的耗时点有:实现一个实验,在预时期的运行时间、自定义分析。这些耗时点是我们努力解决的点。

7. 结论与工作展望

在本文中,我们描述了重叠实验设施、相关工具和教导过程来以进行更多实验,更好且更健壮的实验和更快的实验。我们并给出了实践中我们的工作的结果:更多实验、更多实验者、更多发布,并更快速且更少的错误。虽然实际的实现是针对Google,但关于设计的讨论对于任何想收集统计数据评估变化的公司都是适用的。

下面是几个我们要继续改进我们实设设施的方向,包括:

  • 提供加速实验新特性的方法和推动一些特别的实验(不是通过参数表达的实验)。
  • 突破一个实验参数被限制到一个层的规定。特别是,对于数值参数,我们添加了运算操作(比如,乘、加),它们是可传递的,也就是可组合的。有了这些操作符,我们可以在多个层用同一参数,只要实验都只是指定对默认值的操作,而不是覆盖默认值。
  • 有的时候我们需要在很小的流量切片上运行实验,比如小语种上(比如乌兹别克语、斯瓦希里语)。在这样的小的流量切片上进行实验,通常很难在一个合理的时间范围内有足够大的规模得到统计意义上显著的结果。
  • 继续提供更多新的分配条件(和相关的验证以保证健壮性)以支持更有效地利用实验空间,等等。

【译注】:斯瓦希里语是当今非洲最常用的语言之一。

我们将继续对实验进行创新,因为实验越来越多,用数据驱动的决定越来越多。

感谢:很多参与了本文的工作,并没有以作者的身份出现。下面下一个不完全的参与者名单:Eric Bauer、Ilia Mirkin、Jim Morrison、Susan Shannon、Daryl Pregibon、Diane Lambert、Patrick Riley、Bill Heavlin、Nick Chamandy、Wael Salloum、Jeremy Shute、David Agraz、Simon Favreau-Lessard、Amir Najmi、Everett Wetchler、Martin Reichelt、Jay Crim、and Eric Flatt。Robin Jeffries、Rehan Khan、Ramakrishnan Srikant、Roberto Bayardo,他们对本文提出宝贵意见。

8. 参考资料

  • [1] D. Agarwal, A. Broder, D. Chakrabarti, D. Diklic, V. Josifovski, and M. Sayyadian. Estimating rates of rare events at multiple resolutions. In Proceedings of the ACM Conference on Knowledge Discovery and Data Mining (KDD), 2007.
  • [2] W. G. Cochran. Sampling Techniques. Wiley, 1977.
  • [3] D. Cox and N. Reid. The theory of the design of experiments, 2000.
  • [4] T. Crook, B. Frasca, R. Kohavi, and R. Longbotham. Seven pitfalls to avoid when running controlled experiments on the web. Microsoft white paper, March 2008. http://exp-platform.com/Documents/ExPpitfalls.pdf.
  • [5] Google. Google website optimizer. http://www.google.com/analytics/siteopt.
  • [6] T. Joachims. Optimizing search engines using clickthrough data. In Proceedings of the ACM Conference on Knowledge Discovery and Data Mining (KDD), 2002.
  • [7] R. Kohavi, R. Longbotham, D. Sommerfield, and R. M. Henne. Controlled experiments on the web: Survey and practical guide. Data Mining and Knowledge Discovery, 18, no. 1:140–181, July 2008.
  • [8] M. Krieger. Wrap up & experimentation: Cs147l lecture, 12 2009. http://hci.stanford.edu/courses/cs147/lab/slides/08-experimentation.pdf.
  • [9] Microsoft. Microsoft’s experimentation platform. http://exp-platform.com/default.aspx.
  • [10] M. Richardson, E. Dominowska, and R. Ragno. Predicting clicks: Estimating the click-through rate for new ads. In Proceedings of the 16th International World Wide Web Conference, 2007.
  • [11] L. Wasserman. All of Statistics: A Concise Course in Statistical Inference. Springer Texts, 2004.

温馨提示:若在升级会员或付费后阅读过程中遇到问题,请加客服微信号(cool-smiler)沟通解决,祝您生活愉快。
转载请注明原文链接:谷歌重叠实验设施:更多、更好、更快地实验
喜欢 (0)
[1186664388@qq.com]
分享 (0)
关于作者:
创享视界(creativeview.cn)是一个带动全民颠覆八小时工作制,通过投稿把自己的创意智慧变现的方式创造被动收入,从而实现财务自由的平台。我们相信,创新思维不仅有助于打造更出色的产品,还可以让世界变得更美好,让人人受益。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
%d 博主赞过: