我们刚刚开始为基于Django的项目进行A/B测试.我是否可以获得有关此A/B测试的最佳实践或有用见解的一些信息.
理想情况下,每个新的测试页面都将使用单个参数进行区分(就像Gmail一样).mysite.com/?ui=2应该给出不同的页面.因此,对于每个视图,我需要编写一个装饰器来根据'ui'参数值加载不同的模板.而且我不想在装饰器中硬编码任何模板名称.那么urls.py url模式将如何?
在asp.net mvc中实施AB测试的最佳和最干净的方法是什么?也就是说,当我们对asp.net mvc网站进行新的更改时,我们想要测试新的html/css/js,其中包含一定数量的访问者(在cookie,登录ID等上定义),然后分析一些指标(页面响应时间,访问页数,销售中的$$$等,然后测量更改的成功程度.
我正在寻找一种干净的方法来实现一种方法来选择使用asp.net mvc渲染的视图(html/css/js等...).
我最近了解到有趣的新Google Analytics内容实验.(http://analytics.blogspot.nl/2012/06/helping-to-create-better-websites.html)
标准用例似乎是针对特定页面,例如产品详细信息页面,您提供变体(不同的URL)并选择测试中包含的用户百分比.这样的用户将被呈现产品详细信息页面的变体(并且将继续呈现相同的变化以用于延续/ ux原因,基于可能的cookie).
一切都很好.
但是,我说我的网站上有100个产品.仅测试其中一种产品的变体有以下缺点:
对我而言,能够将某种类型的所有产品动态地包含在同一测试中(例如:所有电视)似乎要好得多,例如通过在网址上设置一些正则表达式或其他过滤器以包含在测试中.
这样的事情目前是否有可能安排,有用或者完全没有意义?
编辑
部分解决方案似乎是"相对网址" https://support.google.com/analytics/bin/answer.py?hl=zh-CN&answer=2664470
进一步采用前面的示例,我们可以看到相对URL的使用如何让您轻松地在一组不同的原始页面上运行实验,并测试该组页面中的可视替代品(例如,e-中的产品页面)商业网站).
剩下的问题:如何动态标记哪些页面属于实验(例如:基于正则表达式)
谢谢.
有关A/B拆分测试的一些信息:
我可以在Rails应用程序中执行此操作,在我的视图中使用简单case
或if
语句,但这会有很多重复.有没有宝石支持这个?任何有用的设计模式?
什么是PHP的优秀A/B测试框架,为什么?
注意:我不想要一个也有/ b测试支持的庞大/通用框架 - 我想要一个特定于AB测试的小框架.因此,不是一个重复的问题.
我们正在将原生iPad应用程序转变为混合应用程序.某些功能和UI将保留在本机代码中,其他功能将以HTML格式实现,这些功能将从我们的服务器提供,也可以脱机使用.
我现在遇到的主要问题是使用Google Analytics:
现有的本机代码使用适用于IOS的GA SDK,我计划将Web API用于Web部件,但我无法找到如何使用来自两个渠道的数据在GA中,因为数据存储似乎是截然不同的.
此外,我计划使用Google Analytics的内容实验进行A/B测试Web部件,但转换目标可能是在本机部分实现的目标.
任何人都有混合应用程序或替代解决方案的分析经验.
谢谢
google-analytics objective-c ab-testing ios hybrid-mobile-app
我试图找出一些关于"幕后"实现的一些事情,即直接从Apptimize或Optimizely上的Web控制台动态操作UI元素.
更具体地说,我想了解以下内容:
1)客户端代码(iOS)如何将视图层次结构发送到Web服务器,以便当您在Web仪表板上选择任何UI元素时,它立即显示在iOS客户端上?
我看到了FLEX,以及它如何设法获取视图层次结构,但我不明白iphone客户端如何"知道"在Web仪表板中选择哪个视图.
2)此外,在Apptimize中,我可以从Web仪表板中选择任何UI元素,更改其文本或颜色,它将立即在应用程序中更改.不仅如此,只需拥有SDK即可添加任何代码.
我所做的更改(文本,背景颜色等)将保留在应用程序的所有未来会话中.如何实施?
我猜他们正在使用某种反思,但他们怎样才能让它适用于所有用户以及所有未来的会话?客户端代码如何找到正确的UI元素?以及它如何在UITableViewCell上运行?
3)每次加载UIViewController都可以检测到吗?即在每个viewDidLoad上获得回调?如果是这样,怎么样?
看下面的一些截图:
我的老板出于某种原因想尝试在JavaScript中实现A/B测试(或拆分测试).有谁知道任何好的JavaScript包/库/解决方案来实现A/B测试?
我正在使用ng-boilerplate,并且必须根据用户配置添加在生产中使用不同模板的可能性.
.config(function config( $stateProvider ) {
$stateProvider.state( 'demo', {
url: '/demo',
views: {
"main": {
controller: 'DemoCtrl',
templateUrl: 'demo/demo.tpl.html'
}
}
});
})
Run Code Online (Sandbox Code Playgroud)
我目前的想法是使templateUrl动态化
templateUrl: 'demo/demo'+userService.getTemplate()+'.tpl.html'
Run Code Online (Sandbox Code Playgroud)
并有多个模板文件,如:
而userService函数确实提供了要使用的模板版本,例如".b"
你同意吗?是否有更好/更容易解决此问题的方法?
适用于iOS的Leanplum,Apptimize和其他A/B测试平台能够从Web下载资产(nib文件,图像等)并在运行时替换它们.
天真的方法是下载新资产并将其替换为资源包目录,但由于权限,无法将文件写入资源目录.
问题是,这些A/B测试平台在运行时使用什么技术来替换资产?
编辑:
在读取leanplum静态库文件(使用nm)上的符号后,似乎它们是Swizzling可可文件系统API.
例如:(示例行nm -m leanplum.a
)
-[NSBundle(LeanplumExtension) leanplum_URLForResource:withExtension:]
Run Code Online (Sandbox Code Playgroud)
通过使用otool,我可以打印实现:
-[NSBundle(LeanplumExtension) leanplum_URLForResource:withExtension:]:
0000000000000069 pushq %rbp
000000000000006a movq %rsp, %rbp
000000000000006d pushq %r15
000000000000006f pushq %r14
0000000000000071 pushq %r13
0000000000000073 pushq %r12
0000000000000075 pushq %rbx
0000000000000076 subq $0x18, %rsp
000000000000007a movq %rcx, %rbx
000000000000007d movq %rdi, 0xffffffffffffffc8(%rbp)
0000000000000081 movq %rdx, %rdi
0000000000000084 callq _objc_retain
0000000000000089 movq %rax, %r14
000000000000008c movq %rbx, %rdi
000000000000008f callq _objc_retain
0000000000000094 movq %rax, 0xffffffffffffffd0(%rbp)
0000000000000098 movq _originalMainBundle(%rip), %rcx
000000000000009f movq "+[NSBundle(LeanplumExtension) leanplum_mainBundle]"(%rcx), …
Run Code Online (Sandbox Code Playgroud) ab-testing ×10
ios ×3
objective-c ×3
testing ×2
angularjs ×1
apptimize ×1
asp.net-mvc ×1
cocoa-touch ×1
django ×1
frameworks ×1
javascript ×1
leanplum ×1
php ×1
ruby ×1