说一下,这个方法是已经试过的,实全可以,现在分享出来;
首先要大概了解一下百度的统计和FLASH里怎么调用百度的统计代码,文章如下:http://www.zishu.cn/10/924.html
下文要解决的问题是,在第三方的一个网站上投了一个FLASH广告,怎么知道A版本好还是B版本好;
A/B测试的原理
如下简图基本的原理(当然,实际算要麻烦一些,应该只算唯一用户,同一个用户多次展示或点击应该只算一次);
要解决几个问题
1、怎么样实现在一个FLASH中出现两个版本?
2、分配的算法在FLASH中怎么实现?
3、怎么统计A或B版本的显示次数?
4、怎么统计A或B版本的点击次数?
5、怎么样保证同一个用户无论怎么刷新都只看到同一个版本?
如果能把以上的问题解决了,那么这个A/B测试就基本实现了;
开始实现
1、怎么样实现在一个FLASH中出现两个版本?
方法有两个:
a. 在同一个FLASH中,FLASH中可放在两帧上;或放在两个场景中;但每次只显示一个;
b. 两个FLASH单独作成一个文件,然后用loadMovie去加载其中一个;
2、分配的算法在FLASH中怎么实现?
我试了一下,用FLASH中的random()就可以;
我测试了一下,跑一百万次,发现分的还是比较均匀的;
var a = 0; for(var i=0; i<1000000; i++){ var b = random(2); if(b == 1) a++; } trace(a);//499592
所以,直接用random(2)可以作为分配的算法;
3、怎么统计A或B版本的显示次数?
参考上篇文章中的:
function track(k){ var d = new Date(); var t = int(d.getTime()/1000); var u = 'http://hm.baidu.com/hm.gif?cc=1&cf=&ci=&ck=1&cl=24-bit&cm=&cp=&cw=&ds=1280x1024&ep=&et=0&fl=10.0&ja=1&ln=zh-cn&lo=0<='+t+'&nv=0&rnd='+t+'&si='+k+'&st=4&su='; loadMovie(u, "track"); } track('803bf72233078312f4d20741bd8837ff');
4、怎么统计A或B版本的点击次数?
on (release) { track('803bf72233078312f4d20741bd8837ff'); getURL("http://www.zishu.cn/10/925.html?src=a", "_blank"); }
注意,这样的方式在FIREFOX中,有时会丢数据,但如果是A/B测,A丢B也丢,其实也还好了;
5、怎么样保证同一个用户无论怎么刷新都只看到同一个版本?
例为FLASH中的SharedObject; 可以在用户的客户端记录一下当前正在显示的版本;
不知道怎么用的,可以参考:http://www.zishu.cn/10/879.html
这样最后在统计系统中用A版本的点击IP除以A版的展示IP,基本可以知道A版本的效果;
B版本也同理;
这样最后就可以知道投放在外站的FLASH用哪个版本的效果会非常好;
这东西如果把分配的算法放在自已的服务器上,那么在发现某一版本好后,可以随时停掉另一个版本,以获得更好的投放效果;
小网站,如果投个广告一天几千块也就算了,如果是较大网站,一天投几万块出去,而且是投了一个测下来广告效果非常好的广告出去; 那是非常有意义的;
转载:站外FLASH广告投放的A/B测试实现思路:http://www.zishu.cn/10/925.html
0 条评论。