1  Generalităţi

1.1 Venituri şi cheltuieli totale

Vom folosi în general în acest document filele Eurostat gov_10a_taxag pentru taxe şi venituri şi gov_10a_exp pentru cheltuieli şi gov_10a_main pentru agregatele principale ale finanţelor publice.

Arată codul
library(tidyverse)
library(gt)
theme_set(hrbrthemes::theme_ipsum_tw(strip_text_size = 14, 
                                     strip_text_family = "Frutiger Bold",
                                     axis_title_size = 10,
                                     axis_text_size = 8,
                                     base_family = "Frutiger",
                                     plot_title_family = "Frutiger Bold",
                                     subtitle_family = "Frutiger",
                                     caption_family = "Frutiger", 
                                     caption_size = 8,
                                     plot_title_size = 14,
                                     subtitle_size = 10) +
  theme(legend.text = element_text(size=8), 
        legend.title = element_text(size=10),
        legend.key.size = unit(0.5, "cm")))

culori <- c("#EA5B0C", "#a44a08", "#ea960c", "#ea150c", 
            "#a40e08", "#000000", "#0865a4", "#a48408")
Arată codul
taxe <- read_csv("database/gov_10a_taxag_prelucrat.csv")
cheltuieli <- read_csv("database/gov_10a_exp_prelucrat.csv")
agregate <- read_csv("database/gov_10a_main_prelucrat.csv")
taxe_total <- read_csv(here::here("database", "gov_10a_taxag_procent_din_buget.csv"))
Arată codul
agregate %>% filter(grepl("Total general", na_item)) %>% 
  filter(time>"1995-01-01") %>%
  filter(grepl("Romania|Bulgaria|Ungaria|Cehia|Polonia|Croatia|Media UE", geo)) %>% mutate(na_item = gsub("^.+expenditure$", "Cheltuieli totale", na_item) %>% 
                 gsub("^.+revenue", "Venituri totale", .)) %>%
  ggplot(aes(x=time, y=values, group=geo)) + 
  geom_line(aes(colour=geo, linewidth=geo=="Romania"), 
            show.legend = c("linewidth"=FALSE)) + 
  scale_y_continuous(labels=scales::percent_format(scale=1)) +
  scale_x_date(date_breaks = "3 years", date_minor_breaks = "1 year",
               date_labels = "%Y") +
  facet_wrap(~na_item, ncol=1, scales='free') +
  labs(title=NULL, y="Procent din PIB", x=NULL, 
       linewidth=NULL, colour="Ţară", caption="Sursa: Eurostat, gov_10a_main") +
  scale_linewidth_manual(values=c(0.5, 1.2)) +
  scale_color_manual(values=culori)

Se observă clar din grafic că unde nu excelează deloc România este categoria veniturilor. Cheltuielile sunt şi ele la coada clasamentului, chiar pentru Europa de Est. Să vedem veniturile totale fiscale.

Arată codul
taxe %>% 
  filter(grepl("Total receipts from taxes and social.+contributions after deduction",
               na_item)) %>% 
    filter(grepl("Romania|Bulgaria|Ungaria|Cehia|Polonia|Croatia|Media UE", geo)) %>%
    ggplot(aes(x=time, y=values, group=geo)) + 
    geom_line(aes(colour=geo, linewidth=geo=="Romania"), 
              show.legend = c("linewidth"=FALSE)) + 
    scale_y_continuous(labels=scales::percent_format(scale=1)) +
    scale_x_date(date_breaks = "3 years", date_minor_breaks = "1 year",
                 date_labels = "%Y") +
    labs(title="Venituri fiscale", y="Procent din PIB", x="An", 
         linewidth=NULL, colour="Ţară", caption="Sursa: Eurostat, gov_10a_taxag") +
    scale_linewidth_manual(values=c(0.5, 1.2)) +
    scale_color_manual(values=culori)

Să vedem un grafic cu structura veniturilor la buget în câteva ţări apropiate.

