store.df <- read.csv(paste("store24.csv", sep=""))
library(psych)
View(store.df)
#To find mean and standard deviation of store Profit, the management tenure (MTenure) and the crew tenure (CTenure)
describe(store.df)
##            vars  n       mean        sd     median    trimmed       mad
## store         1 75      38.00     21.79      38.00      38.00     28.17
## Sales         2 75 1205413.12 304531.31 1127332.00 1182031.25 288422.04
## Profit        3 75  276313.61  89404.08  265014.00  270260.34  90532.00
## MTenure       4 75      45.30     57.67      24.12      33.58     29.67
## CTenure       5 75      13.93     17.70       7.21      10.60      6.14
## Pop           6 75    9825.59   5911.67    8896.00    9366.07   7266.22
## Comp          7 75       3.79      1.31       3.63       3.66      0.82
## Visibility    8 75       3.08      0.75       3.00       3.07      0.00
## PedCount      9 75       2.96      0.99       3.00       2.97      1.48
## Res          10 75       0.96      0.20       1.00       1.00      0.00
## Hours24      11 75       0.84      0.37       1.00       0.92      0.00
## CrewSkill    12 75       3.46      0.41       3.50       3.47      0.34
## MgrSkill     13 75       3.64      0.41       3.59       3.62      0.45
## ServQual     14 75      87.15     12.61      89.47      88.62     15.61
##                  min        max      range  skew kurtosis       se
## store           1.00      75.00      74.00  0.00    -1.25     2.52
## Sales      699306.00 2113089.00 1413783.00  0.71    -0.09 35164.25
## Profit     122180.00  518998.00  396818.00  0.62    -0.21 10323.49
## MTenure         0.00     277.99     277.99  2.01     3.90     6.66
## CTenure         0.89     114.15     113.26  3.52    15.00     2.04
## Pop          1046.00   26519.00   25473.00  0.62    -0.23   682.62
## Comp            1.65      11.13       9.48  2.48    11.31     0.15
## Visibility      2.00       5.00       3.00  0.25    -0.38     0.09
## PedCount        1.00       5.00       4.00  0.00    -0.52     0.11
## Res             0.00       1.00       1.00 -4.60    19.43     0.02
## Hours24         0.00       1.00       1.00 -1.82     1.32     0.04
## CrewSkill       2.06       4.64       2.58 -0.43     1.64     0.05
## MgrSkill        2.96       4.62       1.67  0.27    -0.53     0.05
## ServQual       57.90     100.00      42.10 -0.66    -0.72     1.46
#Task 4d
#mean and standard deviation of Profit.
mean(store.df$Profit)
## [1] 276313.6
sd(store.df$Profit)
## [1] 89404.08
#mean and standard deviation of MTenure.
mean(store.df$MTenure) 
## [1] 45.29644
sd(store.df$MTenure)
## [1] 57.67155
##mean and standard deviation of CTenure.
mean(store.df$CTenure)
## [1] 13.9315
sd(store.df$CTenure)
## [1] 17.69752
#To print the {StoreID, Sales, Profit, MTenure, CTenure} of the top 10 most profitable stores
attach(store.df)
storeasc <- store.df[order(-Profit),]
storeasc[1:10,1:5]
##    store   Sales Profit   MTenure    CTenure
## 74    74 1782957 518998 171.09720  29.519510
## 7      7 1809256 476355  62.53080   7.326488
## 9      9 2113089 474725 108.99350   6.061602
## 6      6 1703140 469050 149.93590  11.351130
## 44    44 1807740 439781 182.23640 114.151900
## 2      2 1619874 424007  86.22219   6.636550
## 45    45 1602362 410149  47.64565   9.166325
## 18    18 1704826 394039 239.96980  33.774130
## 11    11 1583446 389886  44.81977   2.036961
## 47    47 1665657 387853  12.84790   6.636550
#To print the {StoreID, Sales, Profit, MTenure, CTenure} of the top 10 least profitable stores
attach(store.df)
## The following objects are masked from store.df (pos = 3):
## 
##     Comp, CrewSkill, CTenure, Hours24, MgrSkill, MTenure,
##     PedCount, Pop, Profit, Res, Sales, ServQual, store, Visibility
storedec <- store.df[order(Profit),]
storedec[1:10,1:5]
##    store   Sales Profit     MTenure   CTenure
## 57    57  699306 122180  24.3485700  2.956879
## 66    66  879581 146058 115.2039000  3.876797
## 41    41  744211 147327  14.9180200 11.926080
## 55    55  925744 147672   6.6703910 18.365500
## 32    32  828918 149033  36.0792600  6.636550
## 13    13  857843 152513   0.6571813  1.577002
## 54    54  811190 159792   6.6703910  3.876797
## 52    52 1073008 169201  24.1185600  3.416838
## 61    61  716589 177046  21.8184200 13.305950
## 37    37 1202917 187765  23.1985000  1.347023
#To draw a scatter plot of Profit vs. MTenure
library(car)
## 
## Attaching package: 'car'
## The following object is masked from 'package:psych':
## 
##     logit
scatterplot(Profit ~ MTenure,data = store.df)

