星巴克鐵粉必備:你的收集欲,數據來買單!
文/Amy Tzu-Yu Chen
星巴克的杯子那麼多,最受歡迎的究竟是哪一個?來自紐約數據科學院的Amy使用網路抓取了星巴克的3698款馬克杯,通過數據可視化和K-means聚類演算法,對全世界的星巴克愛好者們進行研究。
為什麼要做這個項目
我們都有各自的愛好。
愛ta,就要擁有ta嘛,所以有人狂刷eBay和古董店收集各種老式海報;有人在Footlocker外面通宵排隊,只為搶到一雙限量版籃球鞋。
有時這種愛好並不能得到所有人的認可,認為耗費大量時間和金錢收集看起都差不多的東西,還蠻瘋狂的。
當然了,我的愛好我做主,不管你愛好什麼,喜歡收藏什麼,你都能在身邊或是網路上找到志同道合的朋友,共同愛好者的社區,在那裡大家都有著共同的語言。
有這麼一群人,他們是星巴克馬克杯的狂熱愛好者,自稱為「muggers」,活躍在Facebook,eBay和其他在線社交平台,積極地從世界各地的其他收藏者手裡交換或購買自己想要的星巴克馬克杯。
我個人也是個杯子控,並且對和我有相同愛好的人們感到好奇。他們都在哪兒?藏品數量是多少?現在最in的是哪一款?
所以我想使用網路抓取,數據可視化和K-means聚類演算法<K-means clustering>(非監督學習演算法),對全世界的星巴克愛好者們進行研究。
網路抓取:數據採集
http://Fredorange.com,最大的星巴克愛好者社區在線平台之一,是由一個奧地利星巴克杯收藏家創建的網站,目的是為廣大星巴克控們提供一個分享有關星巴克產品的信息的平台。
Muggers也可以在這個網站進行交易。無論是剛被種草還是骨灰級的星巴克粉絲,無論是想指導星巴克最新產品的發布信息或想炫耀一下自己的藏品,http://Fredorange.com都是世界各地星巴克粉絲們的第一選擇。
根據http://Fredorange.com記錄,星巴克迄今為止發行了5506款馬克杯,排名第一的mugger,已經收集到了其中的3698款。
為了可視化這些信息,需要從http://Fredorange.com上對以下信息進行抓取,創建一個星巴克馬克杯和收藏者的資料庫。
首先是馬克杯:姓名,城市,國家,版本,擁有者數,尋求者數,交易者數。
其次是用戶數據:用戶名,城市,國家,擁有馬克杯的數量,想入手的杯子數量,曾經的交易數量。
使用Python的BeautifulSoup和pandas包,我從http://Fredorange.com中抓取了所需的信息。
馬克杯的可視化分析
數據清理是很有必要的一個步驟,可以讓我們得到更真實更準確的數據。
由於Fredorange在註冊帳戶時沒有城市和國家/地區的選項,而是需要用戶手動進行輸入。這導致,用戶信息中的城市和國家有許多拼寫錯誤,不同拼寫,或使用了英語以外的語言進行填寫。此外,一些用戶僅填寫了自己所在的城市,國家這一項是空白,所以我們還需要通過其所在城市弄清此用戶位於哪個國家。
我還創建了一個Shiny App,以求更直觀的了解這一群體,還能可視化各款馬克杯的市場行情。
這個App由以下四部分組成:
- Geography:星巴克馬克杯的原產國和愛好者的地理分布的地圖。
- K-means Clustering: 基於K-means演算法的馬克杯。
- Collectaible Editions: 顯示不同版本馬克杯的稀有度和流行度的散點圖。
- Collectible Country: 不同原產國馬克杯的稀有度和流行度的散點圖。
我們可以看到星巴克產品和愛好者的地理分布。美國擁有最多的產品和愛好者,毋庸置疑。在地圖中選擇「...不包括美國」("... excludingUSA")這一項,還能可視化美國以外的收集器和產品的地理分布。
下圖是在美國以外的星巴克馬克杯收藏者的地理分布圖。我們不難發現,收集星巴克馬克杯在加拿大,西歐地區和東亞地區也相當的受歡迎。
讓人略感意外的是,德國的muggers的數量超過了加拿大,排在在美國之後。
第二步我使用了K-means聚類演算法處理收集者,求購者和交易者數量等數據。 k的選擇基於對不同k的群內方差的檢查。參數nstart設置為100,代表演算法在選擇最低的群內方差之前將運行100次。
下圖顯示了基於K-means演算法的馬克杯排名系統,橫坐標代表擁有者的人數,縱坐標為收藏者的人數。
為讓我們能更有效地了解每個杯子的價值,我們將各種馬克杯分為了5類,紫色代表容易收集到,紅色代表有一定收集難度,黃色代表很難買到,綠色代表這款杯子非常稀有也很難收集到和藍色代表稀有程度不確定。(K均值聚類是一種無監督的演算法,因此排序系統不是分類模型。)
Shiny App的最後兩個選項卡,我選擇了四個版本和六個國家/地區來進行研究。大家可以僅選擇版本或感興趣的國家來可視化每個杯子的供應和需求。將滑鼠懸停在每個數據點上,即可查看杯子的詳細信息。
下圖是不同版本馬克杯市場行情的散點圖。使用來自尋求者和所有者的兩個新變數來幫助可視化流行版本和原產地的杯子的供應和需求。
橫坐標代表Popularity,受歡迎的程度,根據希望收藏這款馬克杯的人數來衡量,數值越大,說明想要這款杯子的人越多。
縱坐標代表Scarcity,稀有程度,數值越大代表擁有這款杯子的人越多。
從圖上我們可以看到,人氣高且收集人不多的杯子很可能是很難找到杯子。而人氣不高,發行量大的杯子則很容易找到。
注: 文章僅代表作者觀點,不代表DT財經立場。文中使用了python的BeautifulSoup、pandas包,以及R的shiny、dplyr、plotly、countrycode包。
題圖 | 個性網
期待更多數據俠乾貨分享、話題討論、福利發放?在公眾號DT數據俠(ID:DTdatahero)後台回復「數據社群」,可申請加入DT數據社群。
關於DT×NYCDSA
DT×NYCDSA 是DT財經與紐約數據科學學院合作專欄。紐約數據科學學院(NYC Data Science Academy)是由一批活躍在全球的數據科學、大數據專家和SupStat Inc. 的成員共同組建的教育集團。
數據俠門派
本文作者Amy Tzu-Yu Chen,加州大學洛杉磯分校(UCLA)統計學學士,輔修德語、日語和城市/地域研究。喜歡運用統計分析,機器學習技術和批判性思維來解決問題。
加入數據俠
「數據俠計劃」是由第一財經旗下DT財經發起的數據社群,包含數據俠專欄、數據俠實驗室系列活動和數據俠聯盟,旨在聚集大數據領域精英,共同挖掘數據價值。了解數據俠計劃詳情請關注DT數據俠回復「數據俠計劃」,投稿、合作請聯繫datahero@dtcj.com。
推薦閱讀:
※學習是一種狀態
※我用數據分析了一切,卻還是不知道你愛不愛我
※花式玩轉博物館,用數據和藝術品來對話!
※城市沙丁魚的夢想:和高密度居住空間說再見