Stealing Pattern contd
- Stealing per store for high/low cash type
store_summary_info %>% group_by(cash_type) %>% summarise(count=n(),avg_steal_count = mean(StealCountPerDay),avg_steal_amount=mean(StealAmountPerDay),
steal_employee_percentage = mean(steal_employee_percentage),steal_manager_percentage=mean(steal_manager_percentage))
Schedule Statistics: Employee-Employee
hist(store_date$store_open_day,breaks=100)

summary(store_date$store_open_day)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.0 383.0 422.0 537.9 757.0 1660.0
- Employee working day count
hist(employee_date$employee_open_day,breaks=500)

summary(employee_date$employee_open_day)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 8.00 32.00 63.12 91.00 1019.00
- Employee working day/Store open day
hist(employee_date$open_percentage,breaks=500)

summary(employee_date$open_percentage)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0006024 0.0134200 0.0547000 0.1252000 0.1682000 1.0000000
- Standard deviations of employee working day percentage within store
hist(sd_open_percentage$sd_percentage,breaks=100)

summary(sd_open_percentage$sd_percentage,na.rm=TRUE)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.03866 0.08684 0.14000 0.14760 0.20610 0.68830 20
- Select a store, see the number of days the employees are on
temp<-sample_week %>% group_by(employeekey) %>% summarise(open_day = n())
hist(temp$open_day)

- Graph on schedule per week for all employee in this store
plot(sample_employee$week,sample_employee$employee_open_day_week,xlab="week",ylab="on_day")

ggplot(sample_employee_store,aes(week,employee_open_day_week))+geom_line(aes(colour=factor(employeekey)))

- Standard deviations of working day per week within the same store
hist(sd_open_per_week$sd_open_per_week,breaks=100)

- Graph one specific week-schedule for one store
temp<-filter(sample_week,employeekey<=190)
p<-ggplot(temp,aes(weekday,employeekey))
p+geom_point(aes(colour=factor(employeekey)))

- Percentage of shift share per employee-pair within one store
hist(employee_shift_store[[818]]$share_shift_percentage,breaks=100)

hist(employee_shift_store[[1]]$share_shift_percentage,breaks=100)

hist(employee_shift_store[[581]]$share_shift_percentage,breaks=100)

hist(employee_shift_store[[985]]$share_shift_percentage,breaks=100)

- Summary statistics of average shift percentage
summary(mean_shift)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.03845 0.17000 0.18700 0.19350 0.20840 0.66030
hist(mean_shift,breaks=100)

Schedule Statistics: Employee-Manager
- Percentage of shift with each manager
summary(employee_date_manager$employee_manager_percentage)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0003617 0.0083330 0.0270300 0.1866000 0.1462000 1.0000000
hist(employee_date_manager$employee_manager_percentage,breaks=100)

- Look at the employees with manager percentage equal 1
temp<-unique(select(filter(employee_date_manager,employee_manager_percentage==1),employeekey,employee_total_obs))
hist(temp$employee_total_obs,breaks=100,main="Percentage ==1 Obs Count")

After recheck, these are manager themselves,we could identify the managers’ cheating performance as well
LS0tDQp0aXRsZTogIlJlcG9ydCBvbiBzY2hlZHVsZSBvZiByZXN0YXVyYW50L2VtcGxveWVlcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjIFN0ZWFsaW5nIFBhdHRlcm4gY29udGQNCg0KLSBTdGVhbGluZyBwZXIgc3RvcmUgZm9yIGhpZ2gvbG93IGNhc2ggdHlwZQ0KYGBge3J9DQpzdG9yZV9zdW1tYXJ5X2luZm8gJT4lIGdyb3VwX2J5KGNhc2hfdHlwZSkgJT4lIHN1bW1hcmlzZShjb3VudD1uKCksYXZnX3N0ZWFsX2NvdW50ID0gbWVhbihTdGVhbENvdW50UGVyRGF5KSxhdmdfc3RlYWxfYW1vdW50PW1lYW4oU3RlYWxBbW91bnRQZXJEYXkpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlYWxfZW1wbG95ZWVfcGVyY2VudGFnZSA9IG1lYW4oc3RlYWxfZW1wbG95ZWVfcGVyY2VudGFnZSksc3RlYWxfbWFuYWdlcl9wZXJjZW50YWdlPW1lYW4oc3RlYWxfbWFuYWdlcl9wZXJjZW50YWdlKSkNCmBgYA0KDQojIyBTY2hlZHVsZSBTdGF0aXN0aWNzOiBFbXBsb3llZS1FbXBsb3llZQ0KDQoNCi0gU3RvcmUgd29ya2luZyBkYXkgY291bnQNCg0KYGBge3J9DQpoaXN0KHN0b3JlX2RhdGUkc3RvcmVfb3Blbl9kYXksYnJlYWtzPTEwMCkNCnN1bW1hcnkoc3RvcmVfZGF0ZSRzdG9yZV9vcGVuX2RheSkNCmBgYA0KDQotIEVtcGxveWVlIHdvcmtpbmcgZGF5IGNvdW50DQoNCmBgYHtyfQ0KaGlzdChlbXBsb3llZV9kYXRlJGVtcGxveWVlX29wZW5fZGF5LGJyZWFrcz01MDApDQpzdW1tYXJ5KGVtcGxveWVlX2RhdGUkZW1wbG95ZWVfb3Blbl9kYXkpDQpgYGANCg0KLSBFbXBsb3llZSB3b3JraW5nIGRheS9TdG9yZSBvcGVuIGRheQ0KDQpgYGB7cn0NCmhpc3QoZW1wbG95ZWVfZGF0ZSRvcGVuX3BlcmNlbnRhZ2UsYnJlYWtzPTUwMCkNCnN1bW1hcnkoZW1wbG95ZWVfZGF0ZSRvcGVuX3BlcmNlbnRhZ2UpDQpgYGANCg0KLSBTdGFuZGFyZCBkZXZpYXRpb25zIG9mIGVtcGxveWVlIHdvcmtpbmcgZGF5IHBlcmNlbnRhZ2Ugd2l0aGluIHN0b3JlDQoNCmBgYHtyfQ0KaGlzdChzZF9vcGVuX3BlcmNlbnRhZ2Ukc2RfcGVyY2VudGFnZSxicmVha3M9MTAwKQ0Kc3VtbWFyeShzZF9vcGVuX3BlcmNlbnRhZ2Ukc2RfcGVyY2VudGFnZSxuYS5ybT1UUlVFKQ0KYGBgDQoNCi0gU2VsZWN0IGEgc3RvcmUsIHNlZSB0aGUgbnVtYmVyIG9mIGRheXMgdGhlIGVtcGxveWVlcyBhcmUgb24NCg0KYGBge3J9DQoNCnRlbXA8LXNhbXBsZV93ZWVrICU+JSBncm91cF9ieShlbXBsb3llZWtleSkgJT4lIHN1bW1hcmlzZShvcGVuX2RheSA9IG4oKSkNCmhpc3QodGVtcCRvcGVuX2RheSkNCmBgYA0KDQoNCi0gR3JhcGggb24gc2NoZWR1bGUgcGVyIHdlZWsgZm9yIGFsbCBlbXBsb3llZSBpbiB0aGlzIHN0b3JlDQoNCmBgYHtyfQ0KDQpwbG90KHNhbXBsZV9lbXBsb3llZSR3ZWVrLHNhbXBsZV9lbXBsb3llZSRlbXBsb3llZV9vcGVuX2RheV93ZWVrLHhsYWI9IndlZWsiLHlsYWI9Im9uX2RheSIpDQoNCmdncGxvdChzYW1wbGVfZW1wbG95ZWVfc3RvcmUsYWVzKHdlZWssZW1wbG95ZWVfb3Blbl9kYXlfd2VlaykpK2dlb21fbGluZShhZXMoY29sb3VyPWZhY3RvcihlbXBsb3llZWtleSkpKQ0KDQpgYGANCg0KDQotIFN0YW5kYXJkIGRldmlhdGlvbnMgb2Ygd29ya2luZyBkYXkgcGVyIHdlZWsgd2l0aGluIHRoZSBzYW1lIHN0b3JlDQoNCmBgYHtyfQ0KaGlzdChzZF9vcGVuX3Blcl93ZWVrJHNkX29wZW5fcGVyX3dlZWssYnJlYWtzPTEwMCkNCmBgYA0KDQoNCg0KDQotIEdyYXBoIG9uZSBzcGVjaWZpYyB3ZWVrLXNjaGVkdWxlIGZvciBvbmUgc3RvcmUNCmBgYHtyfQ0KdGVtcDwtZmlsdGVyKHNhbXBsZV93ZWVrLGVtcGxveWVla2V5PD0xOTApDQpwPC1nZ3Bsb3QodGVtcCxhZXMod2Vla2RheSxlbXBsb3llZWtleSkpDQpwK2dlb21fcG9pbnQoYWVzKGNvbG91cj1mYWN0b3IoZW1wbG95ZWVrZXkpKSkNCmBgYA0KDQoNCg0KDQoNCg0KDQotIFBlcmNlbnRhZ2Ugb2Ygc2hpZnQgc2hhcmUgcGVyIGVtcGxveWVlLXBhaXIgd2l0aGluIG9uZSBzdG9yZQ0KYGBge3J9DQpoaXN0KGVtcGxveWVlX3NoaWZ0X3N0b3JlW1s4MThdXSRzaGFyZV9zaGlmdF9wZXJjZW50YWdlLGJyZWFrcz0xMDApDQpoaXN0KGVtcGxveWVlX3NoaWZ0X3N0b3JlW1sxXV0kc2hhcmVfc2hpZnRfcGVyY2VudGFnZSxicmVha3M9MTAwKQ0KaGlzdChlbXBsb3llZV9zaGlmdF9zdG9yZVtbNTgxXV0kc2hhcmVfc2hpZnRfcGVyY2VudGFnZSxicmVha3M9MTAwKQ0KaGlzdChlbXBsb3llZV9zaGlmdF9zdG9yZVtbOTg1XV0kc2hhcmVfc2hpZnRfcGVyY2VudGFnZSxicmVha3M9MTAwKQ0KYGBgDQoNCg0KLSBTdW1tYXJ5IHN0YXRpc3RpY3Mgb2YgYXZlcmFnZSBzaGlmdCBwZXJjZW50YWdlDQoNCg0KYGBge3J9DQpzdW1tYXJ5KG1lYW5fc2hpZnQpDQpoaXN0KG1lYW5fc2hpZnQsYnJlYWtzPTEwMCkNCmBgYA0KIyMgU2NoZWR1bGUgU3RhdGlzdGljczogRW1wbG95ZWUtTWFuYWdlcg0KDQotIFBlcmNlbnRhZ2Ugb2Ygc2hpZnQgd2l0aCBlYWNoIG1hbmFnZXINCmBgYHtyfQ0Kc3VtbWFyeShlbXBsb3llZV9kYXRlX21hbmFnZXIkZW1wbG95ZWVfbWFuYWdlcl9wZXJjZW50YWdlKQ0KaGlzdChlbXBsb3llZV9kYXRlX21hbmFnZXIkZW1wbG95ZWVfbWFuYWdlcl9wZXJjZW50YWdlLGJyZWFrcz0xMDApDQpgYGANCg0KLSBMb29rIGF0IHRoZSBlbXBsb3llZXMgd2l0aCBtYW5hZ2VyIHBlcmNlbnRhZ2UgZXF1YWwgMQ0KYGBge3J9DQp0ZW1wPC11bmlxdWUoc2VsZWN0KGZpbHRlcihlbXBsb3llZV9kYXRlX21hbmFnZXIsZW1wbG95ZWVfbWFuYWdlcl9wZXJjZW50YWdlPT0xKSxlbXBsb3llZWtleSxlbXBsb3llZV90b3RhbF9vYnMpKQ0KaGlzdCh0ZW1wJGVtcGxveWVlX3RvdGFsX29icyxicmVha3M9MTAwLG1haW49IlBlcmNlbnRhZ2UgPT0xIE9icyBDb3VudCIpDQoNCmBgYA0KQWZ0ZXIgcmVjaGVjaywgdGhlc2UgYXJlIG1hbmFnZXIgdGhlbXNlbHZlcyx3ZSBjb3VsZCBpZGVudGlmeSB0aGUgbWFuYWdlcnMnIGNoZWF0aW5nIHBlcmZvcm1hbmNlIGFzIHdlbGwNCg0KDQoNCg==