#分享 Qcon北京2019:智能優化 & A/B 測試 - 實驗驅動用戶增長的理論與技術實
首先感恩公司出機+酒+門票錢讓我去北京參加 Qcon
議程是 5/6 ~ 5/10 (5/9, 10 都是培訓,我只參加一天,之後再分享)
今天就來跟大家分享其中一場議程
「實驗驅動用戶增長的理論與技術實踐」
投影片連結:https://ppt.cc/fKdZmx
首先,為什麼我們要做AB test?
因為 AB test 的頻率和公司規模成正比

那摸厲害!

別急!不要一股腦什麼功能都丟去做 AB test
只有影響大且難以抉擇的事情才做 AB test

舉例:
1. 影響大但是很好抉擇:首頁要串 fb 登入或是 google 登入,影響蠻大的,但是很好抉擇啊,都放不行ㄇ
2. 影響大但是很難抉擇:例如推薦算法、UI 這些都沒辦法多種並存,又影響很大,就超適合用 AB test
做 AB test 之前,有什麼需要注意的嗎?
請務必確保你有均勻地分配你的 user
我在測試廣告投放算法的時候,就沒有考慮到 andriod, iphone 用戶的均勻性
唯一性也沒固定,每次都會隨機進到一組實驗QQ

好拉,到這邊大家都會做 AB test 了
是不是很興奮想要上一堆實驗啊?
你馬上就會發現 user 不夠你用
一個實驗可能就用到 30% 的實驗
多的實驗只能排進 queue 裡面了
如果每個實驗都要等別人才能做
那你怎麼跟 Google 比?
人家一週 2000 次實驗餒
所以就需要分層分流拉:
最重要的觀念,彼此獨立的實驗室可以同時跑在同一批用戶上的
例如首頁改版跟個人中心的改版
完全就在不同頁面,理論上沒什麼影響
就可以一起跑

說到 AB test 就不得不提 multiarm bandit 的策略拉

為什麼需要 multiarm bandit?
傳統的 ab test 呢,會先跑一段時間確認誰是最好的方法
然後就 100% 流量都給最佳方法,以這張圖來說就是 A 方法
這樣有個缺點就是我們浪費了一些成效,因為有 66% 的人使用了次級的 B、C 的模型而不是最好的 A 模型
所以才有了 multiarm bandit
大意就是我把大部分的流量導流到目前效果最好的模型
然後還是留一些流量給其他模型
看他們會不會翻盤
在我們過去的經驗當中,獲得的獎勵最大的那次動作
我們會稱之為:
貪婪行為(greedy action)
如果在下次的動作,選擇了貪婪行為,稱之為
exploiting(利用)
如果不是貪婪行為,則稱為
exploring(探索)
exploiting以及exploring是非常衝突的
透過exploiting:我們可以保證這一次的動作獎勵是最大的
但長遠來看,我們可以會因為沒有探索而失去得到更好獎勵的機會
因此代理在訓練的過程中,我們必須要決定出一個機率,讓他決定何時該exploiting,何時該exploring
最後附上一張都不 exploring 和有 0.1 機率會 exploring 的成效差別:
這是今年 Qcon 的所有議程,其他的就下次再分享拉~
投影片:
reference:
