Statutory corporate income tax rate - TABLE_II1

Data - OECD

CORP_TAX

Code
TABLE_II1 %>%
  left_join(TABLE_II1_var$CORP_TAX, by = "CORP_TAX") %>%
  group_by(CORP_TAX, Corp_tax) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
CORP_TAX Corp_tax Nobs
CIT_RATE Corporate income tax rate 931
COMB_CIT_RATE Combined corporate income tax rate 931
CIT_RATE_LESS_SUB_NAT Corporate income tax rate less deductions for sub-national taxes 907
SUB_CENT_GOV_CIT_RATE Sub-central government corporate income tax rate 263
CIT_RATE_EXCL_SURTAX Corporate income tax rate exclusive of surtax 174

COU

Code
TABLE_II1 %>%
  left_join(TABLE_II1_var$COU %>%
              setNames(c("COU", "Cou")), by = "COU") %>%
  group_by(COU, Cou) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Germany

Code
TABLE_II1 %>%
  filter(COU == "DEU") %>%
  year_to_date() %>%
  left_join(TABLE_II1_var$CORP_TAX, by = "CORP_TAX") %>%
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = c(0.7, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

France

Code
TABLE_II1 %>%
  filter(COU == "FRA") %>%
  year_to_date() %>%
  left_join(TABLE_II1_var$CORP_TAX, by = "CORP_TAX") %>%
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

United States

Code
TABLE_II1 %>%
  filter(COU == "USA") %>%
  year_to_date() %>%
  left_join(TABLE_II1_var$CORP_TAX, by = "CORP_TAX") %>%
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

Luxembourg

Code
TABLE_II1 %>%
  filter(COU == "LUX") %>%
  year_to_date() %>%
  left_join(TABLE_II1_var$CORP_TAX, by = "CORP_TAX") %>%
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

Japan

Code
TABLE_II1 %>%
  filter(COU == "JPN") %>%
  year_to_date() %>%
  left_join(TABLE_II1_var$CORP_TAX, by = "CORP_TAX") %>%
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))