#To draw a scatter plot of Profit vs. CTenure
library(car)
scatterplot(Profit ~ CTenure,data = store.df)

#To measure the correlation between Profit and MTenure
round(cor(store.df$Profit,store.df$MTenure),digits = 2)
## [1] 0.44
#To measure the correlation between Profit and CTenure
round(cor(store.df$Profit,store.df$CTenure),digits = 2)
## [1] 0.26
#To construct the following Corrgram based on all variables in the dataset
library(corrgram)
corrgram(store.df, order=FALSE, lower.panel=panel.shade,
         upper.panel=panel.pie, text.panel=panel.txt,
         main="Corrgram of Store Variables")

#We see that profit and sales are colsely related with each other which is an obious fact.Also profict and Mtenure are also related to about 43% whereas Ctenure and profit are less corelated around 25%.Also Managerskill is related to profit around 35% whereas Crewskill is less related to profit around 20%.We also see Pedcount related to profit around 45%. The managerially relevant correlations are Profit~MTenure and Profit~PedCount. This reflects that More experienced managers have more profit in their stores and also profit also depends equally on PedCount outside the store which intern related to population in half a mile radius.
#To run a Pearson's Correlation test on the correlation between Profit and MTenure.
cor.test(store.df$Profit,store.df$MTenure,method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  store.df$Profit and store.df$MTenure
## t = 4.1731, df = 73, p-value = 8.193e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.2353497 0.6055175
## sample estimates:
##       cor 
## 0.4388692
#p-vlaue= 8.193e-05 .This implies that p-value is much smaller(<0.05).So we can easily reject the null hypothesis,This means Profit and MTenure have a relation.
#To run a Pearson's Correlation test on the correlation between Profit and CTenure.
cor.test(store.df$Profit,store.df$CTenure,method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  store.df$Profit and store.df$CTenure
## t = 2.2786, df = 73, p-value = 0.02562
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.03262507 0.45786339
## sample estimates:
##       cor 
## 0.2576789
#p-vlaue= 0.02562 .This implies that p-value is smaller(<0.05).So we can reject the null hypothesis,This means Profit and CTenure have a relation.
#To run a regression of Profit on {MTenure, CTenure Comp, Pop, PedCount, Res, Hours24, Visibility}
regprofit <- lm(Profit ~ MTenure+CTenure+Comp+Pop+PedCount+Res+Hours24+Visibility, data = store.df)
summary(regprofit)
## 
## Call:
## lm(formula = Profit ~ MTenure + CTenure + Comp + Pop + PedCount + 
##     Res + Hours24 + Visibility, data = store.df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -105789  -35946   -7069   33780  112390 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   7610.041  66821.994   0.114 0.909674    
## MTenure        760.993    127.086   5.988 9.72e-08 ***
## CTenure        944.978    421.687   2.241 0.028400 *  
## Comp        -25286.887   5491.937  -4.604 1.94e-05 ***
## Pop              3.667      1.466   2.501 0.014890 *  
## PedCount     34087.359   9073.196   3.757 0.000366 ***
## Res          91584.675  39231.283   2.334 0.022623 *  
## Hours24      63233.307  19641.114   3.219 0.001994 ** 
## Visibility   12625.447   9087.620   1.389 0.169411    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 56970 on 66 degrees of freedom
## Multiple R-squared:  0.6379, Adjusted R-squared:  0.594 
## F-statistic: 14.53 on 8 and 66 DF,  p-value: 5.382e-12
#What is expected change in the Profit at a store, if the Manager's tenure i.e. number of months of experience with Store24, increases by one month?
#Answer-For every unit increase in MTenure , There is an increase of 760.993 in Profit

#What is expected change in the Profit at a store, if the Crew's tenure i.e. number of months of experience with Store24, increases by one month?
#Answer-For every unit increase in CTenure , There is an increase of 944.978 in Profit



#Executive Summary
#The important Insights of this analysis are-
  
  #1 Our Regression model confirmed that there is a correlation between Managers's tenure at Store24 with the Store's annual profits.This implies that more experienced managers are likely to increase the profit of the stores.

#2 Our Regression model confirmed that there is a correlation between Crew's tenure at Store24 with the Store's annual profits.This implies that more experienced Crew are likely to increase the profit of the stores.

#3 Our Regression model confirmed that there is a correlation between Managers's tenure at Store24 with the Store's annual profits.This implies that more skilled managers are likely to increase the profit of the stores.

#4 Our Regression model confirmed that there is a correlation between Managers's tenure at Store24 with the Store's annual profits.This implies that more skilled Crew are likely to increase the profit of the stores.

#These four important insights shows that Company's profit can be increased by providing training and skill development courses to the crew and managers of the store along with providing bonuses and other attractions in order to increase the tenure and experience of the crew and managers at Store24 which will ultimately increase the profits of the store.