datasummary <- describe(Store)
datasummary
##            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
summarydf <- Store %>% select(Profit, MTenure, CTenure) %>% summarise_all(funs(mean,sd ))
summarydf
##   Profit_mean MTenure_mean CTenure_mean Profit_sd MTenure_sd CTenure_sd
## 1    276313.6     45.29644      13.9315  89404.08   57.67155   17.69752

Attributes of top 10 and bottom 10 stores by profit

TopStores <- head(Store[order(-Store$Profit),] %>% select(store, Profit, MTenure, CTenure), n=10)
TopStores
##    store Profit   MTenure    CTenure
## 74    74 518998 171.09720  29.519510
## 7      7 476355  62.53080   7.326488
## 9      9 474725 108.99350   6.061602
## 6      6 469050 149.93590  11.351130
## 44    44 439781 182.23640 114.151900
## 2      2 424007  86.22219   6.636550
## 45    45 410149  47.64565   9.166325
## 18    18 394039 239.96980  33.774130
## 11    11 389886  44.81977   2.036961
## 47    47 387853  12.84790   6.636550
BottomStores <- tail(Store[order(-Store$Profit),] %>% select(store, Profit, MTenure, CTenure), n=10)
BottomStores 
##    store Profit     MTenure   CTenure
## 37    37 187765  23.1985000  1.347023
## 61    61 177046  21.8184200 13.305950
## 52    52 169201  24.1185600  3.416838
## 54    54 159792   6.6703910  3.876797
## 13    13 152513   0.6571813  1.577002
## 32    32 149033  36.0792600  6.636550
## 55    55 147672   6.6703910 18.365500
## 41    41 147327  14.9180200 11.926080
## 66    66 146058 115.2039000  3.876797
## 57    57 122180  24.3485700  2.956879

scatter plot of Profit vs. MTenure.

library(car)
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## The following object is masked from 'package:psych':
## 
##     logit
scatterplotProfit_MTenure <- scatterplot(Profit ~ MTenure , data = Store, main = "scatter plot of Profit vs. MTenure")

scatter plot of Profit vs. MTenure.

library(car)
scatterplotProfit_CTenure <- scatterplot(Profit ~ CTenure , data = Store, main = "scatter plot of Profit vs. CTenure")

correlation matrix

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

correlation between Profit & MTenure, and Profit & CTenure

correlationPMT <- cor(Store$Profit, Store$MTenure)
round(correlationPMT, 2)
## [1] 0.44
correlationPCT <- cor(Store$Profit, Store$CTenure)
round(correlationPCT, 2)
## [1] 0.26

corrgram of all the variables

library(corrgram)

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

Pearson’s Correlation test on the correlation between Profit & MTenure and Profit & CTenure

PearsoncorrPMT <- cor.test(Store$Profit, Store$MTenure, method = "pearson")
PearsoncorrPMT
## 
##  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
PearsoncorrPCT <- cor.test(Store$Profit, Store$CTenure, method = "pearson")
PearsoncorrPCT
## 
##  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

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

model <- lm(Profit ~ MTenure + CTenure + Comp + Pop + PedCount + Res + Hours24 + Visibility, data=Store)
summary(model)
## 
## 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

Expected change in profit if MTenure increases by 1 month would be equal to the beta value for MTenure i.e. $760.993 Similarly, Expected change in profit if CTenure increases by 1 month would be equal to the beta value for CTenure i.e. $944.978

MTenure, CTenure, Comp, Pop, PedCount, Res, Hours24 are the explanatory variable(s) whose beta-coefficients are statistically significant

beta-coefficient for Visibility is not statistically significant since its p-value > 0.05

***********************************SUMMARY**************************************

Since Store24 wants to improve employee retention, it is important to look at ROI on the cost incurred on employee engagement activities, training programs, etc. Also direct appraisals can put significant amount of impact on the business bottom-line, hence it is imperative to analyze the returns to arrive at a strategy which can be profitable.

Based on the regression analysis to quantify the impact of various variables on profit we observe that both ‘Manager Tenure’ and ‘Crew Tenure’ impact profit positively.

The beta values suggest that investing in programs for the Crew has a higher return in the shorter run as compared to investments on Managers. This behavior can be attributed to the fact that a crew member’s learning curve would be exponential in the beginning but it’d flatten out at a faster rate as well. This hypothesis can be explained using the scatter plot between CTenure & profit and a low correlation of 26%.

On the other hand, the tenure for Managers is more widely spread and a high correlation of 44% is observed between MTenure and profit. Also the learning curve of a manager would be flatter but it would sustain growth in the longer run.

Based on the analysis we can suggest that investments should be made to better train crew members early on in their career and reward them for their performance. Managers can be given incentives based on the performance of their team and regular training programs to upgrade their skills would help in reaping longer term benefits.