<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          我在字節(jié)看到的AB實驗

          共 7045字,需瀏覽 15分鐘

           ·

          2021-04-24 01:59

          “A/B測試不一定是最好的評估方法。它不是萬能的,但不會A/B測試肯定是不行的。

          4月20日,首個火山引擎技術(shù)開放日在北京方恒時尚中心舉辦,字節(jié)跳動副總裁楊震原以《聊聊數(shù)據(jù)驅(qū)動和用A/B測試解決問題》為題,分享了他對于A/B測試的理解。

          楊震原稱,A/B測試是字節(jié)跳動一項非?;A(chǔ)的工具,從公司成立之初就在使用,支撐了抖音、今日頭條等產(chǎn)品的增長迭代。目前,字節(jié)跳動A/B測試每日新增1500+實驗,服務于400多項大大小小的業(yè)務,累計做了70多萬次實驗。這項工具已經(jīng)實現(xiàn)產(chǎn)品化,通過火山引擎向企業(yè)客戶開放。

          A/B測試廣泛應用于字節(jié)跳動方方面面,包括產(chǎn)品命名、交互設(shè)計、推薦算法等。但楊震原表示,這項工具也存在很多應用局限,比如獨立性、置信度、長短期等問題。

          楊震原透露,抖音產(chǎn)品名字,其實是綜合了A/B測試和人為判斷的結(jié)果,“‘抖音’這個名字在測試結(jié)果中排名第二。但大家覺得,這個名字更符合認知,更能體現(xiàn)它的形態(tài),所以還是選了它。

          楊震原在火山引擎技術(shù)開放日現(xiàn)場
          以下為楊震原演講全文:
          大家好,我叫楊震原。非常高興在火山引擎技術(shù)開放日上和大家交流分享,希望對大家有所幫助。
          字節(jié)跳動做了很多產(chǎn)品,我們希望技術(shù)團隊對待自家產(chǎn)品就像對待客戶一樣。我們不僅有內(nèi)部客戶,像抖音、今日頭條,也希望有更多外部客戶,把我們的技術(shù)能力輸出,于是就有了火山引擎品牌?;鹕揭婕夹g(shù)開放日也是這個目的,希望把我們的技術(shù)對外,跟更多朋友分享交流。當然,也有點私心,希望我們的產(chǎn)品能賣到更多地方去。
          今天我們聊的話題是“數(shù)據(jù)驅(qū)動和用A/B測試解決問題”。這里的關(guān)鍵詞是“解決問題、數(shù)據(jù)驅(qū)動、A/B測試”。解決問題一定要有好的方法,每個人都想用更好的方法解決問題,這涉及用什么方法,達成什么目標。“數(shù)據(jù)驅(qū)動”是我們公司內(nèi)非常看重的一系列方法,“A/B測試”是“數(shù)據(jù)驅(qū)動”中的一個具體方法。
          用戶畫像和使用時長不是好的目標
          要想解決問題,第一個問題是:目標是什么?很多人覺得:這個很簡單??!目標嘛,今天想干一個什么事情,我就確定一個目標,接下來就是照著這個目標去完成。但是,確認目標,以及這個目標是否可量化,其實是特別重要的。
          我給大家舉幾個例子。我大概2014年初來到字節(jié)跳動。剛來時,張一鳴說把我們的推薦質(zhì)量提升提升,想想辦法怎么做改進。所以,當時我的目標就是提升今日頭條產(chǎn)品的用戶體驗,把推薦做得更好。
          很快我發(fā)現(xiàn),這方面其實已經(jīng)有很多項目在做了,其中有一個子方向的目標是“全面、精準的用戶畫像體系”。但在我看來,這個目標其實有很多問題。
          我們的實際目標是“提升推薦的用戶體驗”。我們有很多方法來達成目標,用戶畫像只是方法之一。它是個子目標,不是我們要解決的目標,甚至可能都不是重要的方法。即使假設(shè)這個目標就是我們的主要目標,我們也還要評估它是不是可衡量的。
          如何評估這一點非常難,比如衡量用戶畫像是不是好,很難量化。用戶的實際興趣是什么,很難評估。問用戶喜歡不喜歡旅游,一般人都說喜歡,但是推薦旅游相關(guān)文章看不看?實際上很多人都不看。
          因此,用戶畫像不是一個好的目標。首先,這個目標優(yōu)先級不一定高,其次,它的評估非常難,這就意味著,這個目標很難指導我們的具體工作。
          還有一種常用目標,叫“使用時長”。A做了一個算法,平均使用時長40分鐘,B做的算法,平均使用時長45分鐘,那是不是B就比A好?這個聽起來似乎很科學。
          但是我要跟大家講一個例子。大概在2016年,有一個傳統(tǒng)老牌外企,它在美國的PC端有一款產(chǎn)品是新聞推薦。這個公司在中國有一個研究所,其中一項工作是去提高新聞推薦質(zhì)量,采用的評估標準是用戶使用時長。對于用戶在平臺上閱讀了多少時長,這個研究所每個季度都有KPI,連續(xù)幾年他們每年都能完成目標,并且經(jīng)常超額完成。但后來我跟他們聊的時候,這個研究所快要解散了。
          原來,雖然使用時長在增加,但這個產(chǎn)品的用戶規(guī)模其實是不好的,用戶體驗也不夠理想,整個產(chǎn)品的留存在下降。我問他們,為什么你們的時長一直在漲,但是你們產(chǎn)品卻不行了?對方說:時長是在漲,但時長增長有兩種方式,一種是用戶體驗變好了、用戶看的時間更長了;還有一種方式是用著很好的用戶繼續(xù)留下來了,而一些時長很短的用戶看了看覺得這個產(chǎn)品不好,就走了。這些用戶走了以后,平均時長繼續(xù)變長。于是就變成了“不斷驅(qū)趕體驗差的用戶,平均時長卻變長了”這樣一個過程。
          這是很可怕的,看起來是個很好的目標,但卻把產(chǎn)品做死了??梢灶A見,如果我們只用使用時長作為目標的話,是有風險的。
          那怎么辦呢?我們也沒有大招,只能是盡量將多個目標綜合。既要考慮用戶體驗,也要考慮一些客觀指標,同時可能輔以一些用戶訪談的直觀印象,最后綜合去制定我們的方向。

          好的目標層次合理、可衡量

          如何選一個合適的目標?我覺得至少有兩個角度,需要去考慮。
          第一個角度,目標層次合理性。
          什么叫“層次合理性”?比如你是一家公司的首席技術(shù)官(CTO),CEO問你公司的技術(shù)目標是什么,你說“我要讓我們的公司市值做得更大,原來估值5億美元,10年之后估值50億美元”。這個目標很泛、很高層次,跟最終目標很接近。通常大家也不會質(zhì)疑說這個目標有錯誤。但是這個目標就不太能指導你的工作。CTO下面的總監(jiān)、經(jīng)理、工程師這個季度該干什么呢?這個目標能有些推導分解嗎?很難。雖然目標層次很高,不容易偏離,但是對具體工作很難有指導。
          那我們定非常具體的目標可以嗎?比如像剛才的例子,以使用時長為目標。這種時候,會有另一個問題:這個目標很具體、很能指導工作,但是它偏離了怎么辦?還有一個可能出現(xiàn)的問題是,這個目標沒有偏離,但不可衡量,它不利于指導工作。
          所以,應該選一個不要太高、不要太低的目標,并且定期衡量特別重要。聊數(shù)據(jù)驅(qū)動思路時,當試圖用數(shù)據(jù)驅(qū)動思路去細化目標時,有利于你仔細反思:我的目標是不是這個?我的目標能不能量化?它會逼你把目標想得很清楚。
          第二個角度,目標可衡量。這一點特別重要。它跟數(shù)據(jù)驅(qū)動的理念互相幫助,定好目標,才能更好的應用數(shù)據(jù)驅(qū)動,當你用數(shù)據(jù)驅(qū)動的方法去做事情時,它就會push你的目標到底是不是合理。比如你想了想這個目標:哦,之前的目標就定錯了,怪不得搞不清楚。

          什么是靠譜的評估方法?

          當目標想清楚了,那我們就評估吧。通常我們有哪些方法?
          一是經(jīng)驗判斷。不管什么公司,每天都在不停的用這個方法,這個方法非??孔V的,但是有它的問題。
          二是非A/B測試的數(shù)據(jù)分析。
          三是A/B測試的數(shù)據(jù)分析。我特別把A/B測試和非A/B測試區(qū)分了一下,因為它是一個更接近真實、更能夠把握住本質(zhì)的一個方法。相信很多朋友都了解因果推斷,做精準的A/B測試能夠把因果說得更清楚,所以是更有效的方法。
          經(jīng)驗判斷是什么?本質(zhì)上是就靠人,這個方法是普遍采用的。舉個例子,大家都知道我們公司在做短視頻,怎么評估質(zhì)量好壞?很多時候都靠人去判斷,如果你用客觀指標判斷它,會有另外的風險,所以很多時候用人判斷。在很多公司,比如戰(zhàn)略決策通常是人判斷的,很難靠數(shù)據(jù)定你的戰(zhàn)略方向,這是一個很重要的方法。
          但它的問題在于:執(zhí)行層面很容易不一致,尤其對一個很大的公司來說,每天要決策的事情很多,并不是每個決策都由CEO或者高管來做,可能會分到公司很多團隊很多部門,每個部門都有很多人,這些人在他們的點上去做希望對公司正確的決策,但他們的意見有可能是不一致的。而且每個人可能有每個人的偏好,這是很難避免的。尤其公司比較大的時候,就會帶來非常多風險,比如不一致性和有偏性。
          非A/B測試的數(shù)據(jù)分析。這個主要想強調(diào)關(guān)聯(lián)跟因果的問題,我們來舉個例子就很容易看到。暑假前,運營團隊做了一波活動,聲勢非常浩大,到了暑假開始的時候,發(fā)現(xiàn)用戶的活躍度大幅上升,這個提升是我們的運營活動帶來的嗎?二者是有關(guān)聯(lián)的,但是關(guān)聯(lián)并不代表因果。很明顯,暑假就是一個因素,暑假帶來的變化跟運營活動帶來的變化,到底誰更大?這個事情很難歸因的。每個人都覺得自己做的事情有用,關(guān)聯(lián)分析中往往就會帶有偏見。
          我們再舉個有趣的例子,諾貝爾獎和巧克力消費量的關(guān)系圖。圖片顯示,巧克力吃得越多的國家,諾貝爾獎得主就越多。如果想改進中國的科技水平,多拿諾貝爾獎,我們應該多吃巧克力嗎?這顯然不靠譜。可能會變胖,但很難拿到諾貝爾獎。
          這可以說明一件事情,這兩個事件有關(guān)聯(lián)性,但是它不是因果性。從數(shù)據(jù)分析中得出結(jié)論,就會面臨很多這樣的風險,它會混淆關(guān)聯(lián)性和因果性,并不能解決問題。
          真正的完美解決方案是什么?得靠平行宇宙了。當前時空是這個狀態(tài),做了一波A操作,比如一些同事搞了一波活動,時間退回去,他沒有做這個事情。我們再回過頭來看這兩個平行宇宙的差別是什么,這個差別就是這個活動所帶來的,這個很好理解。但是我們沒辦法做平行宇宙的實驗,就只能做A/B測試了。
          怎么做A/B測試?當我們想觀測某個方面,比如說人群或者某類產(chǎn)品,就把人群和產(chǎn)品分成A、B兩組,比如你的操作是發(fā)紅包,或者改了設(shè)計頁面,又或者是做了運營活動。除了這些操作之外,其他的分布完全一樣。當然了,這件事情只能無限逼近,不能做到理論上完全一樣,除非是平行宇宙。
          A/B測試看上去好像效率很低,非常復雜,要分組,還要看因素是不是剝離干凈了。但是當你真正把一個事情搞清楚以后,就可以一個臺階一個臺階往上走。如果你搞不清楚,做得很快,有可能今天上一個臺階,明天下一個臺階,后天上一個臺階,不能保證一直在前進,這是非常大的差別。

          字節(jié)跳動的A/B測試實踐

          早期有記載的A/B測試,是在1747年,詹姆斯·林德治療壞血病的臨床實驗。他們把患有壞血病的水手分成6組,每組2個人。在6天的時間內(nèi),他們把大家安排在同樣的治療室中,吃同樣的食物,盡量排除實驗的干擾。這個人群選擇也很重要,我們應該選擇各種年齡段的,各種國家地區(qū)的。這里沒有寫,沒有足夠的數(shù)量,這是它不嚴謹?shù)牡胤?。唯一的不同是每組的治療方案,吃什么東西?檸檬、橘子、蘋果汁、醋、海水等等。最后的實驗結(jié)果是檸檬/橘子、蘋果汁有用。
          在此之前有很多玄學,這個病,有人說用這個方法有用,用那個方法有用,有的是碰上了,有的是有效了。這個實驗雖然不夠嚴謹,還可以做得更好,但是它真正確定了什么原因。當你非常確信這個結(jié)論時,就可以繼續(xù)深入研究,比如從這個食物中分離出它所必要的真正有效物質(zhì)是什么。在很確定結(jié)論的基礎(chǔ)上不斷演化,就能夠往后走得很遠。
          知道了A/B測試的源頭后,現(xiàn)在說下字節(jié)跳動做的A/B測試實踐。
          2012年公司成立,那時候我還沒來。聽說那會兒一鳴還在自己寫代碼,已經(jīng)開始做A/B測試。
          我大概是2014年來的,發(fā)現(xiàn)公司已經(jīng)非常重視這方面。這跟我的理念非常像,我也在繼續(xù)推動這件事情。比如定目標,推動A/B測試的平臺化,讓它更嚴謹,以及發(fā)現(xiàn)它的問題,在公司中更廣泛地使用。
          到2016年,已經(jīng)變成一個內(nèi)部廣泛使用的平臺了,叫Libra平臺,它有很多的功能。到2019年時,我們已經(jīng)不只是內(nèi)部平臺了,正式立項,開始做對外平臺,給外部更多客戶來用我們的產(chǎn)品。
          內(nèi)部來說,我們用A/B測試確實很多,現(xiàn)在每天大概新增1500個實驗,服務了400多項業(yè)務,累計已經(jīng)做了70萬次實驗。
          應用在哪些方面呢?產(chǎn)品命名、交互設(shè)計,比如改一個字體、一個彈窗、界面大小,都會做A/B測試。推薦算法就不說了,從一鳴自己寫代碼開始,就一直在做了。廣告優(yōu)化,這是業(yè)界普遍做法。用戶增長,也是這樣。市場活動,我們做了一小部分。內(nèi)部基本上就是,能用A/B測試的都用。

          A/B測試不是萬能的

          那A/B測試是不是就一統(tǒng)天下了呢?顯然也不是。A/B測試不一定是最好的評估方法,它不是萬能的,但是我覺得,不會A/B測試肯定是不行的。
          為什么說它不一定是最好的評估方法?我們說說它的一些局限和問題。
          首先是獨立性的問題。如果你真的想做A/B測試,就要對你的實驗對象進行分組,分組之后,去做一個操作,觀測結(jié)果。這個分組要求兩組是非常獨立,除了你的這個操作之外,其他部分都一樣,至少是分布一樣。但有時候這點并不容易保證。
          舉個例子,網(wǎng)約車的司機分配策略,比如這個網(wǎng)約車分配什么司機?誰離你最近,我就分配,這是一個策略。我們還可以考慮價格,以及車型和時間等等,做別的策略。A同學做了A策略,B同學做了B策略,哪個策略更好?
          我們可以來做個A/B實驗,把用戶分成兩組,A組是一部分用戶,用A策略,B組是另一部分用戶,用B策略。但這是有很多問題的。如果只按用戶來分,A策略和B策略的用戶有可能都用同一個司機,A策略的用戶把這個司機訂走了,B組的用戶就訂不到這個司機了。
          也就是說,你最后觀測到的統(tǒng)計指標,比如成單量、成單率,可能會有交叉影響,但具體是多少?單從這個實驗數(shù)據(jù)來講,是看不出來的,也不太容易分析,所以它不獨立。交叉影響在哪?按用戶分了,但是司機沒有分開,兩波用戶有可能會聯(lián)系到同一個司機,這就叫“獨立性問題”。
          更嚴謹?shù)膶嶒炘趺醋??應該把用戶和司機都分開,把用戶編個組,司機也編個組,用戶司機A組,用戶司機B組。當你發(fā)現(xiàn)你要觀測的對象不能被嚴格切分的話,就需要考慮獨立性的問題,這時候你做的結(jié)論很可能是錯的。
          我們再看一個置信度的問題。比如做搜索評估,我們評估100個隨機測試,把它們分成A、B兩個測試組,其中有22個變好了,有20個變差了,加起來是42個,剩下的58個兩邊一樣。
          請問,A組是比B組變好了嗎?有人說,系統(tǒng)變好10%,效果非常明顯。你相信嗎?你要相信的話就被蒙蔽了。
          我這里寫了一個置信度,P值=0.75,這是什么意思?我們通常認為,P值要小于0.05,這個數(shù)據(jù)才是可信的,也就是A比B好。0.75的意思是“A比B好”碰巧出現(xiàn)的概率是75%,這是不可信的。我們把這個箱型圖畫出來,它波動的范圍如果按照95%的區(qū)間,從-0.1一直到0.147,是非常大的范圍。把置信度畫出來,發(fā)現(xiàn)這個實驗完全不能說明A比B好。結(jié)論就是:這個實驗不可信,沒有顯著性,完全不能從這個實驗中得出A比B好的結(jié)論。
          還有長短期的影響,這也是一個常見的問題。我舉一個例子,比如說,我們對每個商品會有評價,現(xiàn)在興趣電商比較熱,電商的推薦主要會考慮它的評價,對于評價低的商品,我們會做一些控制和懲罰,讓它的推薦少一些。如果加大懲罰力度,或者由不懲罰變成懲罰,交易量會怎么樣變化?
          如果做A/B實驗,會發(fā)現(xiàn)加上這個懲罰,它的交易量是下降的。這很顯然,商品本來可以買,現(xiàn)在不讓買了,那它的交易量肯定下降。如果你看了A/B測試,說我們不應該做,對這些差的產(chǎn)品就應該保持,那你很可能就錯了。
          有時候,靠人的經(jīng)驗相信這個事情是對的,堅持做,你很可能會得到一個正確的答案。為什么?我們這個實驗不再測3天或者1個星期,而是測1個月,你會發(fā)現(xiàn),這個交易量開始是下降的,但是慢慢持平了。隨著時間再往前推移,它的交易量就變好了。
          可以想象,當你做了一些正確的事情,短期可能會受一定損失,但是積累了用戶口碑,這些東西周期都很長的,慢慢效果就體現(xiàn)出來了。A/B測試通常不會做那么多時間。
          所以有時候要結(jié)合判斷相信背后本質(zhì)的東西,可以用更長期的A/B測試驗證它,這時候你會做出更正確的選擇。如果相信短期,就掉到溝里了,得出錯誤的結(jié)論。

          抖音的名字是怎么來的?

          最后再講講抖音取名字的故事。很多人都很關(guān)心這件事,甚至有人說抖音的名字是找大師算過的。起名字是可以做A/B測試的。當年,我們做了這個短視頻產(chǎn)品,有很多候選名字,那會兒已經(jīng)有一些產(chǎn)品demo了。
          我們就把這個demo產(chǎn)品起成不同的名字,用不同的logo,在應用市場商店做A/B測試,同樣的預算,同樣的位置,這能測出用戶對這個名字的關(guān)心程度,吸引力程度,下載轉(zhuǎn)化率等等,但其實也是非常短期的。
          做完這個測試之后,我們得出了一個排名,比如第一名是什么,第二名是什么?!岸兑簟笔桥琶诙模皇亲詈玫拿?。當時負責抖音的產(chǎn)品經(jīng)理,討論應該用哪個名字。
          你去看這個分析和排名,看那個過程,就會發(fā)現(xiàn)有一些是符合你的感覺,有一些不是符合你的感覺,才知道,原來人們對這個東西可能會這么想。所以A/B測試的過程,有時不完全看它的結(jié)論,它也會給你帶來很多認知,這就是經(jīng)驗帶來的偏差。A/B測試可以糾正這些偏差,但是它也會有這樣或那樣的問題,有時候你不會完全采納它的結(jié)論。
          我們就沒有采納排名第一的名字,大家覺得,“抖音”長期來講更符合認知,更能體現(xiàn)它的形態(tài),所以就選擇了“抖音”這個排名第二的選項。
          從這個故事中可以看到,真正想去做一個科學決策,是很難有完美方法的,沒有一招鮮的方法,只有最合適的方法。充分地做A/B測試,這是一個能夠在很大程度上補充信息的過程,能夠消除很多偏見,能夠帶來很多客觀的事實。但是它也不是完美的,需要補充其他方法一起來用。就像“抖音”起名字的例子一樣。在公司中更廣泛地使用A/B測試,我相信對提高整個公司的決策質(zhì)量是很有幫助的。
          今天就講到這里,謝謝大家。
          ·················END·················

          推薦閱讀

          1. 超細節(jié)!數(shù)據(jù)分析社招面試指南

          2. 寫給所有數(shù)據(jù)人。

          3. 從留存率業(yè)務案例談0-1的數(shù)據(jù)指標體系

          4. 數(shù)據(jù)分析師的一周

          5. 超級菜鳥如何入門數(shù)據(jù)分析?


          歡迎長按掃碼關(guān)注「數(shù)據(jù)管道」
          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩国产精品成人在线 | 午夜曝乳 | 免费观看av | 最新中文字幕第一页 | 黄色小视频免费观看 |