Download and review the Store24.csv data file associated with this case. You may open it in Excel for convenience.

Using R, read the data into a data frame called store. Play close attention to Exhibit 3 - Summary Statistics from Sample Stores from the CASE. Using R, get the summary statistics of the data. Confirm that the summary statistics generated from R are consistent with Exhibit 3 from the Case.

setwd("C:/Users/AEAIRA/Desktop/Internship/StoreData")
store<- read.csv(paste("Store24.csv", sep=""))
View(store)
library(psych)
summary(store)
##      store          Sales             Profit          MTenure      
##  Min.   : 1.0   Min.   : 699306   Min.   :122180   Min.   :  0.00  
##  1st Qu.:19.5   1st Qu.: 984579   1st Qu.:211004   1st Qu.:  6.67  
##  Median :38.0   Median :1127332   Median :265014   Median : 24.12  
##  Mean   :38.0   Mean   :1205413   Mean   :276314   Mean   : 45.30  
##  3rd Qu.:56.5   3rd Qu.:1362388   3rd Qu.:331314   3rd Qu.: 50.92  
##  Max.   :75.0   Max.   :2113089   Max.   :518998   Max.   :277.99  
##     CTenure              Pop             Comp          Visibility  
##  Min.   :  0.8871   Min.   : 1046   Min.   : 1.651   Min.   :2.00  
##  1st Qu.:  4.3943   1st Qu.: 5616   1st Qu.: 3.151   1st Qu.:3.00  
##  Median :  7.2115   Median : 8896   Median : 3.629   Median :3.00  
##  Mean   : 13.9315   Mean   : 9826   Mean   : 3.788   Mean   :3.08  
##  3rd Qu.: 17.2156   3rd Qu.:14104   3rd Qu.: 4.230   3rd Qu.:4.00  
##  Max.   :114.1519   Max.   :26519   Max.   :11.128   Max.   :5.00  
##     PedCount         Res          Hours24       CrewSkill    
##  Min.   :1.00   Min.   :0.00   Min.   :0.00   Min.   :2.060  
##  1st Qu.:2.00   1st Qu.:1.00   1st Qu.:1.00   1st Qu.:3.225  
##  Median :3.00   Median :1.00   Median :1.00   Median :3.500  
##  Mean   :2.96   Mean   :0.96   Mean   :0.84   Mean   :3.457  
##  3rd Qu.:4.00   3rd Qu.:1.00   3rd Qu.:1.00   3rd Qu.:3.655  
##  Max.   :5.00   Max.   :1.00   Max.   :1.00   Max.   :4.640  
##     MgrSkill        ServQual     
##  Min.   :2.957   Min.   : 57.90  
##  1st Qu.:3.344   1st Qu.: 78.95  
##  Median :3.589   Median : 89.47  
##  Mean   :3.638   Mean   : 87.15  
##  3rd Qu.:3.925   3rd Qu.: 99.90  
##  Max.   :4.622   Max.   :100.00

TASK 4d Three very important variables in this analysis are the store Profit, the management tenure (MTenure) and the crew tenure (CTenure).

Use R to measure the mean and standard deviation of Profit.

mean(store$Profit)
## [1] 276313.6
sd(store$Profit)
## [1] 89404.08

The mean of the profit is 276313.6 and the standard deviation is 89404.08

Use R to measure the mean and standard deviation of MTenure.

mean(store$MTenure)
## [1] 45.29644
sd(store$MTenure)
## [1] 57.67155

The mean of the MTenure is 45.29644 and the standard deviation is 57.67155

Use R to measure the mean and standard deviation of CTenure.

mean(store$CTenure)
## [1] 13.9315
sd(store$CTenure)
## [1] 17.69752

he mean of the CTenure is 13.9315 and the standard deviation is 17.69752

TASK 4e - Sorting and Subsetting data in R

In this TASK, we will learn how to sort a dataframe based on a data column Understand what the following R code does. Copy-Paste it and Execute it in R.

attach(mtcars) View(mtcars) newdata <- mtcars[order(mpg),] # sort by mpg (ascending) View(newdata) newdata[1:5,] # see the first 5 rows newdata <- mtcars[order(-mpg),] # sort by mpg (descending) View(newdata) detach(mtcars)

