Spirit ( NK )

1 - Look for direct correlation between specific ppm (price per mile) on selected ‘future-departing day’ and ‘Revenue’

2 - Box charts future-departing days price per mile variation

3 - Building revenue predictive model based on ppm for all Days

# Model A:
modelA <- lm( REVENUE ~ PPM_DAY0+PPM_DAY1+PPM_DAY2+PPM_DAY3+PPM_DAY4+PPM_DAY5+PPM_DAY6+PPM_DAY7+PPM_DAY15+PPM_DAY21+PPM_DAY30+PPM_DAY60+PPM_DAY90+PPM_DAY180 , data = dfa )
# Stats summary:
summary( modelA )
## 
## Call:
## lm(formula = REVENUE ~ PPM_DAY0 + PPM_DAY1 + PPM_DAY2 + PPM_DAY3 + 
##     PPM_DAY4 + PPM_DAY5 + PPM_DAY6 + PPM_DAY7 + PPM_DAY15 + PPM_DAY21 + 
##     PPM_DAY30 + PPM_DAY60 + PPM_DAY90 + PPM_DAY180, data = dfa)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.069  -4.346   1.143   4.289  12.974 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   202.00      31.20   6.474 2.05e-06 ***
## PPM_DAY0      402.25     232.93   1.727  0.09887 .  
## PPM_DAY1     -135.92     430.39  -0.316  0.75527    
## PPM_DAY2     -224.17     558.60  -0.401  0.69225    
## PPM_DAY3     -415.76     315.15  -1.319  0.20129    
## PPM_DAY4     1261.94     357.03   3.535  0.00197 ** 
## PPM_DAY5    -1429.17     731.81  -1.953  0.06428 .  
## PPM_DAY6      333.38     280.33   1.189  0.24761    
## PPM_DAY7     1293.15     814.56   1.588  0.12733    
## PPM_DAY15    -806.12     622.88  -1.294  0.20966    
## PPM_DAY21    -446.66     448.95  -0.995  0.33112    
## PPM_DAY30     210.73     154.67   1.362  0.18751    
## PPM_DAY60      57.62      78.36   0.735  0.47031    
## PPM_DAY90    -116.59      69.03  -1.689  0.10601    
## PPM_DAY180     35.67      32.15   1.110  0.27975    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.603 on 21 degrees of freedom
## Multiple R-squared:  0.8777, Adjusted R-squared:  0.7962 
## F-statistic: 10.77 on 14 and 21 DF,  p-value: 1.284e-06
dfa$modelA <- predict( modelA , dfa)

# Plot scattered chart: Model Prediction vs Actual
plot( data.frame(cbind(actuals=dfa$REVENUE, predicteds=dfa$modelA )) )

# Plot Hexa Binning chart: Model Prediction vs Actual
plot(hexbin(dfa$REVENUE, dfa$modelA , xbins=5) , main="Hexagonal Binning")

4 - Building revenue predictive model based on ppm for future depart days 0, 3, 6, 30 and 180

#modelB <- lm( REVENUE ~ PPM_DAY0+PPM_DAY3+PPM_DAY4+PPM_DAY15+PPM_DAY21+PPM_DAY30 , data = dfa )
# Model B:
modelB <- lm( REVENUE ~ PPM_DAY0+PPM_DAY3+PPM_DAY6+PPM_DAY30+PPM_DAY180 , data = dfa )
summary( modelB )
## 
## Call:
## lm(formula = REVENUE ~ PPM_DAY0 + PPM_DAY3 + PPM_DAY6 + PPM_DAY30 + 
##     PPM_DAY180, data = dfa)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -31.537  -8.270  -1.753   9.204  35.980 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   212.25      30.76   6.899 1.17e-07 ***
## PPM_DAY0     -237.11     173.78  -1.364   0.1826    
## PPM_DAY3     -152.67     184.65  -0.827   0.4149    
## PPM_DAY6      513.12     193.58   2.651   0.0127 *  
## PPM_DAY30    -191.79      84.46  -2.271   0.0305 *  
## PPM_DAY180     18.00      45.13   0.399   0.6928    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 17.23 on 30 degrees of freedom
## Multiple R-squared:  0.438,  Adjusted R-squared:  0.3443 
## F-statistic: 4.676 on 5 and 30 DF,  p-value: 0.002831
dfa$modelB <- predict( modelB , dfa)

# Plot scattered chart: Model Prediction vs Actual
plot( data.frame(cbind(actuals=dfa$REVENUE, predicteds=dfa$modelB )) )

# Plot Hexa Binning chart: Model Prediction vs Actual
plot(hexbin(dfa$REVENUE, dfa$modelB , xbins=5) , main="Hexagonal Binning")

5 - Line Chart showing ppm variation around the mean for each ppm range, revenue and both predictor models

Chart below is representing normalized (around their means) the fields: revenue, prediction, day 0 to 180