七周成為數據分析師!
這是一份七周的互聯網數據分析能力養成提綱,入門到熟練的指南,並不包含數據挖掘等高階內容。可也足夠讓產品和運營們獲得進步。
我們會按照提綱針對性的增加互聯網側的內容,比如網站分析,用戶行為序列等。我也不想留於表麵,而是係統性講述。比如什麼是產品埋點?在獲得埋點數據後,怎麼利用Python / Pandas的shift ( )函數將其清洗為用戶行為session,進而計算出用戶在各頁麵的停留時間,後續如何轉換成統計寬表,如何以此建立用戶標簽等。
如果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)的類型管理。
下麵是為了以後更好的基礎而附加的學習任務。
了解單元格格式,後期的數據類型包括各類timestamp,date,string,int,bigint,char,factor,float等。
了解數組,以及怎麼用(excel的數組挺難用),Python和R也會涉及到 list。
了解函數和參數,當進階為編程型的數據分析師時,會讓你更快的掌握。
了解中文編碼,UTF8和ASCII,包括CSV的delimiter等,以後你會回來感謝我的。
這一周的內容我會拆分成兩部分:函數篇和技巧篇。
這是一道練習題,我給你1000個身份證號碼,告訴我裏麵有多少男女,各省市人口的分布,這些人的年齡和星座。如果能完成上述過程,那麼這一周就直接略過吧。(身份證號碼規律可以網上搜索)
第二周:數據可視化
數據分析界有一句經典名言,字不如表,表不如圖。數據可視化是數據分析的主要方向之一。除掉數據挖掘這類高級分析,不少數據分析就是監控數據觀察數據。
數據分析的最終都是要兜售自己的觀點和結論的。兜售的最好方式就是做出觀點清晰數據詳實的PPT給老板看。如果沒人認同分析結果,那麼分析也不會被改進和優化,不落地的數據分析價值又在哪裏?
首先要了解常用的圖表:
Excel的圖表可以100%完成上麵的圖形要求,但這隻是基礎。後續的進階可視化,勢必要用到編程繪製。為什麼?比如常見的多元分析,你能用Excel很輕鬆的完成?但是在IPython隻需要一行代碼。
其次掌握BI,下圖是微軟的BI。
BI(商業智能)和圖表的區別在於BI擅長交互和報表,更擅長解釋已經發生和正在發生的數據。將要發生的數據是數據挖掘的方向。
BI的好處在於很大程度解放數據分析師的工作,推動全部門的數據意識,另外降低其他部門的數據需求(萬惡的導數據)。
BI市麵上的產品很多,基本都是建立儀表盤Dashboard,通過維度的聯動和鑽取,獲得可視化的分析。
最後需要學習可視化和信息圖的製作。
這是安(裝)身(逼)立(加)命(薪)之本。這和數據本事沒有多大關係,更看重審美、解讀、PPT、信息化的能力。但值得花一點時間去學習。
數據可視化的學習就是三個過程,了解數據(圖表),整合數據(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的邏輯,時間轉換函數等。
如果想要跟進一步,可以學習row_number,substr,convert,contact等。另外不同數據平台的函數會有差異,例如Presto和phpMyAdmin。
再有點追求,就去了解Explain優化,了解SQL的工作原理,了解數據類型,了解IO。以後就可以和技術研發們談笑風生,畢竟將“這裏有bug”的說話,換成“這塊的數據死鎖了”,逼格大大的不同。
SQL的學習主要是多練,網上尋找相關的練習題,刷一遍就差不多了。
第五周:統計知識學習
很遺憾,統計知識也是我薄弱的地方,可這是數據分析的基礎。
我看過很多產品和運營相關的數據分析文章,沒有多少提及統計知識。這是不嚴謹的。
比如產品的AB測試,如果產品經理並不清楚置信度的含義和概念,那麼好的效果並不意味著真正的好。尤其是5%這種非顯著的提高。
比如運營一次活動,運營若不了解檢驗相關的概念,那麼如何去判別活動在數據上是有效果還是沒有效果?別說平均數。
再討論一下經典的概率問題,如果一個人獲流感,實驗結果為陽性的概率為90%;如果沒有獲流感,實驗結果為陽性的概率為9%。現在這個人檢驗結果為陽性,他有多少幾率是得了流感?
如果你覺得幾率有50%、60%、70%等等,那麼都犯了直覺性的錯誤。它還和得病的基礎概率有關。
統計知識會教我們以另一個角度看待數據。如果大家了解過《統計數據會撒謊》,那麼就知道很多數據分析的決策並不牢靠。
我們需要花一周的時間掌握描述性統計,包括均值、中位數、標準差、方差、概率、假設檢驗、顯著性、總體和抽樣等概念。
不需要學習更高階的統計知識,誰讓我們是速成呢。隻要做到不會被數據欺騙,不犯錯誤就好。
以Excel的分析工具庫舉例(圖片網上找來)。在初級的統計學習中,需要了解列1的各名詞含義,而不是停留在平均數這個基礎上。
第六周:業務知識(用戶行為、產品、運營)
這一周需要了解業務。對於數據分析師來說,業務的了解比數據方法論更重要。當然很遺憾,業務學習沒有捷徑。
我舉一個數據沙龍上的例子,一家O2O配送公司發現在重慶地區,外賣員的送貨效率低於其他城市,導致用戶的好評率降低。總部的數據分析師建立了各個指標去分析原因,都沒有找出來問題。後來在訪談中發覺,因為重慶是山城,路麵高低落差比較誇張,很多外賣人員的小電瓶上不了坡…所以導致送貨效率慢。
這個案例中,我們隻知道送貨員的送貨水平距離,即POI數據,根本不可能知道垂直距離的數據。這就是數據的局限,也是隻會看數據的分析師和接地氣分析師的最大差異。
對業務市場的了解是數據分析在工作經驗上最大的優勢之一。不同行業領域的業務知識都不一樣,我就不獻醜了。在互聯網行業,有幾個寬泛的業務數據需要了解。
產品數據分析,以經典的AAARR框架學習,了解活躍留存的指標和概念(這些內容,我的曆史文章已經涉及了部分)。
並且數據分析師需要知道如何用SQL計算。因為在實際的分析過程中,留存隻是一個指標,通過userId 關聯和拆分才是常見的分析策略。
網站數據分析,可以抽象吃一個哲學問題:
用戶從哪裏來(SEO/SEM),用戶到哪裏去(訪問路徑),用戶是誰(用戶畫像/用戶行為路徑)。
雖然網站已經不是互聯網的主流,但現在有很多APP+Web的複合框架,朋友圈的傳播活動肯定需要用到網頁的指標去分析。
用戶數據分析,這是數據化運營的一種應用。
在產品早期,可以通過埋點計算轉化率,利用AB測試達到快速迭代的目的,在積累到用戶量的後期,利用埋點去分析用戶行為,並且以此建立用戶分層用戶畫像等。
例如用貝葉斯算法計算用戶的性別概率,用K聚類算法劃分用戶的群體,用行為數據作為特征建立響應模型等。不過快速入門不需要掌握這些,隻需要有一個大概的框架概念。
除了業務知識,業務層麵的溝通也很重要。在業務線足夠長的時候,我不止一次遇到產品和運營沒有掌握所有的業務要點,尤其涉及跨部門的分析。良好的業務溝通能力是數據分析的基礎能力。
第七周:Python/R 學習
終於到第七周,也是最痛苦的一周。這時應該學習編程技巧。
是否具備編程能力,是初級數據分析和高級數據分析的風水嶺。數據挖掘,爬蟲,可視化報表都需要用到編程能力(例如上文的多元散點圖)。掌握一門優秀的編程語言,可以讓數據分析師事半功倍,升職加薪,迎娶白富美。
以時下最熱門的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足夠應付入門級數據分析,但是涉及到循環迭代、多元圖表的分析部分,複雜度就呈幾何上升。更遑論數據挖掘這種高階玩法。
我也相信,未來了解數據挖掘的產品和運營會有極強的競爭力。
————
到這裏,剛剛好是七周。如果還需要第八周+,則是把上麵的鞏固和融會貫通,畢竟這隻是目的性極強的速成,是開始,而不是數據分析的畢業典禮。
最後還需要補充,如果希望數據分析能力更近一步,或者成為優秀的數據分析師,每一周的內容都能繼續學習至精通。實際上,業務知識、統計知識僅靠兩周是非常不牢固的。
再往後的學習,會有許多分支。比如偏策劃的數據產品經理,比如偏統計的機器學習,比如偏商業的市場分析師,比如偏工程的大數據工程師。
之後,我會把每一周要點再單獨用文章寫出來。
最後更新:2017-06-28 16:02:22