attach(mtcars)
View(mtcars)
newdata <- mtcars[order(mpg),] # sort by mpg (ascending)
View(newdata)
newdata[1:5,] # see the first 5 rows
##                      mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Cadillac Fleetwood  10.4   8  472 205 2.93 5.250 17.98  0  0    3    4
## Lincoln Continental 10.4   8  460 215 3.00 5.424 17.82  0  0    3    4
## Camaro Z28          13.3   8  350 245 3.73 3.840 15.41  0  0    3    4
## Duster 360          14.3   8  360 245 3.21 3.570 15.84  0  0    3    4
## Chrysler Imperial   14.7   8  440 230 3.23 5.345 17.42  0  0    3    4
newdata <- mtcars[order(-mpg),] # sort by mpg (descending)
View(newdata)
detach(mtcars)

Use R to print the {StoreID, Sales, Profit, MTenure, CTenure} of the top 10 most profitable stores.

top10 <- store[order(store$Profit),]
View(top10)
top10[1:20,]
##    store   Sales Profit     MTenure   CTenure   Pop     Comp Visibility
## 57    57  699306 122180  24.3485700  2.956879  3642 2.973376          3
## 66    66  879581 146058 115.2039000  3.876797  1046 6.569790          2
## 41    41  744211 147327  14.9180200 11.926080  9701 4.364600          2
## 55    55  925744 147672   6.6703910 18.365500 10532 6.389294          4
## 32    32  828918 149033  36.0792600  6.636550  9697 4.641468          3
## 13    13  857843 152513   0.6571813  1.577002 14186 4.435671          3
## 54    54  811190 159792   6.6703910  3.876797  3747 3.756011          3
## 52    52 1073008 169201  24.1185600  3.416838 14859 6.585143          3
## 61    61  716589 177046  21.8184200 13.305950  3014 3.263994          3
## 37    37 1202917 187765  23.1985000  1.347023  8870 4.491863          3
## 56    56  916197 189235   4.7974240  2.726899 13740 4.597269          2
## 49    49  983296 195276  55.4003900 14.685830  1863 3.713871          4
## 16    16  883864 196277  23.6585300  4.681725  6872 3.344703          3
## 72    72  848140 196772 126.4745000 27.449690  3151 3.680586          2
## 71    71  977566 198529  43.8997200 38.373720  3265 3.856324          2
## 62    62  942915 202641  12.1578600  6.866530  9820 4.201450          3
## 38    38  991524 203184  15.6080600  1.577002  6557 4.225993          3
## 15    15 1005627 203951   0.0000000  8.476386  8684 3.844220          3
## 4      4 1053860 210122   0.0000000  5.371663  2797 4.253946          4
## 31    31  993597 211885   0.0000000 10.776180  2578 3.100689          2
##    PedCount Res Hours24 CrewSkill MgrSkill  ServQual
## 57        2   1       1      3.35 2.956667  84.21266
## 66        3   1       1      4.03 3.673333  80.26675
## 41        3   1       1      3.03 3.672222  81.13993
## 55        3   1       1      3.49 3.477778  76.31346
## 32        3   1       0      3.28 3.550000  73.68654
## 13        2   1       1      4.10 3.000000  76.30609
## 54        2   1       1      3.08 3.933333  65.78734
## 52        3   1       1      3.83 3.833333  94.73510
## 61        1   1       1      3.07 3.126667  73.68654
## 37        3   1       1      3.38 4.016667  73.68654
## 56        3   1       0      3.10 3.800000  64.35046
## 49        1   1       1      3.23 3.576667  81.58205
## 16        3   1       0      3.05 4.000000  97.36939
## 72        1   1       1      3.73 3.416667  73.68654
## 71        1   1       1      3.88 3.466667  79.94253
## 62        4   1       0      3.08 3.300000  61.40299
## 38        2   1       1      3.68 4.494444 100.00000
## 15        4   1       1      3.50 3.427778  94.73510
## 4         2   1       1      2.06 4.100000 100.00000
## 31        2   1       1      2.86 3.673333  88.92860

Use R to print the {StoreID, Sales, Profit, MTenure, CTenure} of the bottom 10 least profitable stores.

