一、研究背景
随着航空业的快速发展,航空公司之间的竞争愈发激烈。航空公司不再仅仅依靠价格、航班时间等基本要素来吸引客户,而更多地关注如何提升客户体验与满意度。乘客的飞行体验和满意度不仅影响了他们的忠诚度,也对航空公司在市场中的竞争力产生了直接影响。近年来,越来越多的航空公司开始通过收集和分析乘客反馈,改进服务流程,优化航班运营,以提升客户的整体满意度。
客户满意度的研究主要集中在多个维度,如机上服务、座位舒适度、航班延误等。这些因素共同决定了乘客对航空公司服务的感知与评价。尤其是在当今全球化竞争日益加剧的背景下,了解哪些服务维度对乘客的满意度影响最大,可以帮助航空公司更好地制定服务策略,提升市场份额。
二、研究意义
本研究的意义主要体现在以下几个方面:
-
提升客户忠诚度:通过对乘客满意度的深入分析,航空公司能够更好地了解影响客户忠诚度的关键因素。例如,通过分析忠诚客户和不忠诚客户之间的差异,可以为公司提供定向改善服务的指导,从而提高客户留存率。
-
改善客户体验:本研究识别了哪些因素最能影响乘客的满意与否。通过对这些因素的优化,航空公司可以在客户服务中做出更具针对性的调整。例如,改善机上娱乐、座位舒适度或登机服务质量等都能显著提高客户的满意度。
-
优化资源配置:通过了解客户对不同服务的满意度,航空公司可以更科学地分配资源,集中提升最具影响力的服务项目。比如,发现乘客对航班延误和机上服务特别敏感,航空公司可以相应地投入更多资源来优化这些方面。
-
数据驱动的决策:本研究为航空公司提供了基于数据的决策依据,使其能够通过数据分析识别出最优的服务改进方案,而不是依靠传统的主观经验或反馈。数据驱动的服务提升能够让航空公司在市场中保持竞争力。
三、实证分析
此数据集包含航空公司乘客满意度调查。哪些因素与满意(或不满意)的乘客高度相关?
数据集内容
性:乘客性别(女性、男性)
客户类型:客户类型 (忠诚客户、不忠诚客户)
年龄:乘客的实际年龄
旅行类型:乘客的飞行目的(个人旅行、商务旅行)
类:乘客飞机上的旅行舱位(商务舱、Eco、Eco Plus)
飞行距离:此旅程的飞行距离
机上 wifi 服务:机上 wifi 服务的满意度 (0:不适用;1-5)
出发/到达时间方便:满意程度 出发 / 到达 时间 方便
在线预订的便利性:在线预订的满意度
登机口位置:登机口位置的满意度
食物和饮料:食品和饮料的满意度
网上登机:网上登机满意度
座椅舒适度:座椅舒适度满意度
机上娱乐:机上娱乐满意度
机上服务:On-board 服务的满意度
腿部客房服务:Leg room 服务的满意度
行李处理:行李处理满意度
值机服务:值机服务的满意度
机上服务:机上服务满意度
清洁:清洁度满意度
出发延误(分钟):出发时延误的分钟数
到达延迟(分钟):到达时延迟的分钟数
满意:航空公司满意度(满意、中立或不满意)
首先导入数据集分析的包
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import warnings
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, classification_report ,confusion_matrix , precision_score, recall_score, f1_score, classification_report
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from xgboost import XGBClassifier
from sklearn.ensemble import BaggingClassifier
df= pd.read_csv(r"test.csv" )
df.T
数据预处理
df.set_index("Unnamed: 0" , inplace=True)
df.drop('id', axis=1, inplace=True)
print(df.shape)
print("The number of rows : " , df.shape[0])
print("The number of columns : " , df.shape[1])
再查看数据信息