Arată codul
taxe_total %>% 
  filter(grepl("Ungaria|Romania|Italia|Suedia|UE|Bulgaria|Cehia|Slovacia", geo)) %>%
  filter(time=="2021-01-01") %>% filter(grepl("Current taxes on income|Net social contributions|Taxes on production and import",na_item)) %>% 
  mutate(na_item = gsub("Current.+$", "Impozite pe venit, avere, etc.", na_item) %>% 
                   gsub("Net social.+", "Contribuţii sociale nete", .) %>%
                   gsub("Taxes on production.+", "Taxe pe producţie şi importuri", .)) %>%
  ggplot(aes(x=geo, y=values, fill=na_item)) + 
  geom_col(aes(fill=na_item)) + 
  geom_text(aes(x=geo, y=values, group=na_item, label=paste(round(values, 2), "%")), 
            colour='white', position = position_stack(vjust=0.5), size=3) +
  scale_fill_manual(values=culori[c(1, 5, 8)]) + 
  labs(title="Structura veniturilor la buget", 
       caption="Sursa: Eurostat, gov_10a_taxag", 
       x=NULL, y=NULL, fill="Categorie") + 
  scale_y_continuous(labels=scales::percent_format(scale=1))

Să vizualizăm pe axa cheltuieli totale vs venituri totale cum stăm, însumând anii 2012-2022. Mărimea etichetei din grafic reprezintă mărimea excedentului sau, după caz, a deficitului bugetar. România iese la iveală uşor.

Arată codul
db <- agregate %>% 
  filter(grepl("Total general", na_item)) %>% 
  mutate(na_item = gsub("^.+expenditure$", "Cheltuieli totale", na_item) %>%
           gsub("^.+revenue", "Venituri totale", .)) %>% 
  mutate(time=lubridate::year(time)) %>% filter(time>2011) %>% 
  group_by(geo, na_item) %>% 
  summarise(values=mean(values)) %>% ungroup() %>% 
  pivot_wider(names_from=c(na_item), values_from=values) %>% 
  mutate(deficit = 100*(`Venituri totale`-`Cheltuieli totale`)) %>% 
  mutate(index = if_else(deficit>0, "Excedent", "Deficit")) 

  ggplot(db, aes(x=`Venituri totale`, y=`Cheltuieli totale`)) +
  geom_point(aes(colour=index)) +
  ggrepel::geom_text_repel(data=db %>%filter(geo!="Romania"),
                           aes(label=geo, size=abs(deficit), 
                               colour=index),
                           show.legend = c("size"=FALSE)) +
  ggtext::geom_richtext(data=db%>% filter(geo=='Romania'), 
                        aes(x=`Venituri totale`, y=`Cheltuieli totale`, 
                            label="<b>Romania</b>"), 
                        fill=NA, label.color=NA, nudge_y = 1) +
  geom_abline(slope=1, intercept=0, linetype=2) + 
  scale_colour_manual(values=culori[c(1, 5)]) + 
  scale_x_continuous(labels=scales::percent_format(scale=1)) +
  scale_y_continuous(labels=scales::percent_format(scale=1)) +
  scale_size_continuous(range=c(2, 4)) + 
  labs(title="Deficitul bugetar", subtitle="Media 2012-2022", 
       size=NULL, colour="Sold bugetar", caption="Sursa: Eurostat, gov_10a_main") 

Şi un tabel în ordinea descrescătoare a deficitului bugetar.

Arată codul
agregate %>% filter(grepl("Total general", na_item)) %>% 
  mutate(na_item = gsub("^.+expenditure$", "Cheltuieli totale", na_item) %>%
           gsub("^.+revenue", "Venituri totale", .)) %>% 
  mutate(time=lubridate::year(time)) %>% filter(time>2011) %>% 
  group_by(geo, na_item) %>% summarise(values=mean(values)) %>% 
  ungroup() %>% pivot_wider(names_from=c(na_item), values_from=values) %>%
  mutate(Balanta = (`Venituri totale`-`Cheltuieli totale`)) %>% 
  arrange((Balanta)) %>% filter(row_number()<11) %>% 
  rename("Ţări"=geo) %>% gt::gt() %>% 
  gt::fmt_number(columns=2:4, decimals = 2) %>% 
  gt::fmt_percent(columns=2:4, force_sign = T, scale_values = FALSE, 
                  accounting = FALSE) %>% 
  gt::tab_header(title="Media anilor 2012-2022 a balanţei bugetare",
                 subtitle="Sursa: calcule pe Eurostat, gov_10a_main") %>%
  gt::tab_style(style=gt::cell_fill(color=culori[1]), 
                locations = gt::cells_column_labels()) %>% 
  gt::tab_style(style=gt::cell_text(color="white"), 
                locations=gt::cells_column_labels()) %>% 
  gt::tab_style(style=gt::cell_fill(color=culori[3], alpha=0.3), 
                locations=gt::cells_body()) %>% 
  gt::tab_options(table.border.left.color = "#000000") %>%
  gtExtras::gt_theme_538() %>% 
  gt::opt_table_font(font="Frutiger") %>%
  gtExtras::gt_highlight_rows(rows=6)
Media anilor 2012-2022 a balanţei bugetare
Sursa: calcule pe Eurostat, gov_10a_main
Ţări Cheltuieli totale Venituri totale Balanta
Spania +45.76% +39.82% −5.95%
Franta +57.36% +52.94% −4.43%
Grecia +53.60% +49.19% −4.41%
Italia +51.69% +47.45% −4.24%
Slovenia +48.44% +44.54% −3.90%
Romania +36.70% +32.83% −3.87%
Ungaria +48.41% +44.88% −3.53%
Belgia +54.45% +51.08% −3.37%
Portugalia +46.94% +43.56% −3.37%
Polonia +43.02% +40.14% −2.88%

Concluzia acestei secţiuni este că nu cheltuielile sunt mari, într-adevăr cu greu ar putea fi tăiate şi mai mult, ci veniturile sunt foarte mici. Doar Irlanda, Elveţia şi Lituania au venituri din PIB mai mici ca noi făcând media ultimilor 10 ani. Pentru anul 2022 România a avut cel mai mic procent din PIB ca venituri, în afară de Irlanda.

1.2 Povara taxării e totuşi mare

Deşi stăm foarte prost ca venituri fiscale şi totale ca procent din PIB, cheltuielile fiind şi ele la coada clasamentului european, povara efectivă asupra salariatului obişnuit este deosebit de mare. OECD are un instrument de calcul al poverii fiscale, OECD tax calculator, pentru ţările membre şi câteva nemembre, printre care şi România. Povara fiscală (partea sub 0 a graficului), este cea mai mare în România din toată Europa.

Arată codul
oecd <- read_csv(here::here("database", "oecd_calculator.csv")) %>%
        inner_join(read_csv(here::here("database", "dictionar_tari.csv")) %>% 
                   rename(Country=geo)) %>% select(-Country) %>% 
        rename(geo=tari) %>% relocate(geo) %>% select(-year)

oecd %>% 
  mutate(across(net:sc, ~100*./`Average Wage`)) %>% 
  mutate(across(it:sc, ~-.)) %>% mutate(geo = fct_reorder(geo, net)) %>% 
  gather(gross:sc, key='Indicator', value='valoare') %>% 
  mutate(Indicator = gsub("^it$", "Impozit pe venit", Indicator) %>%
                     gsub("^gross$", "Venit brut din muncă", .) %>%
                     gsub("^iw$", "Beneficii în muncă", .) %>%
                     gsub("^sc$", "Contribuţii sociale", .)) %>%
  ggplot(aes(x=geo, y=valoare, fill=Indicator)) + 
  geom_col(aes(fill=Indicator)) + 
  geom_point(aes(x=geo, y=net), shape=8, show.legend = F) + 
  scale_fill_manual(values=culori[c(7, 3, 5, 1)]) + 
  theme(axis.text.x=element_text(angle=90, size=12), legend.position = "top") +
  labs(title = "Povara fiscală şi venitul net per gospodărie", 
       subtitle="* - Venitul net per gospodărie pentru un cuplu fără copii", 
       x=NULL, y="%", 
       caption='Sursa: OECD Tax Calculator, 2022') +
  scale_y_continuous(labels=scales::percent_format(scale=1), 
                     breaks = c(200, 150, 100, 50, 0, -50, -100)) 