bottom10 <- store[order(-store$Profit),]
View(bottom10)
bottom10[1:20,]
##    store   Sales Profit    MTenure    CTenure   Pop     Comp Visibility
## 74    74 1782957 518998 171.097200  29.519510 10913 2.319850          3
## 7      7 1809256 476355  62.530800   7.326488 17754 3.377900          2
## 9      9 2113089 474725 108.993500   6.061602 26519 2.637630          2
## 6      6 1703140 469050 149.935900  11.351130 16926 3.184613          3
## 44    44 1807740 439781 182.236400 114.151900 20624 3.628561          3
## 2      2 1619874 424007  86.222190   6.636550  8630 4.235555          4
## 45    45 1602362 410149  47.645650   9.166325 17808 3.472609          5
## 18    18 1704826 394039 239.969800  33.774130  3807 3.994713          5
## 11    11 1583446 389886  44.819770   2.036961 21550 3.272398          2
## 47    47 1665657 387853  12.847900   6.636550 23623 2.422707          2
## 34    34 1557084 382199  29.178850  19.745380 10923 2.361195          4
## 69    69 1574290 375393  44.129730  26.759750  5050 3.949484          3
## 22    22 1433440 367036  18.368220  25.954830  8280 4.464360          4
## 53    53 1355684 365018  57.240490   8.246407  6909 3.156869          2
## 67    67 1228052 362067   5.257451   3.416838 11552 3.583143          3
## 8      8 1378482 361115   0.000000  56.772080 20824 2.895114          4
## 60    60 1433624 356071  33.516250   6.406571  8845 2.719548          3
## 43    43 1296711 337233 177.570400   5.486653  3495 3.653641          4
## 30    30 1874873 333607  73.341440  23.425050  1116 3.578323          3
## 12    12 1444714 329020 277.987700   6.636550 11160 4.903895          4
##    PedCount Res Hours24 CrewSkill MgrSkill  ServQual
## 74        4   1       0      3.50 4.405556  94.73878
## 7         5   1       1      3.94 4.100000  81.57837
## 9         4   1       1      3.22 3.583333 100.00000
## 6         4   1       0      3.58 4.605556  94.73510
## 44        4   0       1      4.06 4.172222  86.84327
## 2         3   1       1      3.20 3.556667  94.73510
## 45        3   1       1      3.58 4.622222 100.00000
## 18        3   1       1      3.18 3.866667  97.36939
## 11        5   1       1      3.43 3.200000 100.00000
## 47        5   1       1      4.23 3.950000  99.80105
## 34        4   1       1      3.58 3.577778  97.36939
## 69        3   1       1      3.56 3.940000  92.89294
## 22        3   1       1      3.30 3.973333 100.00000
## 53        2   1       1      3.63 3.683333  94.73510
## 67        3   1       1      3.37 4.150000  97.36939
## 8         3   1       1      3.98 3.800000  78.94776
## 60        4   1       1      3.37 3.344445  57.89552
## 43        3   1       1      3.73 3.608233  94.73510
## 30        2   1       1      3.52 3.473333 100.00000
## 12        4   1       0      3.35 3.238889 100.00000

TASK 4g - Scatter Plots

Use R to draw a scatter plot of Profit vs. MTenure.

plot(store$MTenure, store$Profit,
     col="blue",
     main="A scatterplot of Profit vs. Manager Tenure",
     xlab="MTenure", ylab="Profit")
abline(v=mean(store$MTenure),col='dark blue', lty="dotted")
abline(h=mean(store$Profit),col='dark blue', lty="dotted")
abline(lm(store$MTenure ~ store$Profit))

Use R to draw a scatter plot of Profit vs. CTenure.

plot(store$CTenure, store$Profit,
     col="blue",
     main="A scatterplot of Profit vs. Manager Tenure",
     xlab="CTenure", ylab="Profit")
abline(v=mean(store$CTenure),col='dark blue', lty="dotted")
abline(h=mean(store$Profit),col='dark blue', lty="dotted")
abline(lm(store$CTenure ~ store$Profit))

Use R to construct a Correlation Matrix for all the variables in the dataset. (Display the numbers up to 2 Decimal places)

