數據來源於生活,掌握數據只是邁向美好生活的一小步,而我要做的是剖析數據、挖掘數據背後的潛在真相,朝著美好生活邁大步!(實則腿長優勢)

數據來源

數據集:美國航空公司乘客滿意度_US Airline Passenger Satisfaction

原始數據量(row):129881

內容(columns):乘客綜合滿意度、性別、乘客類型、出行目的、票種(頭等艙/經濟艙)、OD距離、座椅舒適度、出發抵達時間滿意度、餐飲滿意度、機上wifi服務……等23項

選取理由:……(戳下方鏈接)

Trans ail:你以為這是開始,但這根本不是?

zhuanlan.zhihu.com
圖標

前些天我有過這樣一番困擾,我覺得用滿意度調查數據分析來分析去也分析不出什麼深層次的東西,說白了就是門檻低,有些low,甚至不需要任何過硬的業務知識,但是這樣錯誤的認識剛冒出頭就被踩死了。

你說巧不巧!剛好昨天南航來我學校開了一場招聘會,了解到航空公司的客運營銷貨運營銷兩個崗位的工作都要做相關數據分析。通過進一步的思考,我明白了只有了解一個行業的特質、特性,才能有針對性的對某個企業的「滿意度調查數據」進行深度的挖掘。以剛剛提到的兩個崗位為例,深度剖析當前客戶群體的滿意度調查結果,對於改進營銷策略、更新營銷方案、優化產品屬性起著關鍵作用。

選定這一樣本集的時候,我曾計劃要對美國航空公司滿意度調查結果進行多維度分析,那麼具體有多麼多,多到什麼程度,請您擦亮眼睛繼續閱讀。

1min擦眼睛(鏡)

艾瑞巴蒂 follow me !

提出問題

在進行數據處理之前,我們要明確此次數據分析的目的。目的如下:

  1. 了解旅客對美國航空服務的整體滿意情況,以及各項具體服務的滿意情況,以便有針對性的改善服務質量,提升用戶體驗。
  2. 了解各項服務對於整體滿意度的影響程度,以便在資源有限的前提下有側重的改善服務,從而提升整體服務水平的競爭力。
  3. 了解旅客分布情況,以及對各項服務的需求程度,合理分配有限資源。
  4. 了解航班的準點率、延誤程度以及旅客對於航班延誤的敏感程度,從而有針對性的提出改善意見,提升用戶體驗。

理解數據

我們要理解每一列列標題是什麼含義,也就是明確每一列數據的主人是誰。考慮到樣本集列數過多,這裡藉助pandas工具得到所有列名欄位,代碼如下:

import pandas as pd

pd.options.display.max_columns=999
satlev = pd.read_excel(E:/晉陞/猴子學習/猴子第一關/數據fromGoogle/美國航空滿意度/美國航空公司乘客滿意度_處理.xlsx)
print(satlev.columns)

結果如下:

Index([id, satisfaction_v2, Gender, Customer Type, Age,
Type of Travel, Class, Flight Distance, Seat comfort,
Departure/Arrival time convenient, Food and drink, Gate location,
Inflight wifi service, Inflight entertainment, Online support,
Ease of Online booking, On-board service, Leg room service,
Baggage handling, Checkin service, Cleanliness, Online boarding,
Departure Delay in Minutes, Arrival Delay in Minutes],
dtype=object)

數據清洗

在理解數據含義的前提下,開始數據分析的核心環節——數據清洗。在數據分析工作中,由於我們從網路上獲取的數據體量過於龐大,難免出現數據格式不統一、數據內容缺失、數據內容重複等問題,所以在這一環節我們要花費近60%的時間。

值得注意的是,數據清洗是一項龐大工程,需要反覆進行,直到精盡而亡。

具體流程分為七步:

1.選擇子集

只選擇對數據分析有意義的欄位(列),將無意義的欄位隱藏掉。但考慮到原始數據質量較高,除了id,並沒有無意義的欄位。而id列雖然在數據分析過程中沒有作用,但是在後面的步驟中需要用到此列,此時無需隱藏。(盡量不刪,保證數據的完整性)

2.列名重命名

考慮到原始數據列欄位為英文,這裡將其翻譯為中文並調整為好理解的形式,結果如下:

Index([id, 滿意度, 性別, 旅客類型, 年齡, 出行性質, 坐席等級, 飛行距離, 座椅舒適度,
OD時間便捷程度, 餐飲服務, 登機門位置, 機上wifi服務, 機上娛樂, 網路支持, 訂票容易度,
機上服務, 腿部空間, 行李分揀, 值機服務, 清潔度, 網上登機, 起飛延誤(分鐘), 到達延誤(分鐘)],
dtype=object)

3.刪除重複值

對重複數據進行刪除,這裡我們對id列進行刪除重複值處理。

操作步驟:選中id列-點擊數據選項卡中的刪除重複值-選擇擴展選定區域-點擊刪除重複項-點擊取消全選-勾選id列-點擊確定

刪除重複值

由於原始數據集質量較高,因而並沒有旅客調查信息被重複錄入。

此時,id列已經沒有用了,可以右鍵選擇此列點擊隱藏

4.缺失值處理

通過選取各列,比對右下角計數項發現到達延誤(分鐘)列有129881-129448=433個缺失值。因此,我在到達延誤(分鐘)列定位空值,輸入數據後按Ctrl + Enter批量填充。

操作步驟:選中到達延誤(分鐘)列-點擊開始選項卡中的查找和選擇-選擇定位條件-勾選空值-點擊確定即鎖定缺失值單元格位置-填入0-按Ctrl + Enter批量填充

缺失值處理的 4 種方法:

①通過人工手動補全

②刪除缺失的數據

③用平均值代替缺失值

④用統計模型計算出的值去代替缺失值

5.一致化處理

我們需要對數據進行統一的命名和處理。

為了方便對坐席等級進行排序,我在坐席等級列右側插入一列,在I2單元格中鍵入=IF(G2="Business",1,IF(G2="Eco Plus",2,3)),這樣就可以將坐席等級轉換為數字了,其中1表示商務座、2表示優等經濟座、3表示經濟座。

在Y列右端插入列,命名為總延誤時長,計算起飛延誤和到達延誤的總和,方便後續分析延誤總時長對旅客滿意度的影響。

在這一步中,通常要使用幾個常用的Excel功能、函數,對你的數據進行一致化處理。

如果你手中的原始數據有一列是薪酬範圍,而你想要提取最低、最高或平均薪酬,那麼首先要對工資範圍進行分列,使用到下圖中分列功能。

常用函數(用於提取字元串中的部分字元信息):

  • LEFT(單元格A,數字b)的結果是截取得到單元格A中左邊b個字元
  • FIND("字元p",單元格B)的結果是字元p在單元格B的字元串中所處的位置(即從左數第幾個字元)

表示將T2單元格裡面從左開始k字母之前的所有字元全部拿到

6.數據排序

為了回答文章開始提出的問題,我們需要大量、反覆使用排序功能,在這裡對滿意度進行排序。排序後發現,在129881名旅客中有71088名旅客對美國航空的整體服務是滿意的。

7.異常值處理

首先,選擇數據區域範圍,插入數據透視表和透視圖,然後利用數據透視表觀察有沒有異常值。

比如對飛行距離進行異常值檢查,將飛行距離欄位拖動到軸(類別)框中。

通過觀察數據透視表中數據,發現並沒有異常值。用同樣的方法逐個檢查各欄位數據信息,並將檢查到的異常值項剔除。

構建模型

回顧前面提出的問題,我們在這一環節,將這些問題逐一擊破。


  • 美國航空服務的整體滿意情況

旅客男女比例接近1:1並且數據量龐大,可以排除偶然因素。可以看出,女性對美國航空的整體服務更滿意。

通過對比不同旅客類型對美國航空整體服務的滿意度,可以發現,忠實用戶群體中有更多比例的人對美國航空的整體服務更滿意。由此可見,忠實還是有道理的~

旅客年齡範圍為7歲~85歲,將年齡進行分組,匯總發現年齡構成大致呈正態分布,40歲~49歲的旅客人數最多。

通過對比不同年齡段的滿意度發現,只有40歲~59歲年齡段的旅客滿意人數明顯高於中立或不滿意人數。

通過對比不同出行性質的旅客滿意度發現,因公事出行的旅客對美國航空的整體服務更滿意。同時,通過數據透視表的總計數據可以看出,超過三分之二的旅客是因公事需要出行。

通過對比選擇不同坐席的旅客滿意度發現,在各自的級別內部,坐席級別越高滿意的比例越大。同時,通過數據透視表的總計數據可以看出,選擇商務坐和經濟坐的旅客量最多,這可能與飛機艙內不同級別座椅設置情況有很大關係。

通過對比不同飛行距離的旅客滿意度發現,在50~1049(公里)範圍內,旅客更容易滿意。同時可以看出,絕大多數旅客的出行距離在4049公里以內。


  • 各項具體服務的滿意情況

通過觀察旅客對於各項具體服務的滿意情況與整體滿意度的關係發現,座椅舒適度、餐飲服務、機上wifi服務、機上娛樂、網路支持(線上服務)、訂票容易度、機上服務、訂票容易度、機上服務、腿部空間、行李分揀、值機服務、清潔度、網上登機(網上選座)的單項服務滿意度均與整體滿意度有較強的相關性。

通過上面兩幅圖我們發現,無論是什麼級別的坐席,大家對座椅舒適度的滿意程度都差別不大。事實上,橫向比較的話,等級越高的坐席座椅本身的舒適度是更高的,從這個角度我們可以分析得出這樣的結論,即坐在商務座上享受著更舒服的座椅的旅客對座椅本身有著更高的要求。

對於各項具體服務的滿意情況分布特徵,採用軸(類別)為該項服務、值為計數項:該項服務的形式分配數據透視圖欄位,如上圖所示,可以看出OD時間便捷程度有待提升,但是考慮到OD時間便捷程度與整體滿意度的相關性很低,所以在資源有限的前提下,將後考慮OD時間便捷程度的服務改善。

同樣的,餐飲服務、登機門位置、機上wifi服務、腿部空間、網上選座等服務的滿意度均與OD時間便捷程度呈相似特徵,這些項服務的服務水平均有待提升。

相比上面提到的那些服務項,機上娛樂的服務水平表現更好,網路支持、訂票容易度、機上服務、行李分揀、值機服務、清潔度有同樣表現。


  • 航班的準點率、延誤程度以及旅客對於航班延誤的敏感程度

分組0為起點,步長500

分組1為起點,步長500

分組1為起點,步長60

分組1為起點,步長60,滿意度對比

從上面四張圖(不同的)可以看出:

  1. 幾乎所有的航班延誤情況都在500分鐘以內。
  2. 延誤在500分鐘內的航班,其延誤時長絕大多數集中在一小時以內。
  3. 通過計算得到,大約有54.2%的航班發生延誤。
  4. 旅客的滿意度並沒有呈現出明顯的「延誤越久,滿意人數比例越低」的特徵。

從下文的相關性分析結果以及航班延誤情況時長的分布特徵,可以看出總延誤時長對於整體滿意度的影響並不大,這也反映了選擇飛機作為出行工具的旅客除了個別趕時間的情況和延誤時長過長情況外,對於航班「準點率低」這一特點有較高的容忍度。

服務改善意見

首先藉助pandas進行相關性分析,為了便於分析各項服務與滿意度的相關性,在數據Excel表格中滿意度列右側插入一列,命名為#滿意度,並插入函數將滿意度用數字形式表示,具體如下圖所示。

(註:只能對數字進行相關性分析)

代碼如下:

import pandas as pd

pd.options.display.max_columns=999
satlev = pd.read_excel(E:/晉陞/猴子學習/猴子第一關/數據fromGoogle/美國航空滿意度/美國航空公司乘客滿意度_處理.xlsx,sheet_name=satisfaction_v2)
print(satlev.corr())

結果如下:

id #滿意度 年齡 #坐席等級 飛行距離 座椅舒適度
id 1.000000 -0.013728 0.020322 -0.097509 0.054986 -0.019559
#滿意度 -0.013728 1.000000 -0.117971 0.305535 0.039224 -0.242384
年齡 0.020322 -0.117971 1.000000 -0.140504 -0.249625 0.008784
#坐席等級 -0.097509 0.305535 -0.140504 1.000000 -0.156763 0.029539
飛行距離 0.054986 0.039224 -0.249625 -0.156763 1.000000 -0.042409
座椅舒適度 -0.019559 -0.242384 0.008784 0.029539 -0.042409 1.000000
OD時間便捷程度 0.001293 0.015507 0.039055 0.054372 0.001350 0.434951
餐飲服務 0.012607 -0.120677 0.015749 -0.049988 -0.004649 0.715997
登機門位置 0.000669 0.012071 -0.000547 0.004061 -0.002409 0.405300
機上wifi服務 -0.000384 -0.227062 0.013965 -0.061161 0.012230 0.129131
機上娛樂 0.054693 -0.523496 0.130511 -0.241687 -0.027542 0.426447
網路支持 0.054023 -0.390143 0.121201 -0.177992 -0.032022 0.120278
訂票容易度 0.000830 -0.431772 0.071594 -0.128616 -0.022299 0.211531
機上服務 0.055978 -0.352047 0.066704 -0.160818 -0.032559 0.121149
腿部空間 0.042325 -0.304928 0.083762 -0.125820 -0.030316 0.136136
行李分揀 0.074625 -0.260347 -0.015452 -0.120381 0.019768 0.118489
值機服務 0.082644 -0.266179 0.031845 -0.129967 0.002456 0.041214
清潔度 0.080834 -0.259330 -0.018271 -0.114833 0.009432 0.108475
網上登機 0.025328 -0.338147 0.037973 -0.097763 0.009604 0.130396
起飛延誤分鐘 -0.017643 0.073909 -0.009041 0.009877 0.112555 -0.023817
到達延誤分鐘 -0.035405 0.080487 -0.011206 0.013974 0.109733 -0.025463
總延誤時長 -0.026838 0.078009 -0.010233 0.012058 0.112284 -0.024898

OD時間便捷程度 餐飲服務 登機門位置 機上wifi服務 機上娛樂 網路支持
id 0.001293 0.012607 0.000669 -0.000384 0.054693 0.054023
#滿意度 0.015507 -0.120677 0.012071 -0.227062 -0.523496 -0.390143
年齡 0.039055 0.015749 -0.000547 0.013965 0.130511 0.121201
#坐席等級 0.054372 -0.049988 0.004061 -0.061161 -0.241687 -0.177992
飛行距離 0.001350 -0.004649 -0.002409 0.012230 -0.027542 -0.032022
座椅舒適度 0.434951 0.715997 0.405300 0.129131 0.426447 0.120278
OD時間便捷程度 1.000000 0.527381 0.544259 -0.001974 0.077203 -0.000546
餐飲服務 0.527381 1.000000 0.523328 0.025917 0.367669 0.028554
登機門位置 0.544259 0.523328 1.000000 -0.004086 -0.000280 0.002908
機上wifi服務 -0.001974 0.025917 -0.004086 1.000000 0.253823 0.557340
機上娛樂 0.077203 0.367669 -0.000280 0.253823 1.000000 0.441957
網路支持 -0.000546 0.028554 0.002908 0.557340 0.441957 1.000000
訂票容易度 0.001755 0.041189 0.001442 0.601100 0.321731 0.617489
機上服務 0.060446 0.038646 -0.025132 0.060794 0.183912 0.157930
腿部空間 0.029422 0.074161 -0.007407 0.033589 0.160731 0.138433
行李分揀 0.067396 0.036370 -0.000401 0.038251 0.117213 0.102444
值機服務 0.062794 0.011898 -0.031859 0.092508 0.224120 0.206824
清潔度 0.067126 0.033416 -0.001705 0.038263 0.109451 0.095726
網上登機 -0.000623 0.013587 -0.003043 0.631786 0.355714 0.669843
起飛延誤分鐘 0.004395 -0.013433 0.003962 -0.032900 -0.030491 -0.034018
到達延誤分鐘 0.002500 -0.014845 0.003620 -0.035198 -0.033182 -0.035940
總延誤時長 0.003479 -0.014288 0.003829 -0.034405 -0.032171 -0.035344

訂票容易度 機上服務 腿部空間 行李分揀 值機服務 清潔度
id 0.000830 0.055978 0.042325 0.074625 0.082644 0.080834
#滿意度 -0.431772 -0.352047 -0.304928 -0.260347 -0.266179 -0.259330
年齡 0.071594 0.066704 0.083762 -0.015452 0.031845 -0.018271
#坐席等級 -0.128616 -0.160818 -0.125820 -0.120381 -0.129967 -0.114833
飛行距離 -0.022299 -0.032559 -0.030316 0.019768 0.002456 0.009432
座椅舒適度 0.211531 0.121149 0.136136 0.118489 0.041214 0.108475
OD時間便捷程度 0.001755 0.060446 0.029422 0.067396 0.062794 0.067126
餐飲服務 0.041189 0.038646 0.074161 0.036370 0.011898 0.033416
登機門位置 0.001442 -0.025132 -0.007407 -0.000401 -0.031859 -0.001705
機上wifi服務 0.601100 0.060794 0.033589 0.038251 0.092508 0.038263
機上娛樂 0.321731 0.183912 0.160731 0.117213 0.224120 0.109451
網路支持 0.617489 0.157930 0.138433 0.102444 0.206824 0.095726
訂票容易度 1.000000 0.436264 0.355122 0.398322 0.137744 0.417675
機上服務 0.436264 1.000000 0.411746 0.530448 0.250839 0.551294
腿部空間 0.355122 0.411746 1.000000 0.411640 0.167942 0.411505
行李分揀 0.398322 0.530448 0.411640 1.000000 0.240858 0.631803
值機服務 0.137744 0.250839 0.167942 0.240858 1.000000 0.241734
清潔度 0.417675 0.551294 0.411505 0.631803 0.241734 1.000000
網上登機 0.684320 0.139506 0.112900 0.111920 0.184344 0.106238
起飛延誤分鐘 -0.036545 -0.037641 0.003660 -0.009985 -0.020896 -0.062134
到達延誤分鐘 -0.039717 -0.041360 0.000537 -0.014212 -0.023842 -0.067042
總延誤時長 -0.038532 -0.039916 0.002113 -0.012233 -0.022606 -0.065265

網上登機 起飛延誤分鐘 到達延誤分鐘 總延誤時長
id 0.025328 -0.017643 -0.035405 -0.026838
#滿意度 -0.338147 0.073909 0.080487 0.078009
年齡 0.037973 -0.009041 -0.011206 -0.010233
#坐席等級 -0.097763 0.009877 0.013974 0.012058
飛行距離 0.009604 0.112555 0.109733 0.112284
座椅舒適度 0.130396 -0.023817 -0.025463 -0.024898
OD時間便捷程度 -0.000623 0.004395 0.002500 0.003479
餐飲服務 0.013587 -0.013433 -0.014845 -0.014288
登機門位置 -0.003043 0.003962 0.003620 0.003829
機上wifi服務 0.631786 -0.032900 -0.035198 -0.034405
機上娛樂 0.355714 -0.030491 -0.033182 -0.032171
網路支持 0.669843 -0.034018 -0.035940 -0.035344
訂票容易度 0.684320 -0.036545 -0.039717 -0.038532
機上服務 0.139506 -0.037641 -0.041360 -0.039916
腿部空間 0.112900 0.003660 0.000537 0.002113
行李分揀 0.111920 -0.009985 -0.014212 -0.012233
值機服務 0.184344 -0.020896 -0.023842 -0.022606
清潔度 0.106238 -0.062134 -0.067042 -0.065265
網上登機 1.000000 -0.020045 -0.021757 -0.021121
起飛延誤分鐘 -0.020045 1.000000 0.959382 0.989701
到達延誤分鐘 -0.021757 0.959382 1.000000 0.989886
總延誤時長 -0.021121 0.989701 0.989886 1.000000

[OD時間便捷程度0.015507、餐飲服務-0.120677、登機門位置0.012071、機上wifi服務-0.227062、腿部空間-0.304928、網上選座-0.338147、機上娛樂-0.523496、網路支持-0.390143、訂票容易度-0.431772、機上服務-0.227062、行李分揀-0.260347、值機服務-0.266179、清潔度-0.259330、總延誤時長0.078009]

對比整體滿意度與各項滿意度的相關性,並結合上文的分析,可以得出如下結論:

在資源有限的情況下,按照網上選座先於腿部空間先於機上wifi服務先於餐飲服務先於OD時間便捷程度先於登機門位置的順序改善當前服務水平,而排在上述服務之後的機上娛樂、網路支持、訂票容易度、機上服務、行李分揀、值機服務、清潔度等服務的現有水平已經較好。若要改善,則按照機上娛樂先於訂票容易度先於網路支持(在線服務)先於值機服務先於行李分揀先於清潔度先於機上服務的順序改善當前服務水平。

此外,除了極特殊的情況,旅客對於航班「準點率低」這一特點有較高的容忍度。當然,在技術條件、空域條件等多方面條件允許的前提下,美國航空公司當然願意首先保證航班的準點率,以降低旅客的時間成本,從而提升行業競爭力。


推薦閱讀:
相关文章