1. 程式人生 > >如何七週成為資料分析師

如何七週成為資料分析師

寫這個系列,是希望在當初知乎某一個回答的基礎上,單獨完善出針對網際網路產品和運營們的教程。不論對資料分析或資料運營,我都希望它是一篇足夠好的教材。  

得承認我有標題黨之嫌,更準確說,這是一份七週的網際網路資料分析能力養成提綱。

我會按照提綱針對性的增加網際網路側的內容,比如網站分析,使用者行為序列等。我也不想留於表面,而是系統性講述。比如什麼是產品埋點?在獲得埋點資料後,怎麼利用Python / Pandas的shift ( )函式將其清洗為使用者行為session,進而計算出使用者在各頁面的停留時間,後續如何轉換成統計寬表,如何以此建立使用者標籤等。

這是一份入門到熟練的指南,並不包含資料探勘等高階內容。可也足夠讓產品和運營們獲得進步。

還有一點要(悲傷地)註明,這是七週的學習時間,不是我用七週就能寫完。具體時間我也不知道,幸好我從沒公佈微訊號,你們追殺不到我 (。・`ω´・)

————————

第一週:Excel學習掌握 如果Excel玩的順溜,你可以略過這一週。不過介於我入行時也不會vlookup,所以有必要講下。 重點是瞭解各種函式,包括但不限於sum,count,sumif,countif,find,if,left/right,時間轉換等。

Excel函式不需要學全,重要的是學會搜尋。即如何將遇到的問題在搜尋引擎上描述清楚。 我認為掌握vlookup和資料透視表足夠,是最具價效比的兩個技巧。 學會vlookup,SQL中的join,Python中的merge很容易理解。 學會資料透視表,SQL中的group,Python中的pivot_table也是同理。 這兩個搞定,基本10萬條以內的資料統計沒啥難度,80%的辦公室白領都能秒殺。 Excel是熟能生巧,多找練習題。還有需要養成好習慣,不要合併單元格,不要過於花哨。表格按照原始資料(sheet1)、加工資料(sheet2),圖表(sheet3)的型別管理。

 更多幹貨分享,加群大資料學習交流群 805127855

下面是為了以後更好的基礎而附加的學習任務。

瞭解單元格格式,後期的資料型別包括各類timestamp,date,string,int,bigint,char,factor,float等。

瞭解陣列,以及怎麼用(excel的陣列挺難用),Python和R也會涉及到 list。

瞭解函式和引數,當進階為程式設計型的資料分析師時,會讓你更快的掌握。

瞭解中文編碼,UTF8和ASCII,包括CSV的delimiter等,以後你會回來感謝我的。

這一週的內容我會拆分成兩部分:函式篇和技巧篇。

這是一道練習題,我給你1000個身份證號碼,告訴我裡面有多少男女,各省市人口的分佈,這些人的年齡和星座。如果能完成上述過程,那麼這一週就直接略過吧。(身份證號碼規律可以網上搜索)

第二週:資料視覺化 資料分析界有一句經典名言,字不如表,表不如圖。資料視覺化是資料分析的主要方向之一。除掉資料探勘這類高階分析,不少資料分析就是監控資料觀察資料。 資料分析的最終都是要兜售自己的觀點和結論的。兜售的最好方式就是做出觀點清晰資料詳實的PPT給老闆看。如果沒人認同分析結果,那麼分析也不會被改進和優化,不落地的資料分析價值又在哪裡?更多幹貨分享,加群大資料學習交流群 805127855首先要了解常用的圖表:

Excel的圖表可以100%完成上面的圖形要求,但這只是基礎。後續的進階視覺化,勢必要用到程式設計繪製。為什麼?比如常見的多元分析,你能用Excel很輕鬆的完成?但是在IPython只需要一行程式碼。

其次掌握BI,下圖是微軟的BI。

BI(商業智慧)和圖表的區別在於BI擅長互動和報表,更擅長解釋已經發生和正在發生的資料。將要發生的資料是資料探勘的方向。

BI的好處在於很大程度解放資料分析師的工作,推動全部門的資料意識,另外降低其他部門的資料需求(萬惡的導資料)。

BI市面上的產品很多,基本都是建立儀表盤Dashboard,通過維度的聯動和鑽取,獲得視覺化的分析。 最後需要學習視覺化和資訊圖的製作。

這是安(裝)身(逼)立(加)命(薪)之本。這和資料本事沒有多大關係,更看重審美、解讀、PPT、資訊化的能力。但值得花一點時間去學習。更多幹貨分享,加群大資料學習交流群 805127855

資料視覺化的學習就是三個過程,瞭解資料(圖表),整合資料(BI),展示資料(資訊化)。第三週:分析思維的訓練 這周輕鬆一下,學學理論知識。 好的資料分析首先要有結構化的思維,也就是我們俗稱的金字塔思維。思維導圖是必備的工具。 之後再瞭解SMART、5W2H、SWOT、4P理論、六頂思考帽等框架。這些框架都是大巧不工的經典。 分析也是有框架和方法論的,我會主要圍繞三個要點展開:一個業務沒有指標,則不能增長和分析; 好的指標應該是比率或比例; 好的分析應該對比或關聯。 舉一個例子:我告訴你一家超市今天有1000人的客流量,你會怎麼分析? 這1000人的數量,和附近其他超市比是多是少?(對比) 這1000人的數量比昨天多還是少?(對比) 1000人有多少產生了實際購買?(轉化比例) 路過超市,超市外的人流是多少?(轉化比例) 這是一個快速搭建分析框架的方法。如果只看1000人,是看不出分析不出任何結果。

優秀的資料分析師會拷問別人的資料,而他本身的分析也是經得起拷問,這就是分析思維能力。需要確切明白的是,一週時間鍛鍊不出資料思維,只能做到了解。資料思維是不斷練習的結果,我只是儘量縮短這個過程。第四周:資料庫學習 Excel對十萬條以內的資料處理起來沒有問題,但是網際網路行業就是不缺資料。但凡產品有一點規模,資料都是百萬起。這時候就需要學習資料庫。

越來越多的產品和運營崗位,會在招聘條件中,將會SQL作為優先的加分項。

SQL是資料分析的核心技能之一,從Excel到SQL絕對是資料處理效率的一大進步。

學習圍繞Select展開。增刪改、約束、索引、資料庫正規化均可以跳過。 主要了解where,group by,order by,having,like,count,sum,min,max,distinct,if,join,left join,limit,and和or的邏輯,時間轉換函式等。更多幹貨分享,加群大資料學習交流群 805127855如果想要跟進一步,可以學習row_number,substr,convert,contact等。另外不同資料平臺的函式會有差異,例如Presto和phpMyAdmin。 再有點追求,就去了解Explain優化,瞭解SQL的工作原理,瞭解資料型別,瞭解IO。以後就可以和技術研發們談笑風生,畢竟將“這裡有bug”的說話,換成“這塊的資料死鎖了”,逼格大大的不同。 SQL的學習主要是多練,網上尋找相關的練習題,刷一遍就差不多了。

第五週:統計知識學習  

很遺憾,統計知識也是我薄弱的地方,可這是資料分析的基礎。

我看過很多產品和運營相關的資料分析文章,沒有多少提及統計知識。這是不嚴謹的。

比如產品的AB測試,如果產品經理並不清楚置信度的含義和概念,那麼好的效果並不意味著真正的好。尤其是5%這種非顯著的提高。

比如運營一次活動,運營若不瞭解檢驗相關的概念,那麼如何去判別活動在資料上是有效果還是沒有效果?別說平均數。

再討論一下經典的概率問題,如果一個人獲流感,實驗結果為陽性的概率為90%;如果沒有獲流感,實驗結果為陽性的概率為9%。現在這個人檢驗結果為陽性,他有多少機率是得了流感?

如果你覺得機率有50%、60%、70%等等,那麼都犯了直覺性的錯誤。它還和得病的基礎概率有關。

統計知識會教我們以另一個角度看待資料。如果大家瞭解過《統計資料會撒謊》,那麼就知道很多資料分析的決策並不牢靠。

我們需要花一週的時間掌握描述性統計,包括均值、中位數、標準差、方差、概率、假設檢驗、顯著性、總體和抽樣等概念。

不需要學習更高階的統計知識,誰讓我們是速成呢。只要做到不會被資料欺騙,不犯錯誤就好。 以Excel的分析工具庫舉例(圖片網上找來)。在初級的統計學習中,需要了解列1的各名詞含義,而不是停留在平均數這個基礎上。

第六週:業務知識(使用者行為、產品、運營)更多幹貨分享,加群大資料學習交流群 805127855這一週需要了解業務。對於資料分析師來說,業務的瞭解比資料方法論更重要。當然很遺憾,業務學習沒有捷徑。 我舉一個數據沙龍上的例子,一家O2O配送公司發現在重慶地區,外賣員的送貨效率低於其他城市,導致使用者的好評率降低。總部的資料分析師建立了各個指標去分析原因,都沒有找出來問題。後來在訪談中發覺,因為重慶是山城,路面高低落差比較誇張,很多外賣人員的小電瓶上不了坡…所以導致送貨效率慢。 這個案例中,我們只知道送貨員的送貨水平距離,即POI資料,根本不可能知道垂直距離的資料。這就是資料的侷限,也是隻會看資料的分析師和接地氣分析師的最大差異。 對業務市場的瞭解是資料分析在工作經驗上最大的優勢之一。不同行業領域的業務知識都不一樣,我就不獻醜了。在網際網路行業,有幾個寬泛的業務資料需要了解。產品資料分析,以經典的AAARR框架學習,瞭解活躍留存的指標和概念(這些內容,我的歷史文章已經涉及了部分)。

並且資料分析師需要知道如何用SQL計算。因為在實際的分析過程中,留存只是一個指標,通過userId 關聯和拆分才是常見的分析策略。

網站資料分析,可以抽象吃一個哲學問題: 使用者從哪裡來(SEO/SEM),使用者到哪裡去(訪問路徑),使用者是誰(使用者畫像/使用者行為路徑)。

雖然網站已經不是網際網路的主流,但現在有很多APP+Web的複合框架,朋友圈的傳播活動肯定需要用到網頁的指標去分析。

使用者資料分析,這是資料化運營的一種應用。

在產品早期,可以通過埋點計算轉化率,利用AB測試達到快速迭代的目的,在積累到使用者量的後期,利用埋點去分析使用者行為,並且以此建立使用者分層使用者畫像等。

例如用貝葉斯演算法計算使用者的性別概率,用K聚類演算法劃分使用者的群體,用行為資料作為特徵建立響應模型等。不過快速入門不需要掌握這些,只需要有一個大概的框架概念。

除了業務知識,業務層面的溝通也很重要。在業務線足夠長的時候,我不止一次遇到產品和運營沒有掌握所有的業務要點,尤其涉及跨部門的分析。良好的業務溝通能力是資料分析的基礎能力。第七週:Python/R 學習 終於到第七週,也是最痛苦的一週。這時應該學習程式設計技巧。更多幹貨分享,加群大資料學習交流群 805127855是否具備程式設計能力,是初級資料分析和高階資料分析的風水嶺。資料探勘,爬蟲,視覺化報表都需要用到程式設計能力(例如上文的多元散點圖)。掌握一門優秀的程式語言,可以讓資料分析師事半功倍,升職加薪,迎娶白富美。 以時下最熱門的R語言和Python為學習支線,速成只要學習一條。 我剛好兩類都學過。R的優點是統計學家編寫的,缺點也是統計學家編寫。如果是各類統計函式的呼叫,繪圖,分析的前驗性論證,R無疑有優勢。但是大資料量的處理力有不逮,學習曲線比較陡峭。Python則是萬能的膠水語言,適用性強,可以將各類分析的過程指令碼化。Pandas,SKLearn等各包也已經追平R。 學習R,需要了解資料結構(matrix,array,data.frame,list等)、資料讀取,圖形繪製( ggplot2)、資料操作、統計函式(mean,median,sd,var,scale等)。高階的統計暫時不用去涉及,這是後續的學習任務。

R語言的開發環境建議用RStudio。

學習Python有很多分支,我們專注資料分析這塊。需要了解呼叫包、函式、資料型別(list,tuple,dict),條件判斷,迭代等。高階的Numpy和Pandas在有精力的情況下涉及。 Python的開發環境建議Anaconda,可以規避掉環境變數、包安裝等大部分新手問題。Mac自帶Python2.7,但現在Python 3已經比幾年前成熟,沒有編碼問題,就不要抱成守舊了。

對於沒有技術基礎的運營和產品,第七週最吃力,雖然SQL+Excel足夠應付入門級資料分析,但是涉及到迴圈迭代、多元圖表的分析部分,複雜度就呈幾何上升。更遑論資料探勘這種高階玩法。

我也相信,未來了解資料探勘的產品和運營會有極強的競爭力。更多幹貨分享,加群大資料學習交流群 805127855

———— 到這裡,剛剛好是七週。如果還需要第八週+,則是把上面的鞏固和融會貫通,畢竟這只是目的性極強的速成,是開始,而不是資料分析的畢業典禮。

最後還需要補充,如果希望資料分析能力更近一步,或者成為優秀的資料分析師,每一週的內容都能繼續學習至精通。實際上,業務知識、統計知識僅靠兩週是非常不牢固的。

再往後的學習,會有許多分支。比如偏策劃的資料產品經理,比如偏統計的機器學習,比如偏商業的市場分析師,比如偏工程的大資料工程師。