matrix<- cor(store)
round(matrix,2)
##            store Sales Profit MTenure CTenure   Pop  Comp Visibility
## store       1.00 -0.23  -0.20   -0.06    0.02 -0.29  0.03      -0.03
## Sales      -0.23  1.00   0.92    0.45    0.25  0.40 -0.24       0.13
## Profit     -0.20  0.92   1.00    0.44    0.26  0.43 -0.33       0.14
## MTenure    -0.06  0.45   0.44    1.00    0.24 -0.06  0.18       0.16
## CTenure     0.02  0.25   0.26    0.24    1.00  0.00 -0.07       0.07
## Pop        -0.29  0.40   0.43   -0.06    0.00  1.00 -0.27      -0.05
## Comp        0.03 -0.24  -0.33    0.18   -0.07 -0.27  1.00       0.03
## Visibility -0.03  0.13   0.14    0.16    0.07 -0.05  0.03       1.00
## PedCount   -0.22  0.42   0.45    0.06   -0.08  0.61 -0.15      -0.14
## Res        -0.03 -0.17  -0.16   -0.06   -0.34 -0.24  0.22       0.02
## Hours24     0.03  0.06  -0.03   -0.17    0.07 -0.22  0.13       0.05
## CrewSkill   0.05  0.16   0.16    0.10    0.26  0.28 -0.04      -0.20
## MgrSkill   -0.07  0.31   0.32    0.23    0.12  0.08  0.22       0.07
## ServQual   -0.32  0.39   0.36    0.18    0.08  0.12  0.02       0.21
##            PedCount   Res Hours24 CrewSkill MgrSkill ServQual
## store         -0.22 -0.03    0.03      0.05    -0.07    -0.32
## Sales          0.42 -0.17    0.06      0.16     0.31     0.39
## Profit         0.45 -0.16   -0.03      0.16     0.32     0.36
## MTenure        0.06 -0.06   -0.17      0.10     0.23     0.18
## CTenure       -0.08 -0.34    0.07      0.26     0.12     0.08
## Pop            0.61 -0.24   -0.22      0.28     0.08     0.12
## Comp          -0.15  0.22    0.13     -0.04     0.22     0.02
## Visibility    -0.14  0.02    0.05     -0.20     0.07     0.21
## PedCount       1.00 -0.28   -0.28      0.21     0.09    -0.01
## Res           -0.28  1.00   -0.09     -0.15    -0.03     0.09
## Hours24       -0.28 -0.09    1.00      0.11    -0.04     0.06
## CrewSkill      0.21 -0.15    0.11      1.00    -0.02    -0.03
## MgrSkill       0.09 -0.03   -0.04     -0.02     1.00     0.36
## ServQual      -0.01  0.09    0.06     -0.03     0.36     1.00

Use R to measure the correlation between Profit and MTenure. (Display the numbers up to 2 Decimal places)

matrix1<-cor(store$Profit,store$MTenure)
round(matrix1,2)
## [1] 0.44

Use R to measure the correlation between Profit and CTenure. (Display the numbers up to 2 Decimal places)

matrix2<-cor(store$Profit,store$CTenure)
round(matrix2,2)
## [1] 0.26

Use R to construct the following Corrgram based on all variables in the dataset.

library(corrgram)
corrgram(store, order = TRUE, lower.panel = panel.shade, upper.panel = panel.pie, 
    text.panel = panel.txt, main = "Corrgram of store variables")

Run a Pearson’s Correlation test on the correlation between Profit and MTenure. What is the p-value?

cor.test(store$Profit, store$MTenure)
## 
##  Pearson's product-moment correlation
## 
## data:  store$Profit and store$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

The p-value is 8.193e-05

Run a Pearson’s Correlation test on the correlation between Profit and CTenure. What is the p-value?

cor.test(store$Profit, store$CTenure)
## 
##  Pearson's product-moment correlation
## 
## data:  store$Profit and store$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

The p-value is 0.02562

Run a regression of Profit on {MTenure, CTenure Comp, Pop, PedCount, Res, Hours24, Visibility}.

fit<- lm(Profit~ MTenure+CTenure+Comp+Pop+PedCount+Res+Hours24+Visibility, data=store)
summary(fit)
## 
## Call:
## lm(formula = Profit ~ MTenure + CTenure + Comp + Pop + PedCount + 
##     Res + Hours24 + Visibility, data = store)
## 
## 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

List the explanatory variable(s) whose beta-coefficients are statistically significant (p < 0.05).

MTenure,CTenure, Comp, Pop, PedCount, Res, Hours24

List the explanatory variable(s) whose beta-coefficients are not statistically significant (p > 0.05).

Visibility

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?

The profit will increase by 760.9 if the manager’s tenure increases by one month.

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?

The profit will increase by 944.97 if the crew’s tenure increases by one month.

Please prepare an “Executive Summary”. Please add this to the end of your Rmd file. Specifically, please create a qualitative summary of Managerial Insights, based on your data analysis, especially your Regression Analysis. You may write this in paragraph form or in point form.

From the p value of the above analysis, we reject the null hypothesis that the profit is independent of these variables. Now profit is not exactly dependent on the visibility of the store. Now for the rest of the variables, manager tenure and crew tenure positively affect the profits, therefore the company should try to retain them by incentives and taking feedback on why they leave and look to eliminate those reasons. Now, there is a correlation between Crew/manager skill and their tenure, thus the company must invest in training programmes for the crew as well as select more skilled managers to increase profits. Also, more population and less competition both obviuosly increase the profits and hence now store locations should be selected with these in mind. Also if the store is in residential area, there is a positive impact on sales and 24 hours open stores also see rise in profits.