关于ab测试:如何提供一个可信的AB测试解决方案

本文以履约场景下的具体实际为背景,介绍如何提供一个可信赖的AB测试解决方案。一方面从试验办法的角度阐述试验过程中容易被忽视的统计陷阱,给出具体的解决方案,一方面从平台建设角度阐述针对业务场景和对应束缚制订试验计划提供给用户,而不只是性能和办法由用户自由选择,因为试验办法差之毫厘,后果可能是失之千里。1 背景尽管AB测试(AB试验)的统计根底曾经有一个世纪的历史了,但大规模地构建一个正确牢靠的A/B测试平台依然是一个微小的挑战:不仅要在实验设计环节应答溢出效应和小样本的双重挑战,均衡好试验偏差与方差以确定适合的试验单元、分组办法和分析方法,给出正当的实验设计,而且要在剖析环节应对方差计算、P值计算、多重比拟、混同因素、假阴性(理论策略有成果,然而检测显示无成果)等多种统计陷阱。因而,要取得高质量的后果须要对试验和统计有专家级的了解,这无疑减少了试验门槛,难以达成任何人进行试验都可得出可信论断的指标。 本文将从试验办法和平台建设的两个视角,别离介绍如何正确地应用统计办法防止统计陷阱,以及输入什么样的平台能力,从而确保任何人应用该平台时都可得出可信论断。同时,咱们也积攒了如何进行更好的试验,以及如何利用试验来做出更好的决策,心愿能给从事相干工作的同学有所帮忙,也真诚地心愿欢送大家给出反馈或者倡议,一直优化咱们的工作。 2 走进AB测试哪个线上选项会更好?咱们常常须要做出这样的抉择。当咱们想要在两个策略之间做出决定时,现实的计划是面向同一拨用户,在两个平行时空,平行时空1体验原策略A,平行时空2体验新策略B,而后依据观测到的事实进行比拟,以决定哪个策略胜出。然而在事实世界中,不存在两个平行时空,针对同一用户,咱们只能察看到其承受策略A或策略B的一种成果,即反事实后果是观测不到的。 因而,在事实世界中,咱们通常采纳试验的办法做出决策。它将用户调配到不同的组,同一组内的用户在试验期间应用雷同的策略,不同组的用户应用不同的策略。同时,日志零碎依据试验零碎为用户打标记,用于记录用户的行为,而后依据带有标记的日志计算度量差别,并进行统计分析以排除因为噪声导致的任何差别。实验者通过这些指标去了解和剖析不同的策略对用户起了什么样的作用,是否合乎试验事后假如。 2.1 AB测试概述实证中因为不可能同时观测到同一群体在不同策略下的两种潜在后果,无奈决定哪个策略胜出,须要构建一个反事实(Counterfactual)用来代表承受策略B的群体在承受A策略时的潜在后果。 具体来讲,构建一个与实验组群体特色均值无差别的对照组,用其观测后果代表实验组群体在施加A策略时的潜在后果,此时两种后果的均值差便是策略效应大小。因为是基于样本的观测数据得出的论断,须要通过显著性剖析(Significance Test),以证实论断具备统计意义,这便是策略评估的残缺门路。 依据是否在试验前控制策略的调配,咱们将试验分为AB试验和察看性钻研(Observational Studies),在AB试验分支下,依据是否控制策略的随机调配,又将AB试验分为随机对照试验(Randomized Experiments)和准试验(Quasi Experiments)。不同的试验类型应用不同的分组办法,在肯定水平上影响着试验后剖析数据的表现形式,试验后抉择与试验类型匹配的分析方法尤为重要,间接制约着咱们是否统计意义上的迷信论断。具体分类如下: 对于大部分的试验场景,咱们能够在试验前管制对不同的试验对象调配不同的策略,然而在有些场景下,如:①测试线上演唱会流动对短视频平台的影响,思考到用户偏心,须要给全副用户施加演唱会流动策略;②在测试不同的营销邮件策略对用户影响的场景中,咱们无法控制哪些用户会最终承受策略。咱们要么不能控制策略调配,要么不能控制策略在对应的人群失效,只能采纳察看性钻研,即在天然状态下对钻研对象的特色进行察看、记录,并对后果进行形容和剖析。 在咱们能够管制对试验对象施加策略的场景,如①测试不同的产品UI对用户的影响,进而决定应用哪种UI;②疾速验证首页商品列表图素材对转化率的影响。这些典型的C端试验场景,不仅有海量用户且用户在实验组、对照组间的行为不会相互影响,能够通过随机分组的形式找到同质且独立的实验组和对照组,这类试验称之为随机对照试验,是业界掂量策略效应的黄金规范。 然而在美团履约业务场景中,如调度场景,要测试不同的调度策略对区域内用户体验的影响,策略施加单位是区域,因为区域数量少,同时区域之间各项指标(商家、运力、消费者)差别较大,采纳随机分组难以得出同质的实验组、对照组,而且因为区域之间能够共享运力,施加不同策略的实验组、对照组区域之间相互影响,不满足试验单位独立的条件。在这种场景下,咱们不能对试验对象进行随机调配,只能有抉择的进行实验组和对照组的调配,这种尽管可能控制策略调配但不能控制策略随机调配的试验,咱们称之为准试验,罕用的准试验办法如双重差分。 随机对照试验,因为其可能保障实验组、对照组两组的特色均值雷同,不会因为分组差别烦扰对实在效应的掂量,是业界掂量策略效应的黄金规范。在不满足随机对照试验束缚的业务场景下掂量策略效应,咱们采纳准试验的办法,通过改良分组办法打消实验组、对照组可观测特色的差别或使其放弃恒定差别,剖析环节采纳适配准试验场景的分析方法。 如果因为场景束缚,只能基于试验后失去的数据来进行试验的话,就只能采纳实用于察看性钻研的办法。准试验和察看性钻研尽管不是掂量策略效应的金规范,然而如果应用切当,也能够得出绝对迷信可信的剖析论断。在学界,三种不同试验类型的可信度等级如下: 2.2 AB测试的关键问题不论何种类型的AB试验,都合乎分流->试验->数据分析->决策的根本流程,以及须要满足AB试验的3个基本要素。分流是试验平台的顶层设计,它标准和束缚了不同实验者如何在平台上独立运行各自试验而不相互影响,运行试验,看似简略,然而胜利运行不同类型试验的前提是试验场景要满足其实践假如。 AB试验次要是通过观察抽样的样本来推断总体的行为,属于预测型论断,数据分析波及大量的统计学实践,稍有不慎,容易掉入统计陷阱。上述流程,任一环节出错,都可能导致谬误的论断,因而,AB试验统计一个数字容易,失去牢靠可信的统计论断并不容易。 2.2.1 AB测试的分流框架在履约技术平台,咱们通过试验掂量实在的用户反馈,以确定新产品性能的成果,如果无奈同时运行多个并行试验,将会大大减慢迭代速度。扩充同时运行试验的数量对于实现更快的迭代是必不可少的。为了减少能够同时运行的试验数量,进步并行性,并容许同时运行多个互斥试验,业界呈现了两种分流框架,一种是像谷歌、微软、脸书这种单边业务状态的公司,采纳层、域嵌套的分流框架;另一种是像Uber、DoorDash这种多边业务状态的公司,采纳基于束缚的分流框架。具体如下图所示: 基于层、域嵌套的重叠分流框架:该分流框架的特点是当时将流量随机打散做桶号标识并提前布局流量的用处,如上图所示,提前将全国流量划分为10等份并用1到10桶号来标识流量,1-6号桶的流量用于短期策略验证,7-10号桶用于长期性策略验证。为了反对同时运行多个互斥试验,晋升迭代效率,别离在1-6号桶和7-10号桶中,进一步辨别了正交桶和互斥桶,落在正交桶中的流量能够同时进入多个试验,在每进入一个试验前,从新打散一次流量,防止上一试验的残留效应做下一试验造成影响,实现了多个互斥试验的并行运行,落在互斥桶的流量,每次只能进入一个试验,用于运行不满足随机打散条件的试验。基于桶号划分的用于特定用处的一组流量汇合,咱们称为域;同一流量进入的不同类型的试验,咱们称为层。 该分流框架的长处是不仅能够实现流量复用,扩充试验并行度,而且较容易防止具备潜在交互作用的试验可能给用户带来的蹩脚体验。引入层的概念,将零碎参数划分为多个层,束缚让组合在一起可能产生较差用户体验的试验必须位于同一层,同一用户可进入不同层多个试验以试验流量复用,并避免其进入同一层多个试验,防止蹩脚的用户体验。 不足之处在于:首先,这种分流框架的一大前提是提前将流量打散,这种在大流量的单边场景下尚可,在小流量的多边场景下,难以行得通。多边场景下,思考到溢出效应,无奈间接采纳单边实体进行分流,而是采纳聚类的形式将有相互作用的多边聚合成一个大的实体,基于大的实体进行分流,思考到无限的实体数量,这种提前打散的形式难以获得平均的流量;其次,域提前规定了流量用处,这种提前隔离的形式,升高了流量利用率,无奈满足小流量场下试验效用要求,如即便在互斥域中没有试验,也无奈采纳该流量进行其它的正交试验;第三,这种提前预布局流量用处的分流框架灵活性有余,如果前期发现域的设置不合理,要扭转域的配置将付出较大的代价。 基于冲突检测的分流框架:该分流框架的特点是由实验者制订束缚,平台依据实验者制订的束缚,确保无奈防止潜在交互影响的试验没有同时曝光给用户。如微软、Uber等公司,试验平台都集成了检测交互作用的自动化零碎,以防止试验间潜在交互影响。以Uber为例,将策略看作是一组独立参数的汇合,并提前申明对应策略波及的专用参数和与其它策略共享的参数,配置试验时检测是否有任何影响雷同参数的两个试验重叠,只有它们没有重叠,便容许试验创立或更新操作。 该分流框架的长处是灵便且能最大限度的复用流量,相较于重叠流量框架,不受提前划分的域的束缚只能在特定域中进行试验,即便对应的域中此时并无其它试验。只有满足进行并行试验的条件,便能够任意圈定流量进行试验;不足之处在于:试验平台须要构建自动检测交互作用的能力。 2.2.2 AB测试满足的基本要素在运行AB试验时,要满足三个基本要素:①施加不同策略的实验组、对照组可比拟,即实验组、对照组的特色均值在试验前雷同或在试验前具备固定差别,便于试验后计算哪些差别是因为策略不同导致的;②策略之间没有烦扰,试验群体互相独立,即当咱们比拟策略A和策略B时,承受策略A的用户行为不会受承受策略B的用户行为影响;③试验群体的数量要足够,以满足效用要求,防止试验后果假阴性,即理论策略有成果然而因为样本量有余没有检测进去。 不满足因素一,试验后难以确定实验组对照组的差别是由策略导致的还是因为分组导致的,难以精确掂量策略的实在效应;不满足条件二,可能会高估策略效应。举个例子,在履约配送范畴试验中,橘色是实验组,商户A范畴的扩充,会使用户的需要从商户B转移到商户A,如果评估的是商户汇合的单量,会造成实验组单量绝对对照组多,试验环节,得出扩充配送范畴,会进步整体单量,然而当策略在全国利用后,发现单量并没有明显增加,因为试验期间察看的减少仅仅是单量转移,实验组单量转移到了对照组。不满足条件三,难以确定策略无成果是真正的无成果还是因为样本量有余,没有检测到策略成果。 2.2.3 不可漠视的统计陷阱AB试验次要是通过观察抽样的样本来推断总体的行为,属于预测型论断,波及大量的统计学实践,稍有不慎,容易掉入统计陷阱,难以得出牢靠的统计论断。 实验组和对照组之间的差别是实在的还是乐音通过显著性测验来辅助判断,要得出结论波及方差、测验形式和P值计算,这些环节充斥着统计陷阱,稍有不慎便会导致咱们通过假设检验失去谬误的论断。样本的抽样形式、散布特点以及样本量大小决定了咱们的测验形式和采纳的具体P值计算方法,试验单元、剖析单元和实验组、对照组差值类型,决定了方差计算,方差作为P值计算的一个输出,间接影响着P值后果。上述环节,疏忽任一因素,会导致P值计算错误,使咱们通过假设检验失去谬误的论断。 容易漠视的方差计算陷阱:如果不能正确的预计方差,那么P值和置信区间都将是错的,这些谬误会导致咱们通过假设检验失去谬误的论断。高估的方差会导致假阴性,而低估的方差会导致假阳性。上面是几个预计方差时的常见谬误。 两者不相等。例如,在按天交替轮转的轮转试验中,一旦确定了试验开始第一天在实验组还是对照组,后续其它天在实验组和对照组相继确定。此时,实验组、对照组两组样本不独立,如果依照独立的办法计算方差,将谬误预计方差。实际上,样本的分配机制影响着其方差计算,在AB测试中,咱们将流量划分为实验组和对照组并在实验组施加策略,而后计算实验组绝对对照组的某个度量指标的相对晋升值或者绝对晋升率,并测验该差别是否存在统计上的显著性,进而判断试验策略是否真实有效。 从上述公式能够看出,方差计算与分配机制无关,如果疏忽分配机制将导致谬误的方差计算。 评估绝对晋升或试验单元与剖析单元不统一时,谬误的方差计算形式容易低估理论方差,导致假阳性。在计算指标的绝对晋升率,如下公式所示: 容易漠视的测验形式导致的P值计算陷阱:统计学对于多大样本量即可认为核心极限定理成立并没有齐全的定论,并非所有大样本场景下的样本分布都满足正态性假如,防止有偏样本采纳默认正态分布下的测验办法。Weich t假设检验是参数检验罕用的一种测验办法,其本质上假设实验组、对照组样本均值等的渐近正态性成立,该实践实际上是建设在大样本情景下的核心极限定理根底上。统计学对于多大样本量即可认为核心极限定理成立并没有齐全的定论,这实际上也取决于原始散布自身偏离正态分布的水平。 从教训来看,若样本仅略微偏离正态总体,大于30的样本量或者就足够了。然而对于有偏样本,Ron Kohavi等(2014)  指出当样本偏度大于等于1时,一个教训准则便是只有计算样本均值的观测样本量大于$355 s^2$时才可认为核心极限定律成立。理论抽取了一个样本量为13832的流动试验,其实验组、对照组差值的抽样散布出现右偏,不合乎正态分布,如下图所示: 如果所有场景下默认采纳正态分布情景下的测验形式计算P值,容易导致谬误的P值计算。 2.3 基于一组外围形象的平台建设难以适配所有业务场景整个AB试验的过程波及大量统计学常识,正确使用书本理论知识的前提是理论业务场景满足实践假如,理论状况是很多场景不满足实践假如。在这种状况下,取得高质量的后果须要对试验和统计有专家级的了解,以及大量的工作包含:实验设计、配置、指标加工、自定义剖析等流水线工作,任一环节出错,将会导致大量的工作节约。 通过外围形象为实验者输入不同办法能力的平台建设思路,难以避免办法使用不当导致的试验相信问题,在此过程中任一设计的渺小偏差,会导致无奈比拟的实验组、对照组,从而影响试验后果。例如,事例一方差预计谬误:在试验剖析时,常常犯的一个谬误,不论分组形式是不是随机分组,在理论剖析时,依然依照样本满足独立同散布的条件计算方差,造成咱们对估计值的准确性适度自信,低估了方差,容易犯假阳性的谬误。 一个极其的例子,随机抽取100个学生用于预计该须要的均匀问题,如果被抽查的100人都是同一个学生,他们的问题只反映了一个学生的问题,对于预计所有学生均匀问题的信息含量等同于一个学生提供的信息。 如果咱们把它们当成独立的,所得的样本平均值的标准误差显然是不对的,其后果是造成咱们对估计值的准确性适度自信,即估计值的标准误差预计过小。 事例二业务场景不满足实践束缚:双重差分是咱们准试验中罕用的分析模型,它的计算过程很简略,即实验组干涉前后的均值的差减去对照组干涉前后均值的差,依据业务场景,能够抉择传统DID模型或固定效应的DID模型,但具体哪种模型适合,须要进一步看,在当下的业务场景下,哪种模型满足平行趋势假如,即在没有干涉的状况下,实验组和对照组指标的均值差别在不同工夫内保持一致,在都满足平行趋势假如下,哪种模型更优?如果不进行严格的测验,将会导致有偏预计。如下是咱们具体场景下的案例: 尽管依据大抵的场景特点,能够判断出采纳双重差分模型,然而到底采纳双重差分的哪个模型,还须要基于理论数据,做进一步验证和抉择。依据上图所示,在以后的业务场景下,并不满足传统DID模型的平行趋势假如,如果贸然应用,会造成预计偏差,工夫效应的双重差分模型和个体+工夫效应的双重差分模型,尽管都满足平行趋势假如,但从理论置信区间看,后者因为思考了策略对不同个体的差别,稳定较小,预计后果更加靠近理论值,所以应采纳后者。 3 在履约咱们如何进行AB测试3.1 多边业务模式下面临的AB测试难题溢出效应和小样本是以后业务场景下试验面临的最大挑战,其次策略施加的公平性束缚了试验分组也是咱们不得不面对的挑战。每个因素的独自制约,对得出相信试验论断将是不小挑战,而履约场景下,这些因素综合的叠加在一起,加剧了挑战。 咱们的即时配送物流零碎在多边市场中扮演着交易中间人的角色,它通过平台匹配用户、骑手、商家三方的需要,平台通过产品策略优化这一匹配过程,每一次匹配都会对同一时刻及后续一段时间内其它的匹配产生影响,具备较强的溢出效应。受溢出效应影响,试验单元的试验后果不仅取决于个体自身,还会受其余试验单元的影响。网络效应的存在违反了试验单元独立的准则,导致有偏的试验后果。 ...

August 25, 2023 · 1 min · jiezi

关于ab测试:基于迁移学习的基础设施成本优化框架火山引擎数智平台与北京大学联合论文被KDD收录

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群基于迁徙学习的基础设施老本优化框架,火山引擎数智平台与北京大学联结论文被KDD收录近期,第29届国内常识发现与数据挖掘大会(ACM SIGKDD Conference on Knowledge Discovery and Data Mining,以下简称KDD)在美国加州长滩举办。由火山引擎数智平台,北京大学计算机学院和蒙特利尔学习算法研究所等单位单干的论文 Rover: An online Spark SQL tuning service via generalized transfer learning (以下简称Rover)胜利被大会收录。Rover由北京大学的沈彧和火山引擎数智平台的任鑫宇杨负责独特第一作者,北京大学的崔斌传授负责通信作者。 图1:论文题目和作者信息 KDD会议始于1989年,是数据挖掘畛域历史最悠久、影响最大的顶级学术年会。KDD宽泛的交叉学科性和应用性吸引了来自统计、机器学习、数据库、万维网、生物信息学、多媒体、自然语言解决、人机交互、社会网络计算、高性能计算及大数据挖掘等泛滥畛域的研究者,为来自学术界、企业界和政府部门的相干人员提供了一个学术交流和成绩展现的现实场合。 Apache Spark作为支流的分布式计算框架,在工业界失去了宽泛的利用,字节跳动外部宏大的例行计算工作每天生产数百万core CPU及数十PB RAM规模的计算资源。每个Spark工作通过200余个互相关联的配置参数启动,然而,因为平台默认配置不足弹性,工作环境多样,终端用户经验不足等问题,相当数量的计算资源常因不合理的配置而被节约。传统上,有教训的大数据工程师能够根据每个工作的运行状况,对其配置进行人工剖析和调整。然而,这种人工调优形式在面临在高维参数组合时往往难以见效,并伴有运维迭代老本昂扬等问题,使得其难以被规模化。 为了解决此问题,火山引擎的工程师和北京大学的研究者一起设计了一种联合机器学习办法与人类专家常识的基础设施老本优化框架(如图2所示),该框架以贝叶斯优化算法为根底,应用高斯过程作为代理模型学习配置参数集与工作老本/运行时长的关系,并通过可信赖的迁徙学习机制,从人类专家常识编码中取得安全性和可解释性(如图2中Expert-assisted Optimization局部所示),并从类似的历史工作中取得额定的收敛减速个性(如图2中Controlled History Transfer局部所示)。图2:Rover优化器的整体架构 该计划能自动化辨认和调整例行计算工作的配置参数集,在不毁坏工作服务等级的前提下压缩资源节约,无效节俭运行老本。教训证,Rover在公开工作集及字节跳动外部的理论部署中,比照以后业内当先的解决方案,在极限收益,收敛速度和安全性方面均有进一步晋升。图3: 比照4种业内当先的解决方案,Rover在公开工作集上的内存节约比例更为显著 Rover是基于火山引擎DataTester在字节跳动外部利用的主动调参系统优化器内核、减少迁徙学习机制演变而来,并通过主动调参平台的配套服务来施行和运行的,目前该项钻研曾经在字节跳动上万个Spark数据开发工作上失去利用,已帮忙公司节约700万元/年的资源老本。将来,这项技术将在字节跳动外部的大数据计算基础设施上大规模部署,预计每年将会节约近十亿元,还将通过火山引擎数智平台为内部企业提供通用优化器服务,可利用于基础设施老本优化,线上算法超参数优化等多种场景。 据理解,火山引擎数智平台(VeDI)是新一代企业数据智能服务平台,旗下的A/B测试产品DataTester经验了字节跳动的10年打磨,目前服务于字节跳动外部500余个业务线,也服务了包含美的、失去、凯叔讲故事等在内的上百家内部企业,为企业业务的用户增长、转化、产品迭代、经营流动等各个环节提供迷信的决策依据,将成熟的“数据驱动增长”教训赋能给各行业。 点击跳转火山引擎A/B测试理解更多

August 18, 2023 · 1 min · jiezi

关于ab测试:解析胜出概率AB实验与抛硬币的对比与探讨

在之前的文章中,FeatureProbe 介绍了如何应用贝叶斯办法进行AB试验的数据分析。如果你还没有浏览过该文章,能够点击链接进行浏览。 明天咱们将通过两个活泼的例子——电商产品 AB 试验和抛硬币试验,具体论述转化率和胜出概率之间的关系。无论是首次接触 FeatureProbe 数据分析的用户,还是对转化率和胜出概率之间的差别感到困惑的用户,本文都将帮忙你更好地了解这些概念。 一、电商 AB 试验场景咱们先来看一个 AB 试验场景的例子,假如你是一个电商利用的开发者,你心愿改良产品详情页面的布局设计,以减少用户点击『下单』按钮的次数。然而,你并不确定新的页面设计是否会更受用户青睐,因而决定进行一个 AB 试验来比拟新旧两个版本的成果。 在试验中,咱们先应用 FeatureProbe 创立一个布尔型(Bool)开关,用 “A组”  代码旧版产品详情页面,用 “B组” 代表新版详情页面。当用户点击『下单』按钮时,你能够上报一个『下单』事件。如果有用户浏览了这个详情页但没有点击『下单』按钮,你能够晓得该用户进入了试验,并且理解他们是看到了 "A组" 还是 “B组”,但你不会收到这些用户的『下单』事件。 咱们通常总是使用率指标,而不会应用个数,这样能够打消 AB 两组进入用户数(样本量)不统一的问题,相当于咱们用样本数做了归一化。 一开始的咱们设置一半用户看到A组,一半用户看到 B组,即两组的样本比方是 50:50,设置完后性能上线。在咱们上线性能后的第二天,咱们对前一天的数据进行了剖析。总共有100个用户,其中48个用户进入了A组,而52个用户进入了B组。只管咱们设置了一个50:50的样本比例,但理论分组后果并没有齐全达到这个指标。这是因为样本分组波及到概率性的因素,样本量较少时可能会产生肯定的偏差。 而后咱们发现48个进入了 “A组” 的用户,22个点击了『下单』,转化率45%(先疏忽我的除法精度问题)。52个进入了 “B组” 的用户,29个点击了『下单』,转化率55%。而后平台还算出了一个“B组” 的胜出概率80%,这个胜出概率是什么意思呢? 看到这里,大家必定会好奇这个胜出概率的计算公式,这里先卖个关子。接下来我用大家比拟相熟的抛硬币试验,让大家可能更形象的了解什么是胜出概率以及有哪些因素会影响胜出概率的值。 二、抛硬币试验假如张三喜爱与人们赌猜硬币正反面。一天,你给了张三两个硬币,并通知张三其中一个硬币比另一个更有可能呈现侧面。张三进行了一些试验,但因为张三比拟懒,只对第一个硬币进行了48次抛掷,失去了22个侧面;对第二个硬币进行了52次抛掷,失去了29个侧面。当初张三想晓得当前是否应该每次都应用第二个硬币来打赌(张三是一个正常人,他会抉择押注侧面,而且他心愿赢而不是输。),回到之前的电商上线AB试验的例子,依据算进去的转化率是否要将 "B组" 新页面全量上线? 如果你是张三,你如何思考呢?是否会认为第二个硬币的侧面概率肯定是 55%,只有进行足够多的尝试,是否肯定会赢(100%胜率)?或者会放心,当初只试验了 52 次,如再试验 48 次全副呈现背面,那么再应用这个硬币去和他人打赌,那不就是输定了吗? 张三对于抉择第二个硬币有多大的信念呢?如果咱们将这个信念水平示意为一个概率,那么这个概率就能够了解为他的胜率(请疏忽数学上的严谨性)。依据他刚刚抛两个硬币的一百次数据,他对抉择第二个硬币赢钱有多大的信念?这个信念值是 55% 吗? 当初,让咱们疏忽具体的概率值,先思考一下什么会影响这个信念值。如果张三不那么懒,他回家花了几天工夫,对这两个硬币别离进行了1万次抛掷,后果发现第一个硬币呈现了 4500 次侧面,而第二个硬币呈现了 5500 次侧面。这时,他决定当前都应用第二个硬币,他的信念减少了还是缩小了? 从直观体验来说,信念是不是减少了?也就是说胜率更大,但随着收集到数据量减少,尽管转化率数据不变,仍然是 55%。然而咱们对第二个硬币比第一个硬币赢的信念会更加动摇。以此类推,在转化率不变的状况下,样本量数值不一样,算进去的胜率也会不同。 另外,还有其余因素可能影响张三的信念,但在这里不具体探讨,留给大家思考。假如张三依然只抛掷了 48 和 52 次,失去了 45% 和 55% 的转化率。然而,如果一开始我通知他这两个硬币是我轻易找的,没有显著的区别(假如我没有扯谎),那么此时他对于当前应用第二个硬币的信念会减少还是缩小? 三、总结通过上述两个例子,咱们能够总结出转化率和胜出概率之间的关系: 转化率是指某个特定事件的产生概率,通常用于形容某种转化过程中的成功率。在市场营销、广告或销售畛域,转化率指的是将潜在客户转化为理论客户或将浏览者转化为购买者的概率。转化率通常以百分比模式示意,示意胜利转化的比例。 胜出概率指的是在某种竞争、较量中获胜的概率,也能够间接了解为胜利的概率。它示意在给定的条件下,一个参与者或一个事件获胜或胜利的可能性有多大。胜出概率通常以百分比的模式来示意。 但在一些状况下,咱们是能够用一些科学计算办法,通过转化率能够用于计算胜出概率,特地是当转化率是决定胜出的关键因素之一时。然而,在其余状况下,胜出概率可能波及更多的因素,而不仅仅是转化率。 四、对于 FeatureProbeFeatureProbe 团队始终致于个性治理技术的开发实际,通过个性治理能够更有无效地治理和追踪个性的全生命周期,能够实现更好的我的项目管制和更高的交付效率。咱们的指标是通过个性治理技术优化产品公布流程,实现更灵便、可控的版本迭代和性能公布。分享个性治理技术的实际成绩,让更多人受害于个性治理技术。 ...

June 26, 2023 · 1 min · jiezi

关于ab测试:火山引擎DataTester企业如何使用AB实验优化商业化能力

商业化是企业将研发成绩,如新产品、新技术、新服务等,转变成可盈利的商业化产品;整个流程中蕴含了研发、推广、服务,全程通过精细化治理经营。商业化的实质是流量的变现,而对企业而言,商业化链路的打磨至关重要,每一个环节都会对转化产生影响。 一般来说,企业产品商业化的基本模式包含广告、电商、会员等多种形式。据理解,以失去、悟空租车等为代表的泛滥知名企业,正在应用火山引擎AB测试DataTester提供的AB试验能力,进行商业化性能的优化。 开屏广告优化:对很多APP产品而言,广告都是重要的商业化变现模式。以开屏广告优化举例,咱们在关上一些APP时,常常能看到页面的开屏广告,这类广告是通过高频率的曝光,加强品牌心智的罕用广告类型。开屏广告的点击率反映了广告素材对用户的吸引水平,优化广告素材、翻新广告模式在这里显得尤为重要。什么样的按钮动效是转化率最好的?什么样的TopView模式是最吸睛的?这些元素的选取,都能够通过火山引擎DataTester进行前置验证。 商品举荐优化:举荐算法是通过机器算法,揣测出用户可能喜爱的商品,比方咱们最常见的购物软件中的“猜你喜爱”性能,就是以商城搭建的个性化举荐算法为外围的性能。举荐算法包含基于内容的举荐,会依据用户观看的商品记录来举荐类似的商品;基于协同过滤的举荐,即依据有类似趣味的用户关联举荐相干商品;基于关联规定的举荐,即依据商品自身的相关性给用户进行举荐等。因为性能影响范畴大,企业通常在在新的举荐算法上线前进行A/B测试,火山引擎A/B测试的编程试验能力,可能帮忙企业判断新算法是否能显著晋升下单转化率。 转化链路优化:通常来说,影响电商销售转化率的因素有商品题目、图片、定价、形容等,通过测试上述相干因素的影响,不仅可能间接进步商品的销售转化,长期而言也能进步用户应用APP的体验。无论是平台还是商家,优化用户的全链路体验是一件长期工作。火山引擎DataTester设有多个针对转化链路优化的模板,并开发出“可视化试验”能力,帮忙企业即便没有代码根底,也可通过可视化间接拖更改的模式,发动A/B试验。 目前,市面上宣称可能进行广告优化、算法优化的三方A/B试验服务商越来越多,但无论是广告优化还是产品、算法优化,想要实现真正迷信可信的A/B试验,离不开对流量的精准管制和迷信分流。然而,当今支流大型平台思考到管制流量的敏感性和在简单算法模型中嵌入迷信分流能力的复杂性,很少向三方提供齐备的分流能力,以致各式各样的A/B平台达成分流的科学性、精准性难度大幅晋升。 火山引擎DataTester基于在因果推断和统计迷信方面的积淀,联合字节系外部产品用户增长的诸多实际以及与大型平台的深度单干,摸索出了很多卓有成效的精准分流能力和成果迷信度量能力。在人群隔离层面,DataTester能确保试验中的不同试验对象不会展现给同一用户;在竞争偏心方面,DataTester确保发明偏心的竞争环境,防止试验中打算互相挤压、抢量,让每一个试验对象都取得类似量级的曝光机会;在报告相信方面,收集到短缺的试验数据之后,DataTester可主动生成具备统计效劳的剖析报告。 火山引擎DataTester目前已服务数百家企业,为企业的用户增长、转化、产品迭代、经营流动等各个环节提供了迷信的决策依据,帮忙各行业企业落实“数据驱动增长”。

June 21, 2023 · 1 min · jiezi

关于ab测试:一文读懂火山引擎AB测试的实验类型2可视化实验

一. 概述可视化试验,通过所见即所得的在线编辑(比方对页面中的图片、文字、色彩、地位等元素和属性进行编辑),升高在Web/H5页面优化的场景下,产品方和经营方应用A/B试验工具的老本,罢黜编码。前置条件及限度:目前可视化试验反对在Web及H5页面开启。用于创立可视化试验的页面须要接入「A/B 测试」的Web/H5/WAP SDK。页面传输协定需应用HTTPS(Hypertext Transfer Protocol Secure:超文本传输平安协定)。试验类型: 可视化试验的试验类型为客户端试验。浏览器倡议: 支流的浏览器均可反对;iOS零碎自带Safari浏览器反对iOS10及以上版本(若零碎版本较低请降级到iOS10及以上)。倡议应用最新版Chrome及Windows Edge。二. 利用场景 可视化试验实用于落地页、主页等单/多页面优化的场景。多页面可视化试验:在一个版本中能够蕴含多个页面,实用于优化前后有关联的多个页面。通过可视化编辑器对文本、图片等元素进行编辑和替换,进而生成多个版本进行试验,探索不同计划的页面成果,如用户停留时长、PV/UV等。目前可视化试验反对的页面包含可接入SDK的自建Web及H5页面,暂不反对第三方工具搭建的页面。三、操作演示 疾速理解可视化试验创立流程四. 可视化编辑操作阐明单页面可视化试验:点击DataTester的「进入编辑器」,即可进入可视化编辑页面。<!--br {mso-data-placement:same-cell;}--> td {white-space:nowrap;border:1px solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}模块子项操作阐明顶部导航栏/内容字体排版反对对字号、色彩、文本内容、加粗/歪斜、对齐形式等属性进行编辑款式尺寸、布局、背景尺寸反对元素尺寸相干CSS款式编辑事件圈选事件针对「按钮」、「链接」、「图片」、「文本」类型的元素提供圈选事件能力。在编辑栏下,点击事件,新增事件名称;保留后新建指标:点击新建指标,会弹出指标新建页面。HTML新增元素/反对通过HTML代码的形式新增元素。(1)格式化 (2)换行和勾销换行 (3)HTML代码格局校验 (4)手动输出标签,主动闭合标签 (5)优化默认初始化示例代码多页面可视化试验:点击【增加页面】,可在一个版本中增加多个页面,可对每个页面独自进行编辑。 注:页面程序不会影响用户浏览页面体验。举例,如果用户首先看到的是页面2,而后再看到的是页面1,用户依然会看到同一试验版本的页面1。多页面编辑:可在左上角切换至不同页面进行可视化编辑,具体可操作项同可视化编辑操作阐明 。

June 19, 2023 · 1 min · jiezi

关于ab测试:一文读懂火山引擎AB测试的实验类型1编程实验

一. 概述编程试验:指的是通过代码编程进行AB试验,宽泛应用于前端优化、策略优化和后端算法优化多种试验场景,蕴含客户端和服务端试验。前置条件:接入客户端SDK或者服务端SDK,详见:利用接入二. 利用场景如何抉择试验类型?实用场景是什么?服务端试验 :指通过服务端获取试验分组信息并管制配置失效或下发的试验。局部性能只能由服务端来管制,比方内容散发算法(如用户关上今日头条当前在feed流中会看见什么内容)、由服务端逻辑管制的产品性能(如推送)等。不要求唤起APP时就使试验配置失效。客户端有充沛工夫向服务端发动申请,取得试验配置后再向用户展现策略。客户端试验 :指通过客户端获取试验分组信息并管制配置失效的试验。局部性能只能通过客户端管制,比方客户端的UI款式、交互功能设计等。APP唤起时,配置即需失效。比方咱们要针对APP的开屏页面进行A/B试验,用户刚刚关上APP,客户端就须要向用户展示开屏界面了。这种状况下客户端可能来不及向服务端申请配置参数。三、操作演示疾速理解编程试验创立流程四. 操作阐明在试验列表页点击“+创立试验”,抉择编程试验,进入试验创立流程:4.1 创立试验4.1.1 输出根本信息试验名称 :试验名称倡议取与试验内容相干的名称,如有试验版本迭代能够减少版本号后缀,让你的搭档可能疾速理解到试验是做什么的、是在哪个迭代版本的。试验形容 :试验内容简述,能够让我的项目相干人员更清晰地晓得到这个试验是如何做的,解决什么问题,同时也便于前期查看和治理历史试验时高深莫测。试验类型 :客户端试验、服务端试验。试验时长 :指试验开启的工夫,个别为了防止工作日与周末的用户行为差别,至多察看 2 个残缺周(14天)试验标签:能够给试验打上自定义或者通用标签,用于筛选、归类试验。试验负责人:默认为试验创建者。4.1.2 设置失效策略是否互斥:以后试验是否须要与其余试验互斥来防止同一个用户进入两个会相互影响的试验时能够抉择手动创立。例如,你要同时做按钮色彩和按钮形态的试验,就须要将两个试验退出到一个互斥组列表。理解更多互斥组相干内容及如何创立互斥组可查看:互斥组试验流量:失效试验的用户占满足用户受众用户比例。零碎默认为100%流量,您能够通过倡议工具(点击流量计算器)来看设置多少流量适合。详见:试验流量倡议工具用户受众规定:通过申请参数、用户分群等来圈选你的试验是面向哪些用户失效的。体验一致性:保障同一个用户只进入一个试验版本。开启后,用户只有进过以后试验版本(除非暂停,敞开试验),就不再出试验。各试验版本流量权重变更后,历史进组用户不会受到影响,只会影响已调配但未进组的用户,以及未调配的用户。4.1.3 配置试验版本测试用户命中条件:测试用户的命中逻辑是否疏忽公布受众的过滤条件,默认为"无需满足"。是否关联Feature:抉择关联后,能够将试验与 Feature 版本进行绑定,不便后续全量治理。试验版本/对照版本抉择:对照版本个别是以后的策略,试验版本个别是咱们想要尝试的新策略,同时能够批改版本的名称。试验配置参数:填写在调用AB时须要获取的试验配置参数,用来辨别以后用户命中的不同的试验策略。测试用户:创立试验后进行测试试验的用户ID列表。在试验正式开启之前,通常须要先抉择几名用户进入测试阶段,察看试验是否可能失常获取想要收集的数据,或客户端是否有bug等。增加试验版本:点击后可新增一个试验版本。实验组流量比例调配:用户命中试验后,不同试验版本之间调配的流量比例。4.1.4 试验指标试验指标能够掂量试验胜利与否,试验开始后,在实验报告页面能够看到关注指标在试验版本和对照版本的比照,在这一步,须要抉择试验关注指标。外围指标配置:用来决策试验性能是否合乎预期的「间接成果指标」或「胜利指标」。更多查看确定评估指标。监控报警:可抉择指标指标点击“监控报警”,填写具体须要的报警策略,抉择是否勾选“效果显著”,以及抉择报警策略的失效形式。编辑指标:点击图例中3地位处可进入指标编辑页面,对可指标进行名称、指标类型、是否设为必看指标等进行编辑。关注指标配置:对须要关注的指标进行配置。移除指标:移除指标,则在实验报告看不到该指标的数据。新建指标:可新建一个须要查看的指标。置信水平:置信水平(也称置信度、相信系数、统计显著性),是指实验组与对照组之间存在真正性能差别的概率。例如在置信水平是95%的状况下,如果某个试验指标的置信度p值<0.05,则阐明这个指标相比对照组,是有显著(超过置信水平)差别的。 如需设置置信水平参数值,则需分割团体管理员或利用管理员,返回“系统管理-置信水平设置”进行设置。4.2 开启试验试验调试结束,在试验列表页点击“开始”,即可开启试验。试验开始后,进组用户可实时查看,指标置信度第二日产出。如下图:

June 16, 2023 · 1 min · jiezi

关于ab测试:以平安银行智能化银行30实践看火山引擎DataTester如何助推金融行业数智化进程

作者:DataTester 银行业正在进入一场围绕客户为核心的新反动期间。流量红利逐步隐没,银行批发进入存量客户精细化经营时代;“互联网+”给金融带来更多的场景,智能化成为批发金融新的冲破方向。 据理解,智能化畛域布局当先的安全银行,正在银行业掀起批发反动的新浪潮。安全银行智能化银行3.0的设计外围是“以客户为核心、以数据为驱动”,力求更加精准地洞察客户需要,为客户提供更加适配的产品以及服务,更智能的经营触达,构建真正“以客户为核心”和数据驱动的经营体系。 围绕着“客户生命周期、财产等级、职业属性”三个外围标签,安全银行将客户划分为112个客群宫格,对客户需要做出初步诊断;并通过选取客户账户信息、产品持有信息、消费行为、心理偏好等八个偏好特色标签,进一步解析客户的需要偏好,并依靠七大类内容库,为客户设计产品、服务和内容的一些具体组合;进而,通过叠加触达场景、机会、内容、渠道四类标签以更精准理解客户的服务偏好,实现精准触达。 在如何更加灵便地找到客户经营的“更优策略”上,安全银行引入了火山引擎A/B测试产品DataTester。火山引擎相干负责人通知记者,银行有相应产品须要有对应的经营策略,每一个新的产品策略上线都须要掂量它的影响,A/B测试就是掂量每一个产品策略的标尺。 以安全银行“白领贷”产品为例,当新的迭代算法研发实现后,安全银行首先会开启A/B测试,观测产品购买率等业务收益是否有晋升。如显示有晋升,则会标记正向,并思考将新的算法全量上线;如果业务收益呈现无晋升或晋升负向,则阐明新研发的算法须要进行剖析调整。 据悉,火山引擎DataTester已推出欠缺的面向金融行业的解决方案;而针对金融行业罕用的8大场景,均配有相干的试验流程与模板。 客群经营场景:DataTester反对针对不同类型的客群,做不同素材、不同计划、不同渠道触达、不同的用户体验门路试验;同时还能够进行不同客群之间的比照。 ATO渠道策略优化:金融企业可通过A/B测试,全流程优化业务部门与客服核心的互通,晋升客服人员的工作效率,为客户带来更便捷的解决方案。 用户来访场景:企业可通过DataTester,面对不同类别的客户出现不同的素材展现计划,实现多客群、多素材、多计划的比拟;场景笼罩弹窗、Banner、App各个页面。 被动触客场景:企业可通过A/B测试,对指标客户实现多形式、多渠道的组合触达策略,同时可通过DataTester智能调优能力,主动抉择优胜组全量发送。 线下试验场景:因为金融业局部业务是线下发展,企业可应用DataTester的预分流试验能力对人群进行分流,发展多样式的线下策略,并在试验平台中实现数据采集及后续剖析。 可视化配置页面:在金融业罕用的广告页面优化、流动推广页面优化场景中,可应用DataTester可视化试验能力,无需开发人员染指,疾速生成试验版本。 多链接配置页面:在企业多渠道着陆页推广场景中,DataTester也提供多链接试验模式反对。智能流量调优:在金融行业APP中常见的“经营推送文案赛马”、“落地页动静优选”、“广告投放策略主动优选”等场景中,DataTester提供智能流量调优能力,能够帮忙企业智能化获最大收益。 火山引擎A/B测试产品DataTester是基于先进的底层算法,提供迷信分流能力和智能的统计引擎,可能给银行从产品、到页面等各项轻微的服务提供比照测试,找到“更优策略”。该平台亦是源自字节跳动长期积淀,通过10年产品打磨,服务了抖音等多个亿级用户业务。 目前,A/B测试曾经在安全银行全面推广使用,对接到如信用卡经营、App平台经营、流动积分等14个业务平台,以分流试验的形式,实现数字驱动的决策,促成策略的继续迭代。现在,安全银行智能化银行3.0与火山引擎的共建生态正在迈入更深处,打造“金融界的抖音”的爆发力让人期待。

June 13, 2023 · 1 min · jiezi

关于ab测试:从飞书妙记秒开率提升看火山引擎AB测试在研发场景的应用

作者:DataTester用户体验是决定互联网产品是否短暂生存的要害,每一个基于产品性能、应用和外观的渺小体验,都将极大地影响用户留存和满意度。对于企业合作平台飞书而言,用户体验旅程从关上产品页面的一瞬间就已开始,这里有一个非常重要的指标——页面秒开率,秒开率是指页面在一秒之内关上的比率。飞书为了晋升用户体验,对其各项性能的秒开率优化下了大功夫,通过利用火山引擎A/B测试(DataTester)进行严格的变量管制,落地精准的试验后果,帮忙研发团队佐证并明确了秒开率优化计划的收益。影响秒开率其实有很多种因素,如代码冗余,插件连累…… 在其中,有一项重要的影响因素是“类加载”。类加载是指当页面被关上时,背地是调用的多个元素的代码,它们会经验验证、筹备、解析、初始化等环节后,能力被应用,这个流程是比拟消耗工夫的。以飞书的一项性能“飞书妙记”加载为例,当飞书整体进行冷启动时,如果用户是首次关上飞书妙记界面,就会随同着靠近1600个类的大量加载,这对页面启动速度有着不可漠视的影响。如何缩小如此高的类加载数量对秒开率的影响呢?飞书团队心愿尝试采纳的计划是:接入SnapBoost计划。SnapBoost计划的思路是让app可能提前对页面应用到的"类"进行加载,艰深来说,也就是在用户关上页面之前,将耗时较长的局部提前进行加载,当用户在关上页面的时候,这些代码省去了编译和解析的工夫,能够间接执行,使秒开率失去晋升。那么SnapBoost计划是否能无效升高“飞书妙记”的加载工夫呢?飞书团队采纳了火山引擎A/B测试(DataTester)进行计划可行性的重要验证。本次A/B试验三大指标:类加载数量Activity切换耗时 :Activity通常指一个独自的屏幕(页面),此指标指在不同页面之间的切换耗时。可感知耗时 :指用户操作相干动作(点击播放、滑动卡片等)到首帧渲染进去感知到的耗时。优化前后收益验证:火山引擎DataTester的试验后果,对SnapBoost计划的晋升性能假如给予了强有力的佐证,通过SnapBoost计划等一系列优化,飞书妙记的秒开率能够达成37%的优化晋升,目前该计划曾经胜利地进行了全量上线。“ DataTester是联合A/B测试方法论最好的一个工具。”飞书的研发成员在采访时讲到,在性能优化的A/B试验上,DataTester能提供更加严格的变量管制和更加智能化的试验模式,业务能够便捷地取得有说服力的试验后果。企业研发场景如何利用A/B测试飞书的案例是一个A/B试验利用在研发场景的典型例子。市场对于惯例A/B测试的惯例印象是“产品优化的利器”,如产品页面UI优化、产品策略优化等;但区别于惯例印象,火山引擎A/B测试DataTester也可利用在多种研发场景中,包含算法优化、性能优化、模型优化、灰度公布场景等。DataTester提供了丰盛的研发场景模板,依靠深刻业务打磨的扎实的产品能力,能够帮忙企业晋升研发层面的效率和决策准确率。算法优化各类算法优化是DataTester利用场景最频繁的中央之一,算法开发人员能够通过A/B测试来验证新的算法或者算法优化是否能够晋升对应业务指标。抖音的举荐算法、广告算法、千人千面等设置,无一不是经验了DataTester的多轮验证。而包含举荐、搜寻、精准广告、精细化经营等波及到算法的产品和业务也都能够利用A/B测试技术。性能优化在产品演进与迭代的过程中,经常会呈现因为倒退迅速导致的历史遗留问题减轻。如代码冗余、分支版本多难保护等状况,产品须要对代码进行清理,对产品组件进行优化,火山引擎DataTester可能帮忙验证产品性能优化的后果,防止在优化过程中呈现bug导致产品产生重大负面影响。此外,对于一些影响用户体验的场景,例如观看视频、播放歌曲时的疾速加载,这种性能优化的场景在DataTester中也提供了相应的利用模板,业务能够疾速上线多种策略并查看其对要害性能指标的影响。服务迭代当一些服务前端代码须要进行迭代时,会面临一旦呈现问题,对用户范畴影响较广的危险。此时也可通过火山引擎DataTester去验证服务的稳定性。例如抖音电商要对商家后盾进行降级,革新次要波及的是多个商家平台根底的接口,他们首先会抉择接入DataTester,用A/B测试来试验接口变动后对产品稳定性的影响。灰度公布当产品有新性能上线后,如果线上服务一旦呈现问题,须要做到及时回滚,DataTester的智能公布能力适配这一场景。产品在新性能上线呈现问题需回滚时,只需利用DataTester智能公布能力或敞开试验,或敞开服务端的 TCC 开关,就能将所有流量立刻回滚到旧的服务上,保障灰度公布场景下呈现问题时的用户体验。火山引擎A/B测试外围模块介绍扎实的试验能力背地,是因为有齐备产品架构撑持。火山引擎DataTester作为一站式全栈多场景试验平台,产品构造纵深丰盛,并能够基于先进的底层算法,提供迷信分流能力和智能的统计引擎。DataTester产品整体分为5层构造:在应用层,DataTester服务的行业十分宽泛,除了互联网行业之外,还包含金融、消费品、批发行业、汽车行业,以及泛互联网行业中的细分子畛域。这些畛域有很多工作场景都可采纳A/B测试提效,如广告优化、落地页营销优化和用户推送优化、画布触达优化等试验。在接入层和会话层,通过DataTester的分流服务能聚合业务的多种线上触点,包含但不限于服务端、客户端、小程序及广告投放平台触点的接入。 中间层是DataTester最重要的性能层,这里能够划分为三大模块:模块一是试验治理相干模块,包含试验管控,涵盖试验从设计到公布的全流程,也包含试验的报告及其中丰盛的数据分析性能,以及相干的试验的工具,这一模块是DataTester最根底的局部。模块二是智能公布(Feature Flag),A/B测试如何失效不同的策略,如何智能化实现试验的配置、失效和公布,均由这一模块实现。模块三是A/B测试场景化的利用,DataTester提供了多样化的试验形式和试验模板。最初的数据层,DataTester除了SDK的采集之外,还反对数据集成的能力,能够集成的数据包含但不仅限于有客户端的用户行为、服务端的埋点,还有业务的第三方平台数据亦可反对。同时DataTester也会产出用户进组的信息,来将业务数据和用户进组数据链接在一起,不便A/B试验的开启。火山引擎DataTester起源于字节跳动外部的数智实际,在字节外部曾经服务了500多条业务线,10余年间在字节跳动开启的试验总量已超过150万次。同时,DataTester现已服务了美的、失去、凯叔讲故事等在内的上百家内部企业,反对了多个行业、多种业务场景的需要,为业务的运行、转化、增长等各环节提供了迷信的决策依据,将成熟的“数据驱动增长”教训赋能给各行业。

June 6, 2023 · 1 min · jiezi

关于ab测试:火山引擎AB测试MAB智能调优实验企业活动效果提升新利器

618邻近,各大电商APP的预热流动未然拉开序幕。对企业而言,一场流动从策动到上线,两头通过成果验证,其业务老本很高。一个好的流动创意从策动、开发、到最终公布,至多会经验几周实际,如果两头还经验A/B试验的小流量成果验证,会更加耗时耗力。但一个不容忽视的现状是,很多短期的线上流动很可能前几次的A/B试验后果都是不显著的,但因为流动排期紧凑、试验调试工夫短,惯例A/B试验能为流动优化带来的收益常会收效甚微。企业在短周期的流动经营场景中,如何通过疾速、低成本的A/B试验,取得更好的收益呢?火山引擎A/B测试DataTester推出的新性能——MAB智能调优试验,能够解决企业短周期流动经营场景的A/B试验痛点。传统A/B试验依赖于统计显著性的经典假设检验,在试验期间不可能变更每个子版本的流量;因而这类试验须要至多7天的专门预留周期、要有足够的样本进入试验,并且在试验开始后不能有任何变动,才可能得出显著后果。而不同于传统的A/B试验,DataTester的MAB智能调优试验能反对1-2天的短期疾速A/B试验,试验以整个流动收益最优为外围指标,可实现动静实时的流量调节。以某款游戏APP促活流动试验为例,该APP接入了火山引擎DataTester,心愿验证多文案push场景下,MAB智能调优策略能比平均分流的策略带来点击率更高的收益。该APP的经营团队首先拟定了4款不同的推送文案:题目1:巨量元宝限量发!!!内容1:宝箱已满,整整300颗元宝待领\n马上点击取得>>题目2:@你,有人偷偷给你送元宝啦内容2:整整300颗元宝待领\n马上点击取得>>题目3:收费的元宝福利到啦~~内容3:最高可取得540颗元宝,还不连忙来支付>题目4:明天的元宝处分来啦~~~内容4:元宝曾经溢出来了!\n点击支付能力持续收集哦>>在实验设计时,他们将整个试验层的流量(100%)均分为两组,试验总时长和流动时长统一,设为5天。对照组给50%流量,并在对照组流量中开设一个ABCD试验。将流量等分为4份,别离分给上述4个文案。实验组同样给50%流量,对实验组进行MAB智能调优试验。在为期5天的试验完结后,能够看到对照组和实验组的5日累计指标数据,发现基于DataTester MAB智能调优试验进行流量调配的实验组,在总体点击率上取得+9.1%的正向收益,且增长显著(p value=0.002)。通过上述案例能够发现,在两组试验中,理论观测的点击率(CTR)最高的文案并不太一样。这意味着,受推送公布工夫、用户心理等多种不确定影响因素影响,假如以对照组策略(固定平均分流试验)作为先导试验来抉择文案,最终取得的试验论断并不见得牢靠。而如果采纳MAB智能调优试验,企业只需接入DataTester并启动所有的题目文案,DataTester会采纳智能优化能力来进行流量的实时的调整和调配,企业的转化效率均匀可晋升10%以上。而除去推送文案试验场景之外,有多种营销流动场景,如落地页择优、折扣策略择优等,也都能通过DataTester MAB智能调优试验实时开启。DataTester是火山引擎数智平台旗下产品,可能深度耦合举荐、广告、搜寻、UI、产品性能等多种行业场景需要,为业务增长、转化、产品迭代,经营提效等各环节提供迷信的决策依据,目前已服务了美的、失去、凯叔讲故事等在内的上百家内部企业。据理解,火山引擎DataTester目前推出了30天收费试用的流动,用户只有在火山引擎A/B测试官网申请试用,无需企业认证,一键申请即刻开明!

June 1, 2023 · 1 min · jiezi

关于ab测试:火山引擎DataTester如何使用AB测试优化全域营销效果

以后,营销技术步入了全渠道、全周期的全域时代,随着宽泛的数据积攒,数据科学技术在营销畛域施展着越来越重要的作用,从消费者人群洞察到智能化信息广告投放,营销的提效让企业得以在转化的每个环节晋升影响力,拓展营销的可能性。本文以火山引擎A/B测试(DataTester)利用为例,讲述在企业在全域营销场景下的A/B测试利用。在全域营销的场景下,企业须要通过全域流量的整合与提效,做好内容输入、提供优质服务,并进步各环节转化效率。据理解,在全域营销的成果广告、线索收集,以及APP导量、换量等场景中,火山引擎DataTester均提供了多种适配的A/B试验类型。全域营销的第一个环节是流量获取,这个环节市场部门最罕用的形式是通过广告曝光获取流量,此时广告成为触达消费者的首个触点。针对这一场景,火山引擎DataTester提供了“广告投放拆分比照试验”,来评估不同的投放素材转化成果,以及不同的人群对同一素材的趣味度。企业能够通过DataTester的A/B试验选出转化效率最高的广告计划和投放策略。广告投放环节完结后,吸引来的趣味用户须要进一步经营承接,此时企业的H5/Web落地页品质好坏间接关系流量转化的成果。以流量承接页中最罕用的“优惠券发放”类型流动为例,流动中优惠券的发放条件、发放金额、发放形式均可通过DataTester中“数值策略A/B试验”进行验证抉择,帮忙企业找到投入产出比最高的计划。在用户进场后,为保障用户的产品体验,可通过“编程A/B试验”迭代产品性能、优化用户体验。能够说,从产品的宏观策略和到宏观细节,均可通过DataTester提供的多种A/B试验进行优化。此外,为了让用户的利用体验更好,企业可提供更多个性化的服务,如举荐算法,“猜你喜爱”等举荐流服务,此时DataTester的“举荐算法A/B试验”即可在模型成果抉择上发挥作用。对于低沉闷的用户,企业可减少提价揭示及营销流动进行召回,此时可利用DataTester“推送策略A/B试验”、“H5 营销落地页A/B试验”等来验证收益。总结来说,在全域营销的整个历程中,企业有诸多环节可通过A/B试验实现转化率的大幅晋升,包含但不仅限于举荐算法、营销策略、估算配置、KOL抉择、产品体验优化等场景。火山引擎DataTester提供了多样的A/B试验类型和多种A/B试验场景模板,能全方位帮忙企业在全域营销场景降落本提效,所有试验类型和利用模板均源自字节跳动500余个业务线的长期积淀,在科学性、实用性、易用性方面有成熟的打磨。据理解,火山引擎DataTester目前服务了美的、失去、凯叔讲故事等在内的上百家企业,为企业的用户增长、转化、产品迭代、经营流动等各个环节提供了迷信的决策依据,帮忙各行业企业落实“数据驱动增长”。

May 25, 2023 · 1 min · jiezi

关于ab测试:火山引擎DataTester小改动带来大收益AB实验助力幸福里APP精准优化

幸福里APP是抖音团体旗下开发经营的集内容、社区、工具于一体的房产信息综合平台,基于个性化举荐引擎向用户举荐优质的房产内容房源信息。本文将介绍幸福里APP利用火山引擎A/B测试DataTester实现产品体验优化,并解决试验流量适度曝光的案例。 幸福里APP在整顿用户反馈时,发现了一个产品应用体验上的问题:用户在浏览房源详情页时,有时会遇到「切换头图」卡顿的状况。而对于房产APP的业务发展而言,尤其在新房、租房和二手房售卖业务上,APP详情页的头图展现是重中之重,C端的应用用户个别都会通过查看头图的图片、视频等内容,来对屋宇状况进行预览,进而决定是否要持续进行征询等操作。 针对「切换头图」卡顿的问题,幸福里APP决定新增一项技术优化:在展现头图图片时,将事后下载下一张图片,防止用户滑动时再开始下载,导致图片展现提早;该项优化将通过火山引擎DataTester开启A/B试验,与优化前的版本进行比照,观测技术优化上线后的成果。 优化方向确认后,幸福里APP还有一个问题须要解决。因为APP详情页头图的地位入口绝对较深,须要屡次点击和跳转,针对比拟深的入口开启A/B试验,有一个A/B试验的“坑”——试验流量适度曝光(Over Exposure)须要避开。试验流量适度曝光是指在开设试验时,因为试验入口地位较深,可能导致大量并没有体验到试验版本性能的用户被计入到了试验指标的分母中,导致指标值被浓缩的状况叫做试验适度曝光。 幸福里APP在这里接入了DataTester SDK试验设置精准曝光,将“用户在进入新房、租房、小区、户型详情页时”设置为用户进组机会,达到对用户进组机会的准确把控。 火山引擎DataTester设有专门能力应答A/B试验适度曝光的场景,通过 SDK 开启试验的客户端,同样会在用户启动时从DataTester平台获取试验参数。然而在用户触达试验时,SDK 会以上报 vid 的形式向DateTester平台进行确认,DataTester收到确认后才会将该用户理论纳入最终指标的计算,从而从试验流量中过滤掉了没有理论触达试验的用户。 接下来,幸福里APP的A/B试验的技术优化计划是: 在展现头图图片时,事后下载下一张图片,防止滑动后再下载导致图片展现提早在显示一个图片时,先判断该图片是否下载胜利优化对照组为线上原有计划,实验组为技术优化计划,各赋予50%流量,在用户进入新房、租房、小区、户型详情页时触发试验曝光。 最终,DataTester的A/B试验结果显示,产品数据的晋升超出了幸福里APP在实验设计时的预期。在优化计划上线后,用户看到头图的工夫均匀会缩短一半,幸福里房源曝光和点击、APP应用时长、用户留存及沉闷天数,各项外围指标均有显著晋升。幸福里研发人员在采访时说:“自身是一个小的技术优化,预期是晋升用户体验,缩小用户看见图片的等待时间,最终发现头图加载的优化也对大盘带来了正向的收益”。 依据这个计划的收益状况,幸福里也将此项技术优化推广进入了幸福里所有的业务线,同时也退出了产品的根底组件中。在最初,幸福里研发人员也分享了一些利用火山引擎DataTester开A/B试验的心得和领会: 开试验前要明确试验类型、试验受众、曝光机会、技术指标统计口径等,防止试验不达预期要重开。试验指标数据不达预期时不要急,能够看看MDE值,拆维度(城市、新老用户、零碎等)剖析,可能会有意想不到的播种。DataTester是火山引擎数智平台旗下产品,可能深度耦合举荐、广告、搜寻、UI、产品性能等多种行业场景需要,为业务增长、转化、产品迭代,经营提效等各环节提供迷信的决策依据,让业务真正做到数据驱动。目前,火山引擎DataTester曾经服务了美的、失去、凯叔讲故事等在内的上百家标杆客户,将成熟的 " 数据驱动增长 " 教训赋能给各行业。

May 22, 2023 · 1 min · jiezi

关于ab测试:火山引擎DataTester分享AB实验中常见的8个错误

火山引擎DataTester是迷信可信的A/B测试与智能优化平台,源自字节跳动长期积淀,可能深度耦合举荐、广告、搜寻、UI、产品性能等多种行业场景需要,为业务增长、转化、产品迭代,经营提效等各环节提供迷信的决策依据,让业务真正做到数据驱动。目前,火山引擎DataTester曾经服务了美的、失去、凯叔讲故事等在内的上百家标杆客户,将成熟的 " 数据驱动增长 " 教训赋能给各行业。想真正把握A/B试验,你不仅要晓得“你该做什么”,更重要的是,你还要明确本人“不该做什么”。这篇文章中,咱们就为大家总结了A/B试验中常见的8个谬误,一起来看看吧。 No.1 产生AA相信则否定分流服务/统计 通常来说,在AB试验平台中,利用AA试验来验证分流服务是否运行失常,这一动作确有其合理性。然而,一旦产生AA相信,则一口咬定是分流服务/数据统计出了问题,这就存在一些了解偏差了。咱们在解释显著性程度的时候曾经提过,在测验假如的过程中,会犯第一类谬误——我的策略没有用,但试验结果显示我的策略有用。在95%的显著性程度下这类谬误呈现的概率是5%,即咱们开100次AA试验,而后观测某个指标,可能会有5次失去显著的后果。这是因为不可避免的抽样误差所导致的。因而,如果AA试验指标差别出现统计显著,也不过是一个概率问题;相同,假设检验正是利用「抽样误差」来帮忙咱们量化犯错的概率,并将其管制在5%以内的(95%显著性程度下),也就是说,如果咱们观测到AB显著的论断,犯错的概率就是p-value的大小。综上,产生AA相信的状况属于失常景象。 No.2 疏忽适度曝光什么是适度曝光? 在开设试验时,大量并没有体验到试验版本性能的用户被计入到了试验指标的分母中,导致指标值被浓缩(试验中波及的性能可能“入口较深”,用户关上利用后其实并没有进入到这一性能,但依然被算作了进组用户,参加了指标计算)。「指标被浓缩」对试验数据分析的影响次要体现在:试验中,无效样本量低于“理论统计到的进组用户量”,无效数据中引入了噪声,因而试验达到统计显著性须要更长的工夫;同时因为指标被浓缩,晋升值的置信区间也存在肯定的统计误差。 No.3 多重比拟问题 多重比拟会导致统计指标犯错的概率更高。以假设检验为理论依据的A/B试验,仅实用于A、B两组进行比照的场景,可能帮忙大家从A策略和B策略之中抉择一个更好的:在95%的置信水平下,假如新策略没用,咱们做一次比照,犯第一类谬误(即我的策略没用,但试验论断显示我的策略有用)的概率是5%。然而,如果试验是AABB试验,或者ABCD试验,或者ABCDEFG试验等,那么状况就截然不同了——咱们将面临多重比拟问题:当实验组多于2组时,咱们犯错的概率将大大增加,不再是5%。以ABCD试验为例:假如策略A、B、C、D间没有显著差别,咱们对ABCD两两比照,共计有6种组合,须要进行6次比照。6次比照中只有有一次犯错,咱们的论断就算犯错,因而每个统计指标的犯错概率就变为了1-(1-5%)^6=26.5% ,远大于5%。另外须要留神的一点是,假设检验以「AB没有显著差别」为原假如,B绝对于A所失去的p-value,并不等同于B比A好的概率就是1-(p-value)。也正是因而,当存在多重比拟的状况时(特地是各组策略没有显著的优劣差别甚至是旗鼓相当时),假设检验难以提供判断哪个策略最优的规范。以上两个问题大大增加了咱们评估ABCD谁更优的难度以及决策出错的危险。 No.4 为显著而显著 什么叫做为显著而显著呢?在理论的业务过程中,咱们发现这种谬误次要体现为2种状况:关注过多无关紧要的指标,只有一个指标显著,即认为策略无效。咱们一再强调,在试验中,咱们要明确指标,提前确定哪些指标可能真正掂量试验成果,并把这部分指标定为试验中要观测的外围指标。如果咱们在试验中观测过多指标,泛滥无关紧要的指标中,碰巧呈现显著是很失常的状况。实验者很可能被这种显著误导,进而认为他的策略无效。对外围指标进行多维度下钻,指标在某一维度上出现显著,即认为策略无效。实验报告中,有些指标会带有一个M样符号,这示意该指标尽管总体上不显著,但在多维下钻的状况下,该指标于某一维度上出现显著。局部实验者会在剖析试验后果时认为:在新策略的影响下,指标在某一维度下显著了,那么我的策略必定是无效的。然而实际上,这种了解并不精确。举个例子:假如一款APP的用户散布于5个国家,有3种客户端,那么将国家和客户端组合起来,咱们能够下钻出15个维度。某指标在其中一个维度下偶尔出现显著的可能性有多高呢?通过计算可知,有超过50%的可能呈现显著。因此,利用某一维度下的显著来验证策略的成果是并不合理的。综上,保持实验设计阶段确定的指标和评估规范,不要为了取得统计显著的论断而将原定外围指标更换为其余因果关系弱的指标;也不要适度宰割数据。如经剖析,确定新策略的确对某人群属性有非凡的影响,倡议更新试验指标,再开一个针对该人群的定向A/B试验进行二次评估。 No.5 试验显著就立即进行试验 在字节的数据分析师中有一句风行的话:“不要过早看实验报告。”什么意思呢?就是达到预估的样本量(也能够了解为达到预设的试验天数)之前,不要过早地去看试验后果,因为这种时候试验后果有可能会显著,你会忍不住想要停下试验,并用目前的显著后果作为试验论断,然而这是不正确的做法。对于理论没有显著差别的试验(能够了解为新策略有效),在试验初期进行观测,指标也很有可能呈现显著,这种状况咱们称之为假阳性。咱们应用假设检验来量化抽样误差的实践需建设在「满足肯定的样本量」这一前提之上,当样本量有余时,抽样误差对指标的影响会更大。随工夫的缩短,试验样本量一直减少,p-value取值也会发生变化,待进组用户累计达到预估样本量的时候,试验论断可能从后期的假阳性变为不显著。来看下图中的例子,这在这个AA试验中,预估的样本量是5000。从图中能够发现,试验在中期达到显著(置信度95%以上);随着样本量的逐步增多,试验论断最终固定为不显著。因而,在试验未达到预估样本量之前,显著性可能会在显著和不显著之间来回稳定,过早决策的试验论断是不牢靠的。字节本人的A/B测试平台——DataTester举荐用户应用多天累计指标来进行指标观测。从业务角度来讲,多天累积指标自身存在天与天间稳定,且周末和工作日体现差别较大,倡议试验运行整数个残缺天然周后,再做试验决策。 No.6 试验不显著就不进行试验 与谬误No.4相同,在这种状况下,实验者会继续开启试验,直到试验显著。A/B试验中,无论A策略与B策略如许相像,他们终归是不一样的。实践上来说,只有样本足够多(比方无穷多时),实验组和对照组策略的任何一点差别都会以致试验后果造成统计显著。比方一个试验开启了整整10年,新策略使指标晋升0.001%,且统计显著,但这种显著意义不大。因而在试验中,应该听从实验设计,如果试验曾经在预期运行周期内达到所需的样本量,但指标指标变动依然不显著,那这个试验没有必要持续运行了,进行试验换个方向持续尝试吧。 No.7 认为策略上线后晋升值应与试验雷同 假如当初开了一个试验来优化商品页面的用户购买率,其中采纳了新策略B的实验组,购买率晋升了为3%,且论断相信,这是不是代表策略B全量上线之后,该商品页面的购买率就肯定能晋升3%呢?并非如此。因为在A/B试验中咱们采取小流量抽样的形式,样本不能齐全代表总体。正确的数据是通过假设检验,联合显著性程度,咳估算出晋升值的范畴,这一范畴被称为置信区间。假如在后面的例子里,通过计算,置信区间为[1.5%,4.5%],那么在策略B实际上线后,预估区间[1.5%,4.5%]将有95%的可能蕴含实在的购买率增长率(如果显著性程度取0.05的话)。综上,如果你想晓得新策略上线后,指标可能产生的变动状况,能够参考置信区间。 No.8 齐全地唯数据至上 咱们提倡用数据谈话,不主观臆断,在评估试验时不仅要看指标的晋升量,还要联合置信度来判断数据的牢靠水平。然而,在局部状况下,数据仅能传播给咱们全面的信息,还须要咱们基于数据背地的事实进行因果推断,以保证数据论据与要证实的论点之间是具备正当的因果关系的,这样数据才是咱们论证观点的无效利器。否则,咱们就仅仅只是单纯地领有数据而已。在试验中,咱们须要依据本身的业务判断,正当设计试验,明确预期;当 A/B 试验后果违反咱们的业务直觉时,该当放弃狐疑。

May 18, 2023 · 1 min · jiezi

关于ab测试:火山引擎DataTesterAB实验平台数据集成技术分享

DataTester的数据集成系统,可大幅升高企业接入A/B试验平台门槛。当企业想要接入一套A/B试验平台的时候,经常会遇到这样的问题:企业曾经有一套埋点零碎了,减少A/B试验平台的话须要反复做一遍埋点,费时费力;企业有多个客户端和数据中台并行的状况,这些不同起源的数据难以整合进一个A/B试验平台;间隔下次大促只有一周工夫了,业务想疾速开启A/B试验,工夫紧迫;......A/B试验筹备的全流程如图下所示。当企业在已有埋点的状况下,如果想0-1开启A/B试验,通常要占用大量人力来做数据处理。须要梳理埋点列表、确定id映射关系、确定埋点数据类型、确定导入工夫范畴、批改业务解决逻辑、代码编写、测试环境调试......当经验完屡次调试验证后,数据接入实现,工作却远未完结,随同而来的是数据对齐校验、前期工作运维等。这些繁琐的工作,使企业“开启A/B试验”的门槛极高,也会带来诸多数据差别的隐患。为解决企业开启A/B试验老本过高的问题,火山引擎A/B测试平台(DataTester)专门研发了数据集成能力。本文将对DataTester的数据集成平台做技术解读。DataTester是由火山引擎推出的A/B测试与智能优化平台,它脱胎于字节跳动长期积淀,历经字节外部超150万次试验打磨,为企业的增长、转化、产品迭代,策略优化,经营提效等各环节提供迷信的决策依据。DataTester的数据集成能力,能够真正解决多源数据集成、数据荡涤和数据预处理问题,进步企业的A/B测试效率和准确性,从而为企业开试验提供无力的反对。上图是应用DataTester数据集成平台最根底的配置流程,能够看到,用户只须要在页面上注销数据源信息、映射逻辑、任务调度配置,就能够疾速的同步多源数据,实现数据配置和接入。DataTester的数据集成有哪些能力火山引擎DataTester的数据集成,次要提供了帮忙企业导入第三方数据到A/B零碎的能力,它能够解决企业在数据接入过程中的如下痛点:数据起源简单:对于须要从多个数据起源获取数据的企业来说,整合数据要当时理解A/B试验的事件格局和埋点应用标准,手动导入数据十分繁琐耗时。DataTester数据集成平台提供了疾速导入多种数据源的能力,用户能够轻松将数据汇总到一处。数据品质参差不齐:多个数据源的数据会有参差不齐的状况,DataTester数据集成平台能够主动进行数据荡涤和转换,确保导入的数据品质良好,防止因为数据品质问题带来的试验谬误。人力老本昂扬:如果采纳惯例的手动导入数据和荡涤解决的形式,会破费较多工夫人力,DataTester数据集成平台智能数据处理,可大幅升高数据处理的工夫和老本。 一键式的数据导入在以往,企业如果心愿接入新的A/B测试平台,在第一步的数据集成阶段通常只有通过SQL开发或业务代码编写的形式接入。DataTester数据集成平台提供了可视化的工作配置能力,用户能够通过点击、拖拽等模式实现数据接入;数据集成平台将主动实现数据类型转化、数据荡涤等性能。这种“一键式”的数据导入能够最大水平加重企业在数据集成阶段的工夫人力老本。可视化的工作运维用户通过可视化的形式来监控、治理和保护数据工作的运行状态和运行状况。这样的形式能够更加便捷地理解工作状态和运行状况,及时发现并解决问题。丰盛的数据集成市场DataTester数据集成反对行为数据、用户属性等历史数据回溯、实时数据同步的能力,并预置了多款数据配置模板,能够一键同步异构数据源数据。可扩大的数据插件提供丰盛的内嵌插件,反对罕用的数据处理逻辑。例如:数字四则运算、字符串解决、字段映射等等。除此之外,DataTester数据集成也提供自定义函数的能力,企业能够在平台依据理论业务逻辑定义UDF,并集成在数据导入工作中。数据集成平台的技术实现平台架构下图为火山引擎DataTester数据集成平台的整体架构,性能上,DataTester数据集成系统采纳三层架构,包含web层、Service层和数据处理服务。Web层: 提供治理控制台,用户能够不便地配置和治理数据集成工作,查看工作的执行状态; Service层:提供工作治理、监控和调度治理,反对用户对工作进行疾速响应和监控。数据处理层:则提供对各种内部数据源的解决,通过插件形式反对多种异构数据源的集成,目前曾经反对关系型数据库、音讯队列等等。零碎架构上思考了高可用、高扩大和高性能的设计。高可用:任务调度和运行反对多租户资源隔离,保障不同租户之间的工作执行不会相互影响。高扩大:数据处理工作反对分布式解决数据源数据,针对不同负载可反对程度伸缩;高性能:通过分布式执行框架保证数据集成工作的并行处理,能够满足大数据场景下的集成需要;底层能力DataTester数据集成基于Apache SeaTunnel二次开发,数据传输工作采纳Framework + plugin架构构建。将数据源读取和写入形象成为Connect(Source/Sink)插件,纳入到整个数据同步框架中。Source:Source为数据采集模块,负责采集数据源的数据,将数据发送给上游Transform。Sink: Sink为数据写入模块,负责一直向Transform取数据,并将数据写入到目标端。Transform:Transform用于连贯Source和Sink,作为两者的数据传输通道,并解决缓冲、并发、监控、数据转换解决等核心技术问题。Transform是DataTester数据集成的业务解决要害内容。咱们内置多个默认插件,主动帮忙用户实现用户剖析口径映射、事件格局转换、数值解决、字段映射等等逻辑,同时也提供入口供用户减少插件,内嵌至自有工作中。监控报警DataTester数据集成平台采纳了InfluxDB来运行数据监控。InfluxDB 是一款专门解决高写入和查问负载的时序数据库,用于存储大规模的时序数据并进行实时剖析。在每个监控工作提交后,DataTester将会在数据处理过程中减少胜利、失败的数据埋点,并最终落入InfluxDB对外展现。在企业的罕用利用场景中,数据集成监控报警次要起到以下几个作用:及时发现数据集成中的异常情况,比方数据传输失败、数据失落、反复数据等,防止数据不统一或失落的状况产生,保障数据的准确性和完整性。对于数据传输量较大或数据传输须要保障实时性的场景,能够通过实时监控和报警形式,及时发现零碎存在的问题,并可能疾速采取措施,保障数据失常传输。晋升数据集成的可靠性和稳定性,缩小企业损失和老本,放慢业务流程的执行速度,进步企业效率和竞争力。在数据安全方面有着重要的作用,及时发现和解决数据传输过程中的异常情况,确保数据的平安传输和隐衷爱护。企业案例某金融公司打算应用火山引擎DataTester开启信用卡分期优惠A/B试验,预期赶在大促前上线该试验并拿到反馈;而面对的问题是:1. 现有埋点体系简单,有大量有效埋点和简单埋点判断 2. 反复埋点老本很高,依赖客户端行为事件和服务端事件 3. 工夫节点比拟缓和,必须赶在大促前拿到试验反馈;因而进行试验十分具备挑战。针对如上背景,他们应用了DataTester数据集成平台来解决以上问题。他们在数据集成平台注册已有数据源信息,配置数据字段映射逻辑,将客户端和服务端所有事件数据进行主动捕获和同步,从而使试验无需老本地进行反复埋点;另一方面,通过数据集成的插件能力,企业能够实现简略的数据荡涤和字段加工,从而能够解决已有的埋点问题。通过这些解决方案的帮忙下,该金融公司胜利地实现了试验,并取得了重要的反馈和优化倡议。此外,DataTester也在数据集成、数据同步、数据安全等方面为企业提供了全方位的反对,确保企业我的项目可能胜利落地,并为其带来重要价值。DataTester的“可视化数据集成”及“集成工作台”计划,能够帮忙企业将来自三方的数据导入到A/B零碎中,无需额定通过传统SQL开发或者业务代码编写等形式来进行数据集成,能够实现对历史数据资产间接复用,极大水平升高零碎反复建设老本。据理解,目前可视化数据集成性能在企业数据接入方面能带来高达8倍的提效。结语火山引擎DataTester始终致力于为企业提供业界最易用、最迷信和最高效的A/B试验平台。为了进步产品在数据集成的能力和服务水平,产品将来将在以下几个方面一直演进和欠缺:提供更丰盛的数据集成模板:DataTester将反对更多埋点采集剖析产品的数据模板,让更多的企业可能轻松实现数据同步,并实现一键式的数据集成。加强可视化工作配置能力:将继续晋升函数自定义和工作配置的性能,采纳零代码的“利落拽”形式,不便企业用户疾速配置数据工作。加强数据监控运维能力:将进一步扩大报警渠道与指标,提供工作失败诊断信息,并依据数据状况提供数据品质剖析报告,帮助企业评估数据品质和准确性。数据集成能力凋谢:将提供数据源、数据模板和数据插件的凋谢接口,让更多的用户可能通过开源形式利用咱们的A/B试验平台工具,推动A/B测试生态的久远倒退与壮大。(文/火山引擎DataTester 静静)

May 15, 2023 · 1 min · jiezi

关于ab测试:从不均匀性角度浅析AB实验-京东云技术团队

作者:京东批发 路卫强 本篇的目标是从三个不平均性的角度,对AB试验进行一个认知的遍及,最终着重讲述AB试验的一个广泛的问题,即试验准确度问题。 一、AB试验场景在首页中,咱们是用红色基调还是绿色基调,是采纳门店小列表外+商品feed(左图),还是采纳门店大列表囊括商品feed(右图),哪种更吸引用户浏览下单呢,简略来解决让50%的用户看到左图成果,让50%的用户看到右图成果,最终通过点击量,单量等指标进行比对得出结论,这是典型的AB试验场景 二、AB试验的定义A/B试验就是针对想迭代的产品性能,提供两种不同的备选解决方案,而后让一部分用户应用计划A,另一部分用户应用计划B,最终通过试验数据比照来确定最优计划。 从定义里咱们就可以看进去,最直观的一个概念,就是用户的分流,此时就波及到分流人数是否平均的问题,即人数比例的平均性。 三、AB中的三个不平均1、人数比例的不平均目前AB试验的分流外围算法是通过的哈希算法,假如咱们按用户名做为分流因子,应用murmurhash算法,以100桶制为例,确定一个人的地位的算法就是 //将用户名通过hash算法计算出一个整数int hashNum = MurmurHash3.murmurhash3_x86_32(useName)//整数值对100取模int bucket = hashNum % 100;当咱们定义一个试验两个策略的人数均为50%时,那么 bucket为0-49的用户由AB零碎标记为A,业务零碎依据A标记,使得用户应用计划A bucket为50-99的用户由AB零碎标记为B,业务零碎依据B标记,使得用户应用计划B。 可是咱们都晓得哈希算法并不是相对平均的,当100人时,基本上不会呈现有50集体走A,50集体走B,然而1万集体的时候,两局部流量可能就靠近了1:1,10万人的时候可能更靠近1:1。 之前有位经营的同学问过,为什么不能用一种很平均的算法,比方第一个人来了,放入A,第二个人来了放入B,第三个人来了放入A,第四个人来了放入B....,这样一天1W集体来,5000个取A策略,5000个取B策略。 假如咱们真的这么做了,第一天是OK的,第二天进A只来了4000人,这样还是不平均的,如果你第二天依然按第一天的规定重新分配,这样会有一部分人乱了策略,不合乎咱们固定人群走固定策略的试验目标。 所以说这个不平均是无解的,HASH算法是目前最现实的解决方案,前提是你须要肯定的流量,流量越大,分流绝对就比拟精确。 2、人群素质的不平均咱们假如流量足够大,人数比例很平均了,然而还有个问题就是人群素质的平均问题。这里的素质包含生产能力,活跃度,年龄等各种人群因素。 假如当初咱们的流动对立采纳的A策略(现状),咱们想验证一下B策略(新策略)会不会带来客单价的晋升,就间接做了AB试验,还按1:1比例来分流,发现应用A计划的人群客单价是100,应用客单价B的人群是96,此时咱们能认为原有A计划优于B计划吗?其实是不能的,怎么确定这种人群素质的差别呢,能够采纳AA试验,就是两局部人都走A,进行离开统计,可能会发现,位于0-49桶的人群自身客单价就是100,而位于50-99桶的人群可能只有94,这么看来B计划是能晋升客单价的,因为位于50-99桶的人群自身指标就差一些。 当然AA不是必须的,可能你有整体的客单价指标,上了B策略后发现整体晋升了,这种状况相当于灰度验证了,但理论状况是比较复杂的,整体指标你是不分明的(因为这里的整体可能只是你取的业务中的一部分流量)。 所以解决素质不平均的伎俩就是采纳AA提前确定差异性,再在这个差异性根底上看差别的变动。 3、试验间影响的不平均这个不平均性是最简单的,个别做试验咱们走两种极其: 第一种是齐全不复用人群,每个试验人群都是独立的,这样的话成果比拟精确,然而弊病是,当所有流量都被用去后,不能有新试验开始,必须期待有完结的试验后能力持续做。 第二种,所有试验都用全副流量,此时咱们认为试验尽管相互之间有影响,然而这种影响是正交的,量大的时候应该是平均的,如下图所示,P试验的两个策略人群,到Q试验时,对Q的两个策略影响是平均的。 这种能够满足有限个试验,想做多少试验都能够,但弊病是,试验太多,必然有影响不平均的,且咱们无奈打消这种不平均。 所以咱们想能不能联合以上两种状况来解决呢,联合google的Overlapping Experiment Infrastructure文章咱们设计出分层的试验治理模型 首先咱们将总流量分成两局部,正交域,垂直域(含比照区) 咱们假如如图取80%的流量用做正交阈,20%用作垂直域,垂直域中有5%用做比照区。 上图正交域下4个层,层内试验流量互斥,层间试验流量正交,咱们将可能会相互影响的试验放到同一层内进行流量互斥,而影响不大的试验能够放到不同层内。 垂直域中的试验流量只能互斥,且不与任何试验正交,能够了解用最纯正的流量做试验,能够I1和I2两个策略间比照,也能够I1或I2和比照域(现状)比对。 那此时有一个很重要的问题须要解决,咱们怎么确定哪些试验相互影响较大,须要放到同一层下。 有一些简略规范,比方入口不一样,指标不一样等等,这种能够放到不同层,咱们能够疏忽正交不平均的问题,反之就不行。 比方流动页劵对单量晋升度的试验和会员页面入会成果的试验,就能够放到不同层。 而首页上满减流动试验对客单价晋升的试验和同样首页买赠流动对客单价晋升的试验,最好是不共用用户,放到同层比拟适合。 但对于很多试验是不太容易通过简略规定来确定的,须要大数据的同学和产品,甚至研发来独特决定试验放到哪些层和哪些试验互斥,这的确在理论的运作中是最难的点。 总之采纳这种策略,能够复用流量的同时还能够升高不必要的相互影响,比拟综合思考了流量和准确度问题。 四、总结当初咱们对以上问题进行总结,从问题到解决方案上来意识ab试验 1、人群做不到相对的平均,只能通过HASH算法,联合肯定的流量来解决。 2、通过AA试验,来提前确定人群素质的不平均。最终的试验数据联合AA试验数据来确定最终成果。 3、设计出正交垂直域,正交阈内多个层,每个层内放可能相互影响的试验,层内互斥,层间正交,保留垂直域,为要求精准的试验留出流量,来解决试验间相互影响的问题。 本篇从外围分流与试验间相互影响角度解说ab试验,心愿能引起大家在做试验前能有更多的思考,来更精确的验证本人想要的成果,心愿大家有趣味的能够留言探讨。

April 28, 2023 · 1 min · jiezi

关于ab测试:开启一个-AB-实验到底有多简单

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群火山引擎 A/B 测试平台 DataTester 孵化于字节跳动业务外部,在字节跳动,“万事皆 A/B,所有可度量” 的试验理念广为流传,小到一条站外推送的音讯,大到整个技术底层架构的优化批改,都会做 A/B 测试,甚至今日头条、抖音、西瓜视频等诸多产品的取名,也都和 A/B 测试无关。 那么如何应用 A/B 测试平台开启一个试验呢?不同于外界对于 A、B 试验操作简单的认知,其实应用火山引擎 DataTester 开启 A/B 试验的操作非常简略: 试验初始时接入 A/B 测试,次要也是 SDK 的接入,这种接入安排只须要一次,后续就能够间接应用平台了。 在接入实现之后,开启试验会有 9 个环节,包含“发现问题、提出假如、设计试验、性能开发,创立试验、收集数据、剖析评估、失去论断、公布上线”,其中最初 5 个环节,应用 DataTester 能够智能化实现,所以用户其实只须要关注设计试验的环节,其余均能够交由 DataTester 一站式智能化解决实现。 具备字节特色的 DataTester 总结下来有以下六大亮点: 1.DataTester 是一站式的通用的平台,不限试验的数量,并且能够反对正交和互斥两类的试验,同时还提供了一些高级性能,比如父子试验,还有些动静流量的一些智能试验。 2.DataTester 能够适配十分多通用的场景模板,例如一些编程类的试验。同时为了升高试验的门槛,衍生了一系列试验模板,能够通过可视化配置来进行试验的配置。同时 DataTester 还有一些垂类场景,例如推送、站点 UI 优化、MVT 的试验、广告类的试验、广告增项度能力的试验等都有一些相应的试验的模板,用户能够间接应用,大升高了试验或学习的老本。 3.DataTester 有稳固牢靠的分流机制。只有迷信的随机分流或较稳固牢靠的分流的后果,能力保障试验论断的可信度,因而牢靠的分流机制非常重要。DataTester 通过 10 亿级 DAU 打磨验证,既稳固又能够反对高并发,并且还有十分多灵便的分流机制,能够反对十分多的一些试验的性能。 4.DataTester 具备弱小灵便的人群定向的能力,能够反对 SDK 上报的属性事件流,还有用户画像标签的人群筛选,能够通过这些来进行人群定向。这些人群定向不仅能够反对试验的定向圈人,也能够反对 Feature Flag 公布的定向圈人。 5.DataTester 除了实验报告之外,还额定提供了剖析工具,能够帮忙用户疾速评估试验,用更好的论断来进行决策。 6.DataTester 的实验报告和剖析能力都是基于迷信智能的评估策略的。 DataTester 应用的统计策略跟字节跳动外部应用的是完全相同的,有两套分场景利用的评估框架并行在应用,而一般的 A/B 测试都是基于经典假设检验的。 ...

March 20, 2023 · 1 min · jiezi

关于ab测试:从数据中发现真相贝叶斯方法为你的AB实验加速优化

AB试验是一种互联网产品优化办法,通过随机分流用户到不同版本的页面或性能,比拟用户行为数据,评估哪个版本可能更好的实现业务指标。 最常见的用于AB试验的假设检验办法是频率学派的零假如检测 (Null Hypothesis Significance Testing) 。但近年来贝叶斯办法因为有较好的鲁棒性和可解释性也逐步流行起来。 零假如检测(NHST)的问题如果大家没听说过零假如检测,也能够跳过本段,间接看前面贝叶斯办法,会发现贝叶斯办法更容易了解。 如果你已经接触过频率学派的经典假设检验办法,你可能听过P值(P-Value)、显著性、统计效用、一类谬误和二类谬误这样的术语。上面以P值(显著性)为例,阐明一下可解释性的问题。 如果咱们想要测试A组和 B组之间有无差别,经典假设检验办法要求先造成一个相同的零假如(即A组和B组没有差别)。而后收集数据并察看A组和 B组 在没有差别这个假如的前提下,有多大的概率失去以后的数据(这个概率即P值)。如果可能性很小(通常P值小于0.05就认为是很小),则认为A组和B组之前有很大可能存在差别,即零假如检测统计意义上的显著。但这个P值(概率)并不形容A组和B组之间的差别水平,也不阐明A组和B组哪个更好,只是形容这两个组是有差异的。 但作为一般AB试验使用者,咱们其实想晓得的是有多大的概率,A组会显著优于B组。而后咱们还会想晓得,A组可能比B组好多少。然而下面的统计术语都没有间接解释咱们的疑难。 大多数人可能会顾名思义的认为『统计显著』就代表一个组比另一个组有显著的劣势,然而实际上并不是这样。实际上即便是专业人士,也常常会误会 P值的实在含意。 贝叶斯办法的劣势贝叶斯办法会提供更直观和易于了解的信息,在任何状况下都能派上用场。它不依赖于零假如,大大晋升了可解释性。 贝叶斯假设检验中,不同于 P值,而是通常提供以下三个数字(贝叶斯因子)解释AB试验的数据: • P(B> A):版本B比A更好的概率。 • E(loss | B):如果抉择版本B,可能的预期损失。 • E(uplift | B):如果抉择版本B,可能的预期收益。 E(loss | B)和 E(uplift | B)以雷同单位的形式度量测试指标。对于转化状况,这是一个百分比。让咱们通过应用先前的数据来查看后果: 这个后果通知咱们,如果咱们抉择版本B,但实际上它更糟(概率为3.6%),咱们预计转化率会降落0.026%。另一方面,如果咱们的抉择是正确的(概率为96.4%),咱们能够冀望取得3.3%的增益,进而将转化率进步到23%。这是一种简略的后果,团队中的成员,包含设计师和产品经理都能够很好地了解试验后果。 在获得试验数据之后,最终咱们是要决定应用A还是B,所以咱们须要有一个决策规定。您能够基于P(B> A)做出决策,但一个可能的更好的决策规定是仅在 E(loss | B)小于某个预约义阈值时发表B为赢家。 另一个举荐应用贝叶斯假设检验的起因是:从模仿中的状况来看,达到同样的成果时,应用贝叶斯算法,样本量能够节俭大略一半,具体的原理和计算方法,会在后续的文章中具体介绍。 贝叶斯办法的毛病贝叶斯的毛病是计算效率低。在统计学倒退晚期,这是一个齐全无奈解决的问题,因为这些计算须要用铅笔和纸实现。不过现在咱们的电脑只须要不到一秒钟就能够实现这些数据计算。 再者是须要晓得先验散布,能力升高样本量,目前在实践中个别都采纳无信息的先验散布(例如:先验转化率取值为50%)。       总结FeatureProbe 团队在之前的我的项目教训中,也应用频率学派的零假如检测数年的工夫。在应用过程中,遇到了零假如检测用户了解艰难、试验不能中途进行须要特定样本量等一系列问题。作为比照,在没有统计专业人士帮忙下,用户可能更好了解和应用贝叶斯办法,贝叶斯办法实用于小样本数据,能够缓解后期数据有余的问题,所以更适宜用户量无限的守业公司和小型公司等长处。 作为开源我的项目,FeatureProbe 团队心愿可能帮忙更多的非统计学背景的用户,守业和中等规模的公司应用到AB试验这个弱小的工具。所以抉择了解释性更强,样本量更少,实现后果更快的贝叶斯办法。 对于咱们FeatureProbe 是国内首家性能开关治理开源平台,它蕴含了灰度放量、AB试验、实时配置变更等针对『性能粒度』的一系列治理操作,齐全开源,能够释怀间接应用。 以后 FeatureProbe 作为一个性能开关治理平台曾经应用 Apache 2.0 License 协定齐全开源,你能够在 GitHub 和 Gitee 上拜访源码,你也能够在下面给提 issue 和 feature 等。

March 16, 2023 · 1 min · jiezi

关于ab测试:火山引擎-DataTester一个-AB-测试将一款游戏的核心收益提升了-8

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群随着社会节奏及生存形式的扭转,休闲游戏在移动游戏市场的占比逐步升高,据伽马数据公布的《2022 年休闲游戏倒退报告》显示,中国休闲游戏市场疾速扩张,规模已从 2018 年的 210 亿元倒退至 300 亿元以上,其中广告变现支出占比超过 75%。休闲游戏"短平快"的玩法设计,使得广告支出成为其次要盈利模式。 这类游戏通常抉择在流量平台进行散发,后期获客阶段能够实现用户的快速增长,当用户达到肯定规模后,能够利用平台提供的广告主资源,实现游戏的广告变现。 一款游戏产品就通过火山引擎A/B测试产品DataTester,优化了游戏内“积分玩法”,既晋升了用户的产品体验,又减少了游戏的盈利,使得该游戏产品外围收益整体晋升超过 8%。 休闲游戏通常将用户留存和支出指标为外围指标。游戏策动通过对终极指标的拆解,会在不同环节定向关注“新增留存、新增付费率、付费渗透率、付费 ARPU”等游戏外围数值,并通过数据反馈,察看不同性能对游戏外围指标的正负向体现,有针对性地进行拉新、促活等经营伎俩。 基于此,相干游戏团队明确了外围游戏的玩法:1.用户侧:玩家通过游戏对局、在线时长取得肯定的平台积分处分;2.游戏侧:评估处分老本,通过 ARPU 值量化均匀每个用户奉献的业务收入,使得支出>老本。 A/B 试验可能在游戏产品的调优中施展重要的作用。DataTester 能够继续帮忙休闲游戏明确性能迭代的成果,观测游戏更新上线的影响,缩小多个性能之间的穿插烦扰; 在当下强烈的市场竞争中,产品可能用绝对较低的流量投入取得绝对较高的营收,也是拉开休闲游戏差距的要害因素。该游戏应用火山引擎 DataTester,在用户游戏积分获取环节通过 A/B 试验测试了多种积分的发放形式,心愿找到在盈利方面投入产出比最高的积分玩法。 游戏团队应用 DataTester 提供的“多组择优报告”能力,通过试验数据输入,能够间接展现“某组计划成为最优组的概率”,帮忙业务方正确量化决策收益,升高数据分析的老本,让游戏公司防止破费高人力、高工夫老本去进行策略收益剖析。 在本案例的四组计划中,通过 A/B 试验观测到“实验组 C”在用户留存、游戏盈利方面指标数据反馈更为优异,最终作为试验优胜组产品全量上线。 据数据观测,“实验组 C”的策略上线后,该游戏的用户留存指标及营收指标都有显著晋升,产品外围收益整体晋升超过 8%。 DataTester 孵化于字节跳动多年的业务实际中,在字节外部服务了 500 多条业务线,累计试验总量超过了 150 万次,每天同时运行的试验数有 3 万余个, 而且这些数字还在持续飞速上涨。 而今,DataTester 由火山引擎对外开放服务,目前已服务了美的、失去、凯叔讲故事等在内的上百家内部企业,反对了多种业务场景需要,为业务的用户增长、转化、产品迭代、经营流动等各个环节提供了迷信的决策依据,将成熟的“数据驱动增长”教训赋能给各行业。 点击跳转 火山引擎A/B测试DataTester 理解更多

March 13, 2023 · 1 min · jiezi

关于ab测试:火山引擎-DataTesterAB-实验如何实现人群智能化定向

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群在精细化经营时代,用户需要和业务场景更加多元,在产品性能迭代以及各类流动中,面向不同人群的趣味点,有针对性地“精耕细作”,对于晋升留存、转化、GMV 等非常重要。 火山引擎 DataTester 智能公布性能,能够帮忙业务人员实现包含产品落地页、流动策略 、产品性能及产品流程的智能定向,大幅晋升精细化经营效率。举个例子,当咱们把产品对应的客户群体分为 10 个不同类型,那么,利用 DataTester 就能够对应不同客群,智能衍生出产品 Feature 组合的 10 个版本。 性能个性化:可依据不同人群特点展现不同的性能。比方面向短视频高频用户优先展现短视频入口,面向偏好图文的用户优先展现图文入口,晋升不同人群的个性化体验。差异化经营:可实现细分人群的精细化经营。比方经营流动时,可针对不同地区、人群采纳差异化的经营策略。定制化公布:反对按公共属性、用户分群、画像分群、事件流圈人等多种圈人群形式,并反对用户自定义人群受众,满足业务定制化的定向公布需要。DataTester 智能公布能力反对设置多个变体,实现性能个性化生成。若有新的性能/策略,需常常变更迭代,可在 DataTester 中创立为一个 Feature 作为动静配置,界面化治理和更新。如商品优惠券策略梳理,可通过创立一个 Feature 配置,在界面上继续更新失效策略。 当有多个产品版本要进行试验时,能够通过设置不同变体进行。所谓变体就是取值(value)不同后造成的新版本(性能/页面等),在对一些元素进行批改内容和款式后就能够生成的新变体了。例如筹备对 APP 登录形式进行测试,那么变体可为 1:QQ 登录、2:微信登录 3:抖音登录。在 DataTester 的智能公布中,反对 boolean、string、number 和 json 四种类型(json 类型反对多层嵌套)进行变体的设置,可能实现同时公布多个版本,每个版本有不同的性能,不同的体验款式。 DataTester 还反对自定义公布受众规定,实现差异化经营和公布。当有了不同的产品版本和流动页后,则可配置面向不同用户群体的失效。例如不同城市的用户对商品的爱好不同,则能够在 DataTester 中设置不同热卖商品的流动页,并针对不同的城市用户进行不同的试验。 自定义用户筛选:能够通过过滤条件进行用户的筛选,将符合条件用户筛选进去,比方咱们能够过滤出来最近 7 天沉闷且应用过优惠券的用户;自定义公布范畴:可抉择公布范畴“某个变体、多变体、不下发参数值”,也就是说能够抉择咱们之前设置的某个版本命中筛选的这部分用户,在抉择之后还能够设置流量比例。 DataTester 是火山引擎数智平台(VeDI)旗下的 A/B 测试平台,可能深度耦合举荐、广告、搜寻、UI、产品性能等多种业务场景需要,为业务增长、转化、产品迭代,策略优化,经营提效等各个环节提供迷信的决策依据,让业务真正做到数据驱动。 目前,火山引擎 DataTester 曾经服务了美的、失去、凯叔讲故事等在内的上百家标杆客户,将成熟的 " 数据驱动增长 " 教训赋能给各行业。 点击跳转 火山引擎Datatester 理解更多

March 3, 2023 · 1 min · jiezi

关于ab测试:火山引擎-DataTester在广告投放场景下的-AB-实验实践

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群 “我晓得在广告上的投资有一半是无用的,但问题是我不晓得是哪一半。”——批发大亨约翰·沃纳梅克这句经典名言,被称为广告界的哥特巴赫猜测,它道出了广告成果掂量的难点,同样也击中了有数广告主的痛点——企业有一半广告费都是被节约掉的。 广告投放的成果很多时候常与玄学画上等号,但却也是公域营销不可或缺的一环。迷信的掂量广告的成果,适时做出策略调整优化转化率,始终既是业界的重点、热点、难点。 如何让企业在广告投放上的每 1 块钱都花在刀刃上? 火山引擎 DataTester 或者能够交出一份高分答卷。DataTester 是字节跳动外部利用多年的 A/B 试验平台,2020 年通过火山引擎面向内部企业凋谢服务。 平台自建设至今,承载了字节 500 余个业务线的 A/B 试验工作,累计已发展过 150 多万次试验。广告试验是 DataTester 的一大特色能力之一。DataTester 基于本身在因果推断和统计迷信方面的粗浅积淀,联合字节外部用户增长以及广告算法建设的诸多实际,摸索出了很多卓有成效的广告成果掂量办法和晋升策略。 本文将分享 DataTester 在广告投放场景下的实践经验。为什么 A/B 试验能晋升广告投放效率?在互联网时代,企业该如何做好广告营销,继续驱动盈利增长呢?从对字节跳动多年的业务总结来看,实际给出的方法论指向是:50%靠创意,50%靠营销迷信。 在广告投放的场景下,一线广告优化师通常会创立多个打算,去测试不同的广告素材成果。这套办法看似迷信,实际上却问题多多:广告打算适量,会对流量造成互相挤压争抢,流量无奈平均分配,就难以获取迷信的成果比照数据;广告受众没有实现隔离,如果同一用户能够看到多组广告,则测试后果无奈保障科学性;广告打算过多,会抢占贵重的营销经费配额,并节约广告优化师大量人力。 这些问题导致广告投放时,企业节约了大量的工夫精力和金钱,也未必能失去迷信量化的的无效论断。 图源:视觉中国 而通过迷信的 A/B 试验,能够确保在广告投放中,实现精准的流量调配、受众隔离,获取最为迷信的数据统计后果;与此同时,在多个广告打算创立的过程中,性能优越的 A/B 试验平台可反对计划的智能化设置,节约大量人力。 广告方案设计:可依据 A/B 试验的成果选出最佳计划;广告成果验证:通过 A/B 试验能够达成“快准稳”的成果检测,让大胆翻新、疾速试错成为可能;广告问题定位:通过 A/B 试验能够疾速定位投放成果不佳的问题起因,防止低效而低廉的谬误迭代。 总结来说,迷信的 AB 试验平台,可能确保广告在方案设计、人群抉择、渠道定位等每个决策环节,都能取得正向的收益,从而在广告投放时,产生正向反馈越滚越大的复利效应。 字节跳动的广告优化教训分享字节跳动副总裁、算法和数据技术负责人杨震原曾在火山引擎 A/B 测试开放日中讲述过,“字节跳动成立之初,今日头条就在做策略举荐类的 A/B 测试。 2016 年正式建设了反对大规模产品试验的 A/B 测试平台(DataTester),之后陆续接入抖音、西瓜视频等全线业务,把 A/B 测试利用在产品命名、交互设计、举荐算法、用户增长、广告优化和市场流动等方方面面的决策上。”字节是一家有着深厚 A/B 试验基因的公司,广告试验是 DataTester 全域营销场景下的重要一环。 针对企业在营销场景上的诸多痛点,如人工试验操作繁琐,广告成果难度量、优化无从下手;成果数据起源扩散,人工剖析费时费力;投放重大依附人工教训,一线优化师通宵盯盘、精疲力尽...等等问题,DataTester 提供了全套的广告优化解决方案: 试验智能化调优:基于业界一流统计学专家的算法模型,按照广告成果动态分配流量,实现收益最大化; 买通前后链路数据:反对支流广告渠道的监测能力,实现了后链路数据的买通,助力更迷信的成果归因;买通人群数据:反对与 CDP 人群治理平台深度买通,广告可实现基于用户标签和人群画像的精准投放;跨渠道广告投放能力:集成包含巨量引擎在内的支流广告投放平台,实现一站式广告素材创意治理、批量广告创立投放、多渠道广告成果监测;集成建站平台:与多个建站工具深度单干,打造广告落地页搭建和 A/B 试验创立的无缝体验,大幅升高试验门槛。点击查看大图:DataTester 全域营销场景解决方案针对具体不同的场景,DataTester 提供了拆分比照试验、落地页优化试验等多种试验类型,不便用户更加便捷地基于试验进行迭代: ...

February 20, 2023 · 1 min · jiezi

关于ab测试:什么是-AB-实验为什么要开-AB-实验

1、什么是 A/B 试验A/B 试验也被称为 A/B 测试,试验的基本思路是在线上流量中取出一小部分(较低危险),齐全随机地分给原策略 A 和新策略 B(排除烦扰),再联合肯定的统计办法,失去对于两种策略绝对成果的精确预计(量化后果)。 这一套基于小样本的试验办法同时满足了低危险,抗干扰和量化后果的要求,因而不管在互联网产品研发还是科学研究中,都被宽泛应用。 A/B 试验的利用一 Instead of saying "I have an idea," what if you said "I have a new hypothesis , let's go test it, see if it's valid, ask how quickly can we validate it." And if it's not valid, move on to the next one. —— Satya Nadella CEO, Microsoft微软 CEO Satya Nadella 在business insider采访中,对于假设检验的这一段答复简练地形容了微软基于试验-剖析-决策的数据驱动文化。 事实上,微软也是世界上最早采纳 A/B 试验评估每一个重大 feature 的科技公司之一,从 bing 的搜寻排序到 MSN 的交互设计,数据驱动的决策无处不在,每年为微软躲避大量危险并发明可观回报。 ...

January 3, 2023 · 1 min · jiezi

关于ab测试:对不起你做的-AB-实验都是错的火山引擎-DataTester-科普

DataTester 是火山引擎数智平台旗下产品,能基于先进的底层算法,提供迷信分流能力和智能的统计引擎,反对多种简单的 A/B 试验类型。DataTester 深度耦合举荐、广告、搜寻、UI、产品性能等多种业务场景需要,为业务增长、转化、产品迭代、策略优化、经营提效等各个环节提供迷信的决策依据,让业务真正做到数据驱动。 DataTester 通过抖音、今日头条等字节业务多年验证,截至 2022 年 8 月,已在字节跳动外部累计实现 150 万次 A/B 试验。此外也曾经服务了美的、失去、凯叔讲故事等在内多家标杆客户,将成熟的“数据驱动增长”教训赋能给各行业。 点击跳转 火山引擎DataTester官网 理解更多 运行 A/B 测试的过程可能十分艰难,如果做得不对,就会失去谬误的论断。在 A/B 试验过程中,以下是常见的 8 个谬误: 1.产生 AA 相信否定分流服务/统计 利用 AA 试验来验证分流服务是否运行失常,但若产生 AA 相信,则确定是分流服务/数据统计出了问题么?测验假如的过程中,咱们会犯第一类谬误--我的策略理论没有用,但试验结果显示有用。在 95%的显著性程度下这类谬误呈现的概率是 5%,即开 100 次 AA 试验观测某个指标,可能会有 5 次失去显著的后果。这是因为不可避免的抽样误差所导致的。假设检验正是利用「抽样误差」来帮忙咱们量化犯错的概率,并将其管制在 5%以内的(95%显著性程度下)。2.疏忽适度曝光 适度曝光:在开设试验时,大量并没有体验到试验版本性能的用户被计入到了试验指标的分母中,导致指标值被浓缩(试验中波及的性能可能“入口较深”,用户关上利用后其实并没有进入到这一性能,但依然被算作了进组用户参加了指标计算)。3.每次试验必开多重比拟 以 ABCD 试验为例:假如策略 A、B、C、D 间没有显著差别,咱们对 ABCD 两两比照,共计有 6 种组合,须要进行 6 次比照。6 次比照中只有有一次犯错,咱们的论断就算犯错,因而每个统计指标的犯错概率就变为了 1-(1-5%)^6=26.5%,远大于 5%。假设检验在「多组择优」场景下,没法通知你谁更好,犯错危险也更大。4.为了显著而显著 关注过多无关紧要的指标,只有一个指标显著,即认为策略无效。如果咱们在试验中观测过多指标,泛滥无关紧要的指标中,碰巧呈现显著是很失常的状况。实验者很可能被这种显著误导。对外围指标进行多维度下钻,指标在某一维度上出现显著,即认为策略无效。5.试验显著就立即进行试验 试验没有显著差别的试验,在试验初期进行观测,指标也很有可能呈现显著,这种状况被称为假阳性。6.试验不显著就不进行试验 A/B 试验中,无论 A 策略与 B 策略如许相像,他们终归是不一样的。实践上来说,只有样本足够多(比方无穷多时),实验组和对照组策略的任何一点差别都会以致试验后果造成统计显著。咱们在试验中,应该听从实验设计,如果试验曾经在预期运行周期内达到所需的样本量,但指标指标变动依然不显著,那这个试验没有必要持续运行了,进行试验换个方向持续尝试。7.认为策略上线后晋升值应与试验雷同 假如我当初开了一个试验来优化商品页面的用户购买率,其中采纳了新策略 B 的实验组,购买率晋升了为 3%,且论断相信,这是不是代表我的策略 B 上线之后,该商品页面的购买率就肯定能晋升 3%呢?显然不是。如果你想晓得新策略上线后,指标可能产生的变动状况能够参考置信区间8.齐全地为数据至上 ...

December 26, 2022 · 1 min · jiezi

关于ab测试:火山引擎DataTester无需研发人力即刻开启企业AB实验

近日,火山引擎A/B测试平台—— DataTester 对产品内A/B试验的“可视化编辑器”进行了新的降级,对交互、预览、Xpath的层次结构视图等能力均做了优化。据介绍,火山引擎DataTester的可视化编辑器,能够让用户无需编写任何代码,即可在网站或相干产品页面上进行根本的视觉更改,并发动A/B试验。哪怕是没有Web技术或编写代码教训的用户,在 DataTester 上也仍然可能便捷地实现A/B测试。在能力降级后, DataTester 可视化编辑器具备如下新个性:交互方式优化,页面和试验切换,抉择元素可视化编辑,聚焦更顺畅的操作缩小刷新初始化内容,让刷新加载更快捷沉迷式的预览体验,防止烦扰因素影响Xpath的层次结构视图,让层级展现更清晰在以往,A/B试验的设计往往是通过编程试验实现,这意味着用户必须领有写代码、配置SDK的能力,上手门槛很高,一般的经营和产品人员无奈胜任,必须要业余的开发人员来染指。而且每次开启试验都要业务代码进行一次上线相配合,步骤非常繁琐。利用 DataTester 新版“可视化编辑器”,可能更加便捷和高效地开启A/B测试的可视化试验。用户能间接对网页中的图片、文字、色彩、地位等元素和属性进行编辑,并能保留多个版本作为A/B测试的实验组和对照组。用“可视化”的形式编辑A/B试验,就是通过所见即所得的在线编辑,设置不同版本的试验计划,从而进行A/B测试。用户能够“零门槛”上手设计并执行A/B试验,能大大降低在Web/H5等页面优化的场景下,非技术背景人员应用A/B试验工具的老本。利用 DataTester 的可视化试验能力后,施行A/B试验时不再须要研发染指,市场人员、产品经理、经营人员等都可通过可视化拖拽模式扭转产品/页面布局和各种前端元素,从而实现试验的配置,所见即所得,大大减少A/B试验在研发层面的压力,缩短试验上线的周期。截至2022年8月,DataTester 已在字节跳动外部累计实现150万次A/B测试。DataTester 集成了字节外部丰盛的业务场景中的 A/B 测试教训,能基于先进的底层算法,提供迷信分流能力和智能的统计引擎,并反对多种简单的A/B试验类型。此外,火山引擎DataTester深度耦合举荐、广告、搜寻、UI、产品性能等多种业务场景需要,为业务增长、转化、产品迭代、策略优化、经营提效等各个环节提供迷信的决策依据,让业务真正做到数据驱动。 立刻跳转 A/B测试 DataTester理解详情!

December 15, 2022 · 1 min · jiezi

关于ab测试:vivo霍金实验平台设计与实践平台产品系列02

vivo 互联网平台产品研发团队 - Bao Dawei本篇介绍了vivo霍金试验平台的零碎架构以及业务倒退过程中遇到的问题以及对应的解决方案。 《平台产品》系列文章: 1.vivo平台化实际探索之旅-平台产品系列01 一、前言互联网企业经验过横蛮成长的开辟红利期之后,逐步越发器重产品倒退的科学化、精细化,从粗放型向集约型转换。在美国,增长黑客等数据驱动增长的方法论,正在帮忙如Google、Microsoft、Facebook等寰球科技巨头实现继续的业务增长;在国内,数据精密经营、AB试验剖析来驱动业务无效增长也逐步成为共识,成为外围伎俩。其中,A/B测试平台作为典型代表,天然成为了国内支流公司中必不可少的外围工具,无效的晋升流量的转化效率和产研的迭代效率。 在过来几年,vivo互联网继续器重迷信的试验决策,这意味着所有对用户的改变的公布,都要决策者以相应的试验论断作为根据。比方,批改顶部广告的背景色、测试一个新的广告点击率 (CTR) 预测算法,都须要通过试验的形式进行,那么一个弱小的A/B试验平台就十分重要了。vivo霍金试验平台(以下简称霍金)曾经从一个繁多零碎成长为了解决A/B试验相干问题的公司级一站式平台,助力互联网外围业务的疾速、精确试验,高效推动业务增长。 二、我的项目介绍2.1  A/B试验在互联网畛域,A/B试验通常指一种迭代办法,这种办法能够领导如何改良现有产品或者服务。以晋升某个产品下单转化率为例,AB试验过程中,咱们设计了新的下单页面,和原页面相比,页面布局和文案做了调整。咱们将用户流量随机分成A/B两组(别离对应新旧页面),50%用户看到A版本页面,50%用户看到B版本页面,通过一段时间的察看和统计,发现A版本用户下单转化率为70%,高于B版本的50%。那么咱们得出A版本成果好,进而将新页面推送并展现给所有用户。 以上就是一个利用AB测试迭代产品性能的具体利用,咱们将A/B试验的残缺生命周期分为三个阶段: 试验前,明确改良指标,定义试验指标,实现相干性能开发和上线;试验中,制订每个实验组流量比例,依照分流比例凋谢线上流量进行测试;试验后,试验成果评估并决策。2.2 分层试验模型霍金的分层试验模型参考谷歌公布的重叠试验框架论文:《Overlapping Experiment Infrastructure: More, Better, Faster Experimentation》实现设计。 2.3 平台倒退及在vivo业务中的利用和价值霍金启动于2019年,历经三年多的倒退,目前日均试验数量达到900多个,高峰期1000+。 撑持vivo国内与海内业务,服务公司20多个部门。通过标准化的试验流程升高了试验门槛,晋升试验效率。通过自动化的数据分析工具辅助业务疾速决策,晋升产品迭代速度,无效助力业务倒退。平台能力复用,防止不同组织反复建设的状况,无效的晋升了生产效率。三、霍金零碎架构 3.1【试验人员】试验人员蕴含多个角色,供业务方在霍金治理后盾进行试验、指标的治理和试验成果的剖析。 3.2【试验门户】包含两局部性能:试验治理和试验成果剖析。 3.2.1 试验治理平台提供可视化页面供业务方进行试验配置、分流策略的抉择、流量的调配以及白名单的治理。 3.2.2 试验成果剖析包含如下4个外围能力: 1. 指标治理 不同试验关注指标不同,为了实现成果评估自动化,平台提供了指标配置和集成能力。 【必看指标】:通常为业务外围指标,每个试验都须要保障不能有显著负向的指标,平台通过集成大数据指标管理系统,这部分指标后果间接复用指标管理系统的数据服务。 【个性化指标】:通常为试验中长期剖析的指标,如某banner款式试验,察看的指定banner的曝光点击率。平台提供了自定义指标配置的能力,并通过大数据计算平台主动生成计算工作,实现自定义指标自动化产出数据的能力。 2. 比照剖析和显著性论断 成果评估的可视化展现,平台积淀了比照剖析和显著性论断等可视化组件。十分直观的告知实验者,每个试验计划相比对照计划整体晋升幅度以及每日的涨跌幅。同时给出指标的置信区间和显著性论断。 3. AA剖析 平台提供的AA剖析,目标是帮忙实验者验证理论进入试验的不同计划的人群,试验前在业务外围指标上是否存在显著差别,辅助实验者判断试验论断是否牢靠。 4.分流实时监控 能够直观的看到实时分流的成果,针对流量异样能够及时人工干预和解决。 3.3  【试验分流服务】1. 多端接入服务 平台依据业务的不同诉求提供丰盛的接入能力,如针对安卓客户端的Android SDK、服务端的JAVA SDK、基于NGINX进行分流的H5试验服务、dubbo/http服务,C++ SDK待建设。 2.试验分流的形式 平台提供了稳固高效的在线实时分流服务。 【随机分流】:依据用户标识符基于哈希算法对人群进行随机分组并分流【指定人群分流】:试验前圈定一拨人群并打上标签进行分流【协变量平均分流】:在基于哈希算法对人群随机分组的时候,尽管分组的人群数量等比例划分,然而分组的人群散布的指标存在不平均的状况,导致试验成果达不到预期。为了解决这个痛点,平台推出了协变量均衡算法,该算法可能保障人群在进行分组样本量平均的同时,人群上指标散布也是平均的。 详见本文:4. vivo霍金试验平台实际→4.1 协变量均衡算法 的具体介绍。 【基于openresty web服务分流】:针对服务端非JAVA语言,对性能有着严苛要求的业务方,咱们在NGINX基于OpenResty采纳lua脚本实现了一套试验分流性能,以http接口提供服务,均匀响应工夫小于1ms,p9999<20ms。3.4 【分流数据处理服务】采纳公司对立的数据采集组件进行分流数据的采集、加工,并最终存储至HDFS。 3.5【指标计算服务】独立的服务用于高效计算指标后果,同时装备了指标计算失败重试和监控告警机制,无效的保障了指标计算成功率。 3.6【数据存储】次要是利用MySQL来进行业务数据的存储,同时采纳Ehcahe进行试验配置的次要缓存,Redis作为辅助缓存,最初试验分流的数据通过加工解决后保留到HDSF中,供后续的试验数据分析应用。 四、霍金实际下面介绍了霍金的倒退状况以及整体的零碎架构,接下来介绍下在平台倒退过程中遇到的问题以及对应的解决方案。 4.1  协变量均衡算法4.1.1 遇到的问题业务方在进行试验对象分组的时候,最罕用的做法是依据试验对象的某个属性进行哈希后对100取模,依据后果分到不同组。尽管hash算法分流能够做到尾号号段散布平均,然而分完组后,可能存在不同组的试验对象在某些指标特色上散布不匀均,导致试验成果评估不精确。如下图所示(图中四个不同色彩代表不同的人群以及对应的指标类型): ...

November 21, 2022 · 1 min · jiezi

关于ab测试:vivo霍金实验平台设计与实践平台产品系列02

vivo 互联网平台产品研发团队 - Bao Dawei本篇介绍了vivo霍金试验平台的零碎架构以及业务倒退过程中遇到的问题以及对应的解决方案。 《平台产品》系列文章: 1.vivo平台化实际探索之旅-平台产品系列01 一、前言互联网企业经验过横蛮成长的开辟红利期之后,逐步越发器重产品倒退的科学化、精细化,从粗放型向集约型转换。在美国,增长黑客等数据驱动增长的方法论,正在帮忙如Google、Microsoft、Facebook等寰球科技巨头实现继续的业务增长;在国内,数据精密经营、AB试验剖析来驱动业务无效增长也逐步成为共识,成为外围伎俩。其中,A/B测试平台作为典型代表,天然成为了国内支流公司中必不可少的外围工具,无效的晋升流量的转化效率和产研的迭代效率。 在过来几年,vivo互联网继续器重迷信的试验决策,这意味着所有对用户的改变的公布,都要决策者以相应的试验论断作为根据。比方,批改顶部广告的背景色、测试一个新的广告点击率 (CTR) 预测算法,都须要通过试验的形式进行,那么一个弱小的A/B试验平台就十分重要了。vivo霍金试验平台(以下简称霍金)曾经从一个繁多零碎成长为了解决A/B试验相干问题的公司级一站式平台,助力互联网外围业务的疾速、精确试验,高效推动业务增长。 二、我的项目介绍2.1  A/B试验在互联网畛域,A/B试验通常指一种迭代办法,这种办法能够领导如何改良现有产品或者服务。以晋升某个产品下单转化率为例,AB试验过程中,咱们设计了新的下单页面,和原页面相比,页面布局和文案做了调整。咱们将用户流量随机分成A/B两组(别离对应新旧页面),50%用户看到A版本页面,50%用户看到B版本页面,通过一段时间的察看和统计,发现A版本用户下单转化率为70%,高于B版本的50%。那么咱们得出A版本成果好,进而将新页面推送并展现给所有用户。 以上就是一个利用AB测试迭代产品性能的具体利用,咱们将A/B试验的残缺生命周期分为三个阶段: 试验前,明确改良指标,定义试验指标,实现相干性能开发和上线;试验中,制订每个实验组流量比例,依照分流比例凋谢线上流量进行测试;试验后,试验成果评估并决策。2.2 分层试验模型霍金的分层试验模型参考谷歌公布的重叠试验框架论文:《Overlapping Experiment Infrastructure: More, Better, Faster Experimentation》实现设计。 2.3 平台倒退及在vivo业务中的利用和价值霍金启动于2019年,历经三年多的倒退,目前日均试验数量达到900多个,高峰期1000+。 撑持vivo国内与海内业务,服务公司20多个部门。通过标准化的试验流程升高了试验门槛,晋升试验效率。通过自动化的数据分析工具辅助业务疾速决策,晋升产品迭代速度,无效助力业务倒退。平台能力复用,防止不同组织反复建设的状况,无效的晋升了生产效率。三、霍金零碎架构 3.1【试验人员】试验人员蕴含多个角色,供业务方在霍金治理后盾进行试验、指标的治理和试验成果的剖析。 3.2【试验门户】包含两局部性能:试验治理和试验成果剖析。 3.2.1 试验治理平台提供可视化页面供业务方进行试验配置、分流策略的抉择、流量的调配以及白名单的治理。 3.2.2 试验成果剖析包含如下4个外围能力: 1. 指标治理 不同试验关注指标不同,为了实现成果评估自动化,平台提供了指标配置和集成能力。 【必看指标】:通常为业务外围指标,每个试验都须要保障不能有显著负向的指标,平台通过集成大数据指标管理系统,这部分指标后果间接复用指标管理系统的数据服务。 【个性化指标】:通常为试验中长期剖析的指标,如某banner款式试验,察看的指定banner的曝光点击率。平台提供了自定义指标配置的能力,并通过大数据计算平台主动生成计算工作,实现自定义指标自动化产出数据的能力。 2. 比照剖析和显著性论断 成果评估的可视化展现,平台积淀了比照剖析和显著性论断等可视化组件。十分直观的告知实验者,每个试验计划相比对照计划整体晋升幅度以及每日的涨跌幅。同时给出指标的置信区间和显著性论断。 3. AA剖析 平台提供的AA剖析,目标是帮忙实验者验证理论进入试验的不同计划的人群,试验前在业务外围指标上是否存在显著差别,辅助实验者判断试验论断是否牢靠。 4.分流实时监控 能够直观的看到实时分流的成果,针对流量异样能够及时人工干预和解决。 3.3  【试验分流服务】1. 多端接入服务 平台依据业务的不同诉求提供丰盛的接入能力,如针对安卓客户端的Android SDK、服务端的JAVA SDK、基于NGINX进行分流的H5试验服务、dubbo/http服务,C++ SDK待建设。 2.试验分流的形式 平台提供了稳固高效的在线实时分流服务。 【随机分流】:依据用户标识符基于哈希算法对人群进行随机分组并分流【指定人群分流】:试验前圈定一拨人群并打上标签进行分流【协变量平均分流】:在基于哈希算法对人群随机分组的时候,尽管分组的人群数量等比例划分,然而分组的人群散布的指标存在不平均的状况,导致试验成果达不到预期。为了解决这个痛点,平台推出了协变量均衡算法,该算法可能保障人群在进行分组样本量平均的同时,人群上指标散布也是平均的。 详见本文:4. vivo霍金试验平台实际→4.1 协变量均衡算法 的具体介绍。 【基于openresty web服务分流】:针对服务端非JAVA语言,对性能有着严苛要求的业务方,咱们在NGINX基于OpenResty采纳lua脚本实现了一套试验分流性能,以http接口提供服务,均匀响应工夫小于1ms,p9999<20ms。3.4 【分流数据处理服务】采纳公司对立的数据采集组件进行分流数据的采集、加工,并最终存储至HDFS。 3.5【指标计算服务】独立的服务用于高效计算指标后果,同时装备了指标计算失败重试和监控告警机制,无效的保障了指标计算成功率。 3.6【数据存储】次要是利用MySQL来进行业务数据的存储,同时采纳Ehcahe进行试验配置的次要缓存,Redis作为辅助缓存,最初试验分流的数据通过加工解决后保留到HDSF中,供后续的试验数据分析应用。 四、霍金实际下面介绍了霍金的倒退状况以及整体的零碎架构,接下来介绍下在平台倒退过程中遇到的问题以及对应的解决方案。 4.1  协变量均衡算法4.1.1 遇到的问题业务方在进行试验对象分组的时候,最罕用的做法是依据试验对象的某个属性进行哈希后对100取模,依据后果分到不同组。尽管hash算法分流能够做到尾号号段散布平均,然而分完组后,可能存在不同组的试验对象在某些指标特色上散布不匀均,导致试验成果评估不精确。如下图所示(图中四个不同色彩代表不同的人群以及对应的指标类型): ...

November 21, 2022 · 1 min · jiezi

关于ab测试:AB测试助力游戏业务增长

更多技术交换、求职机会、试用福利,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群 中国游戏行业倒退现状及挑战国内市场增长乏力2021年游戏销售收入2965.13亿元,同比增长6.4%,增速相较于2020年缩小近15%。游戏用户规模达6.66亿人,同比增长仅为0.22%。2021年游戏销售收入增长乏力,游戏人口红利趋于饱和,国内游戏市场整体正在从增量市场向存量市场转变。受未成年人保护法和国内游戏版号发行限度的影响,将来一段时间国内倒退还会受限。 自研游戏出海势头强劲2021 年,中国自主研发游戏海内市场理论销售收入达 180.13 亿美元(近1200亿人民币),比 2020 年减少了 25.63 亿美元,同比增长 16.59%。从近五年的均匀增长幅度看,我国游戏出海份额出现稳定上升的态势。中国自主研发移动游戏海内重点地区支出散布中,来自美国、日本、韩国支出占 32.58%,18.54%和 7.19%,共奉献了 58.31%的支出。 私域流量扰动行业格局近年来,随着自媒体平台的疾速倒退,私域流量的积攒为游戏的发行提供了新的投放根底。在精准营销技术的辅助下,自媒体平台的游戏投放获得了令人瞩目的成果。以青瓷游戏的《最强蜗牛》为例,《最强蜗牛》上线在抖音和西瓜视频两个平台,通过悬念预热、超级挑战赛、全民工作等新的互动形式,精准触达了指标用户,游戏上线后10天iOS流水超1.04亿,间断一个月居iOS游戏滞销榜前十名。 随着国内游戏用户数量趋于饱和,中国游戏产业也从高速成长期逐步转型,市场成熟度晋升,竞争趋于精细化。游戏企业买量老本高企,用户留存难,对精细化经营的要求也越来越高。叠加游戏出海以及私域流量经营的挑战,游戏企业对数据分析的应用需要和依赖度进一步提高。 疾速试错,A/B测试助力打造爆款游戏游戏行业倒退至今,先后经验了主机游戏时代、网页游戏时代、移动游戏时代等多个阶段,现在移动游戏支出占国内游戏支出的7成以上,许多传统游戏公司正面临着转型压力。随着游戏技术的日趋成熟,少量新兴公司涌入该行业,进一步加剧了竞争压力。 游戏研发流程大抵分为立项、验证、开发、测试、上线筹备和经营六个阶段,每个阶段往往都随同着许多批改。批改的成果如何?对于外围指标是否会有负面的影响?传统的思路,是将新个性上线后验证成果,但这也往往存在上线周期长,过分依赖教训,影响面广等问题。A/B试验通过在线上流量中取出一小部分,齐全随机地分给原策略A(对照组)和新策略B(实验组),再联合肯定的统计办法 ,失去对于两种策略绝对成果的精确预计。通过A/B试验能够对游戏新个性/批改进行迷信的评估,利用线上小流量即可验证成果,并可能无效地掂量收益。 A/B试验,迷信评估批改后果当咱们进行试验之前,实验者须要当时约定一个对显著性程度的预期,即限定"原假如正确然而被回绝了"的概率下限为,通常承受的犯此类谬误的概率范畴是0%~5%。在试验的统计计算中,咱们用p-value来表征某个试验情景下犯这种谬误的理论概率。只有p-value小于咱们当时设定的,试验即在显著性程度上达标。计算显著性程度是用来反抗抽样误差的办法,当咱们试验在显著性程度上达标后,咱们认为有95%以上的把握阐明试验后果是可信的。这大大降低了,游戏批改上线对指标负面影响的可能。 《全民弹弹弹》是一款操作简略、极易上手的球跳塔类休闲游戏,玩家既能够让弹球一层一层地击穿黑白砖块,享受纯正的弹射快感,也能够解锁更多未知的球球,体验合成的养成乐趣。游戏经营为验证游戏首页对玩家留存和广告数据的影响,对两个首页计划进行比照:跳塔页(对照组)、合成页面(实验组)通过2周的试验测试,结果显示,首页为合成页面在3日、7日留存以及广告的成果等外围指标都优于对照组跳塔页计划。最终抉择全量合成页面的计划,上线并获得了优异的成果。除上述场景外,A/B试验还经常被用在以下批改的验证中老手疏导改变,老手工作难度调整,初始资源调整等关卡难度、配备爆率、宝箱中奖率调整等影响游戏体验的的改变商城界面,积分零碎,公告栏、banner、按钮、图标等功能性区域的改变匹配零碎、好友零碎、聊天零碎等社交性功能改变游戏IP、NPC、游戏场景、剧情的改变试验分层,拓展线上流量 试验分层,拓展线上流量小A要验证新的武器零碎,须要50%的流量验证;小B批改商城界面,也须要50%的流量;小C对老手工作进行了欠缺,同样须要50%的流量验证。此时同时进行3个试验,须要150%的流量。线上流量不够用,只能对试验进行优先级排序,让几个试验先后进行,但这会导致效率低下。 通过A/B试验的流量分层技术,将总体流量复制“无数遍”,造成”无数个”流量层。流量层两两之间互相正交,再加之运行在雷同层的试验流量互斥,从而保障同时运行多个试验不会相互烦扰。试验分层技术能够无效的解决线上流量有余的状况,尤其是在游戏内测阶段,这个阶段往往获取用户难度较大。须要通过公布内测工作,小规模买量等形式取得游戏玩家,流量获取老本高。而这个阶段既须要验证游戏的性能、兼容性,又要对游戏的玩法、关卡设置、故事剧情、营收模型等进行调整。如果内测工夫过长,不仅须要继续的买量投入,也会导致游戏上线节奏被拖慢,甚至可能错过市场热点。 通过A/B试验流量分层技术,突破流量限度,大大缩短游戏验证工夫,疾速上线迭代。 场景能力,让推广更加高效除了传统的客户端、服务端试验以外,咱们还提供了针对非凡场景的A/B试验能力,让试验开启更便捷,成果更显著。 可视化试验:通过所见即所得的在线编辑,升高在 Web/H5 页面优化的场景下,产品方和经营方应用 A/B 试验工具的老本。可用于游戏流动的推广页面,抽奖页面的成果比照,无需编程即可疾速上线。推送试验:通过对推送告诉的题目、内容、点击动作等进行测试,找出成果最优的计划。反对多种推送通道、设施类型;可利用于游戏的拉新、召回以及流动推广等场景,及时响应成果,防止负面影响。广告试验:晋升广告投放 ROI,优化广告投放策略,可比照不同的试验文案、不同的投放渠道的广告投放成果。通过转化增效度量的形式来管制“天然转化”对试验成果的影响,保障广告试验的科学性和严谨性。 游戏出海,A/B保驾护航现在全球化经营曾经成为新的趋势,海内游戏营收相较于国内有着更高的增长性。国内自研游戏纷纷出海,疾速抢占重点地区份额。与此同时也带来了差异化经营、全球化公布、信息安全等全新的挑战。 地区差异化经营因为各国文化、宗教信仰、潮流趋势的差别,雷同的游戏流动和批改,在海内不同的地区往往获得的收益各不相同。对于公司来说,海内不同地区的差异化经营,往往须要积攒各地的经营教训,老本通常较高。自觉的推广,又容易导致一些负面的影响。A/B试验反对圈选不同地区的游戏用户,能够针对不同地区的用户发展针对性的测试,可能疾速的比拟试验后果,确定该地区的最优计划。 全球化公布全球化公布也是公司在出海过程中所不得不面临的挑战。全球化公布意味着运维老本的进步,同时多版本的治理也减少了发行的复杂性。运行中的A/B试验,反对间接转换为个性进行公布。同时反对渐进式公布、定时公布,以及回滚操作等。通过应用个性公布性能,使公布流程更加简洁,缩小公布危险。 火山引擎 A/B 测试,限时收费,立刻申请!A/B 测试,解脱猜想,用迷信的试验掂量决策收益,打造更好的产品,让业务的每一步都通往增长。火山引擎首度公布增长助推「火种打算」,火山引擎 A/B 测试作为「火种打算」产品之一,将为您收费提 2 亿事件量和 5 万 MAU,以及高达 12 个月的使用权。点击立刻试用

June 20, 2022 · 1 min · jiezi

关于ab测试:基于-Feature-Flag-的下一代开发模式

面向疾速迭代,如何升高上线危险?字节跳动 DataTester 团队找到危险与迭代的平衡点——渐进式公布。 渐进式公布(Progressive Delivery)被认为是继续公布(Continous Delivery)的下一代状态,其专一于加强公布过程管制与升高公布危险,最终进步整体收益。国内科技巨头比方 Amazon、Google 和 Netflix 等公司每天通过渐进式公布的形式将数千次的性能更新、bug 修复等更新到用户环境。 疾速迭代的同时,防止不了引入一些预期之外的 bug。因而须要如何采纳适合的工具,在危险与收益之间找到一个很好的平衡点就显得尤为重要。目前继续公布(CD)可能通过一些用户数据、系统监控或者一些外围指标对部署的性能进行监控,当发现问题及时回滚,以此造成一个继续迭代闭环。然而当用户体量十分大的时候,一个小的问题可能会造成难以掂量的损失,这是不可承受的。 为了找到危险与迭代的平衡点,渐进式公布的形式慢慢被提出并且深受器重。 什么是渐进式公布渐进式公布有两个特点:公布进度管制和公布阶段受权。 其中公布进度管制即按肯定的节奏将新的软件或者性能向用户推送,公布节奏能够是间断的也能够是分步骤的,以此管制每次失效的范畴。这种做法建设在继续交付的外围准则之上,行将“代码部署”与“性能公布”离开。 公布阶段受权是指在不同的阶段将性能的操作权限受权给不同的团队,比方将性能的所有权缓缓从工程转移到产品,而后从产品治理转移到营销等等。 公布进度管制和公布阶段受权并用,升高了继续交付相干的危险,并赋予团队在整个公布周期中更多的控制权。 继续公布与渐进式公布区别继续集成与继续公布(CI/CD)中强调骨干分支的代码须要时刻放弃在可部署的状态,这须要一直地将 feature 开发分支与骨干分支进行合并,而不是期待一周甚至几周的工夫,待所有性能开发完并通过残缺的测试再合并到骨干分支。CI/CD 的目标就是为了放慢软件的开发与部署速度与效率,将新的性能尽快部署上线,同时尽可能升高危险。 尽管 CI/CD 可能减速软件与性能的交付速度,然而与之而来的危险并没有很好打消。当所有性能一次上线到生产环境后,如果蕴含比较严重的 bug 但不能及时发现,后果将很难意料。尽管 CI/CD 模型中的金丝雀公布(canary release)可能管制 bug 影响的范畴,然而须要依赖比较复杂的控制系统。因而目前大部分场景下的 CI/CD 零碎并不是严格意义上的继续集成与继续交付,大部分状况还是基于 feature 分支进行开发,而后在适合的机会合并到骨干分支一并进行上线。 而渐进式公布的形式将新的性能暗藏在一个 feature flag 中,并能够通过可视化界面对公布的过程进行灵便管制,这是渐进式公布与目前 CI/CD 状态的一个比拟要害的区别,其示意图。此外还有一键敞开、紧急失效参数、流量管制与监控等性能,当呈现问题时不须要重新部署代码,通过按键即可进行性能的回滚,进而尽可能减少故障时的影响范畴。能够说渐进式公布就是为解决公布问题、进步公布稳定性而生的公布理念。 那么渐进式公布有那么多的长处,想要独立开发一套控制系统又非常复杂,有没有简略易用的平台能够应用呢?答案是必定的,火山引擎 A/B 测试中 FeatureFlag 智能公布专一于打磨公布平台,并实现与 A/B 测试的全方位联动,将是一个不错的抉择。 FeatureFlag 智能公布平台是什么Feature Flag 即 Feature Toggle,顾名思义其本质是一个暗藏在业务代码外面的一个管制逻辑。尽管看似简略的 if else 逻辑,但在公布畛域有着十分弱小的性能,能够实现生产环境中性能的动态控制而不须要要重新部署代码;此外还可能实现对失效流量、指标受众的灵便管制。 火山引擎A/B测试FeatureFlag性能基于先进的智能公布引擎和一站式配置托管平台,满足业务灰度发版、A/B 测试、定向差异化公布等不同利用场景。帮忙开发、产品、运维人员在低危险环境下迭代新 Feature、修复 bug,实现精益麻利开发。其外围指标在于保障利用迭代品质、助力精益开发效率、反对精细化业务场景与产品矩阵赋能。 如何基于 FeatureFlag 实现渐进式公布一个好的平台想要做到易用肯定要在性能复杂性与交互简洁性之间寻找平衡点。因而为了升高应用门槛,目前 Feature Flag 性能的配置只须要四步即可实现所需参数的配置,上面将对配置过程简要介绍。 01 - 根本信息配置根本信息中的必须参数有 Feature 名称、Feature 对应的 key(也即某个性能对应的开关)和端类型。其中服务端与客户端只有在集成的时候稍有差异,然而在平台上应用的时候操作统一。所以只须要简略填写几个必须参数,第一步就实现了。 ...

April 20, 2022 · 2 min · jiezi

关于ab测试:从玄学走向科学在字节跳动广告投放这么干

字节跳动 A/B Tester 团队将 A/B test 试验办法利用在广告营销畛域,并首先在西瓜视频成功实践,用科学实验掂量决策收益,让广告营销从创意玄学走向数据迷信。 文 | 字节跳动数据平台 A/B Tester 团队 我有一半的广告费都被节约了!“我有一半的广告费都被节约了,但就是不晓得是哪一半。” 批发大亨约翰·沃纳梅克这句经典名言被称为广告界的哥特巴赫猜测,道出了广告成果掂量的难点,同样也击中了有数广告主的痛点。 广告作为经济运行中的一个重要环节,到底应该如何迷信掂量广告的成果始终既是业界的重点、热点也是难点。 在互联网时代,咱们该如何做好广告营销,继续驱动生意增长呢? 火山引擎 A/B 试验团队给出的答案是:50%靠创意,50%靠营销迷信。 相比于教训,营销迷信是了解创意的更好形式,用迷信的办法,摸索和破解营销法则,帮忙客户实现可继续的增长。 从玄学走向迷信:火山引擎 A/B 试验A/B 测试在字节跳动已是十分根底的设施和文化,目前,字节跳动日新增试验 1800 以上。 首先咱们看一个案例。字节跳动有一款中视频产品叫西瓜视频,最早它叫做头条视频。为了晋升产品的品牌辨识度,团队想给它起个更好的名字。通过一些外部调研和头脑风暴,征集到了西瓜视频、微妙视频、筷子视频、阳光视频 4 个名字,于是团队就针对一共 5 个 APP 名称进行了 A/B 试验。这个试验中惟一扭转的是利用市场里该产品的名称和对应的 logo,试验目标是为了验证哪一个利用名称能更好地晋升“头条视频” APP 在利用商店的点击率。最初西瓜视频和微妙视频的点击率位列前二,但差距不显著,联合用户调性等因素的综合考量后,最终决定头条视频正式更名为西瓜视频。 通过这个案例能够看到,A/B 测试能够帮忙业务做最终决策。联合案例的直观感触,咱们能够这样来定义 A/B 测试:在同一时间对指标受众做迷信抽样、分组测试以评估成果。 以上图为例,假如咱们有 100 万用户要进行 A/B 测试: 先选定指标受众,比方一线城市的用户。 A/B 测试不可能对所有用户都进行试验,所以要进行迷信抽样,抉择小局部流量进行试验。 抽样之后须要对样本进行分组,比方 A 组放弃现状,B 组的某一个因素有所扭转。 分组之后在同一时间进行试验,就能够看到扭转变量后用户行为的变动。 再依据对应试验指标的指标,比方点击率的高下,来评估试验的后果。 以上就是咱们对 A/B 测试的定义。目前,A/B 测试已被 Google、Facebook、亚马逊等大型互联网公司宽泛采纳;字节跳动更是在 2012 年成立之初便开始应用 A/B 测试,公司外部始终流传一句话:所有皆可 A/B 测试。 ...

April 18, 2022 · 1 min · jiezi

ApacheBench-压测

一、工具介绍1、简介Apache httpd本身是一个提供http服务工具.其内含一个 ApacheBench(ab) 命令,可用于模拟并发HTTP请求.ab命令使用说明,见官网 2、适用场景1、只适用 http / https 协议2、请求参数只能写死,不能随机产生,合适像查询这种幂等接口压测3、产出简单报告(txt/html),不支持图二、下载安装1、Window下载安装国内推荐下载地址 下载后解压即可使用,推荐配置解压路径到系统环境变量,这样以后命令窗口就能识别到ab命令. 懒人一键下载: httpd-2.4.41-win64-VS16.zip、httpd-2.4.41-win32-VS16.zip 2、Linux安装安装命令 sudo apt install apache2如果需要最小安装,不需要apache提供的http功能,则使用下面命令安装 sudo apt install apache2-utils3、验证在命令窗口输入 ab -h 命令后,能显示ab命令使用提示,即安装完成,如下。 ~ » ab linbo@LinBoab: wrong number of argumentsUsage: ab [options] [http[s]://]hostname[:port]/pathOptions are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make at a time -t timelimit Seconds to max. to spend on benchmarking This implies -n 50000 -s timeout Seconds to max. wait for each response Default is 30 seconds -b windowsize Size of TCP send/receive buffer, in bytes -B address Address to bind to when making outgoing connections -p postfile File containing data to POST. Remember also to set -T -u putfile File containing data to PUT. Remember also to set -T -T content-type Content-type header to use for POST/PUT data, eg. 'application/x-www-form-urlencoded' Default is 'text/plain' -v verbosity How much troubleshooting info to print -w Print out results in HTML tables -i Use HEAD instead of GET -x attributes String to insert as table attributes -y attributes String to insert as tr attributes -z attributes String to insert as td or th attributes -C attribute Add cookie, eg. 'Apache=1234'. (repeatable) -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip' Inserted after all normal header lines. (repeatable) -A attribute Add Basic WWW Authentication, the attributes are a colon separated username and password. -P attribute Add Basic Proxy Authentication, the attributes are a colon separated username and password. -X proxy:port Proxyserver and port number to use -V Print version number and exit -k Use HTTP KeepAlive feature -d Do not show percentiles served table. -S Do not show confidence estimators and warnings. -q Do not show progress when doing more than 150 requests -l Accept variable document length (use this for dynamic pages) -g filename Output collected data to gnuplot format file. -e filename Output CSV file with percentages served -r Don't exit on socket receive errors. -m method Method name -h Display usage information (this message) -I Disable TLS Server Name Indication (SNI) extension -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers) -f protocol Specify SSL/TLS protocol (SSL2, TLS1, TLS1.1, TLS1.2 or ALL) -E certfile Specify optional client certificate chain and private key三、测试使用1、命令格式ab [选项/参数] [URL地址]2、常用选项参数说明-c并发请求数量,默认1个-n总请求数量-T设置POST/PUT请求方式的Content-type请求头参数,如:<p>-T "application/x-www-form-urlencoded"</p>-pPOST请求发送的请求数据,需要和-T参数一起配合使用-uPUT请求发送的请求数据,需要和-T参数一起配合使用-m自定义HTTP请求方法,如DELETE/HEAD-H添加自定义请求头参数,使用冒号分离请求头的key和value,格式如:<p>-H "Accept-Encoding: zip/zop;8bit"</p>3、使用例子可以使用网上一些开发的服务.这里使用到一个Java Web服务,只需要本地安装JDK8或JDK8以上版本,即可直接运行. ...

October 5, 2019 · 5 min · jiezi

AB Test 压力测试工具使用整理

Apache Bench,是 Apache 自带的压力测试工具。a可以对服务器进行访问压力测试。系统安装 Apache Server,自带 ab 命令。1. 概念吞吐率:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。并发连接数:某一时刻服务器所接受的请求数(会话数)。并发用户数:某一时刻服务器所接受的连接数,一个用户可能同时产生多个连接。用户平均请求等待时间:总请求数 / 并发用户数。服务器平均请求等待时间:处理完成所有请求数所花费的时间 / 总请求数。2. 命令➜ ~ abab: wrong number of argumentsUsage: ab [options] [http[s]://]hostname[:port]/pathOptions are: # 本次测试所发的总请求数 -n requests Number of requests to perform # -c concurrency Number of multiple requests to make at a time -t timelimit Seconds to max. to spend on benchmarking This implies -n 50000 -s timeout Seconds to max. wait for each response Default is 30 seconds -b windowsize Size of TCP send/receive buffer, in bytes -B address Address to bind to when making outgoing connections -p postfile File containing data to POST. Remember also to set -T -u putfile File containing data to PUT. Remember also to set -T -T content-type Content-type header to use for POST/PUT data, eg. ‘application/x-www-form-urlencoded’ Default is ’text/plain’ -v verbosity How much troubleshooting info to print -w Print out results in HTML tables -i Use HEAD instead of GET -x attributes String to insert as table attributes -y attributes String to insert as tr attributes -z attributes String to insert as td or th attributes -C attribute Add cookie, eg. ‘Apache=1234’. (repeatable) -H attribute Add Arbitrary header line, eg. ‘Accept-Encoding: gzip’ Inserted after all normal header lines. (repeatable) -A attribute Add Basic WWW Authentication, the attributes are a colon separated username and password. -P attribute Add Basic Proxy Authentication, the attributes are a colon separated username and password. -X proxy:port Proxyserver and port number to use -V Print version number and exit -k Use HTTP KeepAlive feature -d Do not show percentiles served table. -S Do not show confidence estimators and warnings. -q Do not show progress when doing more than 150 requests -l Accept variable document length (use this for dynamic pages) -g filename Output collected data to gnuplot format file. -e filename Output CSV file with percentages served -r Don’t exit on socket receive errors. -m method Method name -h Display usage information (this message) -I Disable TLS Server Name Indication (SNI) extension -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers) -f protocol Specify SSL/TLS protocol (TLS1, TLS1.1, TLS1.2 or ALL)3. 测试示例3.1 基础访问测试ab -n 1000 -c 10 http://cms.test.com/测试结果如下Server Software:Server Hostname: cms.kaleidoapp.cnServer Port: 80Document Path: /Document Length: 2746 bytesConcurrency Level: 10Time taken for tests: 8.352 secondsComplete requests: 1000Failed requests: 0Total transferred: 2981000 bytesHTML transferred: 2746000 bytesRequests per second: 119.74 [#/sec] (mean)Time per request: 83.517 [ms] (mean)Time per request: 8.352 [ms] (mean, across all concurrent requests)Transfer rate: 348.57 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 29 39 11.2 37 173Processing: 33 43 12.0 42 190Waiting: 32 43 12.0 41 189Total: 62 82 17.8 79 226Percentage of the requests served within a certain time (ms) 50% 79 66% 84 75% 89 80% 90 90% 93 95% 96 98% 135 99% 197 100% 226 (longest request)结果可以看出:吞吐率:119.74整个测试持续的时间:8.352s完成的请求数:1000失败的请求数:0总的网络传输量:2981000 bytesHTML内容传输量:2746000 bytes用户平均请求等待时间:83.517 ms服务器平均请求处理时间:8.352 ms平均每秒网络上的流量:348.57 kb网络消耗时间分解展示最小、平均、方差、中位值、最大值。Connection Times (ms) min mean[+/-sd] median maxConnect: 29 39 11.2 37 173Processing: 33 43 12.0 42 190Waiting: 32 43 12.0 41 189Total: 62 82 17.8 79 226请求处理时间分布可以看出,95% 的请求用时在 95ms 以内,最长请求时间为 226ms。Percentage of the requests served within a certain time (ms) 50% 79 66% 84 75% 89 80% 90 90% 93 95% 96 98% 135 99% 197 100% 226 (longest request)3.2 接口请求ab -n 1000 -c 10 -p ’list.json’ -T ‘application/json’ -H ‘Authorization: token’ -s 10 http://api.test.com/app/v1/list说明:-p 代表的是入参的 json 文件,或是 text 的键值对-T 代表 contentType-H 代表的是 http header 信息-s 代表的是超时时间,单位是秒,默认是 30s ...

March 30, 2019 · 3 min · jiezi