Stack Overflow 用戶畫像數據分析

點擊上方藍色,快速關注

作者 | AAAlvin

來源 | https://github.com/AAAlvin/Project_Folder/

俗話說”沒有問不到的問題,只有不會上的Overflow“,你沒聽過這個俗語,那也(就)沒(對)關(了)系,你只用知道這是一個認識代碼就應該知道的網站就可以了,上面回答問題的大牛讓你無時無刻不知道自己的代碼寫的有多醜,鞭策自己把代碼寫的簡介如斯,真的好難。

哈哈哈不亂扯了,我有幸知道了Stack將自己每年調查問卷的數據放了出來,不愧是Open Source的前行者,拿到這個數據集必然要探究一番,話不多說,接着往下看就對了~

▌項目介紹

本次項目的數據集從科賽網瞭解到,在Stack官網下載數據,本次數據分析只針對2017年和2018年的數據,使用Python對數據進行整合與清洗,利用RStudio與Tableau進行探索性數據分析,使用Typora撰寫Markdown數據分析報告。

本次分析報告將展示參與Stack網站調查問卷的人員的畫像,以及自己目前工作職位數據分析師在Stack中的可分析的有趣的點進行深入挖掘,當然報告中也不乏彩蛋,Did you get anything about that?

假設問題

  • Stack Overflow(後面簡稱SO)想要針對自己的用戶推送一篇廣告,假設針對所有用戶推送,那SO的用戶畫像到底是什麼樣子的?
  • SO想要在其他平臺上做SO的推廣廣告,那麼應該在哪些平臺發佈可以使自己的推廣效果達到最大呢?

問題解析

作爲一名數據分析師,我可以從數據集中得到接受調查人羣的用戶大致畫像,當然這只是整體狀況(後續進階還可以對SO用戶聚類,分別推送不同的廣告),然後從用戶畫像的角度配合策劃部門拿出廣告方案。

▌Stack到底是什麼樣子

首先需要說明的是,Stack這個調查問卷做了很多年:從11年到18,有感興趣的分析師朋友可以自行去查看原始數據,這裏我只取了17年和18年的數據,探究一下這兩年的情況,兩年的數據佔比用下圖表示:

OK,18年的數據偏多,正好,這樣的數據時效性還是不錯的,那我接着往下探究,看看我們數據呈現了一個怎樣的畫像。

一維數據畫像

  • 性別:68%的男性從業人員,這裏想到了一個探究方向:如果後面工資分析中發現在其他條件相同的情況下,女性的工資普遍低於男性,那這也許是女性這麼比率這麼低的一個原因;
  • 年齡:刷SO的人員基本維持在18-44歲,主力軍爲25-34,這個年齡也是最容易產出成果的年齡,目前看來這個產業還是比較朝陽;
  • 編程年齡:編程時間比較多的是3-5年,6-8年和0-2年也緊隨其後,雖然互聯網編程已經出現了這麼多年了,還是有大批新生軍涌入,不斷提供新的語言等;
  • 興趣與開源:從興趣來看,SO的用戶是以編程爲愛好的,並且同比2017年還有5個百分點的增長;開源方面,雖然超過一半的人沒有對開源程序做過貢獻,但是開源還是一個增加的趨勢,對比17年增長了10個百分點還多,起碼對於接觸編程的人來說,開源共享應該是一個大方向了。
  • 國家:不出意外的美國獨佔榜首,從顏色深度來看,印度,歐洲經常刷SO的大牛還是很多,中國顏色較淺;
  • 工作:後面幾個是關於工作方面的探究:大部分人員滿足於當前的工作,但是對好的時機也是非常歡迎,電腦工作時間大多保持在9-12小時,看來有相當一部分人的工作時間應該超過12小時了,程序猿加班果然名不虛傳~
  • 廢寢忘食:既然大家工作時間還比較長, 會不會像之前傳言的廢寢忘食的狀態呢,正好有相關數據,就順帶探究了一下發現,高達63%的用戶並不會因爲工作而廢寢忘食,看來大家的健康意識還是非常好;
  • 跳槽頻率:57%的人在兩年內換過工作,看來還是比較頻繁,結合之前工作滿意度的直方圖,看來大家把握機會的能力很強;公司規模,45%的人在100人一下的中小型公司,看來大部分互聯網公司差不多也是這個比例;
  • 對自己的定位:62%的人員不認爲自己與其他編程人員有親緣關係;56%的人認爲自己比同齡人要強一些;71%的人能意識到自己在與同齡人競爭,總得來說是對自己比較自信,明白自己與什麼人在競爭且對同行的認同感不是非常強烈;
  • 新知識學習:大家對新語言新平臺的學習,自學加積累學習合計高達65%,說明這羣人有着非常強的自學能力。
  • 學習方式:細看學習方式發現,大部分OF用戶還是使用最權威的官方手冊,當然在OF上提問或者學習的比重也不輕;

二維數據畫像

既然說到到了工作,那對接觸編程語言的人來說,目前什麼樣的語言最流行,大家最看好什麼樣的語言,肯定是比較關心的,那麼我針對SO的調查報告數據輸出了詞雲和蝴蝶圖,比較直觀的展示了趨勢:

  • 首先從詞雲中可以看到,Java,Python,SQL,HTML,CSS等都是比較熱門的語言,但是具體數值並不清楚,爲了嚴謹起見,緊接着輸出瞭如下蝴蝶圖;
  • 在蝴蝶圖中隱藏了一些正在使用和想要學習都比較少的語言,然後將想要學習多於正在使用的語言超過兩個百分點的標爲明亮顏色,就得到的上圖;
  • 在蝴蝶圖中可以看出,Python可以說是當下最熱的語言了,Go和Swift語言也緊隨其後,可以說很好的反應了當下的趨勢,看來爲了掌握數據分析的技術學習Python是一個非常正確的決定。

關於查看不同語言出現次數代碼:

dfMerge[~(dfMerge.LanguageWorkedWith.str.find(";")>0)].LanguageWorkedWith.value_counts()

隨後又輸出了使用平臺和使用DataBase的蝴蝶圖,得到下面兩張圖。

編程平臺

  • 在平臺中我們能看到,WIndows雖然在目前使用中有絕對的優勢,但是大家對其未來並不是十分看好,有相當一部分人將眼光投向了更爲穩定安全的Linux,看來最近公司招聘的JD中,許多要求熟悉Linux也不無道理~
  • Android和AWS都在這兩年有穩步的上升,而對比而言,關於蘋果的編程相比幾年前的大熱的熱度就下降了許多,也許是應爲Android更爲開放,許多手機廠商對其深度優化,這些都是可以考慮的點,感覺手機仍然是很重要的一個接口,手機智能開發只會越來越深入,也許對未來手機廠商來說這些編程平臺的使用是一次換血的機會也說不準呢。

數據庫使用

  • 數據庫的使用與否多還是看公司使用什麼樣的數據庫,所以這裏大家的意願也可能多體現了公司的方向或者想去的公司的方向;
  • 相比較而言,SQL語言中PostgreSQL是增幅比較快的,MySQL和SQL Server的佔有度有所下降,看來Udacity數據分析入門教授的的PostgreSQL還是比較有先見之明的;
  • MongoDB也是近些年來非常火的數據庫,看來學習MongoDB也在所難免,從上圖將近10%的上升率就能深刻體會到。

圍繞工資展開的研究

在處理工資變量的時候遇到了比較多的問題,因爲很多年薪顯示超過了1百萬美元,基於可比較性,年薪過大的要麼是出於個人原因不願意透露而故意填的,要麼是真的如此高的工資的探究性也不再目前範圍內,所以將超過1百萬美元的數據排除在外之後得到下面可視化圖形:

  • 工資直方圖是一個很明顯的正偏態圖形,大部分數據集中在120000美元附近,總得來說正是一個比較大的數據,也就是說從事代碼相關工作的人工資都還尚可;
  • 從工資與性別的柱狀圖中也能大致回答我之前的疑問,看來大部分與代碼接觸的工作,工資對女性來說都沒有什麼吸引力,這因該也是造成SOF女性成員偏少一個原因;

大家比較關心編程時間和工資是否有什麼關係,於是我輸出了兩者的散點圖,在其上加上了箱線圖,這樣可以得出更加完整的結論:

  • 從圖中可以看出基本上是有一個接觸代碼時間越長工資上漲的趨勢的。
  • 但是從12-14年後趨勢放緩距劇烈,基本保持水平(均值與中位數)。
  • 0-2年的編程經歷,工資浮動最少(離散度較小),從3年開始到14年之間,工資浮動加大,也就是說3年後是真正拉開差距的時候了,能力的強弱,接收新知識等諸多因素共同影響你的工資的上限可以在哪裏,所以前兩年屬於積累去,大家一定把握住,說不定第三年就井噴了。

第三個表格探究了使用不同語言編程與工資之間的二維表格,可以明顯看出來什麼語言大致能拿到什麼樣的工資:

  • 跟數據分析相關的語言拿工資最高的居然是Matlab,我查看了底層數據,使用Matlab語言工作的數據只有7條,所以這個工資可能還有待商榷,且他們未來意象學習的語言中,基本都包含了Python和C等比較熱的語言,所以只掌握Matlab語言的朋友,也許目前工資比較高,但是爲了以後着想可以開始儲備一下其他原因。
  • 編程語言中,筆者不是非常懂的就不妄加評論了,大家有會相應語言的可以自己參照上表,下面對比照比較熟悉的Python、SQL和R解讀一下表格;
  • 可以說三種在數據分析中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章