1.3 Taxarea capital - muncă conform Băncii Mondiale

Există un nou set de date de la Banca Mondială care permite compararea ratelor de taxare efectivă pe capital şi muncă de-a lungul ţărilor şi anilor. Să vedem evoluţia în cele patru ţări din zona noastră.

Arată codul
read_csv("https://raw.githubusercontent.com/pierrebachas/Globalization_Factor_Taxation/main/globalETR_bfjz.csv") %>% 
  select(country_name, year, region, ETR_L, ETR_K) %>% 
  filter(country_name%in%c("Romania", "Hungary", "Bulgaria", "Poland")) %>% 
  gather(ETR_L:ETR_K, key="tax_rate", value='valoare') %>% 
  mutate(country_name=gsub("Poland", "Polonia", country_name) %>% 
                      gsub("Hungary", "Ungaria", .)) %>%
  mutate(tax_rate = gsub("ETR_K", "Capital", tax_rate) %>% 
                    gsub("ETR_L", "Muncă", .)) %>% 
  ggplot(aes(x=year, y=valoare, group=tax_rate)) + 
  geom_line(aes(colour=tax_rate), size=1) + 
  facet_wrap(~country_name, ncol=2, scales='free') +
  scale_y_continuous(labels=scales::percent_format(scale=100)) +
  labs(title = "Rata de taxare efectivă capital-muncă", 
      caption="Sursa: Banca Mondială, Globalization Factor Taxation Dataset",
       x="Anul", y=NULL, colour="Indicator") +
  scale_color_manual(values=culori[c(1, 5)]) +
  theme(legend.position = "top")

1.4 Categorii de impozite pe venit

Vom vizualiza profile de ţări după veniturile şi cheltuielile lor ca procent din PIB. Acest lucru ne ajută pentru a ne face o idee despre diversele moduri în care cheltuie sau colectează ţările europene banii la buget. Vom aplica metodologia PCA (“Principal Component Analysis” sau “Analiza componentelor principale”) pentru a reduce dimensionalitatea de la un set cu număr mare de variabile originale (categorii de venituri sau cheltuieli, după caz) la doar două axe principale care reprezintă o hartă a similarităţii ţărilor considerând variabilele originale. Important, vom folosi versiunea robustă, insensibilă la outlieri, nu cea originală. Axele sunt ecuaţii liniare, simple funcţii liniare compuse din variabile originale, coeficienţii fiind calculaţi în aşa fel încât axele noastre să surprindă cel mai mult cu putinţă din variaţia variabilelor originale.

Arată codul
rbiplot <- function(mat, p=1, clusters=4, k=15, scale=TRUE){
  x <- mat[,apply(mat, MARGIN=2, FUN=mean)>p, drop=F] %>% colnames()
  pca <- sparsepca::robspca(mat, scale=scale, verbose=FALSE)
  procent <- pca$eigenvalues^2/sum(pca$eigenvalues^2)
  procent <- paste(round(100*procent[1:2], 1), "%")
  rot <- as_tibble(pca$loadings) %>% mutate(var=colnames(mat)) %>% filter(var%in%x)
  model <- kmeans(pca$scores[,1:2], centers=clusters)$cluster
  coords <- as_tibble(pca$scores, rownames="geo") %>%
    mutate(cluster = as.factor(model))
  ggplot(coords, aes(x=V1, y=V2)) + 
    ggConvexHull::geom_convexhull(aes(x=V1, y=V2, group=cluster, fill=cluster), alpha=0.2) +
    geom_point(colour='red3') + 
    ggrepel::geom_text_repel(aes(label=geo),nudge_y=0.3, max.overlaps = 10, size=3) +
    geom_vline(xintercept = 0,linetype=2) +
    geom_hline(yintercept=0, linetype=2) +
    geom_segment(data=rot, aes(xend=k*V1, x=0, yend=k*V2, y=0), 
                 arrow = arrow(length = unit(0.25, "cm")), colour=culori[7]) +
    ggrepel::geom_text_repel(data=rot, aes(label=var,x=k*V1, y=k*V2), 
                             alpha=0.9, colour=culori[7], size=2) +
    labs(title="PCA - Biplot", 
         subtitle="Componentele principale (robuste) ale cheltuielilor COFOG99 pe 2017-2021", 
         caption="Sursa: calcule pe Eurostat, gov_10a_main",
         x=paste0("Dim1 (", procent[1], ")"), y=paste0("Dim2 (", procent[2],")")) +
    theme(axis.title = element_text(size=14)) +
    scale_fill_manual(values = culori)
  
}

Să începem cu veniturile. Avem 34 de variabile originale pe care le vom reduce la cele două axe principale. Împreună cele două axe explică 58.8 % din variabilitatea datelor originale (vezi valorile din paranteză). Cu albastru avem contribuţia variabilelor originale la axele noastre afişate. Practic putem explica de ce România este în poziţia în care este observând săgeţile albastre ce bat înspre ea: contribuţiile sociale ale angajaţilor. Asta însemnă că ţările din direcţia asta (est-europene şi baltice în general) au un procent din PIB mai mare colectat în această categorie de venituri. Culorile reprezintă clusterii descoperiţi de metodologia k-means.

Arată codul
mat_venituri <- read_csv("/home/petre/R/proiecte/taxare/database/PCA_venituri.csv") %>% column_to_rownames("geo") 
mat_cheltuieli <- read_csv('/home/petre/R/proiecte/taxare/database/PCA_cheltuieli.csv') %>% column_to_rownames("geo")
Arată codul
rbiplot(mat_venituri, p=0.5, clusters=6, k=15) +
  labs(subtitle = "Componentele principale (robuste) ale veniturilor bugetare pe 2017-2021", title="PCA - biplot cu veniturile bugetare")

Să vedem şi la cheltuieli. Aici putem folosi 71 de variabile originale din setul original furnizat de Eurostat. Fiind un set mai mare, este de aşteptat că avem mai puţină variabilitate explicată de aceste două axe (circa 52. 7 %). Dar profilele sunt foarte clare: România cheltuie asemenea ţărilor est-europene şi baltice, doar că pe poliţie, ordine publică (unde suntem locul 4 în Europa ca procent din PIB), cheltuieli cu organe legislative şi executive, apărare, etc. La polul opus sunt statele progresiste cu cheltuieli pe protecţie socială, sănătate, educaţie, etc.

Arată codul
rbiplot(mat_cheltuieli, p=0.3, clusters=4, k=15) +
  labs(title="PCA - biplot cu cheltuielile bugetare")

Ghidându-ne după aceste grafice putem face analize punctuale mai interesante. De exemplu, care este topul ţărilor care colectează venituri din contribuţii sociale ?

Arată codul
mat_venituri %>% as_tibble(rownames='geo') %>% 
  select(geo, matches("Compulsory")) %>% 
  mutate(geo = fct_reorder(geo, `Compulsory employees' actual social contributions`)) %>% 
  ggplot(aes(x=geo, y=`Compulsory employees' actual social contributions`)) +
  geom_col(fill=culori[1]) + coord_flip() + 
  labs(title="Contribuţii sociale obligatorii", 
       subtitle="Pentru angajaţi, media 2017-2021", 
       y="Procent din PIB", x="Ţară", caption="Sursa: Eurostat, gov_10a_main") + 
  scale_y_continuous(labels=scales::percent_format(scale=1))

România este prima, lucru care şi explică poziţionarea ei în direcţia acestei variabile pe biplotul cu venituri. La contribuţiile sociale ale gospodăriilor suntem pe locul 3, lucru de aşteptat întrucât aşa cum arată şi biplotul, ele sunt variabile corelate între ele (săgeţi apropiate ca poziţie şi magnitudine înseamnă variabile bine corelate).

Să rămânem însă la impozitele pe venit. Graficul următor este relevator.

Arată codul
taxe %>% 
  filter(grepl("Taxes on income$", na_item)) %>% 
  filter(time=="2021-01-01") %>% 
  mutate(geo=fct_reorder(geo, values)) %>% 
  ggplot(aes(x=geo, y=values)) + 
  geom_col(fill=culori[1]) + coord_flip() + 
  scale_y_continuous(labels=scales::percent_format(scale=1)) +
  labs(title="Impozit pe venit - total", subtitle="Anul 2021", 
       y="Procent din PIB", x="Ţară", fill="Ţară", 
       caption="Sursa: Eurostat, gov_10a_taxag")

E interesant de văzut şi evoluţia acestei categorii.

Arată codul
taxe %>% 
    filter(grepl("Taxes on income$", na_item)) %>% 
    filter(grepl("Romania|Bulgaria|Ungaria|Polonia|Croatia|Media UE", geo)) %>%  
  ggplot(aes(x=time, y=values, group=geo)) + 
  geom_line(aes(colour=geo, size=geo=="Romania"), 
            show.legend = c("size"=FALSE)) + 
  scale_y_continuous(labels=scales::percent_format(scale=1)) +
  labs(title="Impozite pe venit - total", x="An", y="Procent din PIB",
       caption="Sursa: Eurostat, gov_10a_taxag", colour='Ţară') +
  scale_size_manual(values=c(0.5, 1.5)) +
  scale_color_manual(values=culori) +
  scale_x_date(date_breaks = "3 years", date_labels = "%Y", 
               date_minor_breaks = "1 year")

1.4.1 Impozitul pe profit

Era de aşteptat, România taxează profiturile mai puţin decât media europeană, dar nu cu mult.

Arată codul
taxe %>% filter(time=="2021-01-01") %>% 
  filter(grepl("profits.+gains", na_item)) %>% 
  arrange((values)) %>% mutate(geo=fct_reorder(geo, values)) %>% 
  ggplot(aes(x=geo, y=values)) + geom_col(fill=culori[1]) + 
  coord_flip() + labs(title="Impozitul pe profit", 
                      subtitle="Anul 2021", y="Procent din PIB", x="Ţară", 
                      caption="Sursa: Eurostat, gov_10a_taxag") +
  scale_y_continuous(labels=scales::percent_format(scale=1))

Graficul următor e doar pentru noi, nu l-aş include în raport.

Arată codul
taxe %>% filter(time=="2021-01-01") %>% 
  filter(!grepl("Total", na_item)) %>% 
  filter(grepl("Media UE|Romania", geo)) %>% 
  select(-time) %>% spread(geo, values) %>% 
  mutate_at(2:3, ~replace_na(., 0)) %>% 
  mutate(delta = `Media UE`-Romania) %>% 
  arrange(desc(abs(delta))) %>% slice(1:30) %>%
  mutate(na_item = fct_reorder(na_item, delta)) %>% 
  ggplot(aes(x=na_item, y=delta)) + 
  geom_col(fill=culori[1]) + coord_flip() +
  scale_y_continuous(labels=scales::percent_format(scale=1)) +
  labs(title="Diferenţa dintre media UE şi România", subtitle="Anul 2021",
       x="Ţară", y="Procent din PIB", caption="Sursa: Eurostat, gov_10a_main") +
  theme(plot.title.position = "plot")

Se pare că doar din impozitul pe venit putem creşte vreo 8 puncte procentuale. Să vedem aceleaşi date sub formă de tabel.

Arată codul
taxe %>% filter(time=="2021-01-01") %>% 
  filter(!grepl("Total", na_item)) %>% 
  filter(grepl("Romania|Media UE", geo)) %>% 
  spread(geo, values)  %>% 
  mutate(Diferenta = `Media UE`-Romania) %>% 
  arrange(desc((Diferenta))) %>% select(-time) %>% 
  drop_na() %>% rename(taxa=na_item) %>% 
  filter(Diferenta!=0) %>% gt::gt() %>% 
  gt::fmt_percent(2:4, decimals = 1, scale_values = F) %>% 
  gt::tab_header(title="Diferenţa dintre media europeană şi România la veniturile din taxe") %>% gtExtras::gt_theme_538() %>% 
  gt::opt_table_font(font='Frutiger') %>%
  gt::tab_style(style=cell_text(font="Frutiger Bold"), cells_title(groups='title')) %>%
  gt::tab_style(style=cell_fill(color=culori[1]), locations=cells_column_labels()) 
Diferenţa dintre media europeană şi România la veniturile din taxe
taxa Media UE Romania Diferenta
Current taxes on income, wealth, etc. 13.3% 5.2% 8.1%
Taxes on income 12.8% 4.8% 8.0%
Taxes on individual or household income including holding gains 9.8% 2.4% 7.4%
Employers' actual social contributions 7.3% 1.0% 6.3%
Net social contributions 14.3% 11.3% 3.0%
Taxes on production and imports 13.6% 10.7% 2.9%
Other taxes on production 2.4% 0.8% 1.6%
Taxes on products 11.2% 9.9% 1.3%
Value added type taxes (VAT) 7.4% 6.5% 0.9%
Taxes on land, buildings and other structures 1.0% 0.3% 0.7%
Taxes on the income or profits of corporations including holding gains 2.9% 2.2% 0.7%
Taxes on financial and capital transactions 0.4% 0.0% 0.4%
Capital taxes 0.3% 0.0% 0.3%
Other taxes on production n.e.c. 0.3% 0.0% 0.3%
Stamp taxes 0.3% 0.0% 0.3%
Taxes on capital transfers 0.3% 0.0% 0.3%
Taxes on insurance premiums 0.3% 0.0% 0.3%
Excise duties 0.4% 0.2% 0.2%
Other current taxes 0.5% 0.3% 0.2%
Other current taxes n.e.c. 0.2% 0.0% 0.2%
Other taxes on specific services 0.2% 0.0% 0.2%
Taxes and duties on imports excluding VAT 0.4% 0.2% 0.2%
Taxes on imports excluding VAT and import duties 0.4% 0.2% 0.2%
Taxes on products, except VAT and import taxes 3.4% 3.3% 0.1%
Other taxes on income n.e.c. 0.1% 0.0% 0.1%
Payments by households for licences 0.2% 0.1% 0.1%
Taxes on lotteries, gambling and betting 0.1% 0.0% 0.1%
Employers' imputed social contributions 0.9% 0.8% 0.1%
Taxes on pollution 0.2% 0.3% −0.1%
Taxes on winnings from lottery or gambling 0.0% 0.2% −0.2%
General sales or turnover taxes 0.0% 0.3% −0.3%
Excise duties and consumption taxes 1.9% 2.8% −0.9%
Households' actual social contributions 6.0% 9.6% −3.6%
Compulsory households' actual social contributions 5.9% 9.6% −3.7%
Compulsory employees' actual social contributions 4.2% 9.5% −5.3%

1.5 Concluzie

Mai avem mult de colectat până să ajungem la media grupului Visegrad, care este ilustrată în tabelul următor:

Arată codul
agregate %>% filter(grepl("Total general government revenue", na_item)) %>% 
  filter(grepl("Romania|Cehia|Slovacia|Ungaria|Polonia", geo)) %>% 
  spread(geo, values) %>% 
  mutate(delta = -Romania + (Cehia + Polonia + Slovacia + Ungaria)/4) %>% 
  select(-1) %>% filter(time>"2011-01-01") %>% rename(Anul=time) %>% 
  gt::gt() %>% gtExtras::gt_theme_538() %>% 
  tab_header(title="Bugetul total pentru România şi Vişegrad", 
             subtitle="Sursa: Eurostat, gov_10a_main") %>% opt_row_striping() %>%
  gt::tab_footnote(footnote="Diferenţa dintre media Vişegrad şi România", 
               locations=cells_column_labels(columns=delta)) %>%
  gtExtras::gt_color_rows(columns=2:7) %>%
  gt::fmt_percent(columns=2:7, decimals=2, scale_values = F) %>%
  gt::opt_table_font(font='Frutiger') %>%
  tab_style(cell_text(font="Frutiger Bold"), cells_title(groups="title")) %>%
  gt::tab_style(style=cell_fill(color=culori[1]), locations=cells_column_labels()) %>%
  gt::tab_style(style=cell_text(color='white'), locations=cells_column_labels())
Bugetul total pentru România şi Vişegrad
Sursa: Eurostat, gov_10a_main
Anul Cehia Polonia Romania Slovacia Ungaria delta1
2012-01-01 40.80% 39.60% 32.30% 36.80% 46.80% 8.70%
2013-01-01 41.40% 39.10% 33.70% 39.60% 47.50% 8.20%
2014-01-01 40.50% 39.20% 34.20% 40.20% 47.30% 7.60%
2015-01-01 41.30% 39.10% 35.50% 42.90% 48.40% 7.43%
2016-01-01 40.50% 38.90% 32.50% 40.00% 45.00% 8.60%
2017-01-01 40.50% 39.90% 31.10% 38.50% 44.30% 9.70%
2018-01-01 41.50% 41.20% 31.70% 38.70% 44.00% 9.65%
2019-01-01 41.30% 41.10% 31.60% 39.30% 44.00% 9.82%
2020-01-01 41.50% 41.30% 32.30% 39.40% 43.60% 9.15%
2021-01-01 41.40% 42.30% 32.70% 40.10% 41.20% 8.55%
2022-01-01 41.00% 39.80% 33.50% 40.20% 41.60% 7.15%
1 Diferenţa dintre media Vişegrad şi România

Observăm că suntem cu circa 7.5 -8 % procente din PIB în urma grupului Vişegrad la veniturile totale, şi asta în vremurile bune. Făcând o medie pe ultimii zece ani, avem o diferenţă de circa 28 miliarde de EURO (nu RON !) faţă de media acestui grup.

Arată codul
taxe %>% filter(grepl("Total tax", na_item)) %>% 
    filter(grepl("Romania|Cehia|Slovacia|Ungaria|Polonia", geo)) %>% 
    spread(geo, values) %>% 
    mutate(medie = (Cehia + Polonia + Slovacia + Ungaria)/4) %>% 
    select(-1) %>% filter(time>"2011-01-01") %>% rename(Anul=time) %>% 
    drop_na() %>% select(Anul, Romania, medie) %>% 
    gather(2:3, key="Indicator", value='valoare') %>% 
    ggplot(aes(x=Anul, y=valoare, group=Indicator)) + 
    geom_line(aes(colour=Indicator), size=1) + 
    labs(title="Veniturile fiscale: media Vişegrad şi România", 
         x=NULL, y="% din PIB", colour="Regiune", 
         caption="Sursa: Eurostat, gov_10a_taxag") +  
    scale_color_manual(values=culori[c(1, 5)]) +
    theme(legend.position = 'top')