
數(shù)據(jù)分析到底是什么?很多人都在嘴邊討論它們,卻沒(méi)有幾個(gè)人真正見(jiàn)過(guò)它。這是當(dāng)下科技行業(yè)最為火爆的職位,今天就讓我們走進(jìn) Twitter 的數(shù)據(jù)分析世界,看看科技公司對(duì)于一個(gè)數(shù)據(jù)分析師的要求是什么?他們的實(shí)際工作內(nèi)容究竟是哪些?
到了今年 6 月 17 日,Robert Chang 就在 Twitter 工作兩年了。根據(jù)他個(gè)人的工作經(jīng)歷,Twitter 數(shù)據(jù)分析(以下簡(jiǎn)稱(chēng)為 DS)有了下面三個(gè)層面的變化:
1. 機(jī)器學(xué)習(xí)已經(jīng)在 Twitter 多個(gè)核心產(chǎn)品中扮演越來(lái)越重要的角色,而這之前完全是「機(jī)器學(xué)習(xí)」的禁區(qū)。最典型的例子就是「當(dāng)你離開(kāi)時(shí)」這個(gè)功能。當(dāng)用戶(hù)離開(kāi)頁(yè)面或者電腦,去干別的事情后再次返回頁(yè)面,電腦會(huì)立刻給你推送出來(lái)某些由你關(guān)注的人所發(fā)出,而有可能被你錯(cuò)過(guò)的「優(yōu)質(zhì)內(nèi)容」。
2. 開(kāi)發(fā)工具越來(lái)越優(yōu)秀了。整個(gè)團(tuán)隊(duì)擺脫了對(duì) Pig 的依賴(lài),全新的數(shù)據(jù)管道是在 Scalding 中寫(xiě)出來(lái)的。
3. 從團(tuán)隊(duì)組織上而言,Twitter 已經(jīng)轉(zhuǎn)向了一個(gè)嵌入式的模型中。其中數(shù)據(jù)分析比以往更加緊密地與產(chǎn)品/工程團(tuán)隊(duì)發(fā)生著聯(lián)系。
在 Twitter 的工作確實(shí)是令人興奮的,因?yàn)槟隳苷驹谶@個(gè)平臺(tái)上,引領(lǐng)目前世界最前沿的數(shù)據(jù)科技,打造最具競(jìng)爭(zhēng)力的優(yōu)勢(shì)。而同時(shí),人們對(duì)于大數(shù)據(jù)的渴望也一天比一天高。
Dan Ariely 曾經(jīng)有一句話(huà)說(shuō)得特別好:
「大數(shù)據(jù)其實(shí)有點(diǎn)兒像青少年的性。每一個(gè)人都興致勃勃地談?wù)撍?,但是沒(méi)有任何一個(gè)人真的知道該怎么做。每一個(gè)人都覺(jué)得身邊的人都在嘗試,為了不落人后,于是每個(gè)人都在外面宣城自己也已經(jīng)有『伴兒』了」
現(xiàn)如今,有太多的人在如何成為一名優(yōu)秀稱(chēng)職的數(shù)據(jù)分析師上表達(dá)著看法,給出自己的建議。Robert Chang 毫無(wú)疑問(wèn)也是受益者。但是他回過(guò)頭來(lái)再想想大家的討論,會(huì)覺(jué)得人們往往更加側(cè)重于去談「技術(shù)」、「工具」、「技能組合」,而在 Chang 看來(lái),那些東西確實(shí)很重要,但是讓新人們知道數(shù)據(jù)分析師每一天的生活到底是什么樣子的,具體的工作內(nèi)容都是什么,這也非常重要。
于是,Chang 憑借著自己在 Twitter 工作兩年的經(jīng)歷,以自己作為例子,首次打開(kāi) Twitter 數(shù)據(jù)分析師這扇神秘的大門(mén)。
A 型數(shù)據(jù)分析師 VS B 型數(shù)據(jù)分析師
Chang 在沒(méi)來(lái) Twitter 之前,總覺(jué)得數(shù)據(jù)分析師一定是在任何領(lǐng)域都能看堪稱(chēng)「獨(dú)角獸」,不管是數(shù)據(jù)還是數(shù)學(xué)專(zhuān)業(yè),都是頂尖人才。除了技術(shù)上很牛之外,書(shū)面寫(xiě)作和口頭交流的能力也會(huì)特別強(qiáng)。更重要的是他們能夠分清楚當(dāng)下工作的輕重緩急,領(lǐng)導(dǎo)和管理一個(gè)項(xiàng)目團(tuán)隊(duì)。是啊,如今本身就是以數(shù)據(jù)為主導(dǎo)的文化,作為「數(shù)據(jù)分析師」,當(dāng)然要給這個(gè)文化注入靈魂與活力啊!
在 Chang 加入 Twitter 的幾個(gè)月后,他逐漸意識(shí)到:符合上述形容的「獨(dú)角獸」確實(shí)存在,但是對(duì)于大部分人來(lái)說(shuō),上述的要求未免有點(diǎn)兒太不切實(shí)際了。人們沒(méi)有辦法做到面面俱到。后來(lái),Chang 通過(guò) Quora 中的一篇回答,更深刻地理解了數(shù)據(jù)分析師的角色。在那篇文章中,數(shù)據(jù)分析師分成了兩種類(lèi)型:
A 型數(shù)據(jù)分析師: 他們主要負(fù)責(zé)「分析」。他們最關(guān)心數(shù)據(jù)背后的意義,往往使用統(tǒng)計(jì)等方式探知真相。其實(shí)他們的工作有點(diǎn)兒像「統(tǒng)計(jì)學(xué)家」,但是不一樣的地方是,統(tǒng)計(jì)學(xué)專(zhuān)業(yè)涉及的內(nèi)容他們統(tǒng)統(tǒng)掌握,但是他們還會(huì)一些統(tǒng)計(jì)學(xué)課本里面壓根不曾出現(xiàn)的內(nèi)容:比如數(shù)據(jù)清洗,如何處理超大數(shù)據(jù)組,數(shù)據(jù)視覺(jué)化,有關(guān)數(shù)據(jù)層面的報(bào)告撰寫(xiě)等等。
B 型數(shù)據(jù)分析師:B 型負(fù)責(zé)「建造」。他們跟前一種分析師有著相似的統(tǒng)計(jì)學(xué)背景,但他們同時(shí)還是非常牛叉的程序員,又或者是訓(xùn)練有素的軟件工程師。B 型數(shù)據(jù)分析師往往感興趣于「如何利用數(shù)據(jù)來(lái)生產(chǎn)」。他們建立一些能夠與用戶(hù)互動(dòng)的模型,往往以「推薦/推送」的形式出現(xiàn),比如「你也許會(huì)認(rèn)識(shí)的人」,「廣告」,「電影」,「搜索結(jié)果」等等功能。
Chang 看到這樣清楚的劃分,非常后悔如果早幾年有這么清楚的概念認(rèn)識(shí)該多好啊。這樣他就能夠有選擇性的發(fā)力,擇其一方向來(lái)繼續(xù)發(fā)展。這是數(shù)據(jù)分析師職場(chǎng)規(guī)劃首先要考慮的標(biāo)準(zhǔn)。
Chang 的個(gè)人專(zhuān)業(yè)背景是「數(shù)學(xué)」、「運(yùn)營(yíng)研究」、「統(tǒng)計(jì)學(xué)」。所以他更傾向于把自己定位于 A 型數(shù)據(jù)分析師,但是與此同時(shí)他對(duì) B 型分析師能夠涉及那么多的工程開(kāi)發(fā)工作而向往不已。
初創(chuàng)公司早期、快速發(fā)展的初創(chuàng)公司、以及實(shí)現(xiàn)規(guī)?;l(fā)展的初創(chuàng)公司中的數(shù)據(jù)分析師職位區(qū)別
在選擇投身于科技行業(yè)的時(shí)候,最經(jīng)常遇到的一個(gè)問(wèn)題就是到底是加入一個(gè)大的科技公司好呢?還是加入一個(gè)小的科技公司好。在這個(gè)話(huà)題上已經(jīng)有很多爭(zhēng)論了,但是在「數(shù)據(jù)分析」上面的爭(zhēng)論并不是很多。所以在本章節(jié)要具體談到的是,不同公司的規(guī)模、發(fā)展階段中,數(shù)據(jù)分析師不同的角色定位。
處于不同發(fā)展階段的科技公司生產(chǎn)數(shù)據(jù)的量與速度都是不一樣的。一個(gè)還在嘗試著尋找到「產(chǎn)品市場(chǎng)契合點(diǎn)」的初創(chuàng)公司完全不需要 Hadoop,因?yàn)楣颈旧砭筒淮嬖诙嗌俚臄?shù)據(jù)需要處理;而一個(gè)處在快速發(fā)展中的初創(chuàng)公司往往會(huì)遭遇更頻密的數(shù)據(jù)沖擊,也許 PostgreSQL 或者 Vertica 更適合這家公司的需要;而像 Twitter 這樣的公司如果不借助 Hadoop 或者 Map-Reduce 框架,就完全無(wú)法有效地處理所有數(shù)據(jù)。
Chang 在 Twitter 學(xué)到的最有價(jià)值的一點(diǎn)內(nèi)容就是:數(shù)據(jù)分析師從數(shù)據(jù)中提取出價(jià)值的能力,往往跟公司本身數(shù)據(jù)平臺(tái)的成熟度有著密不可分的關(guān)系。如果你想要明白自己從事的是哪種類(lèi)型的數(shù)據(jù)分析工作,首先去做做調(diào)研,看看你意向中的這家公司的底層系統(tǒng)架構(gòu)能夠在多大程度上支持你的目標(biāo),這不僅僅對(duì)你好,也對(duì)公司好,借此看你個(gè)人的職業(yè)發(fā)展目標(biāo)是否跟公司的需要契合起來(lái)。
在初創(chuàng)公司早期,最主要的分析重點(diǎn)是為了實(shí)現(xiàn) ETL 進(jìn)程,模塊化數(shù)據(jù),并且設(shè)計(jì)基模架構(gòu),將數(shù)據(jù)記錄應(yīng)用到上面。這樣數(shù)據(jù)就能夠追蹤并存儲(chǔ)。此處的目標(biāo)是打下分析工具的基礎(chǔ),而不是分析本身。
在快速發(fā)展的初創(chuàng)公司的中期,因?yàn)楣驹诳焖侔l(fā)展,那么數(shù)據(jù)也在不斷的增長(zhǎng)。數(shù)據(jù)平臺(tái)需要適應(yīng)不斷發(fā)展的新形勢(shì),新條件,在已經(jīng)打好基礎(chǔ)的前提下,開(kāi)始逐漸實(shí)現(xiàn)向分析領(lǐng)域的過(guò)渡。一般來(lái)說(shuō),此時(shí)的分析工作主要圍繞著制定 KPI,推動(dòng)增長(zhǎng),尋找下一次增長(zhǎng)機(jī)會(huì)等工作展開(kāi)。
實(shí)現(xiàn)了規(guī)模增長(zhǎng)的公司。當(dāng)公司實(shí)現(xiàn)了規(guī)?;鲩L(zhǎng),數(shù)據(jù)也開(kāi)始呈幾何倍數(shù)的增長(zhǎng)。此時(shí)公司需要利用數(shù)據(jù)來(lái)創(chuàng)造,或者保持某種競(jìng)爭(zhēng)性?xún)?yōu)勢(shì),比如更好的搜索結(jié)果,更加相關(guān)的推薦內(nèi)容,物流或者運(yùn)營(yíng)更加的高效合理。這個(gè)時(shí)候,諸如 ML 工程師,優(yōu)化專(zhuān)家,實(shí)驗(yàn)設(shè)計(jì)師都可以參與進(jìn)來(lái)一展拳腳了。
在 Chang 加入 Twitter 的時(shí)候,Twitter 已經(jīng)有了非常成熟的平臺(tái)以及非常穩(wěn)定的底層結(jié)構(gòu)。整個(gè)數(shù)據(jù)庫(kù)內(nèi)容都是非常干凈,可靠的。ETL 進(jìn)程每天輕松處理著數(shù)百個(gè)「任務(wù)調(diào)度」工作。(Map-Reduce)。更重要的是,在數(shù)據(jù)分析領(lǐng)域的人才都在數(shù)據(jù)平臺(tái)、產(chǎn)品分析、用戶(hù)增長(zhǎng)、實(shí)驗(yàn)研究等多個(gè)領(lǐng)域,多個(gè)重點(diǎn)工作齊頭并進(jìn)一起展開(kāi)。
關(guān)于 Chang 本人的經(jīng)歷
他是在用戶(hù)增長(zhǎng)領(lǐng)域安排的第一名專(zhuān)職數(shù)據(jù)分析師。事實(shí)上,這花了他們好幾個(gè)月來(lái)研究產(chǎn)品、工程、還有數(shù)據(jù)分析到底該如何融合,才能實(shí)現(xiàn)這樣一個(gè)崗位角色。Chang 的工作與產(chǎn)品團(tuán)隊(duì)緊密連接,根據(jù)這方面的工作經(jīng)驗(yàn),他將自己的工作職責(zé)劃分成為了下面幾類(lèi)內(nèi)容:
數(shù)據(jù)傳輸通道
實(shí)驗(yàn)(A/B 測(cè)試)
建模
下面將會(huì)按照排列次序逐一解釋
對(duì)于一家消費(fèi)級(jí)科技公司來(lái)說(shuō),產(chǎn)品分析意味著利用數(shù)據(jù)來(lái)更好地理解用戶(hù)的聲音和偏好。不管什么時(shí)候用戶(hù)與產(chǎn)品進(jìn)行著互動(dòng),Twitter 都會(huì)記錄下來(lái)最有用的數(shù)據(jù),存儲(chǔ)好它們,以待未來(lái)某一天分析之用。
這個(gè)過(guò)程被稱(chēng)之為「記錄」(logging)或者「工具化」(instrumentation),而且它還不斷地自我演進(jìn)。通常情況下,數(shù)據(jù)分析往往很難實(shí)現(xiàn)某個(gè)具體的分析,因?yàn)閿?shù)據(jù)要么是不太對(duì),要么是缺失,要么是格式錯(cuò)誤的。在這里,跟工程師保持非常好的關(guān)系非常有必要,因?yàn)閿?shù)據(jù)分析能夠幫助工程師確認(rèn) bug 的位置,或者系統(tǒng)中一些非預(yù)期的行為。反過(guò)來(lái),工程師可以幫助數(shù)據(jù)分析彌補(bǔ)「數(shù)據(jù)鴻溝」,使得數(shù)據(jù)內(nèi)容變得豐富,彼此相關(guān),更加準(zhǔn)確。
下面舉出來(lái)了 Chang 在 Twitter 展開(kāi)的幾項(xiàng)與產(chǎn)品有關(guān)的分析案例:
推送通知分析:有多少用戶(hù)能用得到「推送通知」?不同類(lèi)型的推送通知具體的點(diǎn)擊率都分別是多少?
SMS 發(fā)送率:在不同的數(shù)字載體上,Twitter 的 SMS 發(fā)送率都是怎么計(jì)算的?是不是在發(fā)展中國(guó)家這個(gè)發(fā)送率相對(duì)比較低?我們?cè)撛鯓犹嵘@個(gè)數(shù)字?
多賬戶(hù):為什么在某些國(guó)家,一個(gè)人持有多個(gè)賬戶(hù)的比例會(huì)相對(duì)較高?背后是什么動(dòng)機(jī)讓一個(gè)人持有多個(gè)賬戶(hù)?
分析會(huì)以多種形式展開(kāi)。有些時(shí)候公司會(huì)要求你對(duì)一次簡(jiǎn)單的數(shù)據(jù)拉取進(jìn)行最直白的解讀,又或者你需要想出一些新的方式方法來(lái)機(jī)選一個(gè)全新,且重要的運(yùn)營(yíng)指標(biāo)。(比如 SMS 發(fā)送率),最后你會(huì)更加深刻地理解用戶(hù)的行為。(比如一個(gè)人擁有多個(gè)賬戶(hù))
在產(chǎn)品分析中不斷研究,得到真知灼見(jiàn),這是一個(gè)不斷迭代演進(jìn)的過(guò)程。它需要不斷地提出問(wèn)題,不斷地理解商業(yè)情境,找出最正確的數(shù)據(jù)組來(lái)回答相應(yīng)的問(wèn)題。隨著時(shí)間的累積,你將成為數(shù)據(jù)領(lǐng)域的專(zhuān)家,你會(huì)正確地估計(jì)出來(lái)執(zhí)行一次分析大概得花多長(zhǎng)時(shí)間。更重要的是,你將逐漸從一個(gè)被動(dòng)響應(yīng)的狀態(tài),逐漸過(guò)渡到主動(dòng)采取行動(dòng)的狀態(tài),這其中會(huì)牽連出來(lái)很多有趣的分析,這些內(nèi)容都是產(chǎn)品負(fù)責(zé)人曾經(jīng)壓根沒(méi)有考慮過(guò)的,因?yàn)樗麄儾恢肋@些數(shù)據(jù)存在,又或者不同類(lèi)型的數(shù)據(jù)以某種特殊的方式組合到一起竟然會(huì)得出如此驚人的結(jié)論。
此處需要的技能:
保存和工具化:確認(rèn)數(shù)據(jù)鴻溝。與工程部門(mén)建立良好的協(xié)作關(guān)系;
有能力引導(dǎo)和確認(rèn)相關(guān)的數(shù)據(jù)組,知道正確使用它們的方式;
理解不同形式的分析,能夠在不同的分析執(zhí)行之前就正確地估算出難易程度,所需時(shí)間長(zhǎng)短;
掌握你的查詢(xún)語(yǔ)言。一般來(lái)說(shuō)是利用 R 或者 Python 來(lái)實(shí)現(xiàn)數(shù)據(jù)再加工;
數(shù)據(jù)管道
即使 A 型數(shù)據(jù)分析師不太可能自己編寫(xiě)代碼,直接應(yīng)用到用戶(hù)那里,但是出乎很多人意料的是,包括 Chang 在內(nèi)的很多 A 型數(shù)據(jù)分析師確實(shí)在給代碼庫(kù)寫(xiě)東西,目的只有一個(gè):為了數(shù)據(jù)管道處理。
如果你從 Unix 那里聽(tīng)說(shuō)過(guò)「對(duì)一系列命令的執(zhí)行」,那么一個(gè)數(shù)據(jù)管道就意味著多個(gè)系列命令的執(zhí)行,我們能夠不斷周而復(fù)始地自動(dòng)捕捉,篩選,集合數(shù)據(jù)。
在來(lái)到 Twitter 之前,Chang 的分析絕大部分都是點(diǎn)對(duì)點(diǎn)的。在 Chang 的本地機(jī)器上,代碼執(zhí)行上一次或者幾次。這些代碼很少得到審查,也不太可能實(shí)現(xiàn)版本控制。但是當(dāng)一個(gè)數(shù)據(jù)通道出現(xiàn)的時(shí)候,一系列的功能就浮出水面:比如「依賴(lài)管理」、「調(diào)度」、「源頭分配」、「監(jiān)控」、「錯(cuò)誤報(bào)告」以及「警告」。
下面介紹了創(chuàng)建一個(gè)數(shù)據(jù)管道的標(biāo)準(zhǔn)流程:
你忽然意識(shí)到,如果一個(gè)數(shù)據(jù)組能夠周而復(fù)始地自我重新產(chǎn)出,那么這個(gè)世界估計(jì)會(huì)因此受益;
在確認(rèn)了需求之后,你開(kāi)始設(shè)計(jì)「生產(chǎn)數(shù)據(jù)組」的「數(shù)據(jù)架構(gòu)」;
開(kāi)始編寫(xiě)你的代碼,不管是在 Pig,Scalding,或者 SQL 中。這取決于你的數(shù)據(jù)環(huán)境是什么;
提交代碼,進(jìn)行代碼審查(code review),準(zhǔn)備后得到回饋,并做相應(yīng)額外的修改。要么是因?yàn)槟愕脑O(shè)計(jì)邏輯不太對(duì),要么是你的代碼出于速度和效率的目的并沒(méi)有優(yōu)化到位;
應(yīng)該有一個(gè)「測(cè)試」和「試運(yùn)轉(zhuǎn)」的環(huán)境,確保所有的運(yùn)行都在既定的軌道上。
將你的代碼融合到主庫(kù)中
建立「監(jiān)控」、「錯(cuò)誤報(bào)告」以及「警告」等功能,以防止未來(lái)出現(xiàn)預(yù)期之外的狀況。
很顯然,數(shù)據(jù)通道比一個(gè)點(diǎn)對(duì)點(diǎn)的分析工具來(lái)說(shuō)更加復(fù)雜,但是優(yōu)勢(shì)也非常明顯,因?yàn)樗亲詣?dòng)化運(yùn)行著的,它所產(chǎn)出的數(shù)據(jù)能夠進(jìn)一步強(qiáng)化面板,這樣更多的用戶(hù)能夠消費(fèi)你的數(shù)據(jù)/結(jié)果。
另外,更加重要但是往往被人忽略的一點(diǎn)結(jié)果是,對(duì)于如何打造最優(yōu)化的工程設(shè)計(jì),這是一個(gè)非常棒的學(xué)習(xí)過(guò)程。如果你在日后需要開(kāi)發(fā)一個(gè)特別定制的數(shù)據(jù)通道,比如機(jī)器學(xué)習(xí),之前所做的工作就成為了扎實(shí)的基礎(chǔ)。
在此處需要用到的技能:
版本控制,目前最流行的就是 Git;
知道如何去做「代碼審核」,并且知道如何有效地給予反饋;
知道如何去測(cè)試,如何去試運(yùn)行,當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候知道如何「debug」;
「依賴(lài)管理,調(diào)度,資源分配,錯(cuò)誤報(bào)告,警告」功能的設(shè)置。
實(shí)驗(yàn)(A/B 測(cè)試)
此時(shí)此刻,非常有可能你現(xiàn)在使用的 Twitter App 跟我手機(jī)上裝的 App 是有一點(diǎn)小小的不同的,并且很有可能你在用著一個(gè)我壓根沒(méi)有見(jiàn)到過(guò)的功能。鑒于 Twitter 的用戶(hù)很多,它可以將其中很小的一部分流量(百分之幾)導(dǎo)入到一次實(shí)驗(yàn)中,去測(cè)試這個(gè)尚未全面公開(kāi)的功能,去了解這些被選中的用戶(hù)如何跟這個(gè)全新的功能互動(dòng),他們的反響跟那些沒(méi)有見(jiàn)到這個(gè)功能的用戶(hù)進(jìn)行對(duì)比。
這就是 A/B 測(cè)試,去讓我們方便測(cè)試各種變量,通過(guò) A 和 B 到底哪個(gè)方案更好。
Chang 個(gè)人的看法是:為一些較大的科技公司做事,能夠享受到的一點(diǎn)優(yōu)勢(shì),就是能夠從事開(kāi)發(fā)和掌握業(yè)界最神秘的技能:「A/B 測(cè)試」。作為一名稱(chēng)職的數(shù)據(jù)分析師,你必須利用可控制的實(shí)驗(yàn),在其中進(jìn)行隨機(jī)測(cè)試,得到某種確定的因果關(guān)系。而根據(jù) Twitter 負(fù)責(zé)工程部分 A/B 測(cè)試的副總 Alex Roetter 的話(huà)來(lái)說(shuō),「Twitter 的任何一天中,都不可能在沒(méi)有做一次實(shí)驗(yàn)的前提下就草率放出某個(gè)功能?!笰/B 測(cè)試就是 Twitter 的 DNA,以及產(chǎn)品開(kāi)發(fā)模式的基礎(chǔ)。
A/B 測(cè)試的循環(huán)周期是這樣的:取樣-> 分組->分別對(duì)待-> 評(píng)估結(jié)果-> 作出對(duì)比。這聽(tīng)上去是不是覺(jué)得挺簡(jiǎn)單的?其實(shí)事實(shí)完全相反。A/B 測(cè)試應(yīng)該是天底下最難操作的分析之一,也是最容易被人低估難度的一項(xiàng)工作。這方面的知識(shí)基本上學(xué)校是不教的。為了更好的闡述觀(guān)點(diǎn),分了下面五點(diǎn)內(nèi)容,分別是五個(gè)階段,其中一些部分有可能是你從事 A/B 測(cè)試時(shí)會(huì)遇到的一些困難和挑戰(zhàn)。
取樣— 我們需要多少的樣本?每一組分多少個(gè)用戶(hù)?我們是否能夠讓實(shí)驗(yàn)具有足夠的可信度和說(shuō)服力?
分組— 哪些人適用于出現(xiàn)在這次實(shí)驗(yàn)中?我們從代碼的哪一處開(kāi)始起手,分出兩個(gè)版本?是否會(huì)出現(xiàn)數(shù)據(jù)稀釋的情況?(數(shù)據(jù)稀釋的意思就是,有些用戶(hù)被納入到了新改動(dòng)的版本測(cè)試中,但是實(shí)際上他們卻壓根不打開(kāi)這個(gè) App,見(jiàn)不到這個(gè)新變動(dòng)的功能。)
區(qū)別對(duì)待-整個(gè)公司中是否還有其他的團(tuán)隊(duì)在做其他的測(cè)試,瞄準(zhǔn)的用戶(hù)是否跟此時(shí)我們鎖定的用戶(hù)群發(fā)生重疊?我們?cè)撛鯓討?yīng)對(duì)「測(cè)試沖突」這種情況,保證我們的數(shù)據(jù)沒(méi)有被「污染」?
評(píng)估結(jié)果-測(cè)試的假設(shè)前提是什么?實(shí)驗(yàn)成功或者失敗的指標(biāo)是哪些?我們是否能做到有效的追蹤?我們是否要增加一些其他方面的數(shù)據(jù)存儲(chǔ)?
做出比較-假設(shè)某個(gè)條件下的用戶(hù)數(shù)量發(fā)生了激增,它是不是因?yàn)槠渌囊恍┮蛩?我們是如何確保這些統(tǒng)計(jì)具有實(shí)際的意義?就算具有實(shí)際的意義,這個(gè)意義對(duì)于下面的產(chǎn)品改良又具有多大的指導(dǎo)作用?
不管回答上述的哪一個(gè)問(wèn)題,都需要對(duì)統(tǒng)計(jì)學(xué)很好的掌握才能辦到。就算你一個(gè)人能力很強(qiáng),但是團(tuán)隊(duì)其他同事還是有可能給這個(gè) A/B 實(shí)驗(yàn)添亂子。
一個(gè)產(chǎn)品經(jīng)理有可能特別心急,沒(méi)等試驗(yàn)結(jié)束就要偷窺數(shù)據(jù),又或者想當(dāng)然地,按照他們想象的方式挑選自己想要的結(jié)論。(這是人性,別怪他們)。一個(gè)工程師有可能忘記存儲(chǔ)某個(gè)特殊的信息,又或者錯(cuò)誤的寫(xiě)出測(cè)試用的代碼,實(shí)驗(yàn)結(jié)果出現(xiàn)了非常離譜的偏差。
作為數(shù)據(jù)分析師,這個(gè)時(shí)候不得不對(duì)自己和他人嚴(yán)厲一些,讓整個(gè)團(tuán)隊(duì)都能高效、準(zhǔn)確地運(yùn)轉(zhuǎn),在實(shí)驗(yàn)的每一個(gè)細(xì)節(jié)上面都不能有任何的差池。時(shí)間浪費(fèi)在一次徒勞無(wú)功,設(shè)計(jì)錯(cuò)誤的實(shí)驗(yàn)中,這些時(shí)間是找不回來(lái)的。甚至還會(huì)出現(xiàn)更糟糕的情況,依據(jù)一次錯(cuò)誤的實(shí)驗(yàn)結(jié)論形成錯(cuò)誤的決策,最終給整個(gè)產(chǎn)品帶來(lái)極大的風(fēng)險(xiǎn)。
在此處所需要用到的技能:
假設(shè)條件測(cè)試: 統(tǒng)計(jì)學(xué)測(cè)試,統(tǒng)計(jì)數(shù)據(jù)可信度,多重測(cè)試。
測(cè)試中有可能出現(xiàn)的偏差: 按照自己想要的結(jié)果去推斷結(jié)論,延滯效應(yīng),數(shù)據(jù)稀釋?zhuān)纸M異常
預(yù)測(cè)型建模以及機(jī)器學(xué)習(xí)
Chang 在 Twitter 負(fù)責(zé)開(kāi)發(fā)的第一個(gè)重大項(xiàng)目是將一組「疲勞標(biāo)準(zhǔn)」添加到 Twitter 目前的郵件通知產(chǎn)品中,這樣能夠降低郵箱過(guò)濾機(jī)制將 Twitter 的信息視為垃圾信息的概率,從而實(shí)現(xiàn)讓用戶(hù)更頻繁在收件箱中看到 Twitter 發(fā)來(lái)的電子郵件。
盡管郵件過(guò)濾機(jī)制不失為使一次偉大的發(fā)明,但是郵件通知也確實(shí)是提升客戶(hù)留存率的特別有效的辦法之一。(這個(gè)結(jié)論是 Twitter 曾經(jīng)做的一次實(shí)驗(yàn)中無(wú)疑中發(fā)現(xiàn)的)。所以,Chang 的目標(biāo)就是在這其中取得平衡。
在基于上述的觀(guān)察和思考之后,Chang 想到了一個(gè)點(diǎn)子:觸發(fā)式的郵件發(fā)送機(jī)制。也就是只有在用戶(hù)與產(chǎn)品之間發(fā)生了某種互動(dòng)的情況下,這封郵件才會(huì)發(fā)送到用戶(hù)的電子郵箱。作為剛剛加入團(tuán)隊(duì)的數(shù)據(jù)分析師,Chang 特別想要通過(guò)這個(gè)項(xiàng)目來(lái)證明自己的價(jià)值,于是決定利用非常棒的機(jī)器語(yǔ)言模型來(lái)預(yù)測(cè)電子郵件的 CTR(點(diǎn)擊率)。他將一大堆用戶(hù)級(jí)別的功能集合在 Pig 工具中,并建立了一個(gè)隨機(jī)預(yù)測(cè)模型來(lái)預(yù)測(cè)郵件點(diǎn)擊。這背后的想法是,如果用戶(hù)在過(guò)去很長(zhǎng)一段時(shí)間內(nèi)都對(duì)電子郵件有著低點(diǎn)擊率,那么 Twitter 就會(huì)保留這封郵件,不再給他發(fā)送。
上述的想法都很好,但是只有一個(gè)問(wèn)題,所有的工作都是放在本地機(jī)器的 R 中處理的。人們都很贊賞 Chang 的工作成果,但是他們不知道如何利用這個(gè)模型,因?yàn)樗菬o(wú)法進(jìn)一步轉(zhuǎn)化成產(chǎn)品的。Twitter 的系統(tǒng)底層是無(wú)法與 Chang 的本地模型展開(kāi)對(duì)話(huà)的。
這一課帶來(lái)的教訓(xùn)讓 Chang 終生難忘。
一年之后,Chang 和增長(zhǎng)團(tuán)隊(duì)中的兩個(gè)人共同捕捉到了一個(gè)全新的機(jī)會(huì),能夠打造一個(gè)用戶(hù)流失率預(yù)測(cè)模型。這一次,Chang 已經(jīng)在開(kāi)發(fā)數(shù)據(jù)管道上有了非常充足的經(jīng)驗(yàn)。這一次他們做的非常好,模型能夠針對(duì)每一個(gè)用戶(hù)自動(dòng)的生成一個(gè)用戶(hù)流失概率!
幾個(gè)星期之后,他們開(kāi)發(fā)了數(shù)據(jù)管道,并且確認(rèn)它真的具有很有效的預(yù)測(cè)能力,他們通過(guò)將分?jǐn)?shù)寫(xiě)入到 Vertica,HDFS,以及 Twitter 內(nèi)部一個(gè)稱(chēng)之為「曼哈頓」的關(guān)鍵價(jià)值商店。這樣大家都知道了它的存在。公司無(wú)數(shù)分析師,數(shù)據(jù)分析師,工程服務(wù)部門(mén)都過(guò)來(lái)試用,進(jìn)行查詢(xún),幫其宣傳,評(píng)價(jià)非常好。這是 Chang 在 Twitter 最值得驕傲的一件事,真正把預(yù)測(cè)模型納入到了產(chǎn)品當(dāng)中。
Chang 認(rèn)為絕大部分杰出的數(shù)據(jù)分析師,尤其是 A 型的數(shù)據(jù)分析師都存在這樣一個(gè)問(wèn)題,他們知道怎樣去建模,但是卻不知道怎樣把這些模型嵌入到產(chǎn)品系統(tǒng)當(dāng)中。Chang 的建議是好好跟 B 型數(shù)據(jù)分析師聊聊吧,他們?cè)谶@個(gè)話(huà)題上有著足夠豐富的經(jīng)驗(yàn),發(fā)現(xiàn) A 型和 B 型數(shù)據(jù)分析師職能重合的那一部分,想想接下來(lái)需要的一些技能組合是什么,這樣才能讓自己在數(shù)據(jù)分析師的道路上走的更深更遠(yuǎn),更加寬廣。
「機(jī)器學(xué)習(xí)并不等同于 R 腳本。機(jī)器學(xué)習(xí)起源于數(shù)學(xué),表達(dá)在代碼中,最后組裝在軟件中。你需要是一名軟件工程師,同時(shí)需要寫(xiě)一點(diǎn)可讀的,重復(fù)使用的代碼。你的代碼將被更多人重新讀取無(wú)數(shù)次-來(lái)自 Ian Wong 在哥倫比亞數(shù)據(jù)學(xué)課堂上的講座節(jié)選。
在這里所用到的技能:
模式確認(rèn):確認(rèn)哪些問(wèn)題是可以通過(guò)建模的方法來(lái)加以解決的
建模以及機(jī)器語(yǔ)言的所有基礎(chǔ)知識(shí):探索型數(shù)據(jù)分析,開(kāi)發(fā)功能,屬性選擇,模型選擇,模型評(píng)估,練習(xí)/確認(rèn)/測(cè)試。
產(chǎn)品化:所有上面的內(nèi)容有關(guān)于數(shù)據(jù)管道的建立,使得不同的人都能夠在上面執(zhí)行查詢(xún)
最后的一些話(huà):
成為一個(gè)數(shù)據(jù)分析師確實(shí)是一件挺讓人激動(dòng)的事。你能從別人根本無(wú)法達(dá)到的角度獲取真相,這足夠酷炫了。從底層開(kāi)始開(kāi)發(fā)數(shù)據(jù)管道或者機(jī)器語(yǔ)言模型,會(huì)給人帶來(lái)深層次的滿(mǎn)足感,當(dāng)執(zhí)行 A/B 測(cè)試的時(shí)候,有太多時(shí)刻會(huì)給你一種當(dāng)「上帝」的趣味。即便這條路充滿(mǎn)了曲折以及不確定性,有很多挑戰(zhàn)擺在眼前,但是走在這條路上的人永遠(yuǎn)不會(huì)退縮。任何一個(gè)聰明,有想法的年輕人都應(yīng)該考慮成為一名數(shù)據(jù)分析師。
數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢(xún)效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開(kāi)的話(huà)題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開(kāi)始提取前,需先判斷 TIF 文件的類(lèi)型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專(zhuān)業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專(zhuān)業(yè)操盤(pán)手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開(kāi)發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤(pán)手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問(wèn)題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問(wèn)題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問(wèn)題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶(hù)體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷(xiāo)案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見(jiàn)頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷(xiāo)成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類(lèi)分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類(lèi)分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10