store <- read.csv(paste("Store24.csv", sep=""))
library(psych)
describe(store)
## 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
library(psych)
describe(store$Profit)
## vars n mean sd median trimmed mad min max range
## X1 1 75 276313.6 89404.08 265014 270260.3 90532 122180 518998 396818
## skew kurtosis se
## X1 0.62 -0.21 10323.49
library(psych)
describe(store$MTenure)
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 75 45.3 57.67 24.12 33.58 29.67 0 277.99 277.99 2.01 3.9
## se
## X1 6.66
library(psych)
describe(store$CTenure)
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 75 13.93 17.7 7.21 10.6 6.14 0.89 114.15 113.26 3.52 15
## se
## X1 2.04
top10 <- store[order(-store$Profit),]
top10[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
bottom10 <- store[order(store$Profit),]
bottom10[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
library(car)
##
## Attaching package: 'car'
## The following object is masked from 'package:psych':
##
## logit
scatterplot(Profit ~ MTenure, data=store,
main="Scatterplot Profit vs MTenure",
xlab="MTenure (in months)",
ylab="Profit")
library(car)
scatterplot(Profit ~ CTenure, data=store,
main="Scatterplot Profit vs CTenure",
xlab="CTenure (in months)",
ylab="Profit")
round(cor(store), 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
round
## function (x, digits = 0) .Primitive("round")
round(cor(store$Profit, store$MTenure), 2)
## [1] 0.44
round(cor(store$Profit, store$CTenure), 2)
## [1] 0.26
library(corrgram)
## Warning: replacing previous import by 'magrittr::%>%' when loading
## 'dendextend'
corrgram(store, order=FALSE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt,
main="Corrgram of store variables")
-> Profit is having a strong positive correlation with MTenure having a value of 0.44 -> Profit is having a weak positive correlation with CTenure having a value of 0.26 -> Profit is having a strong positive correlation with Sales having a value of 0.92 -> Profit is having a strong positive correlation with Pop having a value of 0.43 -> Profit is having a weak negative correlation with Comp having a value of -0.33
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
-> Here p value is 8.193e-05 which is less than 0.05. Hence we conclude that alternate hypothesis is true and correlation exists
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
-> Here p value is 0.02562 which is less than 0.05. Hence we conclude that alternate hypothesis is true and correlation exists
regress <- lm(Profit ~ MTenure + CTenure + Comp + Pop + PedCount + Res + Hours24 + Visibility, data= store)
summary(regress)
##
## 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
-> Here p value is 5.382e-12 which quite small and also Multiple R-square = 0.6379. Hence we conclude that model develop is effective and explains for about 60% variance in the data.
-> MTenure, Comp & PedCount contribute greatly for the rise or fall in profits.
1.MTenure 2. CTenure 3. Comp 4.Pop 5.PedCount 6.Res 7.Hours24
1.Visibility
As per the results obtained through regression analysis, if Manager’s tenure increases by one month then Profit increases 760.99.
As per the results obtained through regression analysis, if Crew’s tenure increases by one month then Profit increases 944.98.
-> The mean Manager’s tenure is about 45 months with std.deviation of approx. 58 days. The profit increases by about 761 million rupees with every 1 month increase in the Manager’s tenure. The p-value being 9.72e-08 indicates that its a very signifcant contributor for the profit.
-> The mean Crew’s tenure is about 14 months with std.deviation of approx. 18 days. The profit increases by about 945 million rupees with every 1 month increase in the Crew’s tenure.
-> Although change caused by 1 month in increement in the Manager’s tenure is less than Crew’s tenure but the p-value for Crew’s tenure is 0.028400. Its still less than 0.05 but greater than p-value of Manager’s tenure of 9.72e-08 making it less significant comparatively.
-> The competition affects the profit immensely and is a significant contributor for decreasing the profit by decreasing it by about 25 billion rupees for every 1 competitor per 10,000 people within a ½ mile radius
-> Population within a ½ mile radius and Store visibility are insignificant in contributing to profit though both of them enhance the value.
-> Location is important factor that governs profit because for if by rating of pedestrian foot traffic volume rises by 1 point, the profit rises by 34 billion and if the store location is in residential area it also provides profit of about 91.6 billion rupees than store in the industrial area.
-> Timings also are crucial contributors which increase the profit by 63.2 billion rupees if they operate round the clock.