





收稿日期:2023-07-28
基金項目:2022年上海震旦職業學院校級科研創新項目(SHZD2022011);國家自然科學基金資助項目(61601296)
DOI:10.19850/j.cnki.2096-4706.2024.03.021
摘" 要:隨著大數據、云計算等信息技術的發展,企業已經從過去的“粗放式”運營轉變為當前注重數據分析的“精細化”運營。為了有效利用商務數據,可使用數據分析技術幫助企業獲取、整理和處理海量數據,為企業的經營決策提供積極、高效的幫助。現以一家處于虧損狀態的小型口罩工廠為分析對象,使用Python語言并通過明確目標、數據處理、數據分析、數據展現和報告撰寫的步驟完成口罩廠歷史數據分析的整個流程,從而幫助口罩廠探尋虧損問題的根本原因以及下一階段的經營發展趨勢,并為口罩廠的未來發展模式提供相關建議。
關鍵詞:Python;數據分析;商務數據;數據處理;數據展現
中圖分類號:TP312;TP399" 文獻標識碼:A" 文章編號:2096-4706(2024)03-0099-04
Application of Python Data Analysis in the Business Field
LIANG Chen1, MA Tianming2
(1.Shanghai Aurora College Co., Ltd., Shanghai" 201908, China; 2.College of Electronic and Electrical Engineering, Shanghai University of Engineering Science, Shanghai" 201620, China)
Abstract: With the development of information technology such as Big Data and cloud computing, enterprises have changed from “extensive” operations to “refined” operations that focus on data analysis. In order to effectively utilize business data, data analysis technology can be used to help enterprises obtain, organize and process massive amounts of data, providing positive and efficient assistance for business decision-making. This paper takes a small mask factory which is in a loss making state as the analytic target. It uses Python language and completes the entire process of historical data analysis for the mask factory through clear goals, data processing, data analysis, data presentation and report writing, so as to help the mask factory explore the root cause of the loss problem of the mask factory and business development trends of the next stage. And it provides relevant suggestions for the future development mode of the mask factory.
Keywords: Python; data analysis; business data; data processing; data presentation
0" 引" 言
隨著數字經濟的快速發展,數據作為現代經濟發展的重要生產要素,能有效提高企業經營管理效率,推動企業數字化變革。借助現代信息技術,充分挖掘數據的應用潛力,實現企業數字化轉型升級,是現代企業發展的必由之路。
對于企業而言,商務數據是非常重要的信息資源。運營者對商務數據進行科學、有效的分析,所得到的分析結果能夠為企業運營提供有效的指導和支持。商務數據分析[1-3]的目的主要是從數據中挖掘、提煉出有效信息,發現研究對象的內在規律。其作用主要體現在了解運營狀況、把握運營方向、控制運營成本和對營銷方案進行有效評估這四個方面。
Python[4-6]數據分析類庫日漸完善,只需要少量代碼就可以完成各種常用統計計算和數據分析模型。Python中的Pandas類庫的設計主要以行和列的形式處理數據,更加符合日常批量數據處理的需求[7]。因此,Python已成為商業數據分析的重要工具。
本文使用Python對一家處于虧損狀態的小型口罩工廠進行數據分析,通過明確目標、數據處理、數據分析、數據展現和報告撰寫的分析流程,探尋該廠虧損的原因和發展態勢,為企業戰略及商業決策提供數據支持。
1" Python語言
Python是一門應用十分廣泛的計算機語言[8],在數據科學領域具有無可比擬的優勢,逐漸成為數據科學領域的主流語言之一。其優勢在于語法簡單精練、擁有大量第三方庫、功能強大、易于移植、適合在數據分析、機器學習、科學數據可視化等場景中應用[9-11],故選擇Python作為商務數據分析的開發語言。
2" 商務數據分析流程
商務數據分析與一般的數據分析的區別在于前者側重商業場景。商務數據分析需要結合內部和外部的數據來深入剖析商業問題,基于具體的商業場景和邏輯,把數據作為原始材料,對數據進行相應的邏輯和結構化處理,通過數據來洞察實際商業問題。商務數據分析流程為明確目標、數據處理、數據分析、數據展現和報告撰寫,如圖1所示。
圖1" 商務數據分析流程圖
3" Python數據分析實例
一家小型口罩工廠從2020年初開始售賣口罩,其經營過程一直處于不穩定的狀態。2020年7月初,該廠賬目出現了虧損的情況,現有該廠的2020年1月至6月的銷售額、單價、訂單量等歷史經營數據。現使用商務數據分析的五個步驟:明確目標、數據處理、數據分析、數據展現和報告撰寫對口罩工廠的經營數據進行分析。
3.1" 明確目標
在對數據進行分析之前,第一步就是要明確目標,明確目標可以分解為三個部分:明確分析需求、搭建分析框架和收集分析數據。
3.1.1" 明確分析需求
對于口罩廠的經營狀況而言,數據分析的需求是找到工廠虧損的根本原因,探尋其下一階段的發展趨勢,并找出對應的解決策略。
3.1.2" 搭建分析框架
口罩廠的虧損意味著利潤為負,所以本質上要研究的是口罩廠的利潤情況,利潤的計算式為:
利潤=銷售額-成本" " " " " " " " " (1)
現已知1月份至6月份口罩成本變動微小,所以主要從“銷售額”入手進行分析,銷售額的計算式為:
銷售額=訂單量×單價" " " " " " " " (2)
不同省份在1月份至6月份期間,訂單量可能會有所不同,有些省份的訂單量可能特別大,有些省份的訂單量可能可以忽略不計,訂單量的算式為:
訂單量=訂單量(省份1)+ … +訂單量(省份N)(3)
通過分解上述三個公式可以看出利潤主要與銷售額、訂單量、口罩單價和訂單來源省份有關。因此,可以從各月的“銷售額”“訂單量”“單價”變化趨勢以及各月各省份的“訂單量”變化趨勢來分析變化規律及原因。
3.1.3" 收集分析數據
所獲得的口罩工廠經營數據是csv格式,在導入數據后,通過使用pd.read_csv函數讀取文件中的數據。讀取的數據為訂單編號、日期、省份、訂單量、單價和銷售額,這些數據中包含之前搭建的分析框架中的銷售額、訂單量、單價和省份這些關鍵信息,可以作為后續分析的數據源,讀取的文件數據如圖2所示。
圖2" 讀取的文件數據
3.2" 數據處理
數據處理是指根據數據分析的目的,將收集到的數據進行加工、整理,形成適合數據分析的樣式。數據處理的流程可以分為數據清洗、數據整理以及數據寫入三個步驟。
3.2.1" 數據清洗
在讀取的數據中,省份一欄有的顯示NaN(缺失值),有些行呈現完全相同的數據,單價中有999 999 999.0和0這些異常值的出現。因此,需要對這些“臟數據”進行缺失值、重復值和異常值的處理。
收集的數據中可能存在空值,故需要對其進行處理,可以使用isna()方法來查找 DataFrame對象以及Series對象中的缺失值,返回缺失數據用True表示。由于總體數據量比較大,缺失值占總數據量比重較低,因此,直接將含缺失值的行刪除,不會影響后續的分析。
當多行數據完全相同時,需要對這些數據進行去重處理。可以用duplicated()方法查找重復數據,有重復值則返回True,使用drop_duplicates()方法來刪除重復的數據。
在訂單量、單價和銷售額列中,出現了特別大的值999 999 999.0以及特別小的值0,這些數值都不符合實際情況,稱之為異常值。使用describe()方法分別觀察訂單量、單價、銷售額的最大值、最小值、平均數和中位數。查詢的結果訂單量的最小值為0,在實際業務中這種情況不可能出現;訂單量的最大值為109,工廠的產能無法跟上,因此,這種情況同樣不可能發生,需要過濾這些異常值。
3.2.2" 數據整理
由于此次數據分析涉及各個月的利潤變化情況,所以需要將日期的統計數據由年-月-日調整為月份,然后作為新的月份字段保存到數據中。首先需要將日期這一列的數據類型轉換成datetime類型,這樣才能從中提取月份信息,數據整理過程可以分解成轉換日期數據、提取月份信息以及添加新列三個部分,關鍵代碼如圖3所示。
圖3" 關鍵代碼
3.2.3" 數據寫入
使用to_csv()方法,將清洗完的數據寫入csv文件中,pandas庫將csv文件讀取為DataFrame對象時都會自動生成行索引,把參數設置為index=False就可以取消寫入行索引。
3.3" 數據分析和展現
本次分析的影響因素是銷售額、訂單量、單價、各省訂單量,而且是以一個月為顆粒度,進行時間維度上的變化趨勢和原因分析,為了更直觀地從數據中發現關系、規律和趨勢,使數據可視化[12,13]并進一步從中找到工廠虧損的原因。
3.3.1" 數據可視化
對于每個月銷售額總數的統計,首先要根據月份對數據集進行groupby分組[14],同時還需要對銷售額列進行一次聚合計算,計算出銷售額的總和。為了便于更直觀地查看每個月的銷售額總數,可以直接用pandas的plot()方法[15]繪制折線圖,如圖4所示。
圖4" 各月總銷售額趨勢圖
與每月銷售額一樣,訂單量需要進行匯總計算來體現訂單的總量,這樣能代表整個月的訂單量情況,各月總訂單量趨勢圖如圖5所示。
對于單價,價格總和是沒有意義的,價格總體的規模大小、總價格的高低不能說明任何現象或問題,但是單價的平均值可以反映出某一商品在一定時期內的平均價格,在一定程度上可以體現普遍的價格數量。因此選擇平均數作為單價的統計性指標,通過分組與聚合的操作,得到數據結果,所繪制的折線圖如圖6所示。
圖5" 各月總訂單量趨勢圖
圖6" 每月平均單價趨勢圖
各月各省訂單量先按“各月”分組,再按“各省”分組,然后進行“總和”的計算,各省各月總訂單量的變化趨勢需要通過多條折線圖來直觀體現出不同省份不同月份的區別,如圖7所示。
圖7" 各省各月總訂單量趨勢圖
3.3.2" 原因剖析
從圖4到圖7中可以看出各月的總銷售額、總訂單量、平均單價以及各省在各月的總訂單量,變化趨勢極具相似性:1月到3月的折線是隨著時間增長而增加,整體呈增加趨勢,其中2月到3月增長快速;3月之后整體呈下降趨勢,3月到4月出現了“急跌”。這些圖中只有一處波動起伏,在這個起伏的最高點對應著3月的數據,所以3月為最大值。這種完全一致的變化趨勢說明總銷售額的下降是由于訂單量、單價雙雙下滑帶來的,而非某一因素單方面的影響。
通過每月總訂單量趨勢圖可以看到訂單趨勢變化的劇烈程度,3月到4月的訂單量一下子縮水了100多萬,也就是在兩三個月內迅速改變了口罩的供需關系,因此這里排除業務內部原因,比如偶發性降價促銷活動帶來的客流量上漲與衰退,以及工廠競爭能力降低帶來的市場占有率從高到低等這些內部常規運營問題。
反觀外部原因,從2020年1月底開始,國內就開始蔓延新型冠狀病毒疫情,到3月份,疫情感染人數才逐漸得到控制。可以看到疫情出現與改善的時間,與上述圖4到圖7的變化時間整體上是吻合的。疫情最嚴重的時期為2月份,3月中下旬開始,全國陸續開始復工,人群流動性增加的情況下,口罩的需求也是達到了最高點。而到3月之后,疫情好轉人們對于口罩的需求迅速回落,一直到6月銷量和價格都仍在下落的過程中。
3.4" 報告撰寫
纂寫數據分析報告的目的是將分析結果、建議以及其他有價值的信息傳遞給讀者。數據分析報告的結構可以使用總分總結構,包括項目背景、目的、分析思路、分析正文、結論及建議和附錄等。
4" 提出建議
根據上述數據分析的結果可以得出口罩廠出現虧損的根本原因是疫情逐漸穩定,口罩需求下降,6月份之后口罩廠可能仍然會持續虧損。據此結論,提出三個建議:
1)如果公司不對口罩廠進行新投入和改革,口罩廠會持續虧損,建議盡早對口罩廠進行轉讓處理。
2)如果公司對口罩廠進行新投入和改革,那需要進一步分析產品情況、營銷體系等因素對于日常營銷的影響,把握住改革重點。
3)結合國外的疫情發展,可考慮打開疫情重災國家的銷售渠道,以便保持高單價高銷量的營收模式。
5" 結" 論
用數據驅動決策是當前大數據環境下做好企業運營的必選策略之一,數據分析應貫穿商家運營的始終,是企業不斷提高經營利潤的有力武器。現以一家小型口罩工廠的半年經營數據為例,通過明確目標、數據處理、數據分析、數據展現和報告撰寫五個步驟,用Python語言完成口罩廠數據分析的整個流程,為企業的運營發展提供有效的指導和支持。
參考文獻:
[1] 何偉,張良均.Python商務數據分析與實戰 [M].北京:人民郵電出版社,2022.
[2] 師奧翔,張潔.基于改進RFM模型的電商用戶價值分類的研究 [J].計算機技術與發展,2022,32(12):123-128.
[3] 班妙璇.Python在企業財務數據分析中的應用 [J].現代商貿工業,2023,44(12):58-60.
[4] MATTSON T G,ANDERSON T A,GEORGAKOUDIS G. PyOMP: Multithreaded Parallel Programming in Python [J].Computing in Science amp; Engineering,2021,23(6):77-80.
[5] BAUER M,LEE W,PAPADAKIS M,et al. Supercomputing in Python with Legate [J].Computing in Science amp; Engineering,2021,23(4):73-79.
[6] JIANG S N,PAN P T,OU Y H,et al. PyMTL3: A Python Framework for Open-Source Hardware Modeling,Generation,Simulation,and Verification [J].IEEE Micro,2020,40(4):58-66.
[7] 賈俊平.數據分析基礎 Python實現 [M].北京:中國人民大學出版社,2022.
[8] 楊年華.Python數據分析與機器學習 [M].北京:清華大學出版社,2023.
[9] FUNK D. Creating a Low-Code Business Process Execution Platform with Python, BPMN, and DMN [J].IEEE Software,2023,40(1):9-17.
[10] CASS S. The Top Programming Languages: Our Latest Rankings Put Python on Top-again [J].IEEE Spectrum,2020,57(8):22.
[11] 李琴,李宇航,定會.基于Python的電商產品評論數據分析方法探討 [J].信息記錄材料,2022,23(5):82-84.
[12] 范路橋,高潔,段班祥.基于Python+Flask+ECharts的國內熱門旅游景點數據可視化系統 [J].現代電子技術,2023,46(9):126-130.
[13] 湯飛弘.基于Python爬蟲的招聘信息數據可視化分析 [J].軟件,2023,44(1):176-179.
[14] 謝梅芬.基于Python的個人金融數據獲取與分析 [J].數字技術與應用,2023,41(5):118-122.
[15] 尹紅麗,趙桂新.Python科學計算、數據處理與分析 [M].北京:人民郵電出版社,2023.
作者簡介:梁琛(1987—),女,漢族,上海人,工程師,碩士,研究方向:數據分析;馬天鳴(1983—),男,漢族,上海人,副教授,博士,研究方向:計算機移動通信。