1. Bar Chart by Frequency

## 1. Bar Chart by Frequency
# group by year, quarter, digit and count occurrences 

#df2 <- df1 %>% group_by(fyearq,fqtr,digit_diluted) %>%
  #summarize(count_filings = n())

#df2 %>% 
  #ggplot(aes(x=digit_diluted, y=count_filings)) + 
  #geom_col(aes(fill=digit_diluted)) + theme_bw()
#plot by quarter

df2 %>% 
  ggplot(aes(x=digit_diluted, y=count_filings)) + 
  geom_col(aes(fill=digit_diluted)) + facet_wrap(vars(as_factor(fqtr))) +
theme_bw()

1b: The smallest difference between integer 4 and 5 looks to be Q4, much less variation observed in that quarter, interestingly enough.

2a - 1998 Only

2b - 2019 Only

2C: Differences observed between 2019 and 1998: In 1998, there are much larger discrepancies between the 4 integer and the surrounding integers, particularly the difference between 4 and 5. This issue is less prevalent in 2019 as more audit tools and internal controls are implemented in organizations.

3 Top 10 Worst Offenders

#3 
#aggregate results for company by 1 row each

df_3 <- df1 %>%
  mutate (
    digit_4 = if_else(digit_diluted == 4,1,0), 
    digit_5 = if_else(digit_diluted == 5,1,0)
    ) %>% group_by (tic,conm) %>%
  summarize(count_4 = sum(digit_4),count_5 = sum(digit_5),count_filings = n()) %>% mutate(
  percent_4 = count_4/ count_filings,
  percent_5 = count_5/ count_filings) %>% filter(count_filings >56,percent_4< 0.0118, percent_5 > 0.11)

3b - These companies have almost no 4 digit integers in their EPS, but much higher % of the 5 integer. We would expect to see close to 10% of EPS have a 4 in the tenths place. This is definitely a cause for an investigation due to a high likelihood of “strategic rounding”.

3c - Yes, Fulton, Interface and HCSG. That’s crazy!

LS0tCnRpdGxlOiAiTm9lbGxlIE5hdGFsZTogSW5kIEFzc2lnbm1lbnQgMiAtIERhdGEgQW5hbHl0aWNzIGluIEFjY291bnRpbmciCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KIyMgMS4gQmFyIENoYXJ0IGJ5IEZyZXF1ZW5jeQoKYGBge3J9CiNsaWJyYXJ5KHRpZHl2ZXJzZSkKI2RmMSA8LSByZWFkX3JkcygiRVBTIHJvdW5kaW5nX2FmdGVyIGNsYXNzLnJkcyIpCmBgYAoKCmBgYHtyfQojIyAxLiBCYXIgQ2hhcnQgYnkgRnJlcXVlbmN5CiMgZ3JvdXAgYnkgeWVhciwgcXVhcnRlciwgZGlnaXQgYW5kIGNvdW50IG9jY3VycmVuY2VzIAoKI2RmMiA8LSBkZjEgJT4lIGdyb3VwX2J5KGZ5ZWFycSxmcXRyLGRpZ2l0X2RpbHV0ZWQpICU+JQogICNzdW1tYXJpemUoY291bnRfZmlsaW5ncyA9IG4oKSkKCiNkZjIgJT4lIAogICNnZ3Bsb3QoYWVzKHg9ZGlnaXRfZGlsdXRlZCwgeT1jb3VudF9maWxpbmdzKSkgKyAKICAjZ2VvbV9jb2woYWVzKGZpbGw9ZGlnaXRfZGlsdXRlZCkpICsgdGhlbWVfYncoKQojcGxvdCBieSBxdWFydGVyCgpkZjIgJT4lIAogIGdncGxvdChhZXMoeD1kaWdpdF9kaWx1dGVkLCB5PWNvdW50X2ZpbGluZ3MpKSArIAogIGdlb21fY29sKGFlcyhmaWxsPWRpZ2l0X2RpbHV0ZWQpKSArIGZhY2V0X3dyYXAodmFycyhhc19mYWN0b3IoZnF0cikpKSArCnRoZW1lX2J3KCkKCmBgYAoxYjoKVGhlIHNtYWxsZXN0IGRpZmZlcmVuY2UgYmV0d2VlbiBpbnRlZ2VyIDQgYW5kIDUgbG9va3MgdG8gYmUgUTQsIG11Y2ggbGVzcyB2YXJpYXRpb24gb2JzZXJ2ZWQgaW4gdGhhdCBxdWFydGVyLCBpbnRlcmVzdGluZ2x5IGVub3VnaC4gCgoKIyAyYSAtIDE5OTggT25seQpgYGB7cn0KIzJhCmRmMiAlPiUgZmlsdGVyKGZ5ZWFycT09JzE5OTgnKSAlPiUgCiAgZ2dwbG90KGFlcyh4PWRpZ2l0X2RpbHV0ZWQsIHk9Y291bnRfZmlsaW5ncykpICsgCiAgZ2VvbV9jb2woYWVzKGZpbGw9ZGlnaXRfZGlsdXRlZCkpICsgZmFjZXRfd3JhcCh2YXJzKGFzX2ZhY3RvcihmcXRyKSkpICsKdGhlbWVfYncoKQpgYGAKIyAyYiAtIDIwMTkgT25seQpgYGB7cn0KIzJiCmRmMiAlPiUgZmlsdGVyKGZ5ZWFycT09JzIwMTknKSAlPiUgCiAgZ2dwbG90KGFlcyh4PWRpZ2l0X2RpbHV0ZWQsIHk9Y291bnRfZmlsaW5ncykpICsgCiAgZ2VvbV9jb2woYWVzKGZpbGw9ZGlnaXRfZGlsdXRlZCkpICsgZmFjZXRfd3JhcCh2YXJzKGFzX2ZhY3RvcihmcXRyKSkpICsKdGhlbWVfYncoKQpgYGAKMkM6IERpZmZlcmVuY2VzIG9ic2VydmVkIGJldHdlZW4gMjAxOSBhbmQgMTk5ODogCkluIDE5OTgsIHRoZXJlIGFyZSBtdWNoIGxhcmdlciBkaXNjcmVwYW5jaWVzIGJldHdlZW4gdGhlIDQgaW50ZWdlciBhbmQgdGhlIHN1cnJvdW5kaW5nIGludGVnZXJzLCBwYXJ0aWN1bGFybHkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiA0IGFuZCA1LiBUaGlzIGlzc3VlIGlzIGxlc3MgcHJldmFsZW50IGluIDIwMTkgYXMgbW9yZSBhdWRpdCB0b29scyBhbmQgaW50ZXJuYWwgY29udHJvbHMgYXJlIGltcGxlbWVudGVkIGluIG9yZ2FuaXphdGlvbnMuIAoKIyMgMyBUb3AgMTAgV29yc3QgT2ZmZW5kZXJzCmBgYHtyfQojMyAKI2FnZ3JlZ2F0ZSByZXN1bHRzIGZvciBjb21wYW55IGJ5IDEgcm93IGVhY2gKCmRmXzMgPC0gZGYxICU+JQogIG11dGF0ZSAoCiAgICBkaWdpdF80ID0gaWZfZWxzZShkaWdpdF9kaWx1dGVkID09IDQsMSwwKSwgCiAgICBkaWdpdF81ID0gaWZfZWxzZShkaWdpdF9kaWx1dGVkID09IDUsMSwwKQogICAgKSAlPiUgZ3JvdXBfYnkgKHRpYyxjb25tKSAlPiUKICBzdW1tYXJpemUoY291bnRfNCA9IHN1bShkaWdpdF80KSxjb3VudF81ID0gc3VtKGRpZ2l0XzUpLGNvdW50X2ZpbGluZ3MgPSBuKCkpICU+JSBtdXRhdGUoCiAgcGVyY2VudF80ID0gY291bnRfNC8gY291bnRfZmlsaW5ncywKICBwZXJjZW50XzUgPSBjb3VudF81LyBjb3VudF9maWxpbmdzKSAlPiUgZmlsdGVyKGNvdW50X2ZpbGluZ3MgPjU2LHBlcmNlbnRfNDwgMC4wMTE4LCBwZXJjZW50XzUgPiAwLjExKQoKCgpgYGAKCmBgYHtyfQpkZl8zCmBgYAozYiAtIFRoZXNlIGNvbXBhbmllcyBoYXZlIGFsbW9zdCBubyA0IGRpZ2l0IGludGVnZXJzIGluIHRoZWlyIEVQUywgYnV0IG11Y2ggaGlnaGVyICUgb2YgdGhlIDUgaW50ZWdlci4gV2Ugd291bGQgZXhwZWN0IHRvIHNlZSBjbG9zZSB0byAxMCUgb2YgRVBTIGhhdmUgYSA0IGluIHRoZSB0ZW50aHMgcGxhY2UuIFRoaXMgaXMgZGVmaW5pdGVseSBhIGNhdXNlIGZvciBhbiBpbnZlc3RpZ2F0aW9uIGR1ZSB0byBhIGhpZ2ggbGlrZWxpaG9vZCBvZiAic3RyYXRlZ2ljIHJvdW5kaW5nIi4gCgozYyAtIFllcywgRnVsdG9uLCBJbnRlcmZhY2UgYW5kIEhDU0cuIFRoYXQncyBjcmF6eSEgCg==