

摘要:對數據進行高效的分析挖掘并可視化地展現其背后潛藏的商業價值在今天顯得尤為重要,擁有豐富的工具包與活躍開源社區的Python是許多商業數據分析者的首選。文章介紹了利用Python的cufflinks庫來實現動態可視化繪圖,使得對電商運營的監控與決策更為直觀、清晰和及時。
關鍵詞:商業智能;數據可視化;Python;cufflinks
中圖分類號:TP3-05 文獻標識碼:A 文章編號:1006-8228(2020)08-72-03
0 引言
互聯網時代電商的崛起,使零售行業的競爭變得越來越激烈,線上線下結合已成為企業運營的方向和潮流。為了洞悉零售與電商的運營,傳統的財務報表管理已不適應潮流,需要更精細直觀的數據化管理。經濟學中最經典的概念“看不見的手”正在被另外一個更加重要的概念“看得見的數據”所替代。合理高效的分析,挖掘與可視化數據,對企業掌握市場環境、營銷流量,運營管理等很有幫助[1],這也將最大程度上實現數據與商業的賦能。隨著近年來商業智能(Businesslntelligence,以下簡稱BI)的崛起,Python語言在網絡爬蟲,機器學習,數據可視化等領域的價值日漸增長[2]。
1 Python中的動態數據可視化工具
Python的Matplotlib與Seaborn兩個繪圖庫可繪制精美的靜態可視化圖片。但對于要求較高的時間序列類型的繪圖,靜態的數據可視化繪圖已無法很好的滿足精細化時段的查看與同步分析。Bokeh,pyecharts與Plotly是實現動態數據可視化的幾大常用Python庫,其中Plotly是一個用于Python的交互式、基于瀏覽器的高級聲明式繪圖庫,它擁有所有Python繪圖庫中最全的API和最強大的交互工具,支持科學、統計學、金融、地理、3D等多個領域多種樣式的圖表,被廣泛應用于印刷出版物和創建網站。pyecharts則是由百度開源的數據可視化Echarts與Python語言結合而來,亦能很好的實現常見的動態圖表并將其部署至主流的Web框架中。但美中不足的是,這幾大常用的Python庫都存在可視化代碼冗長和需要比較繁瑣的額外函數來進行繪圖的缺點。作為Plotly的包裝器,Cufflinks通過將所有的繪圖方法都封裝到類似Pandas繪圖對象的plot0方法iplot0中,很好的解決了這個問題,但它卻常常被人忽略。本文結合常見的商務案例,采用Python的Cufflinks實現了僅用一行代碼就能畫出簡潔、美觀、多樣的交互式圖表。
2 利用Python的cufflinks庫進行數據可視化
周權重指數是以某段銷售周期內的歷史日銷售額數據為基礎,以周為單位,進行權重分析處理的一種管理工具,它是一個相對概念,每個企業都不盡相同,一般介于7.0-14.0之間。值越大表示該企業或者店鋪的日銷售額波動幅度越大。周權重指數是零售店鋪用來量化各種銷售狀況、銷售事件的管理工具,非常強大。單位權重值則是日銷售除以日權重指數的結果,該指標解決了“時間標準”沒有可對比性的原則(如周一與周六的銷售額對比),如果一個零售店鋪的每日銷售額是絕對服從周權重指數的規律,那對應的權重曲線則將是一條絕對的水平直線,但是這種情況根本不可能出現,所以正常的權重值曲線是一條圍繞某個值變化的曲線,正是這種變化給我們提供了去洞悉某些營運現象的可能[1]。
本例的數據集為2019年8月廣州某服裝店的銷售數據,經過清洗與處理后再使用Python的cufflinks庫來來進行動態可視化,可實現及時直觀監控異常銷售情況。
2.1 數據預覽
案例數據集中的部分數據見表1。
2.2 代碼實現與繪圖結果
兩家店鋪的權重值曲線的時間序列折線圖的繪制代碼如下,結果如圖1和圖2所示。
#注釋:繪制折線圖與箱型圖 df.iplot(kind=line,x=[時間】,y=['店鋪1權重值曲線,
店鋪2日權重值曲線】,colors=['blue,green'l) df.iplot(kind='box,y=[店鋪1權重值曲線,店鋪2日權重值
曲線】,legend=False,title=兩店鋪該月每日權重值分布)
2.3 代碼分析
Python的Cufflinks代碼簡潔,與Python中的Pandas繪圖非常類似,在iplot0函數中添加的參數與pandas中的plot繪圖方式大同小異,但cufflinks的成圖在解決常見的中文橫縱坐標顯示及圖片樣式背景問題的同時還可根據鼠標的拖動而顯示橫坐標對應的動態數值,更方便查看指定日期的對應數值,另外,圖示右上角的功能區還可實現時間段的選擇并縮放(即查看具體的時間段),一鍵下載與橫縱坐標的調整,功能齊全并兼具了高級美感,圖示右下角的轉換功能還可實現一鍵轉Plotly繪圖并部署至Web框架中[3]。
2.4 圖片結果分析
從上面的折線圖可以看出,八月份大部分的時間兩家店鋪的單位權重曲線都比較平穩,并未出現頻繁波動。但店鋪1出現了較為明顯的月末踩剎車現象(零售業專業術語),原因可能是:①店鋪已經或即將完成了當月的目標,員工心態上出現了松懈;②員工們擔心本月銷售額完成得過多將導致下月目標被拔高,進而有意識或無意識的放松了心態;③發現月底目標無法達成于是破罐破摔的踩剎車;④店鋪員工藏匿銷售,本該本月錄入系統的銷售,人為轉移到下月初才錄入系統。反觀店鋪2,則出現了明顯的月初放松現象,原因可能為:①上月末拼得太兇,本月初習慣性地心態放松幾天;②上月末有虛增銷售額的現象,本月初將虛增部分做退貨處理??偠灾?,無論是月初放松還是月末踩剎車,抑或是月中出現上述的兩種現象,都會對銷售的最大化造成傷害。通過直觀清晰的動態可視化繪圖,相關管理者可以及時發現問題,商討解決方案。
3 結束語
數據可視化的本質在于將數據以圖形化的方式呈現,讓觀眾有視覺化思考的能力,放在若干年前,其實就是EXCEL與PPT的結合。但隨著相關技術的成熟和人們對閱讀體驗的需求更新,大量的數據可視化工具應運而生。數據可視化的需求場景中,一種是“看”,即主要作用是展示匯報,是信息的獲取,讓管理者、營運者、業務人員更好的獲取相關信息;另一種是“用”,主要目的在于交互管理,是數據的應用。越來越多的信息系統中加入了數據可視化的內容,給應用程序帶來了很大的易用性和可理解性。但是對不同領域的數據進行可視化展示時,圖表設計往往與領域數據相結合,無法獨立出來,帶來了大量重復性工作。在用傳統的可視化開發工具時,人們需要花費大量精力來編寫程序,影響了系統的開發效率。針對這一問題,本文提出的Pythoncufflinks庫方法可用十分簡潔且易于理解的語句實現動態數據可視化展示,并將其應用到商業智能領域中數據的前端展示。在熟悉常用的圖形與繪圖方式后,還可根據企業或個人需求開發成動態數據可視化模板,并將其單獨封裝在自己定制的Python庫中,只需根據需求添加或修改部分參數,便可又好又快的實現大量復雜的繪圖操作。
參考文獻(References):
[1]黃承明.數據化管理[M].電子工業出版社,2014.
[2]王媛媛.B/S模式下數據可視化研究及其在商業智能中的應用[D].河北工業大學,2007.
[3]羅博煒.基于Plrthon的數據可視化[J|.信息記錄材料,2019.12:72-74.
★基金項目:本文獲廣東省高校高等教育教學改革項目“基于雙螺旋結構模型的創新創業協同育人機制探索與實踐”( GDJX2017011);五邑大學2019年度省級大學生創新訓練項目(S201911349055)
作者簡介:羅博煒(1998-),男,江西人,本科,主要研究方向:大數據分析。