產(chǎn)品設(shè)計方案猶豫不決?試一下A-B測試

什么是A/B測試

AB測試是為Web或App界面或流程制作兩個(A/B)或多個(A/B/n)版本,在同一時間維度,分別讓組成成分相同(相似)的訪客群組(目標(biāo)人群)隨機(jī)的訪問這些版本,收集各群組的用戶體驗數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),最后分析、評估出最好版本,正式采用。[百度百科]

舉例例子來說:我們正在做一個活動,通過文案引導(dǎo)用戶點擊按鈕跳轉(zhuǎn)到活動頁。這時產(chǎn)品和老板分別給出了一套文案A和B。他們兩個各自有理,作為程序員的你當(dāng)然不能站在那看"笑話",你要從技術(shù)的角度來平息這場爭吵。那就可以引入A/B測試。

A/B測試方案

  • 純前端控制A/B桶內(nèi)用戶數(shù),將結(jié)果匯總到統(tǒng)計服務(wù)器上。

  • 由后臺控制A/B桶內(nèi)用戶數(shù),結(jié)果匯總到后臺。

這兩種方案都有各自的有缺點,我比較支持第二種做法,因為可以靈活的控制A/B桶內(nèi)用戶數(shù)。

A/B測試庫SkyLab

SkyLab 是iOS端的一個A/B、多元測試框架。我們看一下使用方法:

A/B測試

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [SkyLab abTestWithName:@"Title" A:^{ 
        self.tipLabel.text = @"我在使用方案A"; 
    } B:^{ 
        self.tipLabel.text = @"我在使用方案B"; 
    }]; 
}

- (IBAction)resetPlanButton:(id)sender { 
    [SkyLab resetTestNamed:@"Title"]; 
} 

多元測試 :可能命中一個或多個

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [SkyLab multivariateTestWithName:@"MTitle"
                           variables:@{
                                       @"A" : @(0.5), //數(shù)字表示命中機(jī)率
                                       @"B" : @(0.5),
                                       @"C" : @(0.5)
                                       }
                               block:^(NSSet *assignedVariables) {
                                   NSString *text = @"正在使用";
                                   if ([assignedVariables containsObject:@"A"]) {
                                       text = [text stringByAppendingString:@"A"];
                                   }
                                   if ([assignedVariables containsObject:@"B"]) {
                                       text = [text stringByAppendingString:@"B"];
                                   }
                                   if ([assignedVariables containsObject:@"C"]) {
                                       text = [text stringByAppendingString:@"C"];
                                   }
                                   self.tipLabel.text = text;
                               }];
}

- (IBAction)resetPlanButton:(id)sender {
    [SkyLab resetTestNamed:@"MTitle"];
}

分割測試:只會命中一個

- (void)viewDidLoad {
    [super viewDidLoad];
    [SkyLab splitTestWithName:@"STitle"
                   conditions:@{
                                @"A" : @(0.5), //數(shù)字表示命中機(jī)率
                                @"B" : @(0.5),
                                @"C" : @(0.5)
                                }
                        block:^(id condition) {
                            NSString *text = @"正在使用";
                            if ([condition isEqualToString:@"A"]) {
                                text = [text stringByAppendingString:@"A"];
                            } else if ([condition isEqualToString:@"B"]) {
                                text = [text stringByAppendingString:@"B"];
                            } else if ([condition isEqualToString:@"C"]) {
                                text = [text stringByAppendingString:@"C"];
                            }
                            self.tipLabel.text = text;
                        }];
}

- (IBAction)resetPlanButton:(id)sender {
    [SkyLab resetTestNamed:@"STitle"];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容