|1| Introduction:

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  +??

Read the Data File:

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

Summary of the data file:

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

Data Types:

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 values:

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

For Economic seats:

Box plot:

#boxplot for economy
boxplot(air.df$PriceEconomy~ air.df$Airline)

boxplot(air.df$PriceEconomy~ air.df$IsInternational)

Scatter Plot:

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)

Correlation & Corrgram

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")

Analysis of Economic Seats:

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.

Now for Premium Seats:

Box plot:

#boxplot for economy
boxplot(air.df$PricePremium~ air.df$Airline)

boxplot(air.df$PricePremium~ air.df$IsInternational)

Scatter Plot:

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)

Correlation & Corrgram

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")

Analysis of Economic Seats:

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.

Result

From the above testing we have identified that both price of Economic and Premium both are depends on these terms .

Conclusion

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”.