【运营】关于A/BTest的简单介绍
A/BTest
分離式組間試驗(yàn),也叫對(duì)照試驗(yàn),科研領(lǐng)域(藥物測(cè)試)中已廣泛應(yīng)用。
簡(jiǎn)單來(lái)說(shuō),A/B測(cè)試在產(chǎn)品優(yōu)化中的應(yīng)用方法是:在產(chǎn)品正式迭代發(fā)版之前,為同一個(gè)目標(biāo)制定兩個(gè)(或以上)方案,將用戶流量對(duì)應(yīng)分成幾組,在保證每組用戶特征相同的前提下,讓用戶分別看到不同的方案設(shè)計(jì),根據(jù)幾組用戶的真實(shí)數(shù)據(jù)反饋,科學(xué)的幫助產(chǎn)品進(jìn)行決策。
?
ABTest的一些特性:
先驗(yàn)性:?A/B測(cè)試其實(shí)是一種“先驗(yàn)”的試驗(yàn)體系,屬于預(yù)測(cè)型結(jié)論,與“后驗(yàn)”的歸納性結(jié)論差別巨大。同樣是用數(shù)據(jù)統(tǒng)計(jì)與分析版本的好壞,以往的方式是先將版本發(fā)布,再通過(guò)數(shù)據(jù)驗(yàn)證效果,而A/B 測(cè)試卻是通過(guò)科學(xué)的試驗(yàn)設(shè)計(jì)、采樣樣本代表性、流量分割與小流量測(cè)試等方式來(lái)獲得具有代表性的試驗(yàn)結(jié)論,這樣就可以用很少的樣本量就能推廣到全部流量可信。
并行性:?A/B測(cè)試是將兩個(gè)或以上的方案同時(shí)在線試驗(yàn),這樣做的好處在于保證了每個(gè)版本所處環(huán)境的一致性,便于更加科學(xué)客觀地對(duì)比優(yōu)劣。同時(shí),也節(jié)省了驗(yàn)證的時(shí)間,無(wú)需在驗(yàn)證完一個(gè)版本之后再測(cè)試另一個(gè)。
科學(xué)性:?這里強(qiáng)調(diào)的是流量分配的科學(xué)性。A/B 測(cè)試的正確做法,是將相似特征的用戶均勻的分配到試驗(yàn)組中,確保每個(gè)組別的用戶特征的相似性,從而避免出現(xiàn)數(shù)據(jù)偏差,使得試驗(yàn)的結(jié)果更有代表性。
基于OpenResty的分流機(jī)制
Nginx 是俄羅斯人發(fā)明的, Lua 是巴西幾個(gè)教授發(fā)明的,中國(guó)人章亦春把 LuaJIT VM 嵌入到 Nginx 中,實(shí)現(xiàn)了 OpenResty 這個(gè)高性能服務(wù)端解決方案。
通過(guò) OpenResty,你可以把 nginx 的各種功能進(jìn)行自由拼接, 更重要的是,開發(fā)門檻并不高,這一切都是用強(qiáng)大輕巧的 Lua 語(yǔ)言來(lái)操控。
穩(wěn)定分流的實(shí)現(xiàn):murmurHash算法
說(shuō)道ketamahash,它是一致性哈希算法,一般說(shuō)來(lái)都是由若干固定的虛擬節(jié)點(diǎn)來(lái)計(jì)算出每個(gè)虛擬節(jié)點(diǎn)的slots,數(shù)據(jù)存儲(chǔ)的時(shí)候,算出key的slot值,然后存入相鄰最近的虛擬節(jié)點(diǎn)。而murmurhash則是散列算法,由于其計(jì)算產(chǎn)生的結(jié)果足夠劇烈,所以是目前最好的幾種散列算法之一。它主要用來(lái)計(jì)算出key的slot值的。有人會(huì)問(wèn),java中的hashcode也能計(jì)算出來(lái)呀,但是hashcode計(jì)算出來(lái)的值的劇烈程度遠(yuǎn)遠(yuǎn)比不上murmurhash。拿abc和abd來(lái)說(shuō),hashcode計(jì)算出來(lái)的差值相差不大,但是murmurhash計(jì)算出來(lái)的差值則相差甚遠(yuǎn)。
二者結(jié)合,可以實(shí)現(xiàn)出類似redis cluster使用的路由算法,且效果也是很好的。目前已知的開源中,jedis,memcache,redis, Hbase等都有采用過(guò),所以將這兩種哈希算法吃透,可謂是如虎添翼。【參考:淺析ketamahash和murmurhash】
這邊補(bǔ)充一些正交和互斥實(shí)驗(yàn)的區(qū)別。互斥是指兩個(gè)實(shí)驗(yàn)流量獨(dú)立,用戶只能進(jìn)入其中的一個(gè)實(shí)驗(yàn)。而正交意味著用戶進(jìn)入所有的實(shí)驗(yàn)之間沒有必然聯(lián)系。
?
【參考】
1.?AppAdhoc A/B Testing使用文檔
2.?馬蜂窩ABTest多層分流系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的【运营】关于A/BTest的简单介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 大一python基础编程试卷_2020年
- 下一篇: C++基础编程题(27)输入一个数字,为