CN114328166A - Ab测试算法的性能信息获取方法、装置和存储介质 - Google Patents
Ab测试算法的性能信息获取方法、装置和存储介质 Download PDFInfo
- Publication number
- CN114328166A CN114328166A CN202011063834.9A CN202011063834A CN114328166A CN 114328166 A CN114328166 A CN 114328166A CN 202011063834 A CN202011063834 A CN 202011063834A CN 114328166 A CN114328166 A CN 114328166A
- Authority
- CN
- China
- Prior art keywords
- test
- algorithm
- data
- performance information
- algorithms
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 976
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000002452 interceptive effect Effects 0.000 claims description 51
- 238000010998 test method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 44
- 238000011156 evaluation Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 239000000243 solution Substances 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000012085 test solution Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开实施例涉及一种AB测试算法的性能信息获取方法、装置、电子设备和计算机存储介质,包括:获取样本获取指令,基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;获取算法调用指令,基于所述算法调用指令调用至少两个AB测试算法;基于所述样本数据,以及调用的所述至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息。本公开实施例提供的技术方案,能够获取到AB测试算法的性能信息,并使得选择的AB测试算法在测试效率等性能上的表现更加优异。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种AB测试算法的性能信息获取方法和装置、AB测试方法和装置、AB测试***、电子设备和计算机存储介质。
背景技术
AB测试已经从在传统的医疗领域进行药物治疗效果测试,逐步应用到目前的互联网领域进行算法上线、产品页面改版的版本效果测试。例如为Web或App界面制作两个(A/B)或多个(A/B/n)方案时,需要在同一时间维度,分别让组成成分相同或相似的用户群组随机访问上述两个或多个测试方案,收集各用户群组在使用各个测试方案时的用户体验数据和/或业务数据,最后评估分析出效果更优的版本。
上述AB测试过程中,是通过AB测试算法进行评估分析,以得到各个测试方案的优劣,从一定程度上讲,AB测试算法的性能决定了进行AB测试时的测试效率,以及所花费的时间成本等。但现有技术中可以使用的AB测试算法包括多种算法类型,目前并不能够对AB测试算法的性能进行有效检测。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种AB测试算法的性能获取方法和装置、AB测试方法和装置、AB测试***、电子设备和计算机存储介质。
本公开实施例提供了一种AB测试算法的性能信息获取方法,包括:
获取样本获取指令,基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
获取算法调用指令,基于所述算法调用指令调用至少两个AB测试算法;
基于所述样本数据,以及调用的所述至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息。
可选的,所述确定AB测试时所述至少两个AB测试算法的性能信息,包括:
获取利用所述至少两个AB测试算法进行AB测试时的测试结果数据;
基于所述测试结果数据确定所述至少两个AB测试算法的性能信息。
可选的,所述测试结果数据包括样本数量,所述获取利用至少两个AB测试算法进行AB测试时的测试结果数据,包括:
获取利用所述至少两个AB测试算法在完成AB测试时所使用的样本数量;
所述基于测试结果数据确定所述至少两个AB测试算法的性能信息,包括:
基于所述样本数量确定所述AB测试算法的性能信息。
可选的,所述测试结果数据还包括P值、置信度和置信区间的至少一个。
可选的,还包括:
获取利用所述至少两个AB测试算法分别进行AB测试时的运行参数;
展示所述AB测试时的运行参数。
可选的,所述运行参数包括当前使用样本数量、当前P值、当前置信度、当前置信区间和当前测试结论中的至少一个。
可选的,所述基于样本获取指令获取AB测试的样本数据,包括:
基于所述样本获取指令,从云端数据库或本地数据库中获取AB测试的样本数据。
可选的,所述基于所述算法调用指令调用至少两个AB测试算法,包括:
基于所述算法调用指令,从AB测试算法库中调用所述至少两个AB测试算法,所述AB测试算法包括假设检验算法、序贯检测算法、非参检验算法、变量控制算法和用户自定义算法中的至少一个。
可选的,还包括:
确定所述至少两组测试数据的数据特性信息;
所述确定AB测试时所述至少两个AB测试算法的性能信息,包括:
确定与每个数据特性信息对应的所述至少两个AB测试算法的性能信息。
可选的,所述数据特性信息包括数据来源信息或数据分布信息中的至少一种。
可选的,所述方法在本地主机中执行,所述还包括:
展示程序编译窗口;
所述获取样本获取指令,包括:
获取用户通过所述程序编译窗口输入的样本获取指令;
所述获取算法调用指令,包括:
获取用户通过所述程序编译窗口输入的算法调用指令;
所述方法还包括:
在所述程序编译窗口中展示所述至少两个AB测试算法的性能信息。
可选的,所述方法在本地主机中执行,所述获取样本获取指令之前,还包括:
展示第一交互界面;
所述获取样本获取指令,包括:
获取用户通过所述第一交互界面输入的样本获取指令;
所述获取算法调用指令,包括:
获取用户通过所述第一交互界面输入的算法调用指令;
所述方法还包括:
在所述第一交互界面中展示所述至少两个AB测试算法的性能信息。
可选的,所述方法在云服务器上执行,所述获取样本获取指令,包括:
接收客户端设备发送的样本获取指令;
所述获取算法调用指令,包括:
接收客户端设备发送的算法调用指令;
所述方法还包括:
向客户端设备发送所述至少两个AB测试算法的性能信息。
可选的,还包括:
向AB测试装置发送所述至少两个AB测试算法的性能信息。
本公开实施例还提供一种AB测试算法的性能信息获取方法,包括:
获取用户输入的样本获取指令,并向云服务器发送样本获取指令,以使所述云服务器基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
获取用户输入的算法调用指令,并向云服务器发送算法调用指令,以使所述云服务器基于所述算法调用指令调用至少两个AB测试算法;
接收所述云服务器反馈的AB测试时所述至少两个AB测试算法的性能信息,所述性能信息为所述云服务器基于所述样本数据,以及所述调用的至少两个AB测试算法分别进行AB测试时确定。
可选的,还包括:
展示第二交互界面;
所述获取用户输入的样本获取指令,包括:
获取用户通过所述第二交互界面输入的样本获取指令;
所述获取用户输入的算法调用指令,包括:
获取用户通过所述第二交互界面输入的算法调用指令;
所述方法还包括:
在所述第二交互界面中展示所述至少两个AB测试算法的性能信息。
本公开实施例还提供了一种AB测试方法,包括:
获取至少两个待测试方案对应的测试数据;
获取至少两个AB测试算法的性能信息;
基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
基于所述至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
可选的,还包括:
接收性能信息获取装置发送的至少两个AB测试算法的性能信息;
基于所述至少两个AB测试算法的性能信息对AB测试算法库中包括的AB测试算法进行更新。
可选的,所述至少两个AB测试算法的性能信息与测试数据的数据特性信息相对应,所述基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法,包括:
获取所述测试数据的数据特性信息;
基于所述测试数据的数据特性信息,以及与所述测试数据的数据特性信息对应的至少两个AB测试算法的性能信息,确定AB测试所使用的AB测试算法。
可选的,所述数据特性信息包括数据来源信息或数据分布信息中的至少一种。
本公开实施例还提供了一种AB测试算法的性能信息获取装置,包括:
样本数据获取模块,用于获取样本获取指令,基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
算法调用模块,用于获取算法调用指令,基于所述算法调用指令调用至少两个AB测试算法;
性能信息获取模块,用于基于所述样本数据,以及调用的所述至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息。
本公开实施例还提供了一种AB测试算法的性能信息获取装置,包括:
第一指令获取模块,用于获取用户输入的样本获取指令,并向云服务器发送样本获取指令,以使所述云服务器基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
第二指令获取模块,用于获取用户输入的算法调用指令,并向云服务器发送算法调用指令,以使所述云服务器基于所述算法调用指令调用至少两个AB测试算法;
性能信息接收模块,用于接收所述云服务器反馈的AB测试时所述至少两个AB测试算法的性能信息,所述性能信息为所述云服务器基于所述样本数据,以及所述调用的至少两个AB测试算法分别进行AB测试时确定。
本公开实施例还提供了一种AB测试装置,包括
测试数据获取模块,用于获取至少两个待测试方案对应的测试数据;
性能信息获取模块,用于获取至少两个AB测试算法的性能信息;
算法确定模块,用于基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
AB测试模块,用于基于所述至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
本公开实施例还提供了一种AB测试***,包括上述述的AB测试算法的性能信息获取装置,以及上述的AB测试装置。
本公开实施例还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一所述的AB测试算法的性能信息获取方法,或者AB测试方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的AB测试算法的性能信息获取方法,或者AB测试方法。
本公开实施例提供了一种能够对AB测试算法的性能信息进行获取,以及基于AB测试算法的性能信息进行AB测试的技术方案,其具体可以通过离线的方式获取进行AB测试所需要的样本数据,以及调用至少两个AB测试算法。在上述步骤基础上,本公开实施例中会模拟一个AB测试过程,利用上述至少两个AB测试算法进行AB测试,并进一步获取对应的测试结果数据,然后基于测试结果数据确定上述至少两个AB测试算法的性能信息。通过本公开实施例提供的技术方案,其能够获取到AB测试算法的性能信息,并可以基于该性能信息选择后续进行在线AB测试时使用的具体测试算法,使得后续选择时即能够充分考虑了AB测试算法的自身特点,又充分考虑了样本数据的适用性,并使得选择的AB测试算法在测试效率等性能上的表现更加优异。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种AB测试算法的性能信息获取方法的流程示意图;
图2为图1所示实施例中的步骤103的具体流程示意图;
图3为本公开实施例提供的另一种AB测试算法的性能信息获取方法的流程示意图;
图4为本公开实施例提供的一种参数展示页面的示意图;
图5为本公开实施例提供的一种参数展示页面的示意图;
图6为本公开实施例提供的再一种AB测试算法的性能信息获取方法的流程示意图;
图7为本公开实施例提供的一种AB测试方法的流程示意图;
图8为本公开实施例提供的另一种AB测试方法的流程示意图;
图9为本公开实施例提供的一种AB测试算法的性能信息获取装置的结构示意图;
图10为图9所示实施例提供的性能信息获取模块93的结构示意图;
图11为本公开实施例提供的另一种AB测试算法的性能信息获取装置的结构示意图;
图12为本公开实施例提供的再一种AB测试算法的性能信息获取装置的结构示意图;
图13为本公开实施例提供的一种AB测试装置的结构示意图;
图14为本公开实施例提供的另一种AB测试装置的结构示意图;
图15为本公开实施例提供的一种AB测试***的结构示意图;
图16为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
针对现有技术中在算法上线或者产品页面改版时,都会基于上线前后的算法,或者改版前后的页面进行AB测试,通过对上述的算法或者页面上线运行,获取运行过程中每个测试方案对应的测试数据,然后将上述各测试方案得到的测试数据作为样本数据,输入到对应的AB测试算法中进行评估分析,得到优选的技术方案;但是在上述不同的测试场景中,输入到AB测试算法中样本数据差异较大,不同的样本数据与AB测试算法的适用性会存在较大差异;另外,对于AB测试算法而言,也包括多种算法类型,例如假设检验算法、序贯检测算法、非参检验算法、变量控制算法等,各类型的AB测试算法也有其自身的特点。但现有技术中在进行AB测试时,通常都是直接调用算法平台中的已有AB测试算法,并基于样本数据进行AB测试,很难根据AB测试算法的自身特点,以及考虑其针对各类样本数据的适用性,选择合适的AB测试算法,有可能导致AB测试效率低,所花费时间成本高的缺陷。
针对现有技术中的上述缺陷,本公开实施例提供了一种能够对AB测试算法的性能信息进行获取的技术方案。
本公开实施例提供的技术方案,其中可以是在本地主机上执行,或者是在云服务器上执行,且可以是通过离线方式进行AB测试算法的性能信息,也可以集成在在线的AB测试***中,实现对AB测试***中可用的AB测试算法的性能信息进行评估;无论针对上述哪一种方式,都能够为进行AB测试时选择AB测试算法提供参考。本公开实施例提供的技术方案,针对上述各种情况,其均是通过获取进行AB测试的样本数据,该样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应,同时调用至少两个AB测试算法。并在上述步骤基础上,本公开实施例中会模拟一个AB测试过程,利用至少两个AB测试算法进行AB测试,并进一步获取对应的测试结果数据,然后基于测试结果数据确定上述至少两个AB测试算法的性能信息。通过本公开实施例提供的技术方案,其能够获取到AB测试算法的性能信息,并将上述性能信息作为后续进行在线AB测试时进行AB测试算法选择的依据,使得后续选择时即充分考虑了AB测试算法的自身特点,又充分考虑了样本数据的适用性,并使得选择的AB测试算法在测试效率等性能上的表现更加优异。
图1为本公开实施例提供的一种AB测试算法的性能信息获取方法的流程示意图,该方法可以是在本地主机上执行,也可以是在云服务器上执行,如图1所示,该方法包括如下步骤:
步骤101、获取样本获取指令,基于该样本获取指令获取AB测试的样本数据,该样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
具体的,本步骤中是在获取到样本获取指令后,基于样本获取指令,可以从云端或者本地获得的样本数据,该样本数据可以是在进行AB测试的过程中,例如在有新算法上线时,将新上线算法和原算法分别作为两个测试方案,将其上线运行获取对应的测试数据,如语音识别算法,则可以将上线运行的语音识别算法的识别结果作为测试数据,且对于不同的测试方案,分别能够得到一组测试数据;或者是,在对APP上的购物页面或广告页面进行改版时,且有两个改版方案,此时可以将上述两个改版方案上线运行,并且获取上述两个改版方案的点击数据作为测试数据,得到两组测试数据。上述样本数据包括有两组测试数据,仅为一种举例,在一些情况下,也可以包括更多组测试数据,例如对于APP上的购物页面或广告页面进行改版时,还可以是将原购物页面或广告页面作为一个测试方案,此时可以获得三组测试数据作为样本数据。在一些情况下,本公开实施例中的上述测试数据可以包括用户体验数据和/或业务数据中的一类,例如可以是用户点击数据、曝光数据中的任意一种。
另外,上述得到的测试数据为一种真实运行数据,在一些情况下,除了上述的真实运行数据,还可以模拟运行数据、实际有明确分布假设数据、实际无明确分析假设数据、虚拟有明确分布假设数据或虚拟无明确分布假设数据中的一种或者几种;
另外,上述的样本数据可以存储到本地数据库中,或者是存储到云端,即可以是本地数据或者云端数据中的一种,本地数据还可以包括文本形式数据或数组形式数据。
步骤102、获取算法调用指令,从AB测试算法库中调用至少两个AB测试算法;
本公开实施例中,其中可以设置AB测试算法库,该算法库中可以包括多个AB测试算法,包括但不限于假设检验算法、序贯检测算法、非参检验算法、变量控制算法中的至少一个。本公开实施例中是在获取到算法调用指令后,基于算法调用指令从上述测试算法库中选择对应的AB测试算法,并对选择的AB测试算法进行性能测试,获取其性能信息。
并且在一些实施例中,除了将上述经典类型的测试算法加入到算法库中外,还可以允许用户自定义AB测试算法,并且将自定义的AB测试算法加入到算法库中,以对用户自身创作的AB测试算法的性能信息进行评估,且对于本步骤102而言,且可以同时选择至少两个AB测试算法,若选择的AB测试算法包括一经典测试算法和一自定义的测试算法,则通过后续步骤可以实现对自定义的测试算法的性能评估。
步骤103、基于上述样本数据,以及调用的至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息;
本步骤中利用AB测试算法进行AB测试的过程,其具体的执行内容与传统的AB测试均相同,都是根据至少两组测试数据进行评估分析,获取产生两组测试数据的测试方案的优劣,以确定出哪一个待测试方案是一个推荐方案,即在上述两个测试方案为新上线算法和原算法时,确定新算法是否较原算法上性能更为优异;在上述两个测试方案为APP上的购物页面或广告页面的两个改版方案时,确定哪一个改版方案更优,例如其获得的转化率等参数更高。
本公开图1所示的实施例中,在仅执行上述技术方案时,其可以被认为是完成了一个普通AB测试的技术方案,通过上述技术方案实现了对测试方案优劣的评价,并推荐出了更优方案。然而,本公开实施例作为一种能够对AB测试算法的性能信息进行评估的技术方案,本步骤不仅利用一个AB测试算法进行AB测试,以评估各测试方案,而且是调用了至少两个AB测试算法,利用每个调用的AB测试算法都进行了上述AB测试,分别进行了各测试方案的评估,在此过程中,进一步获取每个AB测试算法的性能信息。在一些实施例中,上述获取的AB测试算法的性能信息可以基于AB测试算法在进行AB测试过程中所使用的样本数量确定,通常使用的样本数量越少则意味着AB测试时的测试效率越高,否则越低;然后基于上述的样本数量确定AB测试算法的性能信息,即可以设置使用样本数量越少的AB测试算法的性能越优,而使用样本数量越多的AB测试算法的性能越差。
本公开实施例,其中在上述步骤103获取AB测试算法的性能信息可以是通过如图2所示的方法,即可以包括如下两个步骤:
步骤201、获取利用至少两个AB测试算法在进行AB测试时的测试结果数据;
在上述步骤各个AB测试算法进行AB测试,获得相应的评估结果后,本步骤中对进行AB测试时的测试结果数据进行获取,该测试结果数据可以在随后的步骤202中用于确定AB测试算法的性能信息。具体的,该测试结果数据可以包括所使用的样本数量;另外,还可以包括P值、置信度或置信区间等参数中的至少一个。
其中,样本数量是指在上述运行测试方案过程中所使用的样本数量,例如测试方案为算法时,若其中的算法为语音识别算法,则其中的样本数量可以为输入到给上述语音识别算法的语音信息数量;对于测试方案为待上线的页面时,则上述的样本数量则为分配给每个待测试版本的用户数量。本公开实施例中AB测试所使用的样本数据可以根据所归属的样本的不同,划分为由不同样本产生的样本数据,而不同样本数据在进行AB测试过程中也是陆续提供给AB测试算法的,因此可以得到每个AB测试过程结束时,即已经得到评估分析结果时所使用的样本数量,通常对于一个AB测试算法,其在获得评估结果时,所使用的样本数量越少越好,样本数量越少,则意味着进行AB测试所需要花费的时间越短,其一般是个数量值,例如10000个样本数量。
对于P值和置信度而言,其均可以用来确定AB测试算法所获得的评估结果可信任程度,对于某一项AB测试而言,可以预先设置P值或者置信度的目标值,在AB测试过程中,若其测试结果数据中P值或者置信度达到上述的预先设置的目标值时,则意味着可以结束AB测试过程。
置信区间作为一个统计学概念,是指对一个概率样本的总体参数进行区间估计的样本均值范围,可以作为P值或者置信度的辅助参数来评估是否可以结束上述AB测试过程。
步骤202、基于测试结果数据确定至少两个AB测试算法的性能信息。
在步骤202中进行AB测试时,获取到每个AB测试算法对应的测试结果数据后,即在获取上述的样本数量、P值、置信度或者置信区间等参数后,可以基于该测试结果数据确定AB测试算法的性能信息,具体的,可以根据AB测试过程中获得到P值或者置信度,并确定其是否达到了预先设置的目标值并结束AB测试过程,并进一步获取AB测试过程时,至少两个AB测试算法所使用的样本数量。
具体的,如上述实施例所记载的,其中在上述步骤102中调用的两个AB测试算法为假设检验算法和序贯检测算法,其中在AB测试过程结束时,假设检验算法使用的样本数量是10000个,而序贯检测算法所使用的样本数量是15000个,此时可以优先推荐使用样本数量少的AB测试算法,即确定假设检验算法的性能信息优于序贯检测算法。
上述依据结束AB测试过程所使用的样本数量确定AB测试算法的性能信息后,可以为后续AB测试时选择AB测试算法提供依据。对于后续执行AB测试时,若选择使用样本数量更少的假设检验算法,能够缩短进行AB测试所需要花费的时间,使得在测试效率等性能上的表现更加优异。使得后续选择AB测试算法时既充分考虑了AB测试算法的自身特点,又充分考虑了样本数据的适用性。
图3为本公开实施例提供的另一种AB测试算法的性能信息获取方法的流程示意图,如图3所示,除包括如图1所示的步骤101-步骤103外,还可以进一步包括:
步骤104、获取利用上述至少两个AB测试算法分别进行AB测试时的运行参数;
具体的,在本公开实施例中,其中的样本数据是依次提供给AB测试算法,可以对AB测试过程进行监控,实时获取其中的运行参数,该运行参数包括但不限于当前使用样本数量、当前P值、当前置信度、当前置信区间和当前测试结论中的至少一个,对于当前使用样本数量、当前置信度和当前置信区间,可以参考上述实施例中的相关说明,在根据P值或者置信度判断满足预设的目标值时,才能够确定可以停止AB测试,并得到实际的测试结论,在未有明确的测试结论前,则该参数为空。
在本公开实施例,也可以根据AB测试算法的不同,获取不同的运行参数。
步骤105、展示AB测试时的运行参数。
本步骤中可以是生成一个参数展示页面,并在参数展示页面上显示参数展示框,每个参数展示框对应一个运行参数,例如为当前使用样本数量、当前P值、当前置信度、当前置信区间和当前测试结论中的每一个都设置对应的参数展示框,在每个参数框中展示上述运行参数的实时数值,具体可以参照图4。或者是,对于某些运行参数,可以设置对应的参数坐标系并展示参数曲线,其中横坐标可以表示时间,纵坐标表示对应的实时参数值,通过参数曲线展示从AB测试开始时间到当前时间,对应的运行参数的变化曲线,具体可以参照图5。或者是在一些情况下,同一个参照展示页面上部分运行参数利用图4所示的参数展示框进行展示,而部分运行参数利用图5所示的变化曲线进行展示。
本公开实施例中,通过实时展示进行AB测试时的运行参数,可以随时了解到AB测试的进展情况,并对AB测试过程进行监控,更加准确的了解各个AB测试算法的运行状况,利于对其性能信息进行更深入的分析,尤其是对于自定义的AB测试算法,可以根据上述监控得到的运行参数对AB测试算法开发进行指导。
本公开实施例提供的技术方案,其可以作为离线式的AB测试算法的性能信息获取方案,对于在进行AB测试时所需要的样本数据,也可以是提前存储到数据库中,并在需要进行AB测试算法的性能信息评估时,从上述的数据库中去获取样本数据,具体的,上述的数据库可以是云端数据库,或者是本地数据库,此时,上述图1所示实施例中的步骤101可以具体包括:
基于所述样本获取指令,从云端数据库或本地数据库中获取AB测试的样本数据。
并且,本公开实施例中,无论是将样本数据存储到云端数据库或者是本地数据库中,其都可以用于对AB测试算法进行离线评估,相对于利用在线数据,需要等待用户流量,本公开实施例的离线评估方案能够使得性能评估速度更快,能够更为及时的反馈AB测试算法的性能信息。
在一些实施例中,针对上述的样本数据的组成也提供了丰富的数量来源,可以从多种应用场景中获取,例如其可以是真实运行数据,也可以是模拟运行数据,还可以是根据需求自定义的样本数据。具体的,上述样本数据的数据类型包括真实运行数据、模拟运行数据、实际有明确分布假设数据、实际无明确分析假设数据、虚拟有明确分布假设数据或虚拟无明确分布假设数据。通过上述多种数据类型的样本数据,其可以满足快速对AB测试算法进行性能评估的需求,而用户自定义样本数据的功能则使得本技术方案的应用场景更为灵活,用户能够根据自己的测试或评估需求定制相应的样本数据。
进一步,在本公开实施例中,由于上述数据可以存储到云端数据库中,或者是存储到本地数据数据库中,其中数据形式可以包括多种形式,例如可以是数组形式数据、文本形式数据,或者其他的适应于云端数据库存储的数据形式,其中获取的数据形式并不统一,在本公开实施例中,可以进一步的先对步骤101中获取到的样本数据进行格式化处理,以得到更为统一的数据形式的样本数据,利于后续输入到AB测试算法中进行AB测试。
更进一步的,上述图1所示实施例中的步骤102中基于算法调用指令调用至少两个AB测试算法,可以包括:
基于算法调用指令,从AB测试算法库中调用至少两个AB测试算法,该AB测试算法包括假设检验算法、序贯检测算法、非参检验算法、变量控制算法和用户自定义算法中的至少一个。
本公开实施例中,上述对其样本数据进行格式化处理的过程,当然在某些情况下,也可以考虑将格式化处理的功能增加到各AB测试算法中,使得可以将样本数据直接输入到AB测试算法中。
另外,对于上述不同的AB测试算法,其通常都会基于样本数据先计算统计量,然后再根据统计量继续进行AB测试,例如对于假设检验算法,基于样本数据获取的统计量包括均值和方差。另外,对于用户自定义AB测试算法的情况下,如果用户自定义的AB测试算法不具备基于样本数据获取统计量的能力,则需要除了上述对样本数据进行格化式处理外,还需要基于样本数据获取统计量,而对于具体的统计量所包括的内容,需要以及用户自定义的AB测试算法的不同而进行定义。
在本公开上述实施例中,其中获取的AB测试算法的性能信息可以按照样本数据的特性,即样本数据所包括的至少两组测试数据的数据特性信息进行区分,这里的测试数据的特性信息可以包括数据来源信息或者是数据分布信息中的至少一种,其中的数据来源信息可以是区分测试数据来源于不同的APP,不同的网站等情况;而数据分布信息则为测试数据的分布类型,例如是正态分布、高斯分布、伽马分布、多项式分布或者二项分布等分布类型中的至少一种。
本公开实施例中上述确定至少两个AB测试算法的性能信息,则为确定与每个数据特性信息对应的性能信息,即对于具有不同数据特性信息的测试数据,其所对应的AB测试算法的性能信息不同,例如对于正态分布的测试数据,其中第一种AB测试算法所使用的样本数量小于第二种AB测试算法所使用的样本数量;而对于高斯分布的测试数据,其中第二种AB测试算法所使用的样本数量小于第一种AB测试算法所使用的样本数量。
本公开实施例中,具体得到了与每个数据特性信息对应的AB测试算法的性能信息,使得在后续进行AB测试选择AB测试算法时,可以基于测试数据的数据特性信息,选择更为匹配的AB测试算法,以达到减少AB测试所需要的样本数量,提高AB测试效率的目的。
本公开上述实施例中提供的技术方案,其可以有两种运行方式,一种运行方式是在本地主机中运行,另一种运行方式是在云服务器执行。
对应第一种运行方式,在本地主机中运行时,其可以是在本地主机上显示程序编译窗口,或者是通过设置第一交互界面的方式,与用户交互,该用户可以是软件测试人员。
在使用程序编译窗口与用户交互时,还包括步骤:
展示程序编译窗口,具体的,该程序编译窗口为用户提供编译功能,并可以通过命令行的方式输入指令。
进一步的,在展示程序编译窗口后,上述图1所示步骤101中的获取样本获取指令可以具体的获取用户通过程序编译窗口输入的样本获取指令,即用户命令行的方式在程序编译窗口内输入上述样本获取指令。
进一步的,上述图1所示步骤102中的获取算法调用指令,可以具体包括:获取用户通过程序编译窗口输入的算法调用指令,即用户命令行的方式在程序编译窗口内输入上述算法调用指令。
在该情况下,上述方法还可以进一步包括:
在程序编译窗口中展示至少两个AB测试算法的性能信息。
与上述使用程序编译窗口与用户交互不同,本公开实施例中还可以使用第一交互界面与用户交互,此时还包括如下步骤:
展示第一交互界面,具体的,该第一交互界面为用户可以在界面上进行操作,例如输入各种指令,具体的可以在第一交互界面上展示命令按钮,用户通过点击按钮的方式输入指令。
进一步的,在展示第一交互界面后,上述图1所示步骤101中的获取样本获取指令可以具体为获取用户通过第一交互界面输入的样本获取指令,即用户在第一交互界面上通过命令按钮输入该样本获取指令。
进一步的,上述图1所示步骤102中的获取算法调用指令,可以具体为获取用户通过第一交互界面输入的算法调用指令,即用户在第一交互界面上通过命令按钮输入上述算法调用指令。
在该情况下,上述方法还可以进一步包括:
在第一交互界面上展示至少两个AB测试算法的性能信息。
对于第二种运行方式,在云服务器上执行上述各实施例中提供的AB测试算法的性能信息获取方法,则该云服务器会与客户端设备进行交互,以获取用户通过客户端设备输入的指令,以及在获取到AB测试算法的性能信息后,将上述性能信息向客户端设备发送上述至少两个AB测试算法的性能信息。
在这种运行方式下,上述图1所示步骤101中的获取样本获取指令可以具体为接收客户端设备发送的样本获取指令;上述图1所示步骤102中的获取算法调用指令,可以具体为接收客户端设备发送的算法调用指令。
本公开实施例中将实现AB测试算法的性能信息获取的功能设置在云服务器中,使得更便于为大量用户提供服务,且该对该用户的客户端设备的要求降低,同时在云服务器的AB测试算法库中可以设置更为多样化的AB测试算法。
本公开实施例中提供的技术AB测试算法的性能信息获取方法,其可以作为一个评估AB测试算法性能的独立运行平台,通过该独立运行平台能够获取到对应的AB测试算法的性能信息,以供用户,尤其是AB测试算法开发人员参考。在一些实施例中,还可以将其作为AB测试***的一部分,即该AB测试***包括能够获取AB测试算法的性能信息的性能信息获取装置,以及能够进行AB测试的AB测试装置,本公开实施例中上述功能在性能信息获取装置中实现,在其获取到至少两个AB测试算法的性能信息后,可以向AB测试装置发送上述至少两个AB测试算法的性能信息,以供AB测试装置在进行AB测试时,基于性能信息选择性能更优的AB测试算法。
图6为本公开实施例提供的再一种AB测试算法的性能信息获取方法的流程示意图,该图6所示的实施例,是与图1所示实施例的方法在云服务器上执行时,在客户端设备上执行的方法,如图6所示,包括如下步骤:
步骤601、获取用户输入的样本获取指令,并向云服务器发送样本获取指令,以使云服务器基于所述样本获取指令获取AB测试的样本数据,样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
步骤602、获取用户输入的算法调用指令,并向云服务器发送算法调用指令,以使云服务器基于所述算法调用指令调用至少两个AB测试算法;
步骤603、接收所述云服务器反馈的AB测试时至少两个AB测试算法的性能信息,性能信息为云服务器基于样本数据,以及调用的至少两个AB测试算法分别进行AB测试时确定。
本公开实施例中,是在云服务器中实现上述AB测试算法的性能信息获取的情况下,用户可以通过客户端设备输入该方案所需的各种指令,例如样本获取指令、算法调用指令等,其具体的,上述指令可以通过交互界面的方式获取,即在上述的步骤601之前,还进一步包括如下步骤:
展示第二交互界面。
则进一步的,上述步骤601中获取用户输入的样本获取指令可以具体包括:
获取用户通过第二交互界面输入的样本获取指令;
上述步骤602中获取用户输入的算法调用指令可以具体包括:
获取用户通过第二交互界面输入的算法调用指令;
并在上述步骤603中接收云服务器反馈的AB测试时至少两个AB测试算法的性能信息之后,还可以进一步包括
在第二交互界面中展示至少两个AB测试算法的性能信息。
上述的客户端设备可以包括多个,该多个客户端设备与云服务器构成一个能够获取AB测试算法的性能信息的***,其中可以是通过开发第二交互界面的方式,使得用户利用各个客户端设备访问云服务器,并展示上述的第二交互界面,且不同的用户可以通过不同的客户端设备进行访问,并且均能够实现对至少两个AB测试算法的性能信息的获取。
基于本公开上述实施例提供的技术方案,其能够获取各个AB测试算法的性能信息,本公开实施例还提供了一种基于AB测试算法的性能信息进行AB测试的技术方案,图7为本公开实施例提供的一种AB测试方法的流程示意图,本测试方法可以在AB测试装置上运行,如图7所示,该AB测试方法包括如下步骤:
步骤701、获取至少两个待测试方案对应的测试数据;
具体的,本步骤的两个待测试方案可以包括多种情况,例如可以为对页面进行改版时,改版前后的两个页面,或者是进行新算法上线时,上线前后的两个算法,其均可以作为两个待测试方法。通过对上述算法或者页面上线运行,可以获取到运行过程中每个测试方案对应的测试数据。
步骤702、获取至少两个AB测试算法的性能信息;
具体的,本公开实施例中,其中在AB测试装置中预先设置了多个AB测试算法,并且进一步的可以存储上述多个AB测试算法的性能信息,其中的性能信息可以参考本公开上述图1-图6任一所示的实施例的方式获取,也可以通过其他方式获取。
步骤703、基于至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
在上述步骤702中获取到各AB测试算法的性能信息后,即可以基于各AB测试算法的性能信息获取效果更优的AB测试算法,例如该性能信息是以完成AB测试所需要的样本数量为依据时,则性能更优的AB测试算法为完成AB测试时需要样本数量更少的算法。
步骤704、基于至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
通过上述步骤701获取到测试数据,以及步骤703中基于性能信息确定了对应的AB测试算法后,本步骤中进行AB测试,使用了基于AB测试算法的性能信息选择的算法,能够使用较少的样本数量完成AB测试,能够显著提高AB测试效率,减少AB测试所需要花费的时间成本。
本公开实施例中进行AB测试的具体步骤,也可以参考上述图1所示的实施例中的一些介绍和说明。
如上所述的,本公开实施例中,其中的AB测试装置和图1-图6所示实施例中关联的性能信息获取装置,其可以共同构成一个AB测试***,对于性能信息获取装置获取到的至少两个AB测试算法的性能信息,可以发送AB测试测试装置中。具体的,如图8所示,在图7所示的实施例的基础上,在上述的步骤701-步骤704之前,还可以进一步包括如下步骤:
步骤705、接收性能信息获取装置发送的至少两个AB测试算法的性能信息;
具体的,在接收到上述性能信息后,可以在本地进行存储,例如存储到一个性能信息列表中,该性能信息列表包括了各AB测试算法,及其对应的性能信息。
另外,进一步的,在AB测试装置中通常也可以维护一个AB测试算法库,该AB测试算法库中会存储有多个AB测试算法,以供后续进行AB测试时使用,本公开实施例中,在接收到上述的至少两个AB测试算法的性能信息后,可以考虑基于性能信息对AB测试算法库中包括的AB测试算法进行更新,即可以包括如下步骤:
步骤706、基于至少两个AB测试算法的性能信息对AB测试算法库中包括的AB测试算法进行更新。
例如将性能信息较差的AB测试算法删除,并可以考虑引入新的性能信息更优的AB测试算法,即可以实现AB测试算法的更新迭代。
在执行完上述步骤705和步骤706后,执行步骤701-704时,即可以选择性能更优的AB测试算法进行AB测试。
在一些实施例中,如本公开上述实施例所描述的,其中对于至少两个AB测试算法的性能信息可以与测试数据的数据特性信息相对应,即对于同一个AB测试算法,其对于不同的数据特性信息而言,其性能信息也可以不同,因此此时在选择AB测试所使用的算法时,就可以首先获取该测试数据的数据特性信息;然后基于该测试数据的数据特性信息,以及与该测试数据的数据特性信息对应的至少两个AB测试算法的性能信息,确定AB测试所使用的AB测试算法,从而选择与测试数据的数据特性信息最匹配的AB测试算法,达到更优的效果。
本公开实施例中,其中的数据特性信息可以包括数据来源信息或数据分布信息中的至少一种。其中的数据来源信息可以是用来区分测试数据来源于不同的APP,或者不同的网站等情况;而数据分布信息则可以为测试数据的分布类型,例如是正态分布、高斯分布、伽马分布、多项式分布或者二项分布等分布类型中的至少一种。
图9为本公开实施例提供的一种AB测试算法的性能信息获取装置的结构示意图,该装置可以设置在本地主机上,也可以是设置在云服务器上,该装置能够执行上述如图1所示的方法,该装置包括样本数据获取模块91、算法调用模块92和性能信息获取模块93。
其中样本数据获取模块91,用于获取样本获取指令,基于该样本获取指令获取AB测试的样本数据,该样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
具体的,本步骤中是在获取到样本获取指令后,基于样本获取指令,可以从云端或者本地获得的样本数据,该样本数据可以是在进行AB测试的过程中,例如在有新算法上线时,将新上线算法和原算法分别作为两个测试方案,将其上线运行获取对应的测试数据,如语音识别算法,则可以将上线运行的语音识别算法的识别结果作为测试数据,且对于不同的测试方案,分别能够得到一组测试数据;或者是,在对APP上的购物页面或广告页面进行改版时,且有两个改版方案,此时可以将上述两个改版方案上线运行,并且获取上述两个改版方案的点击数据作为测试数据,得到两组测试数据。上述样本数据包括有两组测试数据,仅为一种举例,在一些情况下,也可以包括更多组测试数据,例如对于APP上的购物页面或广告页面进行改版时,还可以是将原购物页面或广告页面作为一个测试方案,此时可以获得三组测试数据作为样本数据。在一些情况下,本公开实施例中的上述测试数据可以包括用户体验数据和/或业务数据中的一类,例如可以是用户点击数据、曝光数据中的任意一种。
另外,上述得到的测试数据为一种真实运行数据,在一些情况下,除了上述的真实运行数据,还可以模拟运行数据、实际有明确分布假设数据、实际无明确分析假设数据、虚拟有明确分布假设数据或虚拟无明确分布假设数据中的一种或者几种;
另外,上述的样本数据可以存储到本地数据库中,或者是存储到云端,即可以是本地数据或者云端数据中的一种,本地数据还可以包括文本形式数据或数组形式数据。
算法调用模块92,用于获取算法调用指令,从AB测试算法库中调用至少两个AB测试算法;
本公开实施例中,其中可以设置AB测试算法库,该算法库中可以包括多个AB测试算法,包括但不限于假设检验算法、序贯检测算法、非参检验算法、变量控制算法中的至少一个。本公开实施例中是在获取到算法调用指令后,基于算法调用指令从上述测试算法库中选择对应的AB测试算法,并对选择的AB测试算法进行性能测试,获取其性能信息。
并且在一些实施例中,除了将上述经典类型的测试算法加入到算法库中外,还可以允许用户自定义AB测试算法,并且将自定义的AB测试算法加入到算法库中,以对用户自身创作的AB测试算法的性能信息进行评估,且对于本模块而言,且可以同时选择至少两个AB测试算法,若选择的AB测试算法包括一经典测试算法和一自定义的测试算法,则通过后续步骤可以实现对自定义的测试算法的性能评估。
性能信息获取模块93,用于基于上述样本数据,以及调用的至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息;
本步骤中利用AB测试算法进行AB测试的过程,其具体的执行内容与传统的AB测试均相同,都是根据至少两组测试数据进行评估分析,获取产生两组测试数据的测试方案的优劣,以确定出哪一个待测试方案是一个推荐方案,即在上述两个测试方案为新上线算法和原算法时,确定新算法是否较原算法上性能更为优异;在上述两个测试方案为APP上的购物页面或广告页面的两个改版方案时,确定哪一个改版方案更优,例如其获得的转化率等参数更高。
本公开图9所示的实施例中,在仅执行上述技术方案时,其可以被认为是完成了一个普通AB测试的技术方案,通过上述技术方案实现了对测试方案优劣的评价,并推荐出了更优方案。然而,本公开实施例作为一种能够对AB测试算法的性能信息进行评估的技术方案,本步骤不仅利用一个AB测试算法进行AB测试,以评估各测试方案,而且是调用了至少两个AB测试算法,利用每个调用的AB测试算法都进行了上述AB测试,分别进行了各测试方案的评估。在此过程中,进一步获取每个AB测试算法的性能信息。在一些实施例中,上述获取的AB测试算法的性能信息可以基于AB测试算法在进行AB测试过程中所使用的样本数量确定,通常使用的样本数量越少则意味着AB测试时的测试效率越高,否则越低;然后基于上述的样本数量确定AB测试算法的性能信息,即可以设置使用样本数量越少的AB测试算法的性能越优,而使用样本数量越多的AB测试算法的性能越差。
本公开实施例,其中性能信息获取模块93,如图10所示可以包括如下两个子模块:第一子模块931和第二子模块932。
第一子模块931,用于获取利用至少两个AB测试算法在进行AB测试时的测试结果数据;
在上述各个AB测试算法进行AB测试,获得相应的评估结果后,本步骤中对进行AB测试时的测试结果数据进行获取,该测试结果数据可以在随后的第二子模块中用于确定AB测试算法的性能信息。具体的,该测试结果数据可以包括所使用的样本数量;另外,还可以包括P值、置信度或置信区间等参数中的至少一个。
其中,样本数量是指在上述运行测试方案过程中所使用的样本数量,例如测试方案为算法时,若其中的算法为语音识别算法,则其中的样本数量可以为输入到给上述语音识别算法的语音信息数量;对于测试方案为待上线的页面时,则上述的样本数量则为分配给每个待测试版本的用户数量。本公开实施例中AB测试所使用的样本数据可以根据所归属的样本的不同,划分为由不同样本产生的样本数据,而不同样本数据在进行AB测试过程中也是陆续提供给AB测试算法的,因此可以得到每个AB测试过程结束时,即已经得到评估分析结果时所使用的样本数量,通常对于一个AB测试算法,其在获得评估结果时,所使用的样本数量越少越好,样本数量越少,则意味着进行AB测试所需要花费的时间越短,其一般是个数量值,例如10000个样本数量。
对于P值和置信度而言,其均可以用来确定AB测试算法所获得的评估结果可信任程度,对于某一项AB测试而言,可以预先设置P值或者置信度的目标值,在AB测试过程中,若其测试结果数据中P值或者置信度达到上述的预先设置的目标值时,则意味着可以结束AB测试过程。
置信区间作为一个统计学概念,是指对一个概率样本的总体参数进行区间估计的样本均值范围,可以作为P值或者置信度的辅助参数来评估是否可以结束上述AB测试过程。
第二子模块932,用于基于测试结果数据确定至少两个AB测试算法的性能信息。
在第二子模块932中进行AB测试时,获取到每个AB测试算法对应的测试结果数据后,即在获取上述的样本数量、P值、置信度或者置信区间等参数后,可以基于该测试结果数据确定AB测试算法的性能信息,具体的,可以根据AB测试过程中获得到P值或者置信度,并确定其是否达到了预先设置的目标值并结束AB测试过程,并进一步获取AB测试过程时,至少两个AB测试算法所使用的样本数量。
具体的,如上述实施例所记载的,其中在上述第二子模块832中调用的两个AB测试算法为假设检验算法和序贯检测算法,其中在AB测试过程结束时,假设检验算法使用的样本数量是10000个,而序贯检测算法所使用的样本数量是15000个,此时可以优先推荐使用样本数量少的AB测试算法,即确定假设检验算法的性能信息优于序贯检测算法。
上述依据结束AB测试过程所使用的样本数量确定AB测试算法的性能信息后,可以为后续AB测试时选择AB测试算法提供依据。对于后续执行AB测试时,若选择使用样本数量更少的假设检验算法,能够缩短进行AB测试所需要花费的时间,使得在测试效率等性能上的表现更加优异。使得后续选择AB测试算法时既充分考虑了AB测试算法的自身特点,又充分考虑了样本数据的适用性。
图11为本公开实施例提供的另一种AB测试算法的性能信息获取装置的结构示意图,如图11所示,除包括如图9所示的功能模块外,还可以进一步包括:
参数获取模块94和参数展示模块95;
其中参数获取模块94用于获取利用上述至少两个AB测试算法分别进行AB测试时的运行参数;
具体的,在本公开实施例中,其中的样本数据是依次提供给AB测试算法,可以对AB测试过程进行监控,实时获取其中的运行参数,该运行参数包括但不限于当前使用样本数量、当前P值、当前置信度、当前置信区间和当前测试结论中的至少一个,对于当前使用样本数量、当前置信度和当前置信区间,可以参考上述实施例中的相关说明,在根据P值或者置信度判断满足预设的目标值时,才能够确定可以停止AB测试,并得到实际的测试结论,在未有明确的测试结论前,则该参数为空。
在本公开实施例,也可以根据AB测试算法的不同,获取不同的运行参数。
参数展示模块95用于展示AB测试时的运行参数。
本模块中可以是生成一个参数展示页面,并在参数展示页面上显示参数展示框,每个参数展示框对应一个运行参数,例如为当前使用样本数量、当前P值、当前置信度、当前置信区间和当前测试结论中的每一个都设置对应的参数展示框,在每个参数框中展示上述运行参数的实时数值,具体可以参照图4。或者是,对于某些运行参数,可以设置对应的参数坐标系并展示参数曲线,其中横坐标可以表示时间,纵坐标表示对应的实时参数值,通过参数曲线展示从AB测试开始时间到当前时间,对应的运行参数的变化曲线,具体可以参照图5。或者是在一些情况下,同一个参照展示页面上部分运行参数利用图4所示的参数展示框进行展示,而部分运行参数利用图5所示的变化曲线进行展示。
本公开实施例中,通过实时展示进行AB测试时的运行参数,可以随时了解到AB测试的进展情况,并对AB测试过程进行监控,更加准确的了解各个AB测试算法的运行状况,利于对其性能信息进行更深入的分析,尤其是对于自定义的AB测试算法,可以根据上述监控得到的运行参数对AB测试算法开发进行指导。
本公开实施例提供的技术方案,其可以作为离线式的AB测试算法的性能信息获取方案,对于在进行AB测试时所需要的样本数据,也可以是提前存储到数据库中,并在需要进行AB测试算法的性能信息评估时,从上述的数据库中去获取样本数据,具体的,上述的数据库可以是云端数据库,或者是本地数据库,此时,上述图9所示实施例中的样本数据获取模块91可以用于基于样本获取指令,从云端数据库或本地数据库中获取AB测试的样本数据。
并且,本公开实施例中,无论是将样本数据存储到云端数据库或者是本地数据库中,其都可以用于对AB测试算法进行离线评估,相对于利用在线数据,需要等待用户流量,本公开实施例的离线评估方案能够使得性能评估速度更快,能够更为及时的反馈AB测试算法的性能信息。
在一些实施例中,针对上述的样本数据的组成也提供了丰富的数量来源,可以从多种应用场景中获取,例如其可以是真实运行数据,也可以是模拟运行数据,还可以是根据需求自定义的样本数据。具体的,上述样本数据的数据类型包括真实运行数据、模拟运行数据、实际有明确分布假设数据、实际无明确分析假设数据、虚拟有明确分布假设数据或虚拟无明确分布假设数据。通过上述多种数据类型的样本数据,其可以满足快速对AB测试算法进行性能评估的需求,而用户自定义样本数据的功能则使得本技术方案的应用场景更为灵活,用户能够根据自己的测试或评估需求定制相应的样本数据。
进一步,在本公开实施例中,由于上述数据可以存储到云端数据库中,或者是存储到本地数据数据库中,其中数据形式可以包括多种形式,例如可以是数组形式数据、文本形式数据,或者其他的适应于云端数据库存储的数据形式,其中获取的数据形式并不统一,在本公开实施例中,可以进一步的先对样本数据获取模块91获取到的样本数据进行格式化处理,以得到更为统一的数据形式的样本数据,利于后续输入到AB测试算法中进行AB测试。
更进一步的,上述图9所示实施例中的算法调用模块92基于算法调用指令调用至少两个AB测试算法,可以包括:
基于算法调用指令,从AB测试算法库中调用至少两个AB测试算法,该AB测试算法包括假设检验算法、序贯检测算法、非参检验算法、变量控制算法和用户自定义算法中的至少一个。
本公开实施例中,上述对其样本数据进行格式化处理的过程,当然在某些情况下,也可以考虑将格式化处理的功能增加到各AB测试算法中,使得可以将样本数据直接输入到AB测试算法中。
另外,对于上述不同的AB测试算法,其通常都会基于样本数据先计算统计量,然后再根据统计量继续进行AB测试,例如对于假设检验算法,基于样本数据获取的统计量包括均值和方差。另外,对于用户自定义AB测试算法的情况下,如果用户自定义的AB测试算法不具备基于样本数据获取统计量的能力,则需要除了上述对样本数据进行格化式处理外,还需要基于样本数据获取统计量,而对于具体的统计量所包括的内容,需要以及用户自定义的AB测试算法的不同而进行定义。
在本公开上述实施例中,其中获取的AB测试算法的性能信息可以按照样本数据的特性,即样本数据所包括的至少两组测试数据的数据特性信息进行区分,这里的测试数据的特性信息可以包括数据来源信息或者是数据分布信息中的至少一种,其中的数据来源信息可以是用来区分测试数据来源于不同的APP,或者不同的网站等情况;而数据分布信息则为测试数据的分布类型,例如是正态分布、高斯分布、伽马分布、多项式分布或者二项分布等分布类型中的至少一种。
本公开实施例中上述确定至少两个AB测试算法的性能信息,则为确定与每个数据特性信息对应的性能信息,即对于具有不同数据特性信息的测试数据,其所对应的AB测试算法的性能信息不同,例如对于正态分布的测试数据,其中第一种AB测试算法所使用的样本数量小于第二种AB测试算法所使用的样本数量;而对于高斯分布的测试数据,其中第二种AB测试算法所使用的样本数量小于第一种AB测试算法所使用的样本数量。
本公开实施例中,具体得到了与每个数据特性信息对应的AB测试算法的性能信息,使得在后续进行AB测试选择AB测试算法时,可以基于测试数据的数据特性信息,选择更为匹配的AB测试算法,以达到减少AB测试所需要的样本数量,提高AB测试效率的目的。
本公开上述实施例中提供的技术方案,其可以有两种运行方式,一种运行方式是在本地主机中运行,对应的,AB测试算法的性能信息获取装置设置在本地主机;另一种运行方式是在云服务器运行,对应的,AB测试算法的性能信息获取装置设置在云服务器。
对应第一种运行方式,在本地主机中运行时,其可以是在本地主机上显示程序编译窗口,或者是通过设置第一交互界面的方式,与用户交互,该用户可以是软件测试人员。
在使用程序编译窗口与用户交互时,还包括:
展示程序编译窗口,具体的,该程序编译窗口为用户提供编译功能,并可以通过命令行的方式输入指令。
进一步的,在展示程序编译窗口后,上述图9所示的样本数据获取模块91中的获取样本获取指令可以具体的获取用户通过程序编译窗口输入的样本获取指令,即用户命令行的方式在程序编译窗口内输入上述样本获取指令。
进一步的,上述图9所示的算法调用模块92中的获取算法调用指令,可以具体包括:获取用户通过程序编译窗口输入的算法调用指令,即用户命令行的方式在程序编译窗口内输入上述算法调用指令。
在该情况下,上述装置还可以进一步包括:
在程序编译窗口中展示至少两个AB测试算法的性能信息。
与上述使用程序编译窗口与用户交互不同,本公开实施例中还可以使用第一交互界面与用户交互,此时还包括如下:
展示第一交互界面,具体的,该第一交互界面为用户可以在界面上进行操作,例如输入各种指令,具体的可以在第一交互界面上展示命令按钮,用户通过点击按钮的方式输入指令。
进一步的,在展示第一交互界面后,上述图9所示样本数据获取模块91中的获取样本获取指令可以具体为获取用户通过第一交互界面输入的样本获取指令,即用户在第一交互界面上通过命令按钮输入该样本获取指令。
进一步的,上述图9所示算法调用模块92中的获取算法调用指令,可以具体为获取用户通过第一交互界面输入的算法调用指令,即用户在第一交互界面上通过命令按钮输入上述算法调用指令。
在该情况下,上述方法还可以进一步包括:
在第一交互界面上展示至少两个AB测试算法的性能信息。
对于第二种运行方式,在云服务器上执行上述各实施例中提供的AB测试算法的性能信息获取方法,则该云服务器会与客户端设备进行交互,以获取用户通过客户端设备输入的指令,以及在获取到AB测试算法的性能信息后,将上述性能信息向客户端设备发送上述至少两个AB测试算法的性能信息。
在这种运行方式下,上述图9所示的样本数据获取模块91中的获取样本获取指令可以具体为接收客户端设备发送的样本获取指令;上述图9所示算法调用模块92中的获取算法调用指令,可以具体为接收客户端设备发送的算法调用指令。
本公开实施例中将实现AB测试算法的性能信息获取的功能设置在云服务器中,使得更便于为大量用户提供服务,且该对该用户的客户端设备的要求降低,同时在云服务器的AB测试算法库中可以设置更为多样化的AB测试算法。
本公开实施例中提供的技术AB测试算法的性能信息获取装置,其可以作为一个评估AB测试算法性能的独立运行平台,通过该独立运行平台能够获取到对应的AB测试算法的性能信息,以供用户,尤其是AB测试算法开发人员参考。在一些实施例中,还可以将其作为AB测试***的一部分,即该AB测试***包括能够获取AB测试算法的性能信息的性能信息获取装置,以及能够进行AB测试的AB测试装置,本公开实施例中上述功能在性能信息获取装置中实现,在其获取到至少两个AB测试算法的性能信息后,可以向AB测试装置发送上述至少两个AB测试算法的性能信息,以供AB测试装置在进行AB测试时,基于性能信息选择性能更优的AB测试算法。
图12为本公开实施例提供的再一种AB测试算法的性能信息获取装置的结构示意图,该图12所示的实施例,是与图9所示实施例的装置设置在云服务器上时,在客户端设备上设置的对应装置,如图12所示,该装置包括:
第一指令获取模块121,用于获取用户输入的样本获取指令,并向云服务器发送样本获取指令,以使云服务器基于样本获取指令获取AB测试的样本数据,样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
第二指令获取模块122,用于获取用户输入的算法调用指令,并向云服务器发送算法调用指令,以使云服务器基于算法调用指令调用至少两个AB测试算法;
性能信息接收模块123,用于接收云服务器反馈的AB测试时至少两个AB测试算法的性能信息,性能信息为云服务器基于样本数据,以及调用的至少两个AB测试算法分别进行AB测试时确定。
本公开实施例中,是在云服务器中实现上述AB测试算法的性能信息获取的情况下,用户可以通过客户端设备输入该方案所需的各种指令,例如样本获取指令、算法调用指令等,其具体的,上述指令可以通过交互界面的方式获取,即还可以进一步包括:
页面展示模块,用于展示第二交互界面。
则进一步的,上述第一指令获取模块121中获取用户输入的样本获取指令可以具体包括:
获取用户通过第二交互界面输入的样本获取指令;
上述第二指令获取模块122获取用户输入的算法调用指令可以具体包括:
获取用户通过第二交互界面输入的算法调用指令;
并在上述性能信息接收模块123接收云服务器反馈的AB测试时至少两个AB测试算法的性能信息之后,还可以进一步包括:
通过页面展示模块,在第二交互界面中展示至少两个AB测试算法的性能信息。
上述的客户端设备可以包括多个,该多个客户端设备与云服务器构成一个能够获取AB测试算法的性能信息的***,其中可以是通过开发第二交互界面的方式,使得用户利用各个客户端设备访问云服务器,并展示上述的第二交互界面,且不同的用户可以通过不同的客户端设备进行访问,并且均能够实现对至少两个AB测试算法的性能信息的获取。
基于本公开上述实施例提供的技术方案,其能够获取各个AB测试算法的性能信息,本公开实施例还提供了一种基于AB测试算法的性能信息进行AB测试的技术方案,图13为本公开实施例提供的一种AB测试装置的结构示意图,如图13所示,该AB测试装置可以包括:
测试数据获取模块131,用于获取至少两个待测试方案对应的测试数据;
具体的,上述两个待测试方案可以包括多种情况,例如可以为对页面进行改版时,改版前后的两个页面,或者是进行新算法上线时,上线前后的两个算法,其均可以作为两个待测试方法。通过对上述算法或者页面上线运行,可以获取到运行过程中每个测试方案对应的测试数据。
性能信息获取模块132,用于获取至少两个AB测试算法的性能信息;
具体的,本公开实施例中,其中在AB测试装置中预先设置了多个AB测试算法,并且进一步的可以存储上述多个AB测试算法的性能信息,其中的性能信息可以参考本公开上述图1-图6任一所示的实施例的方式获取,也可以通过其他方式获取。
算法确定模块133,用于基于至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
在上述性能信息获取模块132中获取到各AB测试算法的性能信息后,即可以基于各AB测试算法的性能信息获取效果更优的AB测试算法,例如该性能信息是以完成AB测试所需要的样本数量为依据时,则性能更优的AB测试算法为完成AB测试时需要样本数量更少的算法。
AB测试模块134,用于基于至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
通过上述测试数据获取模块131获取到测试数据,以及算法确定模块123中基于性能信息确定了对应的AB测试算法后,本模块中进行AB测试,使用了基于AB测试算法的性能信息选择的算法,能够使用较少的样本数量完成AB测试,能够显著提高AB测试效率,减少AB测试所需要花费的时间成本。
本公开实施例中进行AB测试的具体步骤,也可以参考上述图1所示的实施例中的一些介绍和说明。
如上所述的,本公开实施例中,其中的AB测试装置和图1-图6所示实施例中关联的性能信息获取装置,其可以共同构成一个AB测试***,对于性能信息获取装置获取到的至少两个AB测试算法的性能信息,可以发送AB测试装置中。具体的,如图14所示,在图13所示的实施例的基础上,还可以进一步包括:
性能信息接收模块135,用于接收性能信息获取装置发送的至少两个AB测试算法的性能信息;
具体的,在接收到上述性能信息后,可以在本地进行存储,例如存储到一个性能信息列表中,该性能信息列表包括了各AB测试算法,及其对应的性能信息。
另外,进一步的,在AB测试装置中通常也可以维护一个AB测试算法库,该AB测试算法库中会存储有多个AB测试算法,以供后续进行AB测试时使用,本公开实施例中,在接收到上述的至少两个AB测试算法的性能信息后,可以考虑基于性能信息对AB测试算法库中包括的AB测试算法进行更新,即可以包括:
算法更新模块136,用于基于至少两个AB测试算法的性能信息对AB测试算法库中包括的AB测试算法进行更新。
例如将性能信息较差的AB测试算法删除,并可以考虑引入新的性能信息更优的AB测试算法,即可以实现AB测试算法的更新迭代。
在一些实施例中,如本公开上述实施例所描述的,其中对于至少两个AB测试算法的性能信息可以与测试数据的数据特性信息相对应,即对于同一个AB测试算法,其对于不同的数据特性信息而言,其性能信息也可以不同,因此此时在选择AB测试所使用的算法时,就可以首先获取该测试数据的数据特性信息;然后基于该测试数据的数据特性信息,以及与该测试数据的数据特性信息对应的至少两个AB测试算法的性能信息,确定AB测试所使用的AB测试算法,从而选择与测试数据的数据特性信息最匹配的AB测试算法,达到更优的效果。
本公开实施例中,其中的数据特性信息可以包括数据来源信息或数据分布信息中的至少一种。其中的数据来源信息可以是用来区分测试数据来源于不同的APP,或者不同的网站等情况;而数据分布信息则为测试数据的分布类型,例如是正态分布、高斯分布、伽马分布、多项式分布或者二项分布等分布类型中的至少一种。
图15为本公开实施例提供的一种AB测试***的结构示意图,如图15所示,该***包括上述图9或图11所示的AB测试算法的性能信息获取装置151,以及图13或图14所示的AB测试装置152。如上所述的,其中的AB测试算法的性能信息能够获取至少两个AB测试算法的性能信息,而AB测试装置能够基于上述的性能信息选择AB测试时所使用的AB测试算法,从而能够达到选择性能更优的AB测试算法,从而提高AB测试的测试效率,例如上述的性能信息是基于各AB测试算法所使用的样本数量进行评估得到,完成AB测试时使用的样本数据越少的AB测试算法的性能越优时,可以选择性能较优的AB测试算法,使得可以减少AB测试时所需要的样本数量,提高AB测试效率。
图15为本公开实施例提供的一种电子设备的结构示意图,对于本公开实施例中上述的AB测试算法的性能参数信息获取方案,其既可以在云服务器上实现,也可以在本地主机实现,因此该电子设备既可以是云服务器,也可以是本地主机,或者是上述实施例中的客户端设备。
下面具体参考,其示出了适于用来实现本公开实施例中的电子设备500的结构示意图。本公开实施例中的电子设备500可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和占用范围带来任何限制。
如图所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的AB测试算法的性能信息获取方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务端可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取样本获取指令,基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;获取算法调用指令,基于所述算法调用指令调用至少两个AB测试算法;基于所述样本数据,以及调用的所述至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
获取用户输入的样本获取指令,并向云服务器发送样本获取指令,以使所述云服务器基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
获取用户输入的算法调用指令,并向云服务器发送算法调用指令,以使所述云服务器基于所述算法调用指令调用至少两个AB测试算法;
接收所述云服务器反馈的AB测试时所述至少两个AB测试算法的性能信息,所述性能信息为所述云服务器用于基于所述样本数据,以及所述调用的至少两个AB测试算法分别进行AB测试时确定。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
获取至少两个待测试方案对应的测试数据;
获取至少两个AB测试算法的性能信息;
基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
基于所述至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开提供的任一所述的AB测试算法的性能信息获取方法,或者是用于执行如本公开提供的任一所述的AB测试方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (26)
1.一种AB测试算法的性能信息获取方法,其特征在于,包括:
获取样本获取指令,基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
获取算法调用指令,基于所述算法调用指令调用至少两个AB测试算法;
基于所述样本数据,以及调用的所述至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息。
2.根据权利要求1所述的方法,其特征在于,所述确定AB测试时所述至少两个AB测试算法的性能信息,包括:
获取利用所述至少两个AB测试算法进行AB测试时的测试结果数据;
基于所述测试结果数据确定所述至少两个AB测试算法的性能信息。
3.根据权利要求2所述的方法,其特征在于,所述测试结果数据包括样本数量,所述获取利用至少两个AB测试算法进行AB测试时的测试结果数据,包括:
获取利用所述至少两个AB测试算法在完成AB测试时所使用的样本数量;
所述基于测试结果数据确定所述至少两个AB测试算法的性能信息,包括:
基于所述样本数量确定所述AB测试算法的性能信息。
4.根据权利要求3所述的方法,其特征在于,所述测试结果数据还包括P值、置信度和置信区间的至少一个。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取利用所述至少两个AB测试算法分别进行AB测试时的运行参数;
展示所述AB测试时的运行参数。
6.根据权利要求5所述的方法,其特征在于,所述运行参数包括当前使用样本数量、当前P值、当前置信度、当前置信区间和当前测试结论中的至少一个。
7.根据权利要求1所述的方法,其特征在于,所述基于样本获取指令获取AB测试的样本数据,包括:
基于所述样本获取指令,从云端数据库或本地数据库中获取AB测试的样本数据。
8.根据权利要求1所述的方法,其特征在于,所述基于所述算法调用指令调用至少两个AB测试算法,包括:
基于所述算法调用指令,从AB测试算法库中调用所述至少两个AB测试算法,所述AB测试算法包括假设检验算法、序贯检测算法、非参检验算法、变量控制算法和用户自定义算法中的至少一个。
9.根据权利要求1所述的方法,其特征在于,还包括:
确定所述至少两组测试数据的数据特性信息;
所述确定AB测试时所述至少两个AB测试算法的性能信息,包括:
确定与每个数据特性信息对应的所述至少两个AB测试算法的性能信息。
10.根据权利要求9所述的方法,其特征在于,所述数据特性信息包括数据来源信息或数据分布信息中的至少一种。
11.根据权利要求1所述的方法,其特征在于,所述方法在本地主机中执行,所述还包括:
展示程序编译窗口;
所述获取样本获取指令,包括:
获取用户通过所述程序编译窗口输入的样本获取指令;
所述获取算法调用指令,包括:
获取用户通过所述程序编译窗口输入的算法调用指令;
所述方法还包括:
在所述程序编译窗口中展示所述至少两个AB测试算法的性能信息。
12.根据权利要求1所述的方法,其特征在于,所述方法在本地主机中执行,所述获取样本获取指令之前,还包括:
展示第一交互界面;
所述获取样本获取指令,包括:
获取用户通过所述第一交互界面输入的样本获取指令;
所述获取算法调用指令,包括:
获取用户通过所述第一交互界面输入的算法调用指令;
所述方法还包括:
在所述第一交互界面中展示所述至少两个AB测试算法的性能信息。
13.根据权利要求1所述的方法,其特征在于,所述方法在云服务器上执行,所述获取样本获取指令,包括:
接收客户端设备发送的样本获取指令;
所述获取算法调用指令,包括:
接收客户端设备发送的算法调用指令;
所述方法还包括:
向客户端设备发送所述至少两个AB测试算法的性能信息。
14.根据权利要求1所述的方法,其特征在于,还包括:
向AB测试装置发送所述至少两个AB测试算法的性能信息。
15.一种AB测试算法的性能信息获取方法,其特征在于,包括:
获取用户输入的样本获取指令,并向云服务器发送所述样本获取指令,以使所述云服务器基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
获取用户输入的算法调用指令,并向云服务器发送所述算法调用指令,以使所述云服务器基于所述算法调用指令调用至少两个AB测试算法;
接收所述云服务器反馈的AB测试时所述至少两个AB测试算法的性能信息,所述性能信息为所述云服务器基于所述样本数据,以及所述调用的至少两个AB测试算法分别进行AB测试时确定。
16.根据权利要求15所述的方法,其特征在于,还包括:
展示第二交互界面;
所述获取用户输入的样本获取指令,包括:
获取用户通过所述第二交互界面输入的样本获取指令;
所述获取用户输入的算法调用指令,包括:
获取用户通过所述第二交互界面输入的算法调用指令;
所述方法还包括:
在所述第二交互界面中展示所述至少两个AB测试算法的性能信息。
17.一种AB测试方法,其特征在于,包括:
获取至少两个待测试方案对应的测试数据;
获取至少两个AB测试算法的性能信息;
基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
基于所述至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
18.根据权利要求17所述的方法,其特征在于,还包括:
接收性能信息获取装置发送的至少两个AB测试算法的性能信息;
基于所述至少两个AB测试算法的性能信息对AB测试算法库中包括的AB测试算法进行更新。
19.根据权利要求17或18所述的方法,其特征在于,所述至少两个AB测试算法的性能信息与测试数据的数据特性信息相对应,所述基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法,包括:
获取所述测试数据的数据特性信息;
基于所述测试数据的数据特性信息,以及与所述测试数据的数据特性信息对应的至少两个AB测试算法的性能信息,确定AB测试所使用的AB测试算法。
20.根据权利要求19所述的方法,其特征在于,所述数据特性信息包括数据来源信息或数据分布信息中的至少一种。
21.一种AB测试算法的性能信息获取装置,其特征在于,包括:
样本数据获取模块,用于获取样本获取指令,基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
算法调用模块,用于获取算法调用指令,基于所述算法调用指令调用至少两个AB测试算法;
性能信息获取模块,用于基于所述样本数据,以及调用的所述至少两个AB测试算法分别进行AB测试,并确定AB测试时所述至少两个AB测试算法的性能信息。
22.一种AB测试算法的性能信息获取装置,其特征在于,包括:
第一指令获取模块,用于获取用户输入的样本获取指令,并向云服务器发送所述样本获取指令,以使所述云服务器基于所述样本获取指令获取AB测试的样本数据,所述样本数据包括至少两组测试数据,每组测试数据与一个测试方案相对应;
第二指令获取模块,用于获取用户输入的算法调用指令,并向云服务器发送所述算法调用指令,以使所述云服务器基于所述算法调用指令调用至少两个AB测试算法;
性能信息接收模块,用于接收所述云服务器反馈的AB测试时所述至少两个AB测试算法的性能信息,所述性能信息为所述云服务器基于所述样本数据,以及所述调用的至少两个AB测试算法分别进行AB测试时确定。
23.一种AB测试装置,其特征在于,包括
测试数据获取模块,用于获取至少两个待测试方案对应的测试数据;
性能信息获取模块,用于获取至少两个AB测试算法的性能信息;
算法确定模块,用于基于所述至少两个AB测试算法的性能信息确定AB测试所使用的AB测试算法;
AB测试模块,用于基于所述至少两个待测试方案对应的测试数据,以及确定的AB测试所使用的AB测试算法进行AB测试。
24.一种AB测试***,其特征在于,包括权利要求22所述的AB测试算法的性能信息获取装置,以及权利要求23所述的AB测试装置。
25.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-14中任一所述的AB测试算法的性能信息获取方法,或者权利要求15或16所述的AB测试算法的性能信息获取方法,或者权利要求17至20中任一所述的AB测试方法。
26.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-14中任一所述的AB测试算法的性能信息获取方法,或者权利要求15或16所述的AB测试算法的性能信息获取方法,或者权利要求17至20中任一所述的AB测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063834.9A CN114328166A (zh) | 2020-09-30 | 2020-09-30 | Ab测试算法的性能信息获取方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063834.9A CN114328166A (zh) | 2020-09-30 | 2020-09-30 | Ab测试算法的性能信息获取方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114328166A true CN114328166A (zh) | 2022-04-12 |
Family
ID=81032240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011063834.9A Pending CN114328166A (zh) | 2020-09-30 | 2020-09-30 | Ab测试算法的性能信息获取方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328166A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363140A (zh) * | 2014-11-21 | 2015-02-18 | 国家电网公司 | 一种测试方法及装置 |
CN108446224A (zh) * | 2018-03-06 | 2018-08-24 | 福建天泉教育科技有限公司 | 移动端上应用程序的性能分析方法、存储介质 |
US20190019111A1 (en) * | 2016-03-18 | 2019-01-17 | Alibaba Group Holding Limited | Benchmark test method and device for supervised learning algorithm in distributed environment |
CN110825636A (zh) * | 2019-11-05 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种匹配算法性能测试方法、装置、设备、***及介质 |
CN111309614A (zh) * | 2020-02-17 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | A/b测试方法、装置及电子设备 |
CN111352823A (zh) * | 2018-12-21 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 一种测试方法及客户端、存储介质 |
-
2020
- 2020-09-30 CN CN202011063834.9A patent/CN114328166A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363140A (zh) * | 2014-11-21 | 2015-02-18 | 国家电网公司 | 一种测试方法及装置 |
US20190019111A1 (en) * | 2016-03-18 | 2019-01-17 | Alibaba Group Holding Limited | Benchmark test method and device for supervised learning algorithm in distributed environment |
CN108446224A (zh) * | 2018-03-06 | 2018-08-24 | 福建天泉教育科技有限公司 | 移动端上应用程序的性能分析方法、存储介质 |
CN111352823A (zh) * | 2018-12-21 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 一种测试方法及客户端、存储介质 |
CN110825636A (zh) * | 2019-11-05 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种匹配算法性能测试方法、装置、设备、***及介质 |
CN111309614A (zh) * | 2020-02-17 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | A/b测试方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
吆喝科技: "A/B测试算法大揭秘|一切都从这个定理开始", Retrieved from the Internet <URL:https://www.woshipm.com/operate/376703.html> * |
张如云: "A/B测试在软件项目开发中的应用探析", 《电脑开发与应用》, no. 2014, 19 June 2014 (2014-06-19) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061956B (zh) | 用于生成信息的方法和装置 | |
CN111177617A (zh) | 基于运维管理***的web直接运维方法、装置及电子设备 | |
CN109981787B (zh) | 用于展示信息的方法和装置 | |
CN113806212A (zh) | 应用程序异常定位方法、装置以及电子设备 | |
CN111209306A (zh) | 业务逻辑判断方法、装置、电子设备和存储介质 | |
CN110837334B (zh) | 用于交互控制的方法、装置、终端及存储介质 | |
CN112257478A (zh) | 扫码方法、装置、终端和存储介质 | |
CN115277261A (zh) | 基于工控网络病毒的异常机器智能识别方法、装置、设备 | |
CN111309304A (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN113392018A (zh) | 流量分发方法、装置、存储介质及电子设备 | |
CN113144620A (zh) | 帧同步游戏的检测方法、装置、平台、可读介质和设备 | |
CN115808993A (zh) | 一种交互方法、装置、电子设备、计算机可读介质 | |
CN115373998A (zh) | 应用程序优化方法、装置、设备及介质 | |
CN114328166A (zh) | Ab测试算法的性能信息获取方法、装置和存储介质 | |
CN111221424B (zh) | 用于生成信息的方法、装置、电子设备和计算机可读介质 | |
CN112379967A (zh) | 模拟器检测方法、装置、设备及介质 | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN110704294B (zh) | 用于确定响应时间的方法和装置 | |
CN111309323A (zh) | 参数初始化方法、装置和电子设备 | |
CN113177176A (zh) | 特征构建方法、内容显示方法及相关装置 | |
CN112822328A (zh) | 数据展示方法、装置和电子设备 | |
CN112241372A (zh) | 终端测试方法、装置和电子设备 | |
CN112416146A (zh) | 处理信息的方法、装置、终端及存储介质 | |
CN112286808A (zh) | 应用程序的测试方法、装置、电子设备及介质 | |
CN112328341B (zh) | 模型显示方法,装置,电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |