Airline reservation systems (ARS) are part of the so-called passenger service systems (PSS), which are applications supporting the direct contact with the passenger.
ARS eventually evolved into the computer reservations system (CRS). A computer reservation system is used for the reservations of a particular airline and interfaces with a global distribution system (GDS) which supports travel agencies and other distribution channels in making reservations for most major airlines in a single system.We are going to analyse between 6 airline companies In order to test Hypothesis 1a, we proposed the following model:
Price = ??0 + ??1Pitch +??2Seats+??3percentage of seats+??3width +??
air.df <- read.csv(paste("SixAirlinesDataV2.csv", sep=""))
head(air.df)
## Airline Aircraft FlightDuration TravelMonth IsInternational SeatsEconomy
## 1 British Boeing 12.25 Jul International 122
## 2 British Boeing 12.25 Aug International 122
## 3 British Boeing 12.25 Sep International 122
## 4 British Boeing 12.25 Oct International 122
## 5 British Boeing 8.16 Aug International 122
## 6 British Boeing 8.16 Sep International 122
## SeatsPremium PitchEconomy PitchPremium WidthEconomy WidthPremium
## 1 40 31 38 18 19
## 2 40 31 38 18 19
## 3 40 31 38 18 19
## 4 40 31 38 18 19
## 5 40 31 38 18 19
## 6 40 31 38 18 19
## PriceEconomy PricePremium PriceRelative SeatsTotal PitchDifference
## 1 2707 3725 0.38 162 7
## 2 2707 3725 0.38 162 7
## 3 2707 3725 0.38 162 7
## 4 2707 3725 0.38 162 7
## 5 1793 2999 0.67 162 7
## 6 1793 2999 0.67 162 7
## WidthDifference PercentPremiumSeats
## 1 1 24.69
## 2 1 24.69
## 3 1 24.69
## 4 1 24.69
## 5 1 24.69
## 6 1 24.69
library(psych)
describe(air.df)
## vars n mean sd median trimmed mad min
## Airline* 1 458 3.01 1.65 2.00 2.89 1.48 1.00
## Aircraft* 2 458 1.67 0.47 2.00 1.71 0.00 1.00
## FlightDuration 3 458 7.58 3.54 7.79 7.57 4.81 1.25
## TravelMonth* 4 458 2.56 1.17 3.00 2.58 1.48 1.00
## IsInternational* 5 458 1.91 0.28 2.00 2.00 0.00 1.00
## SeatsEconomy 6 458 202.31 76.37 185.00 194.64 85.99 78.00
## SeatsPremium 7 458 33.65 13.26 36.00 33.35 11.86 8.00
## PitchEconomy 8 458 31.22 0.66 31.00 31.26 0.00 30.00
## PitchPremium 9 458 37.91 1.31 38.00 38.05 0.00 34.00
## WidthEconomy 10 458 17.84 0.56 18.00 17.81 0.00 17.00
## WidthPremium 11 458 19.47 1.10 19.00 19.53 0.00 17.00
## PriceEconomy 12 458 1327.08 988.27 1242.00 1244.40 1159.39 65.00
## PricePremium 13 458 1845.26 1288.14 1737.00 1799.05 1845.84 86.00
## PriceRelative 14 458 0.49 0.45 0.36 0.42 0.41 0.02
## SeatsTotal 15 458 235.96 85.29 227.00 228.73 90.44 98.00
## PitchDifference 16 458 6.69 1.76 7.00 6.76 0.00 2.00
## WidthDifference 17 458 1.63 1.19 1.00 1.53 0.00 0.00
## PercentPremiumSeats 18 458 14.65 4.84 13.21 14.31 2.68 4.71
## max range skew kurtosis se
## Airline* 6.00 5.00 0.61 -0.95 0.08
## Aircraft* 2.00 1.00 -0.72 -1.48 0.02
## FlightDuration 14.66 13.41 -0.07 -1.12 0.17
## TravelMonth* 4.00 3.00 -0.14 -1.46 0.05
## IsInternational* 2.00 1.00 -2.91 6.50 0.01
## SeatsEconomy 389.00 311.00 0.72 -0.36 3.57
## SeatsPremium 66.00 58.00 0.23 -0.46 0.62
## PitchEconomy 33.00 3.00 -0.03 -0.35 0.03
## PitchPremium 40.00 6.00 -1.51 3.52 0.06
## WidthEconomy 19.00 2.00 -0.04 -0.08 0.03
## WidthPremium 21.00 4.00 -0.08 -0.31 0.05
## PriceEconomy 3593.00 3528.00 0.51 -0.88 46.18
## PricePremium 7414.00 7328.00 0.50 0.43 60.19
## PriceRelative 1.89 1.87 1.17 0.72 0.02
## SeatsTotal 441.00 343.00 0.70 -0.53 3.99
## PitchDifference 10.00 8.00 -0.54 1.78 0.08
## WidthDifference 4.00 4.00 0.84 -0.53 0.06
## PercentPremiumSeats 24.69 19.98 0.71 0.28 0.23
str(air.df)
## 'data.frame': 458 obs. of 18 variables:
## $ Airline : Factor w/ 6 levels "AirFrance","British",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ Aircraft : Factor w/ 2 levels "AirBus","Boeing": 2 2 2 2 2 2 2 2 2 2 ...
## $ FlightDuration : num 12.25 12.25 12.25 12.25 8.16 ...
## $ TravelMonth : Factor w/ 4 levels "Aug","Jul","Oct",..: 2 1 4 3 1 4 3 1 4 4 ...
## $ IsInternational : Factor w/ 2 levels "Domestic","International": 2 2 2 2 2 2 2 2 2 2 ...
## $ SeatsEconomy : int 122 122 122 122 122 122 122 122 122 122 ...
## $ SeatsPremium : int 40 40 40 40 40 40 40 40 40 40 ...
## $ PitchEconomy : int 31 31 31 31 31 31 31 31 31 31 ...
## $ PitchPremium : int 38 38 38 38 38 38 38 38 38 38 ...
## $ WidthEconomy : int 18 18 18 18 18 18 18 18 18 18 ...
## $ WidthPremium : int 19 19 19 19 19 19 19 19 19 19 ...
## $ PriceEconomy : int 2707 2707 2707 2707 1793 1793 1793 1476 1476 1705 ...
## $ PricePremium : int 3725 3725 3725 3725 2999 2999 2999 2997 2997 2989 ...
## $ PriceRelative : num 0.38 0.38 0.38 0.38 0.67 0.67 0.67 1.03 1.03 0.75 ...
## $ SeatsTotal : int 162 162 162 162 162 162 162 162 162 162 ...
## $ PitchDifference : int 7 7 7 7 7 7 7 7 7 7 ...
## $ WidthDifference : int 1 1 1 1 1 1 1 1 1 1 ...
## $ PercentPremiumSeats: num 24.7 24.7 24.7 24.7 24.7 ...
unique(air.df$Airline)
## [1] British Virgin Delta Jet AirFrance Singapore
## Levels: AirFrance British Delta Jet Singapore Virgin
unique(air.df$TravelMonth)
## [1] Jul Aug Sep Oct
## Levels: Aug Jul Oct Sep
unique(air.df$IsInternational)
## [1] International Domestic
## Levels: Domestic International
#boxplot for economy
boxplot(air.df$PriceEconomy~ air.df$Airline)
boxplot(air.df$PriceEconomy~ air.df$IsInternational)
library(car)
##
## Attaching package: 'car'
## The following object is masked from 'package:psych':
##
## logit
scatterplot(air.df$PriceEconomy, air.df$SeatsEconomy)
scatterplot(air.df$PriceEconomy,air.df$PitchEconomy)
scatterplot(air.df$PriceEconomy,air.df$WidthEconomy)
hist(air.df$FlightDuration)
myvars <- c("TravelMonth","SeatsEconomy", "PitchEconomy", "WidthEconomy" , "PriceEconomy" ,"PercentPremiumSeats")
eco.df <- air.df[myvars]
cor(eco.df[2:5])
## SeatsEconomy PitchEconomy WidthEconomy PriceEconomy
## SeatsEconomy 1.0000000 0.1441269 0.37367025 0.12816722
## PitchEconomy 0.1441269 1.0000000 0.29448586 0.36866123
## WidthEconomy 0.3736703 0.2944859 1.00000000 0.06799061
## PriceEconomy 0.1281672 0.3686612 0.06799061 1.00000000
head(eco.df)
## TravelMonth SeatsEconomy PitchEconomy WidthEconomy PriceEconomy
## 1 Jul 122 31 18 2707
## 2 Aug 122 31 18 2707
## 3 Sep 122 31 18 2707
## 4 Oct 122 31 18 2707
## 5 Aug 122 31 18 1793
## 6 Sep 122 31 18 1793
## PercentPremiumSeats
## 1 24.69
## 2 24.69
## 3 24.69
## 4 24.69
## 5 24.69
## 6 24.69
#CorrGram
library(corrgram)
corrgram(eco.df[2:5], order=TRUE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt,
main="Corrgram of states intercorrelations")
Model1 <- PriceEconomy ~ PitchEconomy + WidthEconomy + SeatsEconomy
fit1 <- lm(Model1, data = eco.df)
summary(fit1)
##
## Call:
## lm(formula = Model1, data = eco.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2209.23 -762.84 -39.25 727.96 1922.01
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.414e+04 2.250e+03 -6.283 7.79e-10 ***
## PitchEconomy 5.700e+02 6.846e+01 8.325 1.00e-15 ***
## WidthEconomy -1.459e+02 8.584e+01 -1.700 0.0898 .
## SeatsEconomy 1.352e+00 6.051e-01 2.234 0.0260 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 915.7 on 454 degrees of freedom
## Multiple R-squared: 0.1471, Adjusted R-squared: 0.1415
## F-statistic: 26.1 on 3 and 454 DF, p-value: 1.366e-15
#Again
Model1 <- PriceEconomy ~ PitchEconomy + WidthEconomy
fit1 <- lm(Model1, data = eco.df)
summary(fit1)
##
## Call:
## lm(formula = Model1, data = eco.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2253.04 -786.62 -65.62 720.38 1913.38
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -15244.59 2204.18 -6.916 1.58e-11 ***
## PitchEconomy 575.83 68.71 8.380 6.64e-16 ***
## WidthEconomy -78.76 80.75 -0.975 0.33
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 919.7 on 455 degrees of freedom
## Multiple R-squared: 0.1377, Adjusted R-squared: 0.1339
## F-statistic: 36.33 on 2 and 455 DF, p-value: 2.295e-15
#Again
Model1 <- PriceEconomy ~ (PitchEconomy + WidthEconomy + SeatsEconomy + mod2)
mod2 <- 100-eco.df$PercentPremiumSeats
fit1 <- lm(Model1, data = eco.df)
summary(fit1)
##
## Call:
## lm(formula = Model1, data = eco.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2284.68 -722.97 -21.88 667.38 2143.01
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -9197.8119 2480.3889 -3.708 0.000235 ***
## PitchEconomy 625.2408 68.3333 9.150 < 2e-16 ***
## WidthEconomy -321.7621 93.3462 -3.447 0.000620 ***
## SeatsEconomy 2.6973 0.6689 4.032 6.48e-05 ***
## mod2 -44.5208 10.2120 -4.360 1.61e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 898.1 on 453 degrees of freedom
## Multiple R-squared: 0.1814, Adjusted R-squared: 0.1742
## F-statistic: 25.1 on 4 and 453 DF, p-value: < 2.2e-16
From the above calculation we know that the price of economic seat depends on pitch width seats and percentage of economic seats so this is the reason of the price of price of economic seats.
#boxplot for economy
boxplot(air.df$PricePremium~ air.df$Airline)
boxplot(air.df$PricePremium~ air.df$IsInternational)
library(car)
scatterplot(air.df$PricePremium, air.df$SeatsPremium)
scatterplot(air.df$PricePremium,air.df$PitchPremium)
scatterplot(air.df$PricePremium,air.df$WidthPremium)
hist(air.df$FlightDuration)
myvars <- c("TravelMonth","SeatsPremium", "PitchPremium", "WidthPremium" , "PricePremium" ,"PercentPremiumSeats")
pre.df <- air.df[myvars]
cor(pre.df[2:5])
## SeatsPremium PitchPremium WidthPremium PricePremium
## SeatsPremium 1.000000000 0.004883123 -0.002717527 0.21761238
## PitchPremium 0.004883123 1.000000000 0.750259029 0.08853915
## WidthPremium -0.002717527 0.750259029 1.000000000 0.06402004
## PricePremium 0.217612376 0.088539147 0.064020043 1.00000000
head(pre.df)
## TravelMonth SeatsPremium PitchPremium WidthPremium PricePremium
## 1 Jul 40 38 19 3725
## 2 Aug 40 38 19 3725
## 3 Sep 40 38 19 3725
## 4 Oct 40 38 19 3725
## 5 Aug 40 38 19 2999
## 6 Sep 40 38 19 2999
## PercentPremiumSeats
## 1 24.69
## 2 24.69
## 3 24.69
## 4 24.69
## 5 24.69
## 6 24.69
#CorrGram
library(corrgram)
corrgram(eco.df[2:5], order=TRUE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt,
main="Corrgram of states intercorrelations")
Model1 <- PricePremium ~ PitchPremium + WidthPremium + SeatsPremium
fit2 <- lm(Model1, data = pre.df)
summary(fit2)
##
## Call:
## lm(formula = Model1, data = pre.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2219.2 -936.9 -120.4 1078.6 5762.8
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2127.171 1736.937 -1.225 0.221
## PitchPremium 87.481 67.656 1.293 0.197
## WidthPremium -2.744 81.021 -0.034 0.973
## SeatsPremium 21.095 4.432 4.760 2.61e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1256 on 454 degrees of freedom
## Multiple R-squared: 0.05501, Adjusted R-squared: 0.04877
## F-statistic: 8.809 on 3 and 454 DF, p-value: 1.094e-05
#Again
Model1 <- PricePremium ~ PitchPremium + WidthPremium
fit2 <- lm(Model1, data = pre.df)
summary(fit2)
##
## Call:
## lm(formula = Model1, data = pre.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1797.6 -1193.6 -113.4 1138.1 5557.2
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1472.695 1772.212 -0.831 0.406
## PitchPremium 90.852 69.243 1.312 0.190
## WidthPremium -6.466 82.923 -0.078 0.938
##
## Residual standard error: 1286 on 455 degrees of freedom
## Multiple R-squared: 0.007852, Adjusted R-squared: 0.003491
## F-statistic: 1.801 on 2 and 455 DF, p-value: 0.1664
#Again
Model1 <- PricePremium ~ (PitchPremium + WidthPremium + SeatsPremium + mod2)
mod2 <- eco.df$PercentPremiumSeats
fit1 <- lm(Model1, data = pre.df)
summary(fit1)
##
## Call:
## lm(formula = Model1, data = pre.df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2187.8 -910.9 -97.7 1073.5 5787.4
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2429.229 1794.660 -1.354 0.176543
## PitchPremium 90.828 67.878 1.338 0.181532
## WidthPremium 1.967 81.369 0.024 0.980720
## SeatsPremium 19.392 5.101 3.801 0.000164 ***
## mod2 9.609 14.235 0.675 0.500001
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1257 on 453 degrees of freedom
## Multiple R-squared: 0.05596, Adjusted R-squared: 0.04762
## F-statistic: 6.713 on 4 and 453 DF, p-value: 2.96e-05
From the above calculation we know that the price of Premium seat depends on pitch width seats and percentage of Premium seats so this is the reason of the price of price of Premium seats.
From the above testing we have identified that both price of Economic and Premium both are depends on these terms .
This paper was motivated by the need for research that could improve our understanding of how Airlines ticket influences the pricing strategies in the Air ticket booking industry. We found that Passengers have to pay a big amount “price of Premium seats”.