Foram extraídos os dados de remunerações dos órgãos que compôem o MPU:
Ministério Público Federal
Ministério Público do Trabalho
Ministério Público Militar
Ministério Público do Distrito Federal e Territórios
Após a extração dos dados foram aplicados os filtros para as rubricas:
Conversão de licença prêmio em pecúnia
Definições
O Ministério Público da União é uma instituição que acomoda quatro diferentes ramos, com áreas de atuação, organização e administração distintas: o Ministério Público Federal, o Ministério Público do Trabalho, o Ministério Público Militar e o Ministério Público do Distrito Federal e Territórios.
O MPU possui como chefe o Procurador-Geral da República, que exerce as funções do Ministério Público junto ao Supremo Tribunal Federal (STF), no Superior Tribunal de Justiça (STJ), sendo também o (a) procurador (a)-geral Eleitoral.
Conversão de Licenças-prêmio em pecúnia
Todos os MPs que integram o MPU despendem quantias significativas com licenças-prêmio convertidas em pecúnia. Nesse caso, o membro recebe um pagamento, considerado indenizatório, como compensação por deixar de usufruir das folgas que ganha após acumular 24 horas de trabalho em plantão.
Há ainda outra modalidade de licença-prêmio, que garante três meses de licença a cada cinco anos de exercício. Esta também pode ser convertida em pagamento indenizatório, mediante solicitação do membro.
Todos esses pagamentos aparecem nos contracheques sob a rubrica “conversão de licença prêmio em pecúnia” e similares. As licenças-prêmio são consideradas verbas de natureza indenizatória e também não estão sujeitas ao teto remuneratório.
Dados
São apresentadas as remunerações pagas aos membros do MPU de janeiro de 2018 até junho de 2023, por ano, mês e rubrica. Os dados são provenientes da plataforma DadosJusBr, um projeto que é fruto de uma parceria entre a Transparência Brasil, o Instituto Federal de Alagoas (IFAL) e a Universidade Federal de Campina Grande (UFCG). O projeto visa a abrir dados de remuneração do sistema de Justiça brasileiro e disponibiliza as informações em uma plataforma on-line.
Código-fonte
Código para consulta no banco de dados com R: link
Código para extrair remunerações dos magistrados do banco de dados do DadosjUsBr: link
O primeiro tratamento aplicado é a sanitização do campo nome para garantir a consistência da contagem e demais operações na granularidade de membro. O campo categoria também é sanitizado com o mesmo propósito, mas seu uso neste relatório é menor.
Optei por remover o campo id, pois este reflete uma granularidade muito alta (nível item/membro/ano/mês) para a análise que queremos. Nós perderemos a granularidade de item porque eles serão agrupados. Para referenciar os itens de forma simplificada, nós iremos calcular a soma da venda de licença-prêmio separado da soma das demais remuneração líquidas. Isso, portanto, aumenta a granularidade do dado e inutiliza o campo id.
Código
mpu <- mpu %>%# esse id é no padrao item-categoria-ano-mes-nome-matricula.# Um id nessa granularidade não é necessário nesta análiseselect(-id) %>%# normaliza nome e categoriamutate(nome = nome %>%tolower() %>% stringi::stri_trans_general("latin-ascii") %>%str_squish(),categoria = categoria %>%tolower() %>% stringi::stri_trans_general("latin-ascii") %>%str_squish() )
O MPF apresenta inconsistência na divulgação de dados de matrícula. Em 71593 linhas (16% do total entre 2019-2022), o campo matrícula está vazio e isso gera a dupla contagem no número de membros do órgão, uma vez que o identificador único de cada membro (id_membro) é a matrícula {matricula}. Para sanar esse problema, os o campo o nome do membro é agrupado para completar o preenchimento desses campos vazios.
Além disso, foram encontrados 8 casos em que a matrícula do membro se altera por exercerem funções de “PROCURADOR REQUISITADO” ou “MEMBRO APOSENTADO”. Todos os casos foram corrigidos.
Código
completa_campo_matricula <-function(df) { todos_os_nomes <- mpu %>%distinct(orgao, nome) nomes_sem_matricula <- df %>%filter(matricula =="") %>%distinct(orgao, nome) %>%mutate(possui_registro_sem_matricula =TRUE) nomes_com_matricula <- df %>%mutate(id_membro =case_when( nome =="andre alisson leal teixeira"~"10150", nome =="claiz maria pereira gunca dos santos"~"1135", nome =="ednaldo rodrigo brito da silva"~"747", nome =="eitel santiago de brito pereira"~"247", nome =="eunice pereira amorim carvalhido"~"371", nome =="natalia magalhaes wanderlei"~"10121", nome =="rodrigo lopez zilio"~"30411", nome =="tamara de santana teixeira buriti"~"1119", nome =="luiz fernando guimaraes de almeida"& orgao =="mpdft"~"10166", nome =="mauricio saliba alves branco"~"10167", (orgao =="mpdft"&str_count(matricula) ==3) ~glue("00{matricula}"),.default = matricula ) ) %>%filter(id_membro !="") %>%distinct(orgao, nome, id_membro) %>%add_count(nome, name ="qt_nome_repetido") todos_os_nomes_com_matricula <- nomes_com_matricula %>%full_join(nomes_sem_matricula) %>%mutate(possui_registro_sem_matricula =replace_na( possui_registro_sem_matricula, FALSE )) %>%mutate(id_membro =if_else(is.na(id_membro), nome, id_membro ))return(list(todos_os_nomes = todos_os_nomes,nomes_com_matricula = nomes_com_matricula,nomes_sem_matricula = nomes_sem_matricula,todos_os_nomes_com_matricula = todos_os_nomes_com_matricula ))}# Repõe os dados de matricula, preenchendo campos vaziosmpu <- mpu %>%left_join( mpu %>%completa_campo_matricula() %>%pluck("todos_os_nomes_com_matricula") %>%select(orgao, nome, id_membro) )
Tratando duplicidades nos dados do MPF e MPT
Código
remove_dups <-function(df) {`%notin%`<- \(x, y) !(x %in% y)# cria um id único para cada linha df <- df %>%unite(id_unico, remove =FALSE) %>%group_by(id_unico) %>%mutate(n_linhas =n()) %>%ungroup()# com o distinct descartamos as duplicidades df_sem_dups <-distinct(df, id_unico, .keep_all =TRUE) %>%select(-id_unico)return(df_sem_dups)}mpu <-remove_dups(mpu)dups <- mpu %>%add_count(orgao, name ="qt_linhas") %>%filter(n_linhas >1) %>%count(orgao, qt_linhas) %>%mutate(perc = n / qt_linhas)
Descrição dos casos de duplicidades:
1213 casos no mpf (0,27% do total de linhas afetadas do total que o órgão possui)
198 casos no mpt (0,07% do total de linhas do total que o órgão possui)
Sanitização das rubricas
Código
mpu <- mpu %>%# sanitiza campo de item, melhorando taxonomiamutate(item_sanitizado =case_when( item_sanitizado =="auxilioalimentacao"~"auxilio alimentacao", item_sanitizado =="auxiliocreche"~"auxilio creche", item_sanitizado =="auxilio preescolar"~"auxilio creche", item_sanitizado =="auxiliomoradia"~"auxilio moradia", item_sanitizado =="auxilio moradia isento de ir"~"auxilio moradia", item_sanitizado =="auxilionatalidade"~"auxilio natalidade", item_sanitizado =="auxilios natalidade"~"auxilio natalidade", item_sanitizado =="auxiliotransporte"~"auxilio transporte", item_sanitizado =="licenca premio pecunia"~"conversao de licenca premio em pecunia", item_sanitizado =="licenca premio em pecunia"~"conversao de licenca premio em pecunia", item_sanitizado =="licenca premio"~"conversao de licenca premio em pecunia", item_sanitizado =="outras remuneracoes retroativastemporarias"~"outras verbas remuneratorias retroativas ou temporarias", item_sanitizado =="outras verbas remuneratorias retroativastemporarias"~"outras verbas remuneratorias retroativas ou temporarias", item_sanitizado =="indenizacoes de ferias"~"ferias indenizatorias", item_sanitizado =="retteto ativo subst oficio eou fccc"~"retencao por teto constitucional", item_sanitizado =="ir s13 de ferias const"~"imposto de renda", item_sanitizado %in%c("gratificacao exercicio cumulativo de oficio","gratif por exercicio cumulativo de oficios l1302414" ) ~"gratificacao por exercicio cumulativo de oficio", item_sanitizado %in%c("gratif por exercicio cumulativo de oficios sem psss","gratificacao de exercicio cumulativo com oficio sem psss" ) ~"gratificacao por exercicio cumulativo de oficio sem psss", item_sanitizado =="gratificacao exercicio cumulativo com oficio com psss"~"gratificacao por exercicio cumulativo de oficio com psss", item_sanitizado %in%c("grat encargo de curso e concurso","gratificacao encargo de curso e concurso","gratificacao por encargo de concurso","gratificacao por encargo de curso" ) ~"gratificacao por encargo de curso e concurso", item_sanitizado %in%c("ferias", "ferias 13 constitucional" ) ~"ferias 13 constitucional",str_detect(item_sanitizado, "substi") ~"substituicao de membros",.default = item_sanitizado )) %>%rename(item_real = item, item = item_sanitizado)
Delimitaremos o escopo da análise para o período de 2019 até 2022. O ano de 2023 será analizado em uma seção à parte. Ao todo, o dataset possui nrow(mpu) linhas considerando o período de 2019-2022. Para o ano de 2023 o dataset possui 97978 linhas.
Benefício perfaz o quarto maior montante na folha de pagamento dos membros do MPU, atrás somente de salátios e 13°. A tabela abaixo mostra um resumo das rubricas que constam na folha de pagamento dos membros.
Remunerações totais por item e categoria - 2019-2023
Item
Valor
remuneracao basica
Outras verbas remuneratorias legais ou judiciais
R$ 21.960.270
Remuneracao do cargo efetivo
R$ 1.841.637.126
Total
R$ 1.863.597.396
verbas indenizatorias
Auxilio moradia
R$ 9.370
Auxilio natalidade
R$ 72.188
Transporte mobiliario
R$ 1.053.356
Ferias indenizatorias
R$ 2.418.945
Ajuda de custo
R$ 6.622.883
Auxilio creche
R$ 10.609.502
Auxilio alimentacao
R$ 42.747.253
Abono pecuniario
R$ 105.077.331
Conversao de licenca premio em pecunia
R$ 241.206.599
Total
R$ 409.817.427
remuneracao eventual ou temporaria
Funcao de confianca ou cargo em comissao
R$ 14.218.706
Abono de permanencia
R$ 43.461.510
Ferias 13 constitucional
R$ 122.292.033
Gratificacao natalina
R$ 168.357.151
Total
R$ 348.329.400
outras remuneracoes temporarias
Gratificacao local de trabalho
R$ 15.000
Gratificacao por encargo de curso e concurso
R$ 2.116.266
Outras verbas remuneratorias retroativas ou temporarias
R$ 3.813.246
Outras verbas remuneratorias
R$ 12.137.024
Abono de permanencia
R$ 22.679.856
Ferias 13 constitucional
R$ 60.160.204
Gratificacao natalina
R$ 83.456.384
Gratificacao por exercicio cumulativo de oficio
R$ 149.190.085
Total
R$ 333.568.068
obrigatorios/legais
Imposto de renda
−R$ 507.674.165
Contribuicao previdenciaria
−R$ 185.061.922
Retencao por teto constitucional
−R$ 43.578.108
Total
−R$ 736.314.196
Fonte: DadosJusBr Elaboração: Transparência Brasil
Código
soma_rubricas(mpu, "mpt")
MPT - Ministério Público do Trabalho
Remunerações totais por item e categoria - 2019-2023
Item
Valor
remuneracao basica
Outras verbas remuneratorias legais ou judiciais
R$ 24.574.571
Remuneracao do cargo efetivo
R$ 1.183.857.924
Total
R$ 1.208.432.494
remuneracao eventual ou temporaria
Funcao de confianca ou cargo em comissao
R$ 5.257.789
Abono de permanencia
R$ 32.810.928
Ferias 13 constitucional
R$ 278.294.468
Gratificacao natalina
R$ 503.836.721
Total
R$ 820.199.906
outras remuneracoes temporarias
Imposto de renda
R$ 2.151
Retencao por teto constitucional
R$ 20.753
Adicional atividade penosa
R$ 2.219
Devolucao planassiste
R$ 7.165
Devolucao ir
R$ 24.792
Substprocuradoresfc l1141506
R$ 29.909
Hora extra
R$ 204.433
Gratificacao de pericia e projeto
R$ 1.397.356
Antecipacao rem mes posterior
R$ 1.590.684
Gratificacao por encargo de curso e concurso
R$ 5.659.727
Gratificacao por exercicio cumulativo de oficio sem psss
R$ 9.356.199
Gratificacao local de trabalho
R$ 15.637.622
Outras verbas remuneratorias retroativas ou temporarias
R$ 19.022.111
Substituicao de membros
R$ 19.308.051
Outras verbas remuneratorias
R$ 22.488.246
Gratificacao por exercicio cumulativo de oficio
R$ 37.083.038
Conversao de licenca premio em pecunia
R$ 84.761.619
Total
R$ 216.596.073
verbas indenizatorias
Auxilio natalidade
R$ 21.755
Auxilio alimentacao
R$ 19.704.927
Auxilio creche
R$ 5.727.857
Auxilio moradia
R$ 1.043.525
Total
R$ 26.498.064
verba indenizatoria
Auxilio alimentacao
R$ 3.102.840
Auxilio creche
R$ 876.313
Auxilio moradia
R$ 14.621.618
Total
R$ 18.600.771
remuneracao temporaria
Antecipacao rem mes posterior
R$ 5.078.288
Total
R$ 5.078.288
verbas indenizatorias e outras remuneracoes temporarias
Antecipacao rem mes posterior
R$ 131.088
Auxilio alimentacao
R$ 663.448
Total
R$ 794.537
obrigatorios / legais
Imposto de renda
−R$ 327.743.802
Contribuicao previdenciaria
−R$ 136.854.640
Retencao por teto constitucional
−R$ 11.240.210
Total
−R$ 475.838.652
Fonte: DadosJusBr Elaboração: Transparência Brasil
Código
soma_rubricas(mpu, "mpdft")
MP-DFT - Ministério Público do Distrito Federal e Territórios
Remunerações totais por item e categoria - 2019-2023
Item
Valor
contracheque
Imposto de renda
−R$ 181.785.605
Contribuicao previdenciaria
−R$ 68.439.913
Retencao por teto constitucional
−R$ 7.064.954
Funcao de confianca ou cargo em comissao
R$ 3.616.248
Outras verbas remuneratorias legais ou judiciais
R$ 11.631.056
Abono de permanencia
R$ 17.034.324
Ferias 13 constitucional
R$ 33.857.382
Gratificacao natalina
R$ 121.964.415
Remuneracao do cargo efetivo
R$ 603.962.946
Total
R$ 534.775.899
indenizacoes
Auxilio natalidade
R$ 13.844
Auxilio creche
R$ 2.555.251
Auxilio alimentacao
R$ 16.312.274
Abono pecuniario
R$ 40.776.348
Conversao de licenca premio em pecunia
R$ 87.232.733
Total
R$ 146.890.450
temporarias
Gratificacao por encargo de curso e concurso
R$ 1.056.314
Gratificacao por exercicio cumulativo de oficio com psss
R$ 1.060.741
Substituicao de membros
R$ 5.933.708
Gratificacao por exercicio cumulativo de oficio sem psss
R$ 43.714.748
Total
R$ 51.765.511
Fonte: DadosJusBr Elaboração: Transparência Brasil
Código
soma_rubricas(mpu, "mpm")
MPM - Ministério Público Militar
Remunerações totais por item e categoria - 2019-2023
Item
Valor
remuneracao basica
Outras verbas remuneratorias legais ou judiciais
R$ 1.398.013
Remuneracao do cargo efetivo
R$ 119.226.763
Total
R$ 120.624.776
verbas indenizatorias
Auxilio natalidade
R$ 2.967
Auxilio transporte
R$ 2.967
Auxilio moradia
R$ 365.654
Auxilio alimentacao
R$ 3.099.691
Conversao de licenca premio em pecunia
R$ 25.438.735
Total
R$ 28.910.014
remuneracao eventual ou temporaria
Funcao de confianca ou cargo em comissao
R$ 834.987
Ferias 13 constitucional
R$ 6.502.921
Abono de permanencia
R$ 8.305.712
Gratificacao natalina
R$ 10.064.733
Total
R$ 25.708.352
outras remuneracoes temporarias
Substituicao de membros
R$ 6.890
Gratificacao por encargo de curso e concurso
R$ 209.276
Gratificacao por exercicio cumulativo de oficio
R$ 10.135.239
Total
R$ 10.351.405
obrigatorios/legais
Imposto de renda
−R$ 33.244.960
Contribuicao previdenciaria
−R$ 17.081.308
Retencao por teto constitucional
−R$ 3.451.268
Total
−R$ 53.777.536
Fonte: DadosJusBr Elaboração: Transparência Brasil
O gráfico a seguir destaca a mediana dos recebimentos por rubrica, representado pelos pontos. As barras representam a distância entre o menor e o maior valor recebido, sendo que na parte mais grossa estão 75% dos recebimentos aferidos em cada rubrica e os 25% restantes estão representados pela linha mais fina.
Código
plot_rubricas <-function(df, aid) { orgao_lbl <-case_when( aid =="mpf"~"MPF", aid =="mpt"~"MPT", aid =="mpm"~"MPM", aid =="mpdft"~"MP-DFT", ) df %>%filter(orgao == aid) %>%count( ano, mes, id_membro, item, categoria,wt = valor,name ="valor" ) %>%group_by(categoria) %>%mutate(valor_categ_max =max(valor) ) %>%ungroup() %>%mutate(categoria =fct_reorder(categoria, valor_categ_max),item =str_to_sentence(item),item =fct_reorder(item, valor), ) %>%ggplot(aes(x = valor, y = item, color = categoria)) +geom_vline(xintercept =0, linewidth = .1, color ="gray30") + ggdist::stat_pointinterval(shape =21,point_size =2,point_color = cores_dadosjusbr[["cinza_azulado"]],point_fill = colorspace::lighten(cores_dadosjusbr[["cinza_azulado"]], .7),show.legend =FALSE,.width =c(.75, 1),interval_size_range =c(2, 4) ) + ggforce::facet_col(facets =vars(fct_rev(categoria)),scales ="free",space ="free" ) +scale_x_continuous(limits =c(-1.2e5, 5.9e5),labels =~if_else(. ==0, "0", glue("R${. / 1000}mil")),expand =c(0, 0) ) +scale_y_discrete(expand =c(0, 0), position ="right") +scale_color_manual(values =c("remuneracao basica"= cores_dadosjusbr[["laranja"]],"contracheque"= cores_dadosjusbr[["laranja"]],"obrigatorios/legais"= cores_dadosjusbr[["cinza_azulado"]],"obrigatorios / legais"= cores_dadosjusbr[["cinza_azulado"]],"remuneracao eventual ou temporaria"= cores_dadosjusbr[["verde"]],"temporarias"= cores_dadosjusbr[["verde"]],"verbas indenizatorias"= cores_dadosjusbr[["lilas"]],"indenizacoes"= cores_dadosjusbr[["lilas"]],"outras remuneracoes temporarias"= cores_dadosjusbr[["cyan"]],"verbas indenizatorias e remuneracoes temporarias/eventuais"= cores_dadosjusbr[["cyan"]] )) +theme(strip.text.y =element_text(color ="transparent"),strip.placement ="outside",axis.ticks.x =element_blank(),axis.text.y =element_text(face ="italic"),axis.text.x =element_text(face ="italic", size =8),axis.title.y =element_text(angle =0),panel.grid.minor =element_blank(),panel.background =element_rect(fill ="gray98", color ="transparent") ) +labs(title =glue("Distribuição de remunerações no {orgao_lbl}"),subtitle =glue("Rubricas agrupadas por categoria.\n","O ponto representa a mediana dos recebimentos\n","As barras representam a distância entre o menor e o maior valor recebido, sendo que na parte\n","mais espessa estão 75% dos recebimentos aferidos em cada rubrica e os 25% restantes\nestão representados pela linha mais fina." ),x =NULL, y ="Rubricas",caption = my_caption )}
Percentual de pagamentos de licença-prêmio sobre as remunerações liquidas - por ano (2019 - 2022)
Código
pend_ano_orgao <- penduricalhos %>%summarise(total_pago =sum(valor),media =mean(valor),mediana =median(valor),n_membros =n_distinct(glue("{id_membro}-{orgao}")),n_pagamentos =n(),.by =c(orgao, item, ano) ) %>%select(orgao, item, ano, total_pago) %>%complete(orgao, ano, item, fill =list(total_pago =0)) %>%group_by(orgao, ano) %>%mutate(perc = total_pago /sum(total_pago)) %>%ungroup()pend_ano_orgao %>%mutate(item =fct_reorder(item, -perc, sum),orgao =case_when( orgao =="mpm"~"Ministério Público Militar", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios", orgao =="mpt"~"Ministério Público do Trabalho", orgao =="mpf"~"Ministério Público Federal" ),orgao =ordered(orgao, levels =c("Ministério Público Militar","Ministério Público Federal","Ministério Público do Distrito Federal e Territórios","Ministério Público do Trabalho" )) ) %>%ggplot(aes(x =as.integer(ano), y = perc, fill = item)) +geom_col() +geom_text(data = . %>%filter(item =="Licença-prêmio"& perc >0),aes(label =perc(round(perc, 4))),vjust =-.5 ) +facet_wrap(~orgao, scales ="free") +scale_fill_manual(values =c("Outras remunerações"=alpha(cores_dadosjusbr[["verde"]], .6),"Licença-prêmio"= cores_dadosjusbr[["cinza_azulado"]] ) ) +scale_x_continuous(expand =c(0, .1), breaks =2019:2022L) +scale_y_continuous(labels = scales::percent, breaks =c(0, .50, 1)) +labs(fill =NULL, y =NULL, x ="Ano",title =NULL,subtitle ="Percentual em relação ao total das remunerações líquidas - por ano",caption = my_caption ) +theme(panel.grid.major.x =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.minor.y =element_blank(),legend.position ="top",legend.justification ="left",strip.text =element_text(size =10) )
Código
pend_mpm_2021 <- pend_ano_orgao %>%filter(orgao =="mpm"& ano ==2021)
O desembolso do MPU com pagamentos de licença-prêmio representa apenas 9% do total da soma das remunerações líquidas pagas. Entretanto, há indícios de que o benefício é utilizado em larga escala para turbinar as remunerações dos membros.
Em 2021, mais de 1/4 (25%) das remunerações líquidas pagas para os membros do Ministério Público Militar se enquadraram na rubrica de venda de licença-prêmio em pecúnia. O valor desembolsado pelo MPM em 2021 para pagamento de licença-prêmio foi de R$ 8.912.885.
A tabela a seguir resume os valores pagos para cada membro dos órgãos do MPU. Os valores mediana e média são referentes à soma do valor anual recebido para cada membro no período de 2018 até 2023.
Os dados foram extraídos diretamente do banco de dados do DadosJusBr em putubrosetembro de 2023 e analisados em linguagem R. O dataset extraído possui 673706 lançamentos, em que cada linha é um item/rubrica associada a um contracheque de um único membro, mês e ano. Ao todo, foram observadas remunerações de 2452 membros dos quatro órgãos do MPU entre janeiro de 2019 e dezembro de 2022, perfazendo um total de 111047 contracheques coletados, dos quais 8708 continham pagamentos relativos à licença-prêmio para 2089 membros (85%).
Ao todo, 201 membros reeberam acima de R$ 400 mil reais em licença-prêmio, considerando a soma dos pagamentos.
Código
make_html_tag <- \(vec, cor) glue("<span style='color: {cor}'>{vec}</span>")penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(cor =case_when( orgao =="mpm"~ cores_dadosjusbr[["laranja"]], orgao =="mpdft"~ cores_dadosjusbr[["cinza_azulado"]], orgao =="mpt"~ cores_dadosjusbr[["cyan"]], orgao =="mpf"~ cores_dadosjusbr[["lilas"]] ),orgao =case_when( orgao =="mpm"~"Ministério Público Militar | MPM", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpf"~"Ministério Público Federal | MPF" ) ) %>%count(id_membro, orgao, cor, wt = valor, name ="valor") %>%mutate(fx_valor =case_when( valor <50000~"Até R$ 49.999", valor <=1e5~"Entre R$ 50.000 e 149.999", valor <=3e5~"Entre R$ 150.000 e 299.999",.default ="Acima de R$ 300.000" ) %>%ordered(levels =c("Até R$ 49.999","Entre R$ 50.000 e 149.999","Entre R$ 150.000 e 299.999","Acima de R$ 300.000" )) ) %>%count(fx_valor, orgao, cor) %>%mutate(orgao =fct_reorder(orgao, -n)) %>%complete(orgao, fx_valor, fill =list(n =0)) %>%mutate(orgao =make_html_tag(orgao, darken(cor, .4))) %>%ggplot(aes(y = fx_valor,x = n,fill = cor,color =after_scale(colorspace::darken(fill, .4)) )) +geom_col(show.legend =FALSE, alpha = .8) +geom_text(hjust =-.7, aes(label = scales::number(n, big.mark =".", decimal.mark =",", accuracy =1) )) +facet_wrap(~orgao, nrow =4, strip.position ="top") +scale_fill_identity() +# scale_fill_manual(# values = c(# "Ministério Público Militar | MPM" = cores_dadosjusbr[["laranja"]],# "Ministério Público do Distrito Federal e Territórios | MP-DFT" = cores_dadosjusbr[["cinza_azulado"]],# "Ministério Público do Trabalho | MPT" = cores_dadosjusbr[["cyan"]],# "Ministério Público Federal | MPF" = cores_dadosjusbr[["lilas"]]# )# ) +scale_x_continuous(expand =c(0.01, 0),limits =c(0, 700),labels =~ scales::number(., big.mark =".", decimal.mark =",", accuracy =1) ) +theme(axis.ticks.x =element_blank(),axis.title.y =element_text(),axis.text.y =element_text(face ="plain", size =10),axis.title.x =element_text(face ="plain", size =10, hjust = .5),strip.text =element_markdown(),panel.grid.minor =element_blank(),panel.grid.major.y =element_blank() ) +labs(title =NULL,subtitle ="Órgãos do Ministério Público da União",x ="Quantidade de membros que receberam indenizações de licença-prêmio",y =NULL,caption = my_caption )
Parcelas
Os pagamentos não são feitos em uma única parcela e é comum os membros receberem mais de uma vez. A tabela a seguir resume os valores médios e medianos de cada pagamento entre o ano de 2018 e 2023.
Órgãos do Ministério Público da União - membros ativos
Total pago
Média de cada pagamento
Mediana de cada pagamento
Quantidade pagamentos
Qtde. de membros que receberam
2019
R$ 49.117.857
R$ 55.065
R$ 50.534
892
892
2020
R$ 141.905.984
R$ 34.969
R$ 33.689
4.058
1.778
2021
R$ 142.945.088
R$ 103.284
R$ 83.866
1.384
1.384
2022
R$ 104.670.758
R$ 44.090
R$ 35.462
2.374
1.262
Total
R$ 438.639.687
R$ 50.372,04
R$ 36.350,70
8.708
2.089
Fonte: DadosJusBr Elaboração: Transparência Brasil
Parcelas por ano e órgão
Código
penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%summarise(.by =c(orgao, id_membro, ano),n_parcelas =n(),valor =sum(valor) ) %>%ggplot(aes(x = n_parcelas,y = valor,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_jitter(show.legend =FALSE, shape =21, alpha = .4) +facet_grid(orgao ~ ano) +scale_y_continuous(labels =~ . /1e3) +scale_fill_manual(name ="Órgãos",values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] )) +labs(title ="Conversão de licença-prêmio em pecúnia",subtitle ="Número de parcelas e valor anual recebido",caption = my_caption,x ="Número de parcelas", y ="Soma do valor recebido no ano\n(milhares de reais)" )
Parcelas por órgão
Código
penduricalhos %>%filter(item =="Licença-prêmio") %>%add_count(orgao, id_membro, name ="parcelas_recebidas") %>%count(orgao, id_membro, parcelas_recebidas, wt = valor, name ="valor_total") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ) ) %>%ggplot(aes(x = parcelas_recebidas,y = valor_total,fill =factor(orgao), color =after_scale(darken(fill, .4)) )) +facet_wrap(~orgao, scales ="free_x") +geom_jitter(shape =21, size =2, alpha = .6) +scale_y_continuous(labels =~reais(. /1e3)) +scale_x_continuous(breaks =1:7L) +scale_fill_manual(name ="Órgãos",values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] )) +theme(axis.ticks.x =element_blank(),panel.grid.minor =element_blank() ) +labs(title ="Relação positiva entre o número de parcelas e o total recebido",subtitle ="cada ponto no gráfico representa um procurador do MPU que recebeu conversão\nde licença-prêmio em pecúnia",x ="Quantidade de parcelas recebidas", y ="Milhares de reais",caption = my_caption )
Pagamentos por ano - membros receram em 4 anos consecutivos
Código
anos_recebendo_penduricalhos <- penduricalhos %>%filter(item =="Licença-prêmio") %>%distinct(id_membro =glue("{orgao}-{id_membro}"), ano) %>%count(id_membro) %>%add_count(n, name ="n_membros_anos")resume_anos_recebendo_penduricalhos <- anos_recebendo_penduricalhos %>%count(n, name ="n_membros")
Observa-se que entre 2019 e 2022, 1734 membros solicitaram e receberam a venda de licença-prêmio por pelo menos duas vezes. NA membros no MPF e MPU fizeram a venda de licença-prêmio por quatro anos consecutivos e, evidentemente, acumularam os maiores valores recebidos. Apenas uma minoria (355) acabou recebendo uma única vez no quadriênio.
Venda de licença-prêmio como rotina anual: quantidade de vezes em que o benefício foi pago por membro e órgão no quadriênio (2019 - 2022)
Código
penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(id_membro =glue("{orgao}-{id_membro}")) %>%left_join(anos_recebendo_penduricalhos) %>%mutate(recebeu_quantos_anos =case_when( n ==1~glue("<p style:'line-height:0.7'>1 vez <br> <b style='font-size:10px'>{n_membros_anos} membros</b></p>" ), n ==2~glue("<p style:'line-height:0.7'>2 vezes<br><b style='font-size:10px'>{n_membros_anos} membros</b></p>"), n ==3~glue("<p style:'line-height:0.7'>3 vezes<br><b style='font-size:10px'>{n_membros_anos} membros</b></p>"), n ==4~glue("<p style:'line-height:0.7'>4 vezes<br><b style='font-size:10px'>{n_membros_anos} membros</b></p>"), ),recebeu_quantos_anos =fct_reorder(recebeu_quantos_anos, -n) ) %>%# add_count(orgao, id_membro, name = "parcelas_recebidas") %>%count(orgao, id_membro, recebeu_quantos_anos, wt = valor, name ="valor_total") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ),orgao =fct_reorder(orgao, -valor_total, sum) ) %>%group_by(orgao, recebeu_quantos_anos) %>%mutate(valor_total_mediana =median(valor_total) ) %>%ungroup() %>%ggplot(aes(y = recebeu_quantos_anos,x = valor_total,fill = orgao,color =after_scale(darken(fill, .6)) )) +facet_wrap(orgao ~ ., nrow =1) +geom_jitter(shape =21,size =1.8,alpha = .6,show.legend =FALSE,width = .6,height = .25 ) +geom_point(aes(x = valor_total_mediana),size =15, shape =108, show.legend =FALSE ) +scale_x_continuous(labels =~ . /1e3, expand =c(0, 0.1), limits =c(-1e5, 8e5)) +scale_fill_manual(name ="Órgãos",values =c("MPM"=darken(cores_dadosjusbr[["laranja"]], .2),"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] ) ) +theme(axis.ticks.x =element_blank(),panel.grid.minor =element_blank(),panel.grid.major.y =element_blank(),axis.text.x =element_text(size =10, hjust = .5),axis.text.y =element_markdown(size =10, hjust =0),axis.title.x =element_text(hjust = .5, vjust =-5),axis.title.y =element_text(hjust = .5, vjust =5) ) +labs(title =NULL,subtitle =glue("Cada ponto representa um membro e a quantidade de anos em que o benefício foi concedido (eixo y)\n","no quadriênio (2019-2022). O valor somado do benefício recebido está representado no eixo x e os\n","traços representam a mediana desses valores." ),caption = my_caption,y ="Número de vezes que um membro\nvendeu licença-prêmio entre 2019 e 2022",x =glue("Soma do valor recebido por cada procurador do MPU"," em conversão de licença-prêmio em pecúnia","\nMilhares de reais (2019 - 2022)", ) )
Em resposta a pedido de acesso à informação protocolado pela Transparência Brasil, o MPF encaminhou a série histórica de pagamentos em pecúnia da licença-prêmio de 2015 a 2022 de membros ativos e inativos. Os dados, entretanto, apresentaram divergência em relação aos disponibilizados no portal de transparência. A diferença mais gritante foi verificada em 2020: enquanto via LAI foi informado um total de R$ 80 mIlhões, na transparência ativa constam R$ 0 milhões para ativos e $ 274 mil para inativos. Ou seja: os dados publicizados para consulta pública estavam subnotificados em R$ numero((mpf_lai[6, 3][[1]] - mpf_agosto[2, 3][[1]])/1e6)` mIlhões milhões, considerando apenas um ano.
A Transparência Brasil requisitou, novamente via LAI, esclarecimentos do MPF sobre a diferença encontrada. Em resposta, a Secretaria-Geral da PGR apenas informou que “os dados foram ajustados no Portal da Transparência”. O DadosJusBR recoletou todos os contracheques dos membros ativos do MPF, de 2019 a 2023. Apenas os de 2020 apresentaram mudanças, com uma inclusão de R$ 55 milhões em relação ao que era disponibilizado até então, sendo R$ -27 milhões relativos a licença-prêmio.
Ou seja: por três anos, o pagamento de pecúnia de licença-prêmio informado pelo MPF foi ao menos 9.326.297% menor do que o realmente despendido em 2020, e atualizado apenas após a intervenção da Transparência Brasil para a formulação deste relatório. Isso suscita dúvidas sobre a integridade e completude das informações disponibilizadas pelos órgãos do Ministério Público no Portal de Transparência, com a possibilidade de recorrência de subnotificação dos valores.
Venda de licença-prêmio no MPT - dados obtidos via Lei de Acesso a Informação
Código
mpt_lai <-tribble(~ ano, ~ qt_membros, ~ valor,2015, 32, 4392018.57,2016, 74, 6232833.01,2017, 397, 14104946.71,2018, 421, 4768886.42,2019, 526, 32503591.58,2020, 558, 46781334.95,2021, 392, 37443835.34,2022, 525, 44099127.03,2023, 495, 16790230.55) %>%mutate(orgao ="MPT",fonte ="Dados obtidos via LAI" )mpt_lai <- mpt_lai %>%filter(ano !=2023)p1 <- mpt_lai %>%ggplot(aes(x = ano,y = valor,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_line(show.legend =FALSE, linewidth =1.5) +geom_point(size =3, show.legend =FALSE) +scale_x_continuous(breaks =2015:2022) +scale_y_continuous(labels =~ . /1e6,limits =c(0, max(mpf_lai$valor) *1.15) ) +scale_fill_manual(values =c("MPT"= cores_dadosjusbr[["cyan"]])) +geom_text(aes(label =numero(round(valor /1e6, 1))),vjust =-2 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank() ) +coord_cartesian(xlim=c(2015,2022)) +labs(#title = "Valores pagos em conversão de licença-prêmio em pecúnia",subtitle ="Valor anual pago para membros ativos e inativos - em milhões de reais - (2015 - 2023)",x ="Ano", y ="Milhões de reais" )
Código
p2 <- mpt_lai %>%ggplot(aes(x = ano,y = qt_membros,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_col(alpha = .6, show.legend =FALSE, width = .7) +scale_x_continuous(breaks =2015:2022) +scale_y_continuous(limits =c(0, max(mpf_lai$qt_membros) *1.15) ) +scale_fill_manual(values =c("MPT"= cores_dadosjusbr[["cyan"]])) +geom_text(aes(label =numero(qt_membros)),vjust =-1 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank() ) +coord_cartesian(xlim=c(2015,2022), expand =TRUE) +labs(#title = "Beneficiados com pagamento de conversão de licença-prêmio em pecúnia",subtitle ="Quantidade de membros ativos e inativos que receberam",x ="Ano", y ="Quantidade de membros do MPT", )
Código
p1 / p2 +plot_annotation(title =NULL,subtitle ="Pagamentos de licença Prêmio - Ministério Público do Trabalho (2015 - 2023)",caption ="Fonte: MPF via Lei de Acesso a Informação\nElaboração: Transparência Brasil" ) &theme(plot.subtitle =element_text(hjust = .5))
Comparativo entre as bases
Código
mpt_agosto <-tibble(ano =2019:2022,qt_membros =c(NA, 463, 374, 361),valor =c(NA,27643318.20,33883087.05,23235214.14 ),orgao ="MPT",fonte ="Coleta do DadosJusBr em Agosto - 2023")mpu %>%filter(orgao =="mpt") %>%filter(item =="conversao de licenca premio em pecunia") %>%count(ano, orgao, wt = valor, name ="valor") %>%left_join(total_membros_orgao_ano) %>%mutate(fonte ="Coleta do DadosJusBr em Novembro - 2023") %>%bind_rows(mpt_lai) %>%# bind_rows(mpt_agosto) %>%mutate(fonte =replace_na(fonte, "Dados obtidos via LAI")) %>%filter(ano >=2019) %>%complete(ano, orgao, fill =list(valor =0, fonte ="Coleta do DadosJusBr em Novembro - 2023")) %>%ggplot(aes(x = ano,y = valor,fill = fonte,color =after_scale(darken(fill, .4)) )) +geom_col(position ="dodge", width = .8) +geom_text(aes(label =numero(valor /1e5)),vjust =-1, size =4, fontface ="bold",position =position_dodge(width = .8) ) +scale_fill_manual(values =c("Coleta do DadosJusBr em Agosto - 2023"=lighten(cores_dadosjusbr[["lilas"]], .4),"Coleta do DadosJusBr em Novembro - 2023"= cores_dadosjusbr[["lilas"]],"Dados obtidos via LAI"= cores_dadosjusbr[["cyan"]] )) +scale_linetype_identity() +scale_y_continuous(expand =c(0, 0.01),limits =c(0, 12e7),name ="Milhões de reais",labels =~ . /1e6 ) +theme(plot.subtitle =element_markdown(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),axis.text.x =element_text(size =18, vjust =-3),axis.line.x =element_line(),legend.position =c(.75, .9) ) +labs(title ="Conversão de licença-prêmio em pecúnia - Ministério Público do Trabalho (2019 - 2022)",subtitle ="Em milhões de reais, por fonte de coleta dos dados. Somente membros ***ativos***.",x ="Ano", color ="Fonte dos dados:" ) +guides(color =guide_legend(reverse =TRUE))
Dispersão por ano e órgão
Distribuição dos valores pagos por venda de licença-prêmio por ano e órgãos do MPU (2019 - 2022)
Código
penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ),cor =case_when( orgao =="MPM"~ cores_dadosjusbr[["laranja"]], orgao =="MP-DFT"~ cores_dadosjusbr[["cinza_azulado"]], orgao =="MPT"~ cores_dadosjusbr[["cyan"]], orgao =="MPF"~ cores_dadosjusbr[["lilas"]] ),orgao =make_html_tag(orgao, darken(cor, .4)) ) %>%count(id_membro, orgao, cor, ano, wt = valor, name ="valor") %>%mutate(orgao =fct_reorder(orgao, valor, sum)) %>%ggplot(aes(x = orgao, y = valor,fill = cor, color =after_scale(colorspace::darken(fill, .6)) )) +geom_jitter(shape =21, size =2, alpha = .6, show.legend =FALSE) +scale_y_continuous(expand =c(0, .15),labels =~ . /1e3,limits =c(-2e4, 7e5),breaks =c(0, 1.5e5, 3e5, 4.5e5, 6e5) ) +scale_fill_identity() +facet_wrap(~ano, nrow =1, strip.position ="bottom") +theme(legend.position ="top",legend.direction ="horizontal",legend.justification ="left",strip.text.x =element_text(hjust = .5),strip.placement ="outside",axis.ticks.x =element_blank(),axis.title.y =element_text(),panel.spacing =unit(5, "mm"),panel.grid.minor =element_blank(),axis.text.x =element_markdown(angle =45, hjust =1, face ="italic", size =10) ) +labs(title =NULL,subtitle ="Cada ponto no gráfico representa um membro e o valor que recebeu por venda de licença-prêmio\nno órgão e ano correspondente",x ="Órgão/Ano", y ="Milhares de reais",caption = my_caption )
O peso da licença-prêmio nos 150 maiores supersalários (2019-2022)
Código
penduricalhos_rank <- penduricalhos %>%add_count(orgao, id_membro, mes, ano, wt = valor, name ="remuneracao_total") %>%group_nest(remuneracao_total, id_membro, mes, ano) %>%arrange(-remuneracao_total, id_membro, mes, ano) %>%mutate(rank =row_number()) %>%unnest(data)penduricalhos_rank %>%filter(rank <=150) %>%mutate(item =if_else( item =="Licença-prêmio",glue("<b style='color:{darken(cores_dadosjusbr[['cinza_azulado']], .4)}'>licença-prêmio</b>"),glue("<b style='color:{darken(cores_dadosjusbr[['verde']], .4)}'>outras remunerações</b>") )) %>%ggplot(aes(x = rank,y = valor,fill = item,color =after_scale(colorspace::darken(fill, .4)) )) +geom_col() +scale_fill_manual(values =c( cores_dadosjusbr[["cinza_azulado"]], alpha(cores_dadosjusbr[["verde"]], .3) ),labels =c(glue("<b style='color:{darken(cores_dadosjusbr[['cinza_azulado']], .4)}'>licença-prêmio</b>"),glue("<b style='color:{darken(cores_dadosjusbr[['verde']], .4)}'>outras remunerações</b>") )) +theme(plot.subtitle =element_markdown(),legend.position =c(.85, .85),legend.text =element_markdown(),axis.title.x =element_text(hjust = .5),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank() ) +scale_y_continuous(labels =~ . /1e3, expand =c(0.01, 0)) +scale_x_continuous(labels =~paste0(., "°"),expand =c(0.01, 0),breaks =c(1, 25, 50, 75, 100, 125, 150) ) +labs(x ="150 maiores contracheques mensais por membro - ordenado pelo valor líquido total",fill =NULL,y ="Milhares de reais",title =NULL,caption = my_caption,subtitle =glue("Cada barra representa uma remuneração mensal líquida recebida"," por um único membro<br>dividida em ","<b style='color:{darken(cores_dadosjusbr[['cinza_azulado']], .4)}'>licença-prêmio</b>", " e ","<b style='color:{darken(cores_dadosjusbr[['verde']], .4)}'>outras remunerações</b>" ))
por um único membro dividida em licença prêmio e outras remunerações, que incluem salário base e todos demais benefícios
Código
penduricalhos_rank %>%filter(rank <=150)
Tabela - participação da LP no salário mensal dos membros
Código
penduricalhos_rank %>%pivot_wider(names_from = item, values_from = valor) %>%mutate(recebeu_lp =!is.na(`Licença-prêmio`)) %>%filter(recebeu_lp) %>%mutate(perc =`Licença-prêmio`/ (`Outras remunerações`+`Licença-prêmio`) ) %>%mutate(fx_perc =case_when( perc <= .25~"Até 25% da remuneração mensal", perc <= .50~"entre 25% e 50% da remuneração mensal", perc <= .75~"entre 50% e 75% da remuneração mensal", perc <=1~"Acima de 75% da remuneração mensal",is.na(perc) &is.na(`Outras remunerações`) &!is.na(`Licença-prêmio`) ~"Acima de 75% da remuneração mensal" ) ) %>%count(orgao, fx_perc, name ="qtd_membros") %>%pivot_wider(names_from = orgao, values_from = qtd_membros) %>%mutate(mpu = mpdft+mpf+mpm+mpt) %>%add_row(fx_perc ="Total de pagamentos de Licença-prêmio",mpdft =sum(.$mpdft),mpf =sum(.$mpf),mpm =sum(.$mpm),mpt =sum(.$mpt),mpu =sum(.$mpu) ) %>%mutate(fx_perc =ordered(fx_perc, c("Total de pagamentos de Licença-prêmio","Acima de 75% da remuneração mensal","entre 50% e 75% da remuneração mensal","entre 25% e 50% da remuneração mensal","Até 25% da remuneração mensal" ))) %>%arrange(desc(fx_perc)) %>%select(fx_perc, mpm, mpt, mpdft, mpf, mpu) %>%gt() %>%tab_header(title =md("**Participação da licença-prêmio na remuneração mensal (2019 - 2022)<br>Nos meses em que os membros do MPU receberam o benefício**") ) %>%cols_label(fx_perc =" ",mpdft ="**MP-DFT**",mpf ="**MPF**",mpm ="**MPM**",mpt ="**MPT**",mpu ="**MPU (Total)**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_spanner(label ="Quantidade de pagamentos realizados",columns =-c(fx_perc, mpu),id ="qtd_pagtos" ) %>%tab_style(style =cell_text(weight ="bold"),locations =cells_body(rows = fx_perc =="Total de pagamentos de Licença-prêmio") ) %>%fmt_number(sep_mark =".", dec_mark =",", decimals =0 ) %>%tab_footnote(footnote ="Cada membro pode ter recebido até 7 vezes entre 2019 e 2022",locations =cells_column_spanners(spanners ="qtd_pagtos") ) %>%tab_footnote(footnote =md(my_caption_md))
Participação da licença-prêmio na remuneração mensal (2019 - 2022) Nos meses em que os membros do MPU receberam o benefício
Quantidade de pagamentos realizados1
MPU (Total)
MPM
MPT
MP-DFT
MPF
Até 25% da remuneração mensal
15
416
304
846
1.581
entre 25% e 50% da remuneração mensal
36
364
311
1.392
2.103
entre 50% e 75% da remuneração mensal
232
712
965
2.669
4.578
Acima de 75% da remuneração mensal
65
140
88
153
446
Total de pagamentos de Licença-prêmio
348
1.632
1.668
5.060
8.708
Fonte: DadosJusBr Elaboração: Transparência Brasil
1 Cada membro pode ter recebido até 7 vezes entre 2019 e 2022
Aumento médio na remuneração mensal dos membros do MPU
penduricalhos_media_mpu_geral <- penduricalhos_medias %>%filter(ano ==2022) %>%summarise(.by =c(tipo_remuneracao),valor_medio_anual =mean(valor, na.rm =TRUE) ) %>%pivot_wider(names_from = tipo_remuneracao, values_from = valor_medio_anual) %>%mutate(perc = licenca_premio_media / remuneracao_total_media,orgao ="MPU",descricao ="Valor médio anual da remuneração de membros que receberam por conversão de Licença-prêmio em pecúnia" )penduricalhos_media_mpu_geral %>%select( orgao, licenca_premio_media, outras_remuneracoes_media, remuneracao_total_media, perc ) %>%gt() %>%fmt_currency(columns =c(licenca_premio_media, outras_remuneracoes_media, remuneracao_total_media),currency ="BRL", sep_mark =".", dec_mark =",", decimals =2 ) %>%fmt_percent(columns = perc,sep_mark =".", dec_mark =",", decimals =2 ) %>%cols_label(orgao ="**Órgãos**",licenca_premio_media ="**Licença-prêmio**",outras_remuneracoes_media ="**Outras remunerações**",remuneracao_total_media ="**Remuneração total**",perc ="**% licença-prêmio sobre<br>remuneração total**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_spanner(label =md("**Médias (2022)**"),columns =-orgao ) %>%tab_header(title =md("**Valor médio anual da remuneração de membros que receberam por conversão de Licença-prêmio em pecúnia**") )
Valor médio anual da remuneração de membros que receberam por conversão de Licença-prêmio em pecúnia
Órgãos
Médias (2022)
Licença-prêmio
Outras remunerações
Remuneração total
% licença-prêmio sobre remuneração total
MPU
R$88.191,99
R$439.239,44
R$527.431,42
16,72%
Em 2022, os membros do MPU tiveram uma remuneração líquida anual média de 5.2743142^{5}. Esse valor cai para 4.3923944^{5} mil quando excluímos a licença-prêmio, uma redução de 17%.
Sazonalidade dos pagamentos de licença-prêmio - órgãos do MPU (2019 - 2022)
Código
completude <- mpu %>%distinct(ano, mes, orgao, prestou_contas =TRUE) %>%mutate(ano =as.integer(ano), mes =as.integer(mes)) %>%left_join(crossing(orgao =c("mpf", "mpm", "mpdft", "mpt"), ano =2019:2022, mes =1:12), .) %>%mutate(prestou_contas =replace_na(prestou_contas, FALSE))penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(ano =as.integer(ano), mes =as.integer(mes)) %>%left_join(completude, .) %>%mutate(possui_dado =!is.na(id_membro)) %>%group_by( orgao,# ano = fct_reorder(as.character(ano), ano),# mes = fct_reorder(as.character(mes), mes)data =my(glue("{mes}-{ano}")), possui_dado, prestou_contas ) %>%summarise(total =sum(valor, na.rm =TRUE),.groups ="drop" ) %>%mutate(orgao =fct_reorder(orgao, -total, sum),total =case_when( prestou_contas & possui_dado ~ total, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ ) ) %>%group_by(orgao, year(data)) %>%mutate(total_ano =sum(total)) %>%ungroup() %>%mutate(perc =case_when( prestou_contas & possui_dado ~ total / total_ano, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ )) %>%ggplot(aes(x = data, y = orgao,fill = perc, color = total )) +geom_tile(na.rm =TRUE, color ="gray30") +scale_x_date(NULL,breaks = scales::breaks_width("3 months"),labels = scales::label_date_short(), expand =c(0, 0) ) +facet_wrap(~year(data), nrow =1, scales ="free_x") +scale_y_discrete(expand =c(0, .01),labels =c("mpt"="MPT", "mpm"="MPM", "mpdft"="MP-DFT", "mpf"="MPF") ) +scale_fill_gradientn(colors =c("white", colorspace::darken(cores_dadosjusbr[["lilas"]], .5) ),na.value ="gray65",labels =~perc(.) ) +theme(axis.text.y =element_text(hjust =0),panel.grid.major =element_blank(),panel.grid.minor =element_blank(),legend.position ="top",legend.justification ="left",strip.text =element_text(color ="transparent") ) +guides(fill =guide_legend(nrow =1,direction ="horizontal",label.position ="bottom",title ="% em um mês dos pagamentos realizados em um ano",title.position ="top" )) +labs(title =NULL,#subtitle = "Órgãos do Ministério Público da União",y =NULL, x =NULL,subtitle ="Cada célula representa um mês do ano, as cores indicam o percentual do valor gasto\nem um ano,uma vez que em 2020 e 2022 os pagamentos foram realizados de forma parcelada.",caption ="Fonte: DadosJusBr\nElaboração: Transparência Brasil" )
Código
penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(ano =as.integer(ano), mes =as.integer(mes)) %>%left_join(completude, .) %>%mutate(possui_dado =!is.na(id_membro)) %>%group_by( orgao,# ano = fct_reorder(as.character(ano), ano),# mes = fct_reorder(as.character(mes), mes)data =my(glue("{mes}-{ano}")), possui_dado, prestou_contas ) %>%summarise(total =sum(valor, na.rm =TRUE),.groups ="drop" ) %>%mutate(orgao =fct_reorder(orgao, -total, sum),total =case_when( prestou_contas & possui_dado ~ total, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ ) ) %>%group_by(orgao, year(data)) %>%mutate(total_ano =sum(total)) %>%ungroup() %>%mutate(perc =case_when( prestou_contas & possui_dado ~ total / total_ano, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ ),fx_perc =case_when( perc ==0~"0",is.na(perc) ~"0", perc <=.25~" até 25%", perc <= .5~"de 25% a 50%", perc <= .75~"de 50% a 75%", perc <=1~"de 75% até 100%" ) %>%ordered(levels =c("0", "25%" )),cor =case_when( orgao =="mpm"~ cores_dadosjusbr[["laranja"]], orgao =="mpdft"~ cores_dadosjusbr[["cinza_azulado"]], orgao =="mpt"~ cores_dadosjusbr[["cyan"]], orgao =="mpf"~ cores_dadosjusbr[["lilas"]] ),orgao =case_when( orgao =="mpm"~"Ministério Público Militar | MPM", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpf"~"Ministério Público Federal | MPF" ) ) %>%# filter(orgao == "mpf") %>%# filter(possui_dado) %>%mutate(orgao =make_html_tag(orgao, darken(cor, .4))) %>%ggplot(aes(x = data,y ="",color = cor,fill =after_scale(darken(color, .4)) )) +geom_segment(aes(x =dmy("01-01-2019"),xend =dmy("01-01-2023"),y ="",yend ="" ), linewidth =4, alpha = .025, show.legend =FALSE, lineend ="round") +geom_point(data = . %>%filter(possui_dado),aes(size = perc), color ="white", show.legend =FALSE ) +geom_point(data = . %>%filter(possui_dado),aes(size = perc),shape =21, alpha = .5, show.legend =TRUE ) +geom_point(data = . %>%filter(possui_dado), size =1.6, color ="black") +geom_point(data = . %>%filter(!possui_dado), shape =21, show.legend =FALSE,size =1.6# aes(size = perc) ) +geom_text(data = . %>%filter(possui_dado),aes(label =format(ISOdate(2000, 1:12, 1)[month(data)], "%b")),color ="black", fontface ="bold",hjust =1.8,angle =45 ) +geom_text(data = . %>%filter(month(data) %in%c(1, 7)),aes(label =format(ISOdate(2000, 1:12, 1)[month(data)], "%b")),color ="gray60",hjust = .5, vjust =-1.6 ) +facet_wrap(~orgao, ncol =1, scales ="free") +scale_y_discrete(guide ="none") +scale_x_date(position ="top",breaks = scales::breaks_width("year"),date_labels ="%Y",limits =c(dmy("01-01-2019"), dmy("01-01-2023")) ) +scale_size_binned(n.breaks =5,breaks =c(0, .25, .5, .75, 1),range =c(3, 11),nice.breaks =TRUE,limits =c(0, 1),labels = scales::percent ) +theme(axis.title.x.top =element_blank(),axis.text.x.top =element_text(face ="plain", size =10),axis.ticks.x.top =element_blank(),panel.grid.major.y =element_blank(),panel.grid.major.x =element_line(color ="gray30"),panel.grid.minor =element_blank(),strip.text.x =element_markdown(),strip.placement ="outside",legend.position ="top",legend.justification ="left" ) +scale_color_identity() +labs(title ="Linha do tempo de pagamentos de licença-prêmio",subtitle ="Anos e meses em destaque são referentes aos pagamentos de licença-prêmio,\no tamanho da bolha representa o valor pago pelo órgão na data e quanto maior tamanho,\nmaior o valor pago pelo órgão",y =NULL,x ="Ano e mês do contracheque",caption = my_caption ) +guides(size =guide_bins(title ="% do valor anual pago",nrow =1,title.position ="top",label.position ="bottom",override.aes=list(fill = cores_dadosjusbr[["cinza_claro"]]) ))
Quantidade de membros que converteram licença-prêmio em pecúnia
Código
total_membros_ano <- mpu %>%distinct(orgao, ano, id_membro) %>%count(orgao, ano, name ="total_membros_ano") %>%add_row(orgao ="mpu", total_membros_ano =sum(.$total_membros_ano)) %>%mutate(ano =as.integer(ano))penduricalhos_ano <- penduricalhos %>%filter(item =="Licença-prêmio") %>%# summarise(# .by = c(id_membro, orgao, ano),# valor = sum(valor)# )group_by(orgao, ano) %>%summarise(n_membros =n_distinct(id_membro),.groups ="drop" ) %>%complete(ano, orgao) %>%mutate(orgao =fct_reorder(orgao, -n_membros, .na_rm =TRUE)) %>%mutate(ano =as.integer(ano)) %>%left_join(total_membros_ano)#perc <- \(...) scales::percent(..., big.mark = ".", decimal.mark = ",", accuracy = 1.01)penduricalhos_ano %>%transmute( ano,orgao =case_when( orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpf"~"Ministério Público Federal | MPF", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpm"~"Ministério Público Militar | MPM", ),receberam =replace_na(n_membros, 0),nao_receberam = total_membros_ano -replace_na(n_membros, 0) ) %>%pivot_longer(-c(ano, orgao), names_to ="catg", values_to ="valor") %>%group_by(ano, orgao) %>%mutate(perc = valor /sum(valor)) %>%ungroup() %>%mutate(orgao =reorder(orgao, -valor, sum)) %>%ggplot(aes(x = ano,y = valor,fill = catg,color =after_scale(colorspace::darken(fill, .4)) )) +geom_col(position ="dodge", width = .5) +facet_wrap(. ~ orgao, nrow =4, scales ="free_x") +scale_y_continuous(limits =c(0, 1300),breaks =seq(0, 1000, 400),labels =~ scales::number(. , decimal.mark =",", big.mark =".") ) +scale_x_continuous(breaks =2018:2023) +scale_fill_manual(name ="Recebeu\nbenefício",values =c("nao_receberam"= cores_dadosjusbr[["cinza_claro"]],"receberam"= cores_dadosjusbr[["laranja"]] ),labels =c("nao_receberam"="Não", "receberam"="Sim") ) +geom_text(aes(label =if_else(valor ==0, "0", glue("{valor}\n({perc(perc)})"))),position =position_dodge(width = .5),vjust =-.5 ) +theme(panel.grid.minor =element_blank(),panel.grid.major.x =element_blank(),axis.title.y =element_text(hjust = .5, vjust = .5) ) +labs(title ="Total de Membros lotados no Ministério Público da União",subtitle ="Por ano, órgão e se recebeu ou não por Conversão de Licença Prêmio em Pecúnia",x ="Ano", y ="Quantidade de membros lotados em cada órgão",caption = my_caption )
Proporção dos membros que já receberam a conversão de-prêmio em pecúnia pelo menos uma vez entre 2019 e 2022
A licença-prêmio bateu recorde em 2021. Naquele ano, as remunerações brutas de todos os membros MPU, desconsiderando apenas a própria licença-prêmio, somaram R$ 1.730.478.152. Considerando o número de integrantes ativos naquele ano, chega-se a um custo médio anual de R$ 734.187 por membro. Por outro lado, a somatória dos pagamentos de licença-prêmio em pecúnia custou R$ 142.945.088 em 2021. O valor, portanto, seria suficiente para arcar com as remunerações de 8% novos membros durante todo aquele ano, considerando o custo médio anual. Isso representaria um aumento de 2357 no quadro de membros ativos do MPU.
Entre 2020 e 2022, as remunerações brutas de todos os membros MPU, desconsiderando apenas a própria licença-prêmio, somaram R$ 4.989.417.412. Considerando o número de integrantes ativos naquele ano, chega-se a um custo médio anual de R$ 690.386 por membro. Por outro lado, a somatória dos pagamentos de licença-prêmio em pecúnia custou R$ 389.521.830 em 2021. O valor, portanto, seria suficiente para arcar com as remunerações de 8% novos membros durante todo aquele ano, considerando o custo médio anual. Isso representaria um aumento de 2409 no quadro de membros ativos do MPU.
mpu %>%inner_join(pgrs) %>%select( orgao, ano, mes, nome, matricula, funcao, local_trabalho, tipo, categoria, item = item_real, valor ) %>% googlesheets4::write_sheet("https://docs.google.com/spreadsheets/d/1kCtZSp8T8jfM-gEUIpWBPJPys76bELJ3553nmt3bFYw/edit#gid=0", sheet ="Remunerações dos PGR's detalhadas")
Código fonte
---title: "Pagamentos de Conversão de Licença Prêmio em Pecúnia no Ministério Público da União (2018-2023)"date: "today"date-format: "D.MMM.YYYY"date-modified: "last-modified"lang: pt-BRformat: html: embed-resources: true df-print: paged html-math-method: katex css: style.css anchor-sections: true code-fold: true code-tools: true code-link: true code-line-numbers: true code-summary: "Código" fig-cap-location: top toc: true toc-title: "Índice" toc-depth: 5 toc-float: false toc-collapsed: false footnotes-hover: true smooth-scroll: true search: true theme: light: flatly dark: darklyknitr: opts_chunk: echo: true collapse: true message: false warning: false comment: "#>"editor_options: chunk_output_type: consoleexecute: cache: false---```{r}library(tidyverse)library(here)library(gt)library(glue)library(colorspace)library(ggdist)library(ggtext)library(patchwork)source(here("src/00-plot-aesthetics.R"), encoding ="utf-8")my_caption <-"Fonte: DadosJusBr\nElaboração: Transparência Brasil"my_caption_md <-"**Fonte:** DadosJusBr<br>**Elaboração:** Transparência Brasil"## SELECIONE A BASE DE DADOSdata_extracao <-"2023-11-14"path_mpu_data <-here(glue::glue("data/09-extracao-mps-{data_extracao}.rds"))# funções auxiliaresreais <-function(...) scales::dollar(..., big.mark =".", decimal.mark =",", prefix ="R$ ")numero <-function(...) scales::number(..., big.mark =".", decimal.mark =",")perc <-function(...) scales::percent(..., big.mark =".", decimal.mark =",")```## MetodologiaForam extraídos os dados de remunerações dos órgãos que compôem o MPU:- Ministério Público Federal- Ministério Público do Trabalho- Ministério Público Militar- Ministério Público do Distrito Federal e TerritóriosApós a extração dos dados foram aplicados os filtros para as rubricas:- **Conversão de licença prêmio em pecúnia**## Definições> O **[Ministério Público da União](https://www.mpf.mp.br/servicos/sac/acesso-a-informacao/perguntas-frequentes/sobre-o-ministerio-publico-da-uniao-mpu)** é uma instituição que acomoda quatro diferentes ramos, com áreas de atuação, organização e administração distintas: o **Ministério Público Federal**, o **Ministério Público do Trabalho**, o **Ministério Público Militar** e o **Ministério Público do Distrito Federal e Territórios**.O MPU possui como chefe o **[Procurador-Geral da República](https://www.mpf.mp.br/o-mpf/procurador-a-geral-da-republica)**, que exerce as funções do Ministério Público junto ao Supremo Tribunal Federal (STF), no Superior Tribunal de Justiça (STJ), sendo também o (a) procurador (a)-geral Eleitoral.### Conversão de Licenças-prêmio em pecúniaTodos os MPs que integram o MPU despendem quantias significativas com licenças-prêmio convertidas em pecúnia. Nesse caso, o membro recebe um pagamento, considerado indenizatório, como compensação por deixar de usufruir das folgas que ganha após acumular 24 horas de trabalho em plantão.Há ainda outra modalidade de licença-prêmio, que garante três meses de licença a cada cinco anos de exercício. Esta também pode ser convertida em pagamento indenizatório, mediante solicitação do membro.Todos esses pagamentos aparecem nos contracheques sob a rubrica “conversão de licença prêmio em pecúnia” e similares. As licenças-prêmio são consideradas verbas de natureza indenizatória e também não estão sujeitas ao teto remuneratório.## DadosSão apresentadas as **remunerações pagas aos membros do MPU de janeiro de 2018 até junho de 2023, por ano, mês e rubrica**. Os dados são provenientes da plataforma [DadosJusBr](https://dadosjusbr.org/), um projeto que é fruto de uma parceria entre a Transparência Brasil, o Instituto Federal de Alagoas (IFAL) e a Universidade Federal de Campina Grande (UFCG). O projeto visa a abrir dados de remuneração do sistema de Justiça brasileiro e disponibiliza as informações em uma plataforma on-line.### Código-fonte- Código para consulta no banco de dados com R: [link](src\00-usar-db.R)- Código para extrair remunerações dos magistrados do banco de dados do DadosjUsBr: [link](src\09-extracao-mpf.R)- Código para formatação dos gráficos: [link](src\00-plot-aesthetics.R)### Tratamendo dos dadosPré visualização do dado bruto:```{r}# mpu_raw <- readRDS(path_mpu_data)# mpu <- readRDS(here("data/mpu.rds"))mpu <-readRDS(path_mpu_data)# mpu_rawmpuglimpse(mpu)```#### Sanitização de `nome` e remoção de id por `item`O primeiro tratamento aplicado é a sanitização do campo `nome` para garantir a consistência da contagem e demais operações na granularidade de membro. O campo `categoria` também é sanitizado com o mesmo propósito, mas seu uso neste relatório é menor.Optei por remover o campo `id`, pois este reflete uma granularidade muito alta (nível item/membro/ano/mês) para a análise que queremos. Nós perderemos a granularidade de item porque eles serão agrupados. Para referenciar os itens de forma simplificada, nós iremos calcular a soma da venda de **licença-prêmio** separado da soma das **demais remuneração líquidas**. Isso, portanto, aumenta a granularidade do dado e inutiliza o campo `id`.```{r}#| eval: truempu <- mpu %>%# esse id é no padrao item-categoria-ano-mes-nome-matricula.# Um id nessa granularidade não é necessário nesta análiseselect(-id) %>%# normaliza nome e categoriamutate(nome = nome %>%tolower() %>% stringi::stri_trans_general("latin-ascii") %>%str_squish(),categoria = categoria %>%tolower() %>% stringi::stri_trans_general("latin-ascii") %>%str_squish() )```#### Correção de campo `matrícula` para o MPF```{r}contador_matricula_vazias <-function(df) { df <- df %>%count(orgao, matricula_vazia = matricula =="", name ="n_linhas") %>%group_by(orgao) %>%mutate(perc = n_linhas /sum(n_linhas)) %>%ungroup() %>%mutate(perc = scales::percent(perc)) %>%filter(matricula_vazia)return(df)}```O MPF apresenta inconsistência na divulgação de dados de matrícula. Em `r contador_matricula_vazias(mpu)$n_linhas[1]` linhas (`r contador_matricula_vazias(mpu)$perc[1]` do total entre 2019-2022), o campo `matrícula` está vazio e isso gera a dupla contagem no número de membros do órgão, uma vez que o identificador único de cada membro (`id_membro`) é a matrícula `{matricula}`. Para sanar esse problema, os o campo o nome do membro é agrupado para completar o preenchimento desses campos vazios.Além disso, foram encontrados 8 casos em que a matrícula do membro se altera por exercerem funções de "PROCURADOR REQUISITADO" ou "MEMBRO APOSENTADO". Todos os casos foram corrigidos.```{r}#| eval: truecompleta_campo_matricula <-function(df) { todos_os_nomes <- mpu %>%distinct(orgao, nome) nomes_sem_matricula <- df %>%filter(matricula =="") %>%distinct(orgao, nome) %>%mutate(possui_registro_sem_matricula =TRUE) nomes_com_matricula <- df %>%mutate(id_membro =case_when( nome =="andre alisson leal teixeira"~"10150", nome =="claiz maria pereira gunca dos santos"~"1135", nome =="ednaldo rodrigo brito da silva"~"747", nome =="eitel santiago de brito pereira"~"247", nome =="eunice pereira amorim carvalhido"~"371", nome =="natalia magalhaes wanderlei"~"10121", nome =="rodrigo lopez zilio"~"30411", nome =="tamara de santana teixeira buriti"~"1119", nome =="luiz fernando guimaraes de almeida"& orgao =="mpdft"~"10166", nome =="mauricio saliba alves branco"~"10167", (orgao =="mpdft"&str_count(matricula) ==3) ~glue("00{matricula}"),.default = matricula ) ) %>%filter(id_membro !="") %>%distinct(orgao, nome, id_membro) %>%add_count(nome, name ="qt_nome_repetido") todos_os_nomes_com_matricula <- nomes_com_matricula %>%full_join(nomes_sem_matricula) %>%mutate(possui_registro_sem_matricula =replace_na( possui_registro_sem_matricula, FALSE )) %>%mutate(id_membro =if_else(is.na(id_membro), nome, id_membro ))return(list(todos_os_nomes = todos_os_nomes,nomes_com_matricula = nomes_com_matricula,nomes_sem_matricula = nomes_sem_matricula,todos_os_nomes_com_matricula = todos_os_nomes_com_matricula ))}# Repõe os dados de matricula, preenchendo campos vaziosmpu <- mpu %>%left_join( mpu %>%completa_campo_matricula() %>%pluck("todos_os_nomes_com_matricula") %>%select(orgao, nome, id_membro) )```#### Tratando duplicidades nos dados do MPF e MPT```{r}remove_dups <-function(df) {`%notin%`<- \(x, y) !(x %in% y)# cria um id único para cada linha df <- df %>%unite(id_unico, remove =FALSE) %>%group_by(id_unico) %>%mutate(n_linhas =n()) %>%ungroup()# com o distinct descartamos as duplicidades df_sem_dups <-distinct(df, id_unico, .keep_all =TRUE) %>%select(-id_unico)return(df_sem_dups)}mpu <-remove_dups(mpu)dups <- mpu %>%add_count(orgao, name ="qt_linhas") %>%filter(n_linhas >1) %>%count(orgao, qt_linhas) %>%mutate(perc = n / qt_linhas)```Descrição dos casos de duplicidades:- `r dups$n[1]` casos no `r tolower(dups$orgao[1])` (`r perc(dups$perc)[1]` do total de linhas afetadas do total que o órgão possui)- `r dups$n[2]` casos no `r tolower(dups$orgao[2])` (`r perc(dups$perc)[2]` do total de linhas do total que o órgão possui)#### Sanitização das rubricas```{r}#| eval: truempu <- mpu %>%# sanitiza campo de item, melhorando taxonomiamutate(item_sanitizado =case_when( item_sanitizado =="auxilioalimentacao"~"auxilio alimentacao", item_sanitizado =="auxiliocreche"~"auxilio creche", item_sanitizado =="auxilio preescolar"~"auxilio creche", item_sanitizado =="auxiliomoradia"~"auxilio moradia", item_sanitizado =="auxilio moradia isento de ir"~"auxilio moradia", item_sanitizado =="auxilionatalidade"~"auxilio natalidade", item_sanitizado =="auxilios natalidade"~"auxilio natalidade", item_sanitizado =="auxiliotransporte"~"auxilio transporte", item_sanitizado =="licenca premio pecunia"~"conversao de licenca premio em pecunia", item_sanitizado =="licenca premio em pecunia"~"conversao de licenca premio em pecunia", item_sanitizado =="licenca premio"~"conversao de licenca premio em pecunia", item_sanitizado =="outras remuneracoes retroativastemporarias"~"outras verbas remuneratorias retroativas ou temporarias", item_sanitizado =="outras verbas remuneratorias retroativastemporarias"~"outras verbas remuneratorias retroativas ou temporarias", item_sanitizado =="indenizacoes de ferias"~"ferias indenizatorias", item_sanitizado =="retteto ativo subst oficio eou fccc"~"retencao por teto constitucional", item_sanitizado =="ir s13 de ferias const"~"imposto de renda", item_sanitizado %in%c("gratificacao exercicio cumulativo de oficio","gratif por exercicio cumulativo de oficios l1302414" ) ~"gratificacao por exercicio cumulativo de oficio", item_sanitizado %in%c("gratif por exercicio cumulativo de oficios sem psss","gratificacao de exercicio cumulativo com oficio sem psss" ) ~"gratificacao por exercicio cumulativo de oficio sem psss", item_sanitizado =="gratificacao exercicio cumulativo com oficio com psss"~"gratificacao por exercicio cumulativo de oficio com psss", item_sanitizado %in%c("grat encargo de curso e concurso","gratificacao encargo de curso e concurso","gratificacao por encargo de concurso","gratificacao por encargo de curso" ) ~"gratificacao por encargo de curso e concurso", item_sanitizado %in%c("ferias", "ferias 13 constitucional" ) ~"ferias 13 constitucional",str_detect(item_sanitizado, "substi") ~"substituicao de membros",.default = item_sanitizado )) %>%rename(item_real = item, item = item_sanitizado)```#### Delimitação de período analisado```{r}# filtra períodompu_23 <- mpu %>%filter(ano ==2023)mpu <- mpu %>%filter(ano %in%2019:2022)```Delimitaremos o escopo da análise para o período de 2019 até 2022. O ano de 2023 será analizado em uma seção à parte. Ao todo, o dataset possui `nrow(mpu)` linhas considerando o período de 2019-2022. Para o ano de 2023 o dataset possui `r nrow(mpu_23)` linhas.:::{.callout-note}baixe os dados [neste link](https://drive.google.com/file/d/1Iz--03wZgnYMbbzMzX49AZmyQlqbV2_L/view?usp=drive_link):::## RubricasBenefício perfaz o **quarto maior montante** na folha de pagamento dos membros do MPU, atrás somente de salátios e 13°. A tabela abaixo mostra um resumo das rubricas que constam na folha de pagamento dos membros.```{r}mpu %>%summarise(valor =sum(valor, na.rm =TRUE), .by = item) %>%arrange(-valor) %>%gt() %>%fmt_currency(sep_mark =".",dec_mark =",",currency ="BRL",decimals =0,incl_space =TRUE ) %>%tab_header(title =md("**Remunerações totais por item - 2019-2022**"),subtitle ="Órgãos do Ministério Público da União" ) %>%cols_label(.fn = md,item ="**Item**",valor ="**Valor**" ) %>%tab_footnote(footnote =md(my_caption_md))```::::{.panel-tabset}As tabelas a seguir apresenta os valores acumulados pagos em cada rubrica aos membros do MPU entre **2019 e 2023**.### Valores consolidados```{r}soma_rubricas <-function(df, aid) { orgao_lbl <-case_when( aid =="mpf"~"**MPF - Ministério Público Federal**", aid =="mpt"~"**MPT - Ministério Público do Trabalho**", aid =="mpm"~"**MPM - Ministério Público Militar**", aid =="mpdft"~"**MP-DFT - Ministério Público do Distrito Federal e Territórios**", ) df %>%filter(orgao == aid) %>%count( item, categoria,wt = valor,name ="valor" ) %>%group_by(categoria) %>%mutate(valor_categ_max =max(valor) ) %>%ungroup() %>%mutate(categoria =fct_reorder(categoria, valor, sum),item =str_to_sentence(item),item =fct_reorder(item, valor), ) %>%select(-valor_categ_max) %>%arrange(desc(categoria), item) %>%gt(groupname_col ="categoria") %>%fmt_currency(columns = valor,sep_mark =".", dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE ) %>%tab_style(style =cell_text(align ="left", indent =px(20)),locations =cells_body(columns = item) ) %>%summary_rows(columns =c(valor),missing_text ="",fns =list(label =md("**Total**"), fn ="sum"),fmt =~fmt_currency( .,sep_mark =".",dec_mark =",",currency ="BRL",decimals =0,incl_space =TRUE ) ) %>%# tab_options(row_group.as_column = TRUE) %>%tab_style(style =list(cell_text(weight ="bold")),locations =cells_summary() ) %>%tab_style(style =list(cell_text(weight ="bold"), cell_fill(color ="gray98")),locations =cells_row_groups() ) %>%tab_style(style =list(cell_text(align ="left")),locations =cells_column_labels(columns =c(item)) ) %>%opt_row_striping() %>%cols_label(.fn = md,item ="**Item**",valor ="**Valor**" ) %>%tab_header(subtitle =md("Remunerações totais por item e categoria - 2019-2023"),title =md(orgao_lbl) ) %>%tab_style(style =cell_fill(color = cores_dadosjusbr[["laranja"]]),locations =cells_body(columns =c(item, valor),rows = item =="Conversao de licenca premio em pecunia" ))%>%tab_footnote(footnote =md(my_caption_md))}```:::{.panel-tabset}#### MPF```{r}#| fig-height: 12#| fig-width: 8soma_rubricas(mpu, "mpf")```#### MPT```{r}#| fig-height: 12#| fig-width: 8soma_rubricas(mpu, "mpt")```#### MP-DFT```{r}#| fig-height: 12#| fig-width: 8soma_rubricas(mpu, "mpdft")```#### MPM```{r}#| fig-height: 12#| fig-width: 8soma_rubricas(mpu, "mpm")```:::### DispersãoO gráfico a seguir destaca a mediana dos recebimentos por rubrica, representado pelos pontos. As barras representam a distância entre o menor e o maior valor recebido, sendo que na parte mais grossa estão 75% dos recebimentos aferidos em cada rubrica e os 25% restantes estão representados pela linha mais fina.```{r}#| fig-height: 12#| fig-width: 8plot_rubricas <-function(df, aid) { orgao_lbl <-case_when( aid =="mpf"~"MPF", aid =="mpt"~"MPT", aid =="mpm"~"MPM", aid =="mpdft"~"MP-DFT", ) df %>%filter(orgao == aid) %>%count( ano, mes, id_membro, item, categoria,wt = valor,name ="valor" ) %>%group_by(categoria) %>%mutate(valor_categ_max =max(valor) ) %>%ungroup() %>%mutate(categoria =fct_reorder(categoria, valor_categ_max),item =str_to_sentence(item),item =fct_reorder(item, valor), ) %>%ggplot(aes(x = valor, y = item, color = categoria)) +geom_vline(xintercept =0, linewidth = .1, color ="gray30") + ggdist::stat_pointinterval(shape =21,point_size =2,point_color = cores_dadosjusbr[["cinza_azulado"]],point_fill = colorspace::lighten(cores_dadosjusbr[["cinza_azulado"]], .7),show.legend =FALSE,.width =c(.75, 1),interval_size_range =c(2, 4) ) + ggforce::facet_col(facets =vars(fct_rev(categoria)),scales ="free",space ="free" ) +scale_x_continuous(limits =c(-1.2e5, 5.9e5),labels =~if_else(. ==0, "0", glue("R${. / 1000}mil")),expand =c(0, 0) ) +scale_y_discrete(expand =c(0, 0), position ="right") +scale_color_manual(values =c("remuneracao basica"= cores_dadosjusbr[["laranja"]],"contracheque"= cores_dadosjusbr[["laranja"]],"obrigatorios/legais"= cores_dadosjusbr[["cinza_azulado"]],"obrigatorios / legais"= cores_dadosjusbr[["cinza_azulado"]],"remuneracao eventual ou temporaria"= cores_dadosjusbr[["verde"]],"temporarias"= cores_dadosjusbr[["verde"]],"verbas indenizatorias"= cores_dadosjusbr[["lilas"]],"indenizacoes"= cores_dadosjusbr[["lilas"]],"outras remuneracoes temporarias"= cores_dadosjusbr[["cyan"]],"verbas indenizatorias e remuneracoes temporarias/eventuais"= cores_dadosjusbr[["cyan"]] )) +theme(strip.text.y =element_text(color ="transparent"),strip.placement ="outside",axis.ticks.x =element_blank(),axis.text.y =element_text(face ="italic"),axis.text.x =element_text(face ="italic", size =8),axis.title.y =element_text(angle =0),panel.grid.minor =element_blank(),panel.background =element_rect(fill ="gray98", color ="transparent") ) +labs(title =glue("Distribuição de remunerações no {orgao_lbl}"),subtitle =glue("Rubricas agrupadas por categoria.\n","O ponto representa a mediana dos recebimentos\n","As barras representam a distância entre o menor e o maior valor recebido, sendo que na parte\n","mais espessa estão 75% dos recebimentos aferidos em cada rubrica e os 25% restantes\nestão representados pela linha mais fina." ),x =NULL, y ="Rubricas",caption = my_caption )}```:::{.panel-tabset}#### MPF```{r}#| fig-height: 12#| fig-width: 8plot_rubricas(mpu, "mpf")```#### MPT```{r}#| fig-height: 12#| fig-width: 8plot_rubricas(mpu, "mpt")```#### MP-DFT```{r}#| fig-height: 12#| fig-width: 8plot_rubricas(mpu, "mpdft")```#### MPM```{r}#| fig-height: 12#| fig-width: 8plot_rubricas(mpu, "mpm")```:::::::# Conversão de licença prêmio em Pecúnia```{r}licenca_premio <- mpu %>%filter(item =="conversao de licenca premio em pecunia") %>%count( orgao, id_membro, mes, ano,item ="Licença-prêmio",name ="valor",wt = valor )outras_remuneracoes <- mpu %>%filter(item !="conversao de licenca premio em pecunia") %>%count( orgao, id_membro, mes, ano,item ="Outras remunerações",name ="valor",wt = valor )penduricalhos <-bind_rows(licenca_premio, outras_remuneracoes) %>%arrange(orgao, id_membro, ano, mes, valor)``````{r}pend_resumo <- penduricalhos %>%summarise(total_pago =sum(valor),media =mean(valor),mediana =median(valor),n_membros =n_distinct(glue("{id_membro}-{orgao}")),n_pagamentos =n(),.by = item )pend_mpu <- penduricalhos %>%filter(item =="Licença-prêmio") %>%count(orgao, id_membro, wt = valor, name ="valor") %>%summarise(orgao ="MPU",total =sum(valor),valor_media =mean(valor),valor_mediana =median(valor),n_membros =n())```## Licença-prêmio vs. demais rendimentos### Consolidado- Entre 2018 e 2022 foram pagos `r reais(pend_resumo$total_pago[2] / 1e6)` milhões em em licença-prêmio para `r numero(pend_resumo$n_membros[2])` de membros (`r perc(pend_resumo$n_membros[2] / n_distinct(penduricalhos$id_membro))` do total de membros do MPU).```{r}#| fig-width: 10#| fig-height: 8penduricalhos %>%count(orgao, item, wt = valor, name ="valor") %>%mutate(item =fct_reorder(item, -valor, sum),orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ),orgao =fct_reorder(orgao, -valor, sum) ) %>%ggplot(aes(x = orgao,y = valor,fill = item,color =after_scale(darken(fill, .4)) )) +geom_col(position ="dodge") +geom_text(aes(label =reais(valor /1e6)),vjust =-1,position =position_dodge(width = .9) ) +scale_y_continuous(labels =~reais(. /1e6)) +scale_fill_manual(values =c("Outras remunerações"=alpha(cores_dadosjusbr[["verde"]], .6),"Licença-prêmio"= cores_dadosjusbr[["cinza_azulado"]] ) ) +labs(title ="Pagamentos de venda de licença-prêmio em pecúnia - 2018 - 2022",x ="Órgãos do Ministério Público da União", y ="Milhões de reais",fill =NULL, captio = my_caption ) +theme(panel.grid.major.x =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.minor.y =element_blank() )```### Percentual#### Percentual de pagamentos de licença-prêmio sobre as remunerações liquidas - por ano (2019 - 2022)```{r}#| fig-width: 10#| fig-height: 8pend_ano_orgao <- penduricalhos %>%summarise(total_pago =sum(valor),media =mean(valor),mediana =median(valor),n_membros =n_distinct(glue("{id_membro}-{orgao}")),n_pagamentos =n(),.by =c(orgao, item, ano) ) %>%select(orgao, item, ano, total_pago) %>%complete(orgao, ano, item, fill =list(total_pago =0)) %>%group_by(orgao, ano) %>%mutate(perc = total_pago /sum(total_pago)) %>%ungroup()pend_ano_orgao %>%mutate(item =fct_reorder(item, -perc, sum),orgao =case_when( orgao =="mpm"~"Ministério Público Militar", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios", orgao =="mpt"~"Ministério Público do Trabalho", orgao =="mpf"~"Ministério Público Federal" ),orgao =ordered(orgao, levels =c("Ministério Público Militar","Ministério Público Federal","Ministério Público do Distrito Federal e Territórios","Ministério Público do Trabalho" )) ) %>%ggplot(aes(x =as.integer(ano), y = perc, fill = item)) +geom_col() +geom_text(data = . %>%filter(item =="Licença-prêmio"& perc >0),aes(label =perc(round(perc, 4))),vjust =-.5 ) +facet_wrap(~orgao, scales ="free") +scale_fill_manual(values =c("Outras remunerações"=alpha(cores_dadosjusbr[["verde"]], .6),"Licença-prêmio"= cores_dadosjusbr[["cinza_azulado"]] ) ) +scale_x_continuous(expand =c(0, .1), breaks =2019:2022L) +scale_y_continuous(labels = scales::percent, breaks =c(0, .50, 1)) +labs(fill =NULL, y =NULL, x ="Ano",title =NULL,subtitle ="Percentual em relação ao total das remunerações líquidas - por ano",caption = my_caption ) +theme(panel.grid.major.x =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.minor.y =element_blank(),legend.position ="top",legend.justification ="left",strip.text =element_text(size =10) )pend_mpm_2021 <- pend_ano_orgao %>%filter(orgao =="mpm"& ano ==2021)```- O desembolso do MPU com pagamentos de licença-prêmio representa apenas `r perc(pend_resumo$total_pago[2] / sum(pend_resumo$total_pago))` do total da soma das remunerações líquidas pagas. Entretanto, há indícios de que o benefício é utilizado em larga escala para turbinar as remunerações dos membros.- Em 2021, mais de 1/4 (`r perc(round(pend_mpm_2021$perc[1], 4))`) das remunerações líquidas pagas para os membros do Ministério Público Militar se enquadraram na rubrica de venda de licença-prêmio em pecúnia. O valor desembolsado pelo MPM em 2021 para pagamento de licença-prêmio foi de `r reais(pend_mpm_2021$total_pago[1])`.- A tabela a seguir resume os valores pagos para cada membro dos órgãos do MPU. Os valores mediana e média são referentes à soma do valor anual recebido para cada membro no período de 2018 até 2023.```{r}pend_resumo %>%mutate(.after = total_pago,perc_total_pago = total_pago /sum(total_pago) ) %>%gt() %>%fmt_percent(columns = perc_total_pago,sep_mark =".", dec_mark =",", decimals =1, ) %>%fmt_currency(columns =c(total_pago, media, mediana),sep_mark =".", dec_mark =",",currency ="BRL", decimals =2,incl_space =TRUE ) %>%fmt_number(columns =starts_with("n_"), decimals =0, sep_mark =".", dec_mark =",") %>%cols_label(item ="",total_pago ="**Total pago**",perc_total_pago ="**%**",media ="**Média<br>por membro**",mediana ="**Mediana<br>por membro**",n_membros ="**Quantidade<br>membros<br>beneficiados**",n_pagamentos ="**Quantidade de <br>pagamentos**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_header(title =md("**Venda de licença-prêmio - *por membro* (2019 - 2022)**"),subtitle ="Órgãos do Ministério Público da União" ) %>%tab_footnote(footnote =md(my_caption_md))```### Tabela por órgão do MPU - total recebido por membro e órgão```{r}total_membros <- mpu %>%distinct(orgao, id_membro) %>%count(orgao, name ="total_membros") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%add_row(orgao ="MPU", total_membros =sum(.$total_membros))total_membros %>%gt() %>%fmt_number(columns = total_membros, decimals =0, sep_mark =".", dec_mark =",") %>%tab_header(title =md("**Quantidade de membros por órgão (2019-2022)**"),subtitle ="Órgãos do Ministério Público da União" ) %>%cols_label(orgao ="**Órgão**",total_membros ="**Número de membros**",.fn = md )``````{r}n_contracheques <- penduricalhos %>%distinct(orgao, id_membro, mes, ano) %>%nrow()n_contracheques_licenca_premio <- penduricalhos %>%filter(item =="Licença-prêmio") %>%distinct(orgao, id_membro, mes, ano) %>%nrow()receberam_lp <- penduricalhos %>%filter(item =="Licença-prêmio") %>%distinct(orgao, id_membro) %>%nrow()```Os dados foram extraídos diretamente do banco de dados do DadosJusBr em putubrosetembro de 2023 e analisados em linguagem R. O dataset extraído possui `r nrow(mpu)` lançamentos, em que cada linha é um item/rubrica associada a um contracheque de um único membro, mês e ano. Ao todo, foram observadas remunerações de `r total_membros$total_membros[5]` membros dos quatro órgãos do MPU entre janeiro de 2019 e dezembro de 2022, perfazendo um total de `r n_contracheques` contracheques coletados, dos quais `r n_contracheques_licenca_premio` continham pagamentos relativos à licença-prêmio para `r receberam_lp` membros (`r perc(receberam_lp / total_membros$total_membros[5])`).```{r}penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%count(orgao, id_membro, wt = valor, name ="valor") %>%summarise(.by = orgao,total =sum(valor),valor_media =mean(valor),valor_mediana =median(valor),n_membros =n()) %>%bind_rows(pend_mpu) %>%left_join(total_membros) %>%mutate(perc = n_membros / total_membros) %>%select(-total_membros) %>%gt(rowname_col ="ano") %>%fmt_percent(columns = perc,sep_mark =".", dec_mark =",", decimals =1, ) %>%fmt_currency(columns = total:valor_mediana,sep_mark =".", dec_mark =",",currency ="BRL", decimals =2,incl_space =TRUE ) %>%fmt_number(columns = n_membros, decimals =0, sep_mark =".", dec_mark =",") %>%cols_label(orgao ="**Órgão**",total ="**Total pago**",n_membros ="**Quantidade<br>membros<br>beneficiados**",valor_media ="**Média<br>por membro**",valor_mediana ="**Mediana<br>por membro**",perc ="**% total<br>membros**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_header(title =md("**Venda de licença-prêmio - *por membro* (2019 - 2022)**"),subtitle ="Órgãos do Ministério Público da União" ) %>%tab_style(style =cell_text(weight ="bold"),locations =cells_body(rows = orgao =="MPU") ) %>%tab_footnote(footnote =md(my_caption_md))```### Série histórica de pagamentos de 2019 a 2022.#### Venda de licença-prêmio - Ministério Público da União (2019 - 2022)```{r}#| fig-width: 10#| fig-height: 9.5valor_penduricalhos_yoy_orgaos <- penduricalhos %>%filter(item =="Licença-prêmio") %>%count(orgao, ano, id_membro, wt = valor, name ="valor") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%summarise(.by =c(orgao, ano),qt_membros =n(),valor =sum(valor) ) %>%mutate(ano =as.integer(ano))valor_penduricalhos_yoy_mpu <- penduricalhos %>%filter(item =="Licença-prêmio") %>%count(orgao, ano, id_membro, wt = valor, name ="valor") %>%mutate(orgao ="MPU") %>%summarise(.by =c(orgao, ano),qt_membros =n(),valor =sum(valor) ) %>%mutate(ano =as.integer(ano))p1 <- valor_penduricalhos_yoy_mpu %>%ggplot(aes(x = ano,y = valor,color =after_scale(adjust_transparency(darken(fill, .4), alpha = .6)),fill = orgao )) +geom_line(show.legend =FALSE, linewidth =1.2) +geom_point(size =4, show.legend =FALSE, shape =21) +scale_fill_manual(values =c("MPU"= cores_dadosjusbr[["verde"]])) +scale_x_continuous(breaks =2019:2022,expand =c(.04, .2),limits =c(2019, 2022)) +scale_y_continuous(labels =~ . /1e6,limits =c(0, 2.1e8)) +geom_text(size =4, face ="bold",aes(label =numero(round(valor /1e6, 1))),vjust =-2 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank() ) +coord_cartesian(xlim=c(2018.5, 2022.5), expand =FALSE) +labs(#title = "Valores pagos em conversão de licença-prêmio em pecúnia",subtitle ="Valor pago por ano - em milhões de reais",x =NULL, y ="Milhões de reais" )p2 <- valor_penduricalhos_yoy_mpu %>%ggplot(aes(x = ano, y = qt_membros,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_col(show.legend =FALSE, width = .6) +scale_fill_manual(values =c("MPU"= cores_dadosjusbr[["verde"]])) +scale_y_continuous(limits =c(0, 2200),breaks =seq(0, 1500, 500) ) +scale_x_continuous(breaks =2019:2022,expand =c(0.1, 0.1)) +geom_text(aes(label =numero(qt_membros)),vjust =-1 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank() ) +coord_cartesian(xlim=c(2018.5, 2022.5), expand =FALSE) +labs(#title = "Beneficiados com pagamento de conversão de licença-prêmio em pecúnia",subtitle ="Quantidade de membros que receberam ao menos 1 vez",x ="Ano", y ="Quantidade de membros" )p1 / p2 +plot_annotation(title =NULL,subtitle ="Somatória de todos os órgãos do MPU (2019 - 2022)",caption = my_caption ) &theme(plot.subtitle =element_text(hjust = .5))```#### Venda de licença-prêmio - órgãos do Ministério Público da União (2019 - 2022)```{r}#| fig-width: 10#| fig-height: 12p1 <- valor_penduricalhos_yoy_orgaos %>%ggplot(aes(x = ano,y = valor,color =after_scale(adjust_transparency(darken(fill, .4), alpha = .6)),fill = orgao )) +geom_line(show.legend =FALSE, linewidth =1.2) +geom_point(size =4, show.legend =FALSE, shape =21) +scale_fill_manual(values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] )) +scale_x_continuous(breaks =2019:2022,expand =c(.04, .2),limits =c(2019, 2022)) +scale_y_continuous(labels =~ . /1e6,limits =c(0, 9e7) ) +geom_text(data =. %>%filter(orgao %in%c("MPU", "MPF") & ano ==2019),aes(label = orgao), size =4,vjust =2, fontface ="bold" ) +geom_text(data =. %>%filter(orgao %in%c("MP-DFT") & ano ==2020),aes(label = orgao), size =4,hjust =1.5, vjust =-.2, fontface ="bold" ) +geom_text(data =. %>%filter(orgao %in%c("MPT") & ano ==2020),aes(label = orgao), size =4,hjust =1.8, vjust =1.2, fontface ="bold" ) +geom_text(data = . %>%filter(orgao %in%c("MPU", "MPF")),aes(label =numero(round(valor /1e6, 1))), size =4,vjust =-1.5 ) +geom_text(data = . %>%filter(orgao %in%c("MP-DFT") & ano !=2022),aes(label =numero(round(valor /1e6, 1))), size =4,vjust =-1.5 ) +geom_text(data = . %>%filter(orgao %in%c("MP-DFT") & ano ==2022),aes(label =numero(round(valor /1e6, 1))), size =4,vjust =1.5 ) +geom_text(data = . %>%filter(orgao %in%c("MPT") & ano !=2022),aes(label =numero(round(valor /1e6, 1))), size =4,vjust =2 ) +geom_text(data = . %>%filter(orgao %in%c("MPT") & ano ==2022),aes(label =numero(round(valor /1e6, 1))), size =4,vjust =-1 ) +geom_text(data =. %>%filter(orgao %in%c("MPM") & ano ==2019),aes(label = orgao), size =4,hjust =1.2, vjust = .6, fontface ="bold" ) +geom_text(data =. %>%filter(orgao %in%c("MPM") & ano !=2022),aes(label =numero(round(valor /1e6, 1))), size =4,vjust =-.9 ) +geom_text(data =. %>%filter(orgao %in%c("MPM") & ano ==2022),aes(label =numero(round(valor /1e6, 1))), size =4,hjust =-.9 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank() ) +coord_cartesian(xlim=c(2018.5, 2022.5), expand =FALSE) +labs(#title = "Valores pagos em conversão de licença-prêmio em pecúnia",subtitle ="Valor pago por ano - em milhões de reais",x =NULL, y ="Milhões de reais" )p2 <- valor_penduricalhos_yoy_orgaos %>%complete(ano, orgao, fill =list(qt_membros =0)) %>%mutate(orgao =fct_reorder(orgao, qt_membros)) %>%ggplot(aes(x = ano, y = qt_membros,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_col(width = .6, position ="dodge") +scale_fill_manual(values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] )) +scale_y_continuous(limits =c(0, 1000),breaks =seq(0, 600, 300) ) +scale_x_continuous(breaks =2019:2022,expand =c(0.1, 0.1)) +geom_text(position =position_dodge(width = .6),aes(label =if_else(qt_membros ==0, "", numero(qt_membros))),hjust =0.5, vjust =-.7 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank(),legend.position =c(0.8, 0.95),legend.direction ="horizontal" ) +coord_cartesian(xlim=c(2018.5, 2022.5), expand =FALSE) +guides(fill =guide_legend(title =NULL,label.position ="bottom",label.hjust = .5,keywidth =unit(12, "mm") )) +labs(#title = "Beneficiados com pagamento de conversão de licença-prêmio em pecúnia",subtitle ="Quantidade de membros que receberam ao menos 1 vez",x ="Ano", y ="Quantidade de membros" )p1 / p2 +plot_annotation(title =NULL,subtitle ="Valores desagregados por órgãos do MPU (2019 - 2022)",caption = my_caption ) &theme(plot.subtitle =element_text(hjust = .5))```### Valor pago e quantidade de membros - por órgão e ano```{r}valor_penduricalhos_yoy_orgaos %>%bind_rows(valor_penduricalhos_yoy_mpu) %>%gt(groupname_col ="orgao") %>%fmt_currency( valor,sep_mark =".",dec_mark =",",currency ="BRL" ) %>%cols_label(ano ="**ANO**",qt_membros ="**QT. MEMBROS**",valor ="**VALOR (R$)**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_header(title =md("**Conversão de licença-prêmio em pecúnia para membros ativos (2019 - 2022)**"),subtitle ="Ministério Público da União" ) %>%tab_footnote(footnote =md(my_caption_md))```### Dispersão - total recebido por membro- O gráfico a seguir apresenta a amplitude e a distribuição dos valores recebidos pelos membros do MPU.```{r}#| fig-width: 8#| fig-height: 10#|is_outlier <-function(x) {return(x <quantile(x, 0.25) -1.5*IQR(x) | x >quantile(x, 0.75) +1.5*IQR(x))}penduricalhos %>%filter(item =="Licença-prêmio") %>%count(orgao, id_membro, wt = valor, name ="valor") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ),orgao =fct_reorder(orgao, valor, median) ) %>%group_by(orgao) %>%mutate(outlier =is_outlier(valor)) %>%ungroup() %>%ggplot(aes(y = valor,x ="",fill = orgao,color =after_scale(darken(fill, .4)) )) +facet_wrap(~orgao, ncol =1, scales ="free_x") +stat_halfeye(alpha = .5,point_interval = median_qi,width =1,expand =FALSE,show.legend =FALSE,.width =c(0.66, 0.95),interval_size_range =c(2, 3.5),fatten_point =3,align =align_boundary(at =0) ) +geom_point(data = . %>%filter(outlier), show.legend =FALSE) +coord_flip() +scale_y_continuous(labels =~ . /1e3,limits =c(-1e4, 8e5),expand =c(0, 0.1) ) +scale_fill_manual(values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] ) ) +theme(panel.grid.minor.x =element_blank(),panel.grid.major.y =element_blank(),axis.text.x =element_text(face ="plain") ) +labs(title =glue("Distribuição dos pagamentos de licença-prêmio para os membros\n","Valor acumulado entre 2018 e 2022" ),subtitle =glue("O ponto maior ao meio representa a mediana dos pagamentos\n","Os pontos menores representam outliers\n" ),x =NULL, y ="Milhares de reais",caption = my_caption )```### Distribuição da soma dos valores recebidos por venda de licença-prêmio por membro entre 2019 e 2022.```{r}pend_400k <- penduricalhos %>%filter(item =="Licença-prêmio") %>%count(orgao, id_membro, wt = valor, name ="valor") %>%filter(valor >399999.99)```- Ao todo, `r nrow(pend_400k)` membros reeberam acima de R$ 400 mil reais em licença-prêmio, considerando a soma dos pagamentos.```{r}#| fig-width: 9#| fig-height: 10make_html_tag <- \(vec, cor) glue("<span style='color: {cor}'>{vec}</span>")penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(cor =case_when( orgao =="mpm"~ cores_dadosjusbr[["laranja"]], orgao =="mpdft"~ cores_dadosjusbr[["cinza_azulado"]], orgao =="mpt"~ cores_dadosjusbr[["cyan"]], orgao =="mpf"~ cores_dadosjusbr[["lilas"]] ),orgao =case_when( orgao =="mpm"~"Ministério Público Militar | MPM", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpf"~"Ministério Público Federal | MPF" ) ) %>%count(id_membro, orgao, cor, wt = valor, name ="valor") %>%mutate(fx_valor =case_when( valor <50000~"Até R$ 49.999", valor <=1e5~"Entre R$ 50.000 e 149.999", valor <=3e5~"Entre R$ 150.000 e 299.999",.default ="Acima de R$ 300.000" ) %>%ordered(levels =c("Até R$ 49.999","Entre R$ 50.000 e 149.999","Entre R$ 150.000 e 299.999","Acima de R$ 300.000" )) ) %>%count(fx_valor, orgao, cor) %>%mutate(orgao =fct_reorder(orgao, -n)) %>%complete(orgao, fx_valor, fill =list(n =0)) %>%mutate(orgao =make_html_tag(orgao, darken(cor, .4))) %>%ggplot(aes(y = fx_valor,x = n,fill = cor,color =after_scale(colorspace::darken(fill, .4)) )) +geom_col(show.legend =FALSE, alpha = .8) +geom_text(hjust =-.7, aes(label = scales::number(n, big.mark =".", decimal.mark =",", accuracy =1) )) +facet_wrap(~orgao, nrow =4, strip.position ="top") +scale_fill_identity() +# scale_fill_manual(# values = c(# "Ministério Público Militar | MPM" = cores_dadosjusbr[["laranja"]],# "Ministério Público do Distrito Federal e Territórios | MP-DFT" = cores_dadosjusbr[["cinza_azulado"]],# "Ministério Público do Trabalho | MPT" = cores_dadosjusbr[["cyan"]],# "Ministério Público Federal | MPF" = cores_dadosjusbr[["lilas"]]# )# ) +scale_x_continuous(expand =c(0.01, 0),limits =c(0, 700),labels =~ scales::number(., big.mark =".", decimal.mark =",", accuracy =1) ) +theme(axis.ticks.x =element_blank(),axis.title.y =element_text(),axis.text.y =element_text(face ="plain", size =10),axis.title.x =element_text(face ="plain", size =10, hjust = .5),strip.text =element_markdown(),panel.grid.minor =element_blank(),panel.grid.major.y =element_blank() ) +labs(title =NULL,subtitle ="Órgãos do Ministério Público da União",x ="Quantidade de membros que receberam indenizações de licença-prêmio",y =NULL,caption = my_caption )```### Parcelas- Os pagamentos não são feitos em uma única parcela e é comum os membros receberem mais de uma vez. A tabela a seguir resume os valores médios e medianos de cada pagamento entre o ano de 2018 e 2023.```{r}pend_pagtos <- penduricalhos %>%summarise(.by = item,media =mean(valor),mediana =median(valor),total =sum(valor),n_pagamentos =n(),n_membros =n_distinct(glue("{id_membro}-{orgao}")) )qtd_membro_ano <- penduricalhos %>%filter(item =="Licença-prêmio") %>%summarise(.by = ano,n_membros =n_distinct(glue("{id_membro}-{orgao}")) )pend_pagtos_ano_orgao <- penduricalhos %>%summarise(.by =c(orgao, item, ano),media =mean(valor),mediana =median(valor) ) %>%arrange(ano)penduricalhos %>%filter(item =="Licença-prêmio") %>%summarise(.by = ano,total =sum(valor),valor_media =mean(valor),valor_mediana =median(valor),n_pagamentos =n() ) %>%arrange(ano) %>%left_join(qtd_membro_ano) %>%gt(rowname_col ="ano") %>%fmt_currency(columns = total:valor_mediana,sep_mark =".", dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE ) %>%fmt_number(columns =c(n_pagamentos, n_membros),decimals =0,sep_mark =".",dec_mark ="," ) %>%cols_label(total ="**Total pago**",n_pagamentos ="**Quantidade<br>pagamentos**",n_membros ="**Qtde. de membros<br>que receberam**",valor_media ="**Média de<br>cada pagamento**",valor_mediana ="**Mediana de<br>cada pagamento**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_header(title =md("**Venda de licença-prêmio - *parcelas* (2019 - 2022)**"),subtitle ="Órgãos do Ministério Público da União - membros ativos" ) %>%grand_summary_rows(columns =c(valor_media),fns =list(label =md("**Total**"),fn =~reais(pend_pagtos$media[2]),id ="Total" ),fmt =list(~fmt_currency(.,sep_mark =".", dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE )) ) %>%grand_summary_rows(columns =c(total),fns =list(label =md("**Total**"),fn =~reais(pend_pagtos$total[2]),id ="Total" ),fmt =list(~fmt_currency(.,sep_mark =".", dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE )) ) %>%grand_summary_rows(columns =c(valor_mediana),fns =list(label =md("**Total**"),fn =~reais(pend_pagtos$mediana[2]),id ="Total" ),fmt =list(~fmt_currency(.,sep_mark =".", dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE )) ) %>%grand_summary_rows(columns =c(n_pagamentos),fns =list(label =md("**Total**"), fn =~numero(pend_pagtos$n_pagamentos[2]), id ="Total"),fmt =list(~fmt_number(.,sep_mark =".", dec_mark =",",decimals =0 )) ) %>%grand_summary_rows(columns =c(n_membros),fns =list(label =md("**Total**"), fn =~numero(pend_mpu$n_membros), id ="Total"),fmt =list(~fmt_number(.,sep_mark =".", dec_mark =",",decimals =0 )) ) %>%tab_footnote(footnote =md(my_caption_md))```### Parcelas por ano e órgão```{r}#| fig-width: 9#| fig-height: 10penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%summarise(.by =c(orgao, id_membro, ano),n_parcelas =n(),valor =sum(valor) ) %>%ggplot(aes(x = n_parcelas,y = valor,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_jitter(show.legend =FALSE, shape =21, alpha = .4) +facet_grid(orgao ~ ano) +scale_y_continuous(labels =~ . /1e3) +scale_fill_manual(name ="Órgãos",values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] )) +labs(title ="Conversão de licença-prêmio em pecúnia",subtitle ="Número de parcelas e valor anual recebido",caption = my_caption,x ="Número de parcelas", y ="Soma do valor recebido no ano\n(milhares de reais)" )```### Parcelas por órgão```{r}#| fig-width: 9#| fig-height: 10penduricalhos %>%filter(item =="Licença-prêmio") %>%add_count(orgao, id_membro, name ="parcelas_recebidas") %>%count(orgao, id_membro, parcelas_recebidas, wt = valor, name ="valor_total") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ) ) %>%ggplot(aes(x = parcelas_recebidas,y = valor_total,fill =factor(orgao), color =after_scale(darken(fill, .4)) )) +facet_wrap(~orgao, scales ="free_x") +geom_jitter(shape =21, size =2, alpha = .6) +scale_y_continuous(labels =~reais(. /1e3)) +scale_x_continuous(breaks =1:7L) +scale_fill_manual(name ="Órgãos",values =c("MPM"= cores_dadosjusbr[["laranja"]],"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] )) +theme(axis.ticks.x =element_blank(),panel.grid.minor =element_blank() ) +labs(title ="Relação positiva entre o número de parcelas e o total recebido",subtitle ="cada ponto no gráfico representa um procurador do MPU que recebeu conversão\nde licença-prêmio em pecúnia",x ="Quantidade de parcelas recebidas", y ="Milhares de reais",caption = my_caption )```### Pagamentos por ano - membros receram em 4 anos consecutivos```{r}anos_recebendo_penduricalhos <- penduricalhos %>%filter(item =="Licença-prêmio") %>%distinct(id_membro =glue("{orgao}-{id_membro}"), ano) %>%count(id_membro) %>%add_count(n, name ="n_membros_anos")resume_anos_recebendo_penduricalhos <- anos_recebendo_penduricalhos %>%count(n, name ="n_membros")```Observa-se que entre 2019 e 2022, `r sum(resume_anos_recebendo_penduricalhos$n_membros[-1])` membros solicitaram e receberam a venda de licença-prêmio por pelo menos duas vezes. `r resume_anos_recebendo_penduricalhos$n_membros[5]` membros no MPF e MPU fizeram a venda de licença-prêmio por quatro anos consecutivos e, evidentemente, acumularam os maiores valores recebidos. Apenas uma minoria (`r resume_anos_recebendo_penduricalhos$n_membros[1]`) acabou recebendo uma única vez no quadriênio.#### Venda de licença-prêmio como rotina anual: quantidade de vezes em que o benefício foi pago por membro e órgão no quadriênio (2019 - 2022)```{r}#| fig-width: 10#| fig-height: 9penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(id_membro =glue("{orgao}-{id_membro}")) %>%left_join(anos_recebendo_penduricalhos) %>%mutate(recebeu_quantos_anos =case_when( n ==1~glue("<p style:'line-height:0.7'>1 vez <br> <b style='font-size:10px'>{n_membros_anos} membros</b></p>" ), n ==2~glue("<p style:'line-height:0.7'>2 vezes<br><b style='font-size:10px'>{n_membros_anos} membros</b></p>"), n ==3~glue("<p style:'line-height:0.7'>3 vezes<br><b style='font-size:10px'>{n_membros_anos} membros</b></p>"), n ==4~glue("<p style:'line-height:0.7'>4 vezes<br><b style='font-size:10px'>{n_membros_anos} membros</b></p>"), ),recebeu_quantos_anos =fct_reorder(recebeu_quantos_anos, -n) ) %>%# add_count(orgao, id_membro, name = "parcelas_recebidas") %>%count(orgao, id_membro, recebeu_quantos_anos, wt = valor, name ="valor_total") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ),orgao =fct_reorder(orgao, -valor_total, sum) ) %>%group_by(orgao, recebeu_quantos_anos) %>%mutate(valor_total_mediana =median(valor_total) ) %>%ungroup() %>%ggplot(aes(y = recebeu_quantos_anos,x = valor_total,fill = orgao,color =after_scale(darken(fill, .6)) )) +facet_wrap(orgao ~ ., nrow =1) +geom_jitter(shape =21,size =1.8,alpha = .6,show.legend =FALSE,width = .6,height = .25 ) +geom_point(aes(x = valor_total_mediana),size =15, shape =108, show.legend =FALSE ) +scale_x_continuous(labels =~ . /1e3, expand =c(0, 0.1), limits =c(-1e5, 8e5)) +scale_fill_manual(name ="Órgãos",values =c("MPM"=darken(cores_dadosjusbr[["laranja"]], .2),"MP-DFT"= cores_dadosjusbr[["cinza_azulado"]],"MPT"= cores_dadosjusbr[["cyan"]],"MPF"= cores_dadosjusbr[["lilas"]] ) ) +theme(axis.ticks.x =element_blank(),panel.grid.minor =element_blank(),panel.grid.major.y =element_blank(),axis.text.x =element_text(size =10, hjust = .5),axis.text.y =element_markdown(size =10, hjust =0),axis.title.x =element_text(hjust = .5, vjust =-5),axis.title.y =element_text(hjust = .5, vjust =5) ) +labs(title =NULL,subtitle =glue("Cada ponto representa um membro e a quantidade de anos em que o benefício foi concedido (eixo y)\n","no quadriênio (2019-2022). O valor somado do benefício recebido está representado no eixo x e os\n","traços representam a mediana desses valores." ),caption = my_caption,y ="Número de vezes que um membro\nvendeu licença-prêmio entre 2019 e 2022",x =glue("Soma do valor recebido por cada procurador do MPU"," em conversão de licença-prêmio em pecúnia","\nMilhares de reais (2019 - 2022)", ) )```### Tabela com pagamentos médios por ano```{r}total_membros_ano <- mpu %>%distinct(ano, id_membro) %>%count(ano, name ="total_membros_ano")pend_mpu <- penduricalhos %>%filter(item =="Licença-prêmio") %>%left_join(anos_recebendo_penduricalhos) %>%count(orgao, id_membro, ano, wt = valor, name ="valor") %>%mutate(ano ="2019 - 2022") %>%summarise(.by = ano,total_pago =sum(valor),media_anual =mean(valor),mediana_anual =median(valor),qt_membros_receberam =n_distinct(glue("{id_membro}-{orgao}")))penduricalhos %>%filter(item =="Licença-prêmio") %>%left_join(anos_recebendo_penduricalhos) %>%count(orgao, id_membro, ano, wt = valor, name ="valor") %>%summarise(.by = ano,total_pago =sum(valor),media_anual =mean(valor),mediana_anual =median(valor),qt_membros_receberam =n_distinct(id_membro) ) %>%left_join(total_membros_ano) %>%mutate(perc_membros = qt_membros_receberam / total_membros_ano) %>%select(-total_membros_ano) %>%arrange(ano) %>%mutate(ano =as.character(ano)) %>%bind_rows(pend_mpu) %>%gt() %>%fmt_currency(c(total_pago, media_anual, mediana_anual),sep_mark =".",dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE ) %>%fmt_percent( perc_membros,decimals =1,dec_mark =",",sep_mark ="." ) %>%fmt_number( qt_membros_receberam,decimals =0,dec_mark =",",sep_mark ="." ) %>%cols_label(ano ="**Ano**",qt_membros_receberam ="**Qtd. de membros<br>que receberam**",total_pago ="**Valor pago (R$)**",media_anual ="**Média**",mediana_anual ="**Médiana**",perc_membros ="**%**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_header(title =md("**Conversão de licença-prêmio em pecúnia (2019 - 2022)**"),subtitle ="Ministério Público da União - membros ativos" ) %>%tab_style(style =cell_text(weight ="bold"),locations =cells_body(rows = ano =="2019 - 2022") ) %>%tab_style(style =cell_text(align ="center"),locations =cells_column_labels(columns =c(ano, qt_membros_receberam)) ) %>%tab_style(style =cell_text(align ="center"),locations =cells_body(columns =c(ano, qt_membros_receberam)) ) %>%sub_missing( perc_membros,missing_text ="" ) %>%tab_footnote(footnote =md(my_caption_md))```### Venda de licença-prêmio no MPF - dados obtidos via Lei de Acesso a Informação```{r}#| fig-width: 10#| fig-height: 4.75mpf_lai <-tibble(ano =2015:2023,qt_membros =c(49, 85, 696, 731, 851, 923, 716, 732, 739),valor =c(6973177.51,6087050.82,21412906.25,8516236.77,49735083.2,79983959.29,68995113.58,68333973.6,22437218.1 ),orgao ="MPF")mpf_lai <- mpf_lai %>%filter(ano !=2023)p1 <- mpf_lai %>%ggplot(aes(x = ano,y = valor,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_line(show.legend =FALSE, linewidth =1.5) +geom_point(size =3, show.legend =FALSE) +scale_x_continuous(breaks =2015:2022) +scale_y_continuous(labels =~ . /1e6,limits =c(0, max(mpf_lai$valor) *1.15) ) +scale_fill_manual(values =c("MPF"= cores_dadosjusbr[["lilas"]])) +geom_text(aes(label =numero(round(valor /1e6, 1))),vjust =-2 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank() ) +coord_cartesian(xlim=c(2015,2022)) +labs(#title = "Valores pagos em conversão de licença-prêmio em pecúnia",subtitle ="Valor anual pago para membros ativos e inativos - em milhões de reais - (2015 - 2023)",x ="Ano", y ="Milhões de reais" )``````{r}#| fig-width: 10#| fig-height: 4.75p2 <- mpf_lai %>%ggplot(aes(x = ano,y = qt_membros,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_col(alpha = .6, show.legend =FALSE, width = .7) +scale_x_continuous(breaks =2015:2022) +scale_y_continuous(limits =c(0, max(mpf_lai$qt_membros) *1.15) ) +scale_fill_manual(values =c("MPF"= cores_dadosjusbr[["lilas"]])) +geom_text(aes(label =numero(qt_membros)),vjust =-1 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank() ) +coord_cartesian(xlim=c(2015,2022), expand =TRUE) +labs(#title = "Beneficiados com pagamento de conversão de licença-prêmio em pecúnia",subtitle ="Quantidade de membros ativos e inativos que receberam",x ="Ano", y ="Quantidade de membros do MPF", )``````{r}#| fig-width: 10#| fig-height: 9.5p1 / p2 +plot_annotation(title =NULL,subtitle ="Pagamentos de licença Prêmio - Ministério Público Federal (2015 - 2023)",caption ="Fonte: MPF via Lei de Acesso a Informação\nElaboração: Transparência Brasil" ) &theme(plot.subtitle =element_text(hjust = .5))```### Comparativo entre as bases```{r}#| fig-width: 10#| fig-height: 849962784+27477036038+1495271mpf_agosto_ativos <-tibble(ano =2019:2022,qt_membros =c(826, 826, 681, 649),valor_ativos =c(44598492.04,49962784.08,62479820.72,57092248.27 ),orgao ="MPF",fonte ="Coleta do DadosJusBr em Agosto - 2023")lp_12_2021 <-sum(262024.19,432926.93,606199.83,341894.85,309825.18,35462.22,70924.44,61668.61)lp_03_2022 <-sum(64104.12)lp_12_2022 <-sum(42909.99,25705.04,10379.78,175778.61,15692.67,114210.29,35857.43,85225.48,54986.59,109447.96,19499.65,62225.25,79963.40,41006.29)mpf_inativos_agosto <- tibble::tribble(~orgao, ~ano, ~mes, ~valor_inativos,"MPF", 2020, 11, 152217.53,"MPF", 2020, 12, 122148.06,"MPF", 2019, 12, 2750047.76,"MPF", 2021, 12, lp_12_2021,"MPF", 2022, 03, lp_03_2022,"MPF", 2022, 08, 131562.52,"MPF", 2022, 10, 67378.22,"MPF", 2022, 12, lp_12_2022)mpf_agosto <- mpf_inativos_agosto %>%summarise(.by =c(orgao, ano), valor_inativos =sum(valor_inativos)) %>%left_join(mpf_agosto_ativos) %>%mutate(valor = valor_ativos + valor_inativos) %>%select(-valor_ativos, -valor_inativos)total_membros_orgao_ano <- penduricalhos %>%filter(item !="Outras remunerações") %>%distinct(ano, orgao, id_membro) %>%count(orgao, ano, name ="qt_membros")mpf_inativos_novembro <-tribble(~orgao, ~ano, ~valor_inativos,"MPF", 2019, 2750047.76,"MPF", 2020, 1495271.24,"MPF", 2021, 2148441.67,"MPF", 2022, 1583571.69) %>%mutate(fonte ="Coleta do DadosJusBr em Novembro - 2023")mpu %>%filter(orgao =="mpf") %>%filter(item =="conversao de licenca premio em pecunia") %>%count(ano, orgao, wt = valor, name ="valor") %>%left_join(total_membros_orgao_ano) %>%mutate(orgao ="MPF", fonte ="Coleta do DadosJusBr em Novembro - 2023") %>%bind_rows(mpf_agosto) %>%left_join(mpf_inativos_novembro) %>%mutate(valor_inativos =replace_na(valor_inativos, 0),valor = valor + valor_inativos ) %>%bind_rows(mpf_lai) %>%mutate(fonte =replace_na(fonte, "Dados obtidos via LAI")) %>%filter(ano >=2019) %>%select(-valor_inativos) %>%ggplot(aes(x = ano,y = valor,fill = fonte,color =after_scale(darken(fill, .4)) )) +geom_col(position ="dodge", width = .8) +geom_text(aes(label =numero(valor /1e5)),vjust =-1, size =4, fontface ="bold",position =position_dodge(width = .8) ) +scale_fill_manual(values =c("Coleta do DadosJusBr em Agosto - 2023"=lighten(cores_dadosjusbr[["lilas"]], .4),"Coleta do DadosJusBr em Novembro - 2023"= cores_dadosjusbr[["lilas"]],"Dados obtidos via LAI"= cores_dadosjusbr[["cyan"]] )) +scale_linetype_identity() +scale_y_continuous(expand =c(0, 0.01),limits =c(0, 12e7),name ="Milhões de reais",labels =~ . /1e6 ) +theme(plot.subtitle =element_markdown(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),axis.text.x =element_text(size =18, vjust =-3),axis.line.x =element_line(),legend.position =c(.75, .9) ) +labs(title ="Conversão de licença-prêmio em pecúnia - Ministério Público Federal (2019 - 2022)",subtitle ="Em milhões de reais, por fonte de coleta dos dados. Membros ***ativos*** e ***inativos***", ,x ="Ano", color ="Fonte dos dados:" ) +guides(color =guide_legend(reverse =TRUE))total_mpf <-read_csv(here("data/09-extracao-mps-28-08-2023.csv")) %>%filter(name =="mpf") %>%filter(ano !=2018) %>%filter(ano !=2023) %>%mutate(orgao ="MPF") %>%count(orgao, ano, wt = valor, name ="valor_total_agosto") %>%left_join(transmute(mpf_agosto, ano = ano, orgao ="MPF", orgao = orgao, valor_lp_agosto = valor)) %>%left_join( pend_ano_orgao %>%filter(orgao =="mpf") %>%mutate(orgao ="MPF") %>%select(-perc) %>%pivot_wider(names_from = item, values_from = total_pago) %>%rename(valor_lp_novembro =`Licença-prêmio`, valor_total_novembro =`Outras remunerações`) ) %>%mutate(diferenca_total = valor_total_novembro - valor_total_agosto,diferenca_lp = valor_lp_novembro - valor_lp_agosto )```Em resposta a pedido de acesso à informação protocolado pela Transparência Brasil, o MPF encaminhou a série histórica de pagamentos em pecúnia da licença-prêmio de 2015 a 2022 de membros ativos e inativos. Os dados, entretanto, apresentaram divergência em relação aos disponibilizados no portal de transparência. A diferença mais gritante foi verificada em 2020: enquanto via LAI foi informado um total de **R$ `r numero(mpf_lai[6, 3][[1]]/1e6)` mIlhões**, na transparência ativa constam **R$ `r numero(mpf_agosto[2, 3][[1]]/1e6)` milhões** para ativos e **$ 274 mil** para inativos. Ou seja: os dados publicizados para consulta pública estavam subnotificados em **R$ numero((mpf_lai[6, 3][[1]] - mpf_agosto[2, 3][[1]])/1e6)` mIlhões milhões**, considerando apenas um ano.A Transparência Brasil requisitou, novamente via LAI, esclarecimentos do MPF sobre a diferença encontrada. Em resposta, a Secretaria-Geral da PGR apenas informou que “os dados foram ajustados no Portal da Transparência”. O DadosJusBR recoletou todos os contracheques dos membros ativos do MPF, de 2019 a 2023. Apenas os de 2020 apresentaram mudanças, com uma inclusão de **R$ `r numero(-total_mpf[2,7][[1]] / 1e6)` milhões** em relação ao que era disponibilizado até então, sendo **R$ `r numero(-total_mpf[2,8][[1]] / 1e6)` milhões** relativos a licença-prêmio.Ou seja: por três anos, o pagamento de pecúnia de licença-prêmio informado pelo MPF foi ao menos **`r perc((total_mpf[2, 5][[1]] / mpf_agosto[2, 3][[1]]) - 1)`** menor do que o realmente despendido em 2020, e atualizado apenas após a intervenção da Transparência Brasil para a formulação deste relatório. Isso suscita dúvidas sobre a integridade e completude das informações disponibilizadas pelos órgãos do Ministério Público no Portal de Transparência, com a possibilidade de recorrência de subnotificação dos valores.### Venda de licença-prêmio no MPT - dados obtidos via Lei de Acesso a Informação```{r}#| fig-width: 10#| fig-height: 4.75mpt_lai <-tribble(~ ano, ~ qt_membros, ~ valor,2015, 32, 4392018.57,2016, 74, 6232833.01,2017, 397, 14104946.71,2018, 421, 4768886.42,2019, 526, 32503591.58,2020, 558, 46781334.95,2021, 392, 37443835.34,2022, 525, 44099127.03,2023, 495, 16790230.55) %>%mutate(orgao ="MPT",fonte ="Dados obtidos via LAI" )mpt_lai <- mpt_lai %>%filter(ano !=2023)p1 <- mpt_lai %>%ggplot(aes(x = ano,y = valor,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_line(show.legend =FALSE, linewidth =1.5) +geom_point(size =3, show.legend =FALSE) +scale_x_continuous(breaks =2015:2022) +scale_y_continuous(labels =~ . /1e6,limits =c(0, max(mpf_lai$valor) *1.15) ) +scale_fill_manual(values =c("MPT"= cores_dadosjusbr[["cyan"]])) +geom_text(aes(label =numero(round(valor /1e6, 1))),vjust =-2 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank() ) +coord_cartesian(xlim=c(2015,2022)) +labs(#title = "Valores pagos em conversão de licença-prêmio em pecúnia",subtitle ="Valor anual pago para membros ativos e inativos - em milhões de reais - (2015 - 2023)",x ="Ano", y ="Milhões de reais" )``````{r}#| fig-width: 10#| fig-height: 4.75p2 <- mpt_lai %>%ggplot(aes(x = ano,y = qt_membros,fill = orgao,color =after_scale(darken(fill, .4)) )) +geom_col(alpha = .6, show.legend =FALSE, width = .7) +scale_x_continuous(breaks =2015:2022) +scale_y_continuous(limits =c(0, max(mpf_lai$qt_membros) *1.15) ) +scale_fill_manual(values =c("MPT"= cores_dadosjusbr[["cyan"]])) +geom_text(aes(label =numero(qt_membros)),vjust =-1 ) +theme(axis.ticks.x =element_blank(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.major.x =element_blank() ) +coord_cartesian(xlim=c(2015,2022), expand =TRUE) +labs(#title = "Beneficiados com pagamento de conversão de licença-prêmio em pecúnia",subtitle ="Quantidade de membros ativos e inativos que receberam",x ="Ano", y ="Quantidade de membros do MPT", )``````{r}#| fig-width: 10#| fig-height: 9.5p1 / p2 +plot_annotation(title =NULL,subtitle ="Pagamentos de licença Prêmio - Ministério Público do Trabalho (2015 - 2023)",caption ="Fonte: MPF via Lei de Acesso a Informação\nElaboração: Transparência Brasil" ) &theme(plot.subtitle =element_text(hjust = .5))```### Comparativo entre as bases```{r}#| fig-width: 10#| fig-height: 8mpt_agosto <-tibble(ano =2019:2022,qt_membros =c(NA, 463, 374, 361),valor =c(NA,27643318.20,33883087.05,23235214.14 ),orgao ="MPT",fonte ="Coleta do DadosJusBr em Agosto - 2023")mpu %>%filter(orgao =="mpt") %>%filter(item =="conversao de licenca premio em pecunia") %>%count(ano, orgao, wt = valor, name ="valor") %>%left_join(total_membros_orgao_ano) %>%mutate(fonte ="Coleta do DadosJusBr em Novembro - 2023") %>%bind_rows(mpt_lai) %>%# bind_rows(mpt_agosto) %>%mutate(fonte =replace_na(fonte, "Dados obtidos via LAI")) %>%filter(ano >=2019) %>%complete(ano, orgao, fill =list(valor =0, fonte ="Coleta do DadosJusBr em Novembro - 2023")) %>%ggplot(aes(x = ano,y = valor,fill = fonte,color =after_scale(darken(fill, .4)) )) +geom_col(position ="dodge", width = .8) +geom_text(aes(label =numero(valor /1e5)),vjust =-1, size =4, fontface ="bold",position =position_dodge(width = .8) ) +scale_fill_manual(values =c("Coleta do DadosJusBr em Agosto - 2023"=lighten(cores_dadosjusbr[["lilas"]], .4),"Coleta do DadosJusBr em Novembro - 2023"= cores_dadosjusbr[["lilas"]],"Dados obtidos via LAI"= cores_dadosjusbr[["cyan"]] )) +scale_linetype_identity() +scale_y_continuous(expand =c(0, 0.01),limits =c(0, 12e7),name ="Milhões de reais",labels =~ . /1e6 ) +theme(plot.subtitle =element_markdown(),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank(),axis.text.x =element_text(size =18, vjust =-3),axis.line.x =element_line(),legend.position =c(.75, .9) ) +labs(title ="Conversão de licença-prêmio em pecúnia - Ministério Público do Trabalho (2019 - 2022)",subtitle ="Em milhões de reais, por fonte de coleta dos dados. Somente membros ***ativos***.",x ="Ano", color ="Fonte dos dados:" ) +guides(color =guide_legend(reverse =TRUE))```### Dispersão por ano e órgão#### Distribuição dos valores pagos por venda de licença-prêmio por ano e órgãos do MPU (2019 - 2022)```{r}#| fig-width: 10#| fig-height: 8.5penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" ),cor =case_when( orgao =="MPM"~ cores_dadosjusbr[["laranja"]], orgao =="MP-DFT"~ cores_dadosjusbr[["cinza_azulado"]], orgao =="MPT"~ cores_dadosjusbr[["cyan"]], orgao =="MPF"~ cores_dadosjusbr[["lilas"]] ),orgao =make_html_tag(orgao, darken(cor, .4)) ) %>%count(id_membro, orgao, cor, ano, wt = valor, name ="valor") %>%mutate(orgao =fct_reorder(orgao, valor, sum)) %>%ggplot(aes(x = orgao, y = valor,fill = cor, color =after_scale(colorspace::darken(fill, .6)) )) +geom_jitter(shape =21, size =2, alpha = .6, show.legend =FALSE) +scale_y_continuous(expand =c(0, .15),labels =~ . /1e3,limits =c(-2e4, 7e5),breaks =c(0, 1.5e5, 3e5, 4.5e5, 6e5) ) +scale_fill_identity() +facet_wrap(~ano, nrow =1, strip.position ="bottom") +theme(legend.position ="top",legend.direction ="horizontal",legend.justification ="left",strip.text.x =element_text(hjust = .5),strip.placement ="outside",axis.ticks.x =element_blank(),axis.title.y =element_text(),panel.spacing =unit(5, "mm"),panel.grid.minor =element_blank(),axis.text.x =element_markdown(angle =45, hjust =1, face ="italic", size =10) ) +labs(title =NULL,subtitle ="Cada ponto no gráfico representa um membro e o valor que recebeu por venda de licença-prêmio\nno órgão e ano correspondente",x ="Órgão/Ano", y ="Milhares de reais",caption = my_caption )```### O peso da licença-prêmio nos 150 maiores supersalários (2019-2022)```{r}#| fig-width: 9.5#| fig-height: 7.5penduricalhos_rank <- penduricalhos %>%add_count(orgao, id_membro, mes, ano, wt = valor, name ="remuneracao_total") %>%group_nest(remuneracao_total, id_membro, mes, ano) %>%arrange(-remuneracao_total, id_membro, mes, ano) %>%mutate(rank =row_number()) %>%unnest(data)penduricalhos_rank %>%filter(rank <=150) %>%mutate(item =if_else( item =="Licença-prêmio",glue("<b style='color:{darken(cores_dadosjusbr[['cinza_azulado']], .4)}'>licença-prêmio</b>"),glue("<b style='color:{darken(cores_dadosjusbr[['verde']], .4)}'>outras remunerações</b>") )) %>%ggplot(aes(x = rank,y = valor,fill = item,color =after_scale(colorspace::darken(fill, .4)) )) +geom_col() +scale_fill_manual(values =c( cores_dadosjusbr[["cinza_azulado"]], alpha(cores_dadosjusbr[["verde"]], .3) ),labels =c(glue("<b style='color:{darken(cores_dadosjusbr[['cinza_azulado']], .4)}'>licença-prêmio</b>"),glue("<b style='color:{darken(cores_dadosjusbr[['verde']], .4)}'>outras remunerações</b>") )) +theme(plot.subtitle =element_markdown(),legend.position =c(.85, .85),legend.text =element_markdown(),axis.title.x =element_text(hjust = .5),panel.grid.minor.y =element_blank(),panel.grid.minor.x =element_blank() ) +scale_y_continuous(labels =~ . /1e3, expand =c(0.01, 0)) +scale_x_continuous(labels =~paste0(., "°"),expand =c(0.01, 0),breaks =c(1, 25, 50, 75, 100, 125, 150) ) +labs(x ="150 maiores contracheques mensais por membro - ordenado pelo valor líquido total",fill =NULL,y ="Milhares de reais",title =NULL,caption = my_caption,subtitle =glue("Cada barra representa uma remuneração mensal líquida recebida"," por um único membro<br>dividida em ","<b style='color:{darken(cores_dadosjusbr[['cinza_azulado']], .4)}'>licença-prêmio</b>", " e ","<b style='color:{darken(cores_dadosjusbr[['verde']], .4)}'>outras remunerações</b>" ))```por um único membro dividida em licença prêmio e outras remunerações, que incluem salário base e todos demais benefícios```{r}penduricalhos_rank %>%filter(rank <=150)```### Tabela - participação da LP no salário mensal dos membros```{r}penduricalhos_rank %>%pivot_wider(names_from = item, values_from = valor) %>%mutate(recebeu_lp =!is.na(`Licença-prêmio`)) %>%filter(recebeu_lp) %>%mutate(perc =`Licença-prêmio`/ (`Outras remunerações`+`Licença-prêmio`) ) %>%mutate(fx_perc =case_when( perc <= .25~"Até 25% da remuneração mensal", perc <= .50~"entre 25% e 50% da remuneração mensal", perc <= .75~"entre 50% e 75% da remuneração mensal", perc <=1~"Acima de 75% da remuneração mensal",is.na(perc) &is.na(`Outras remunerações`) &!is.na(`Licença-prêmio`) ~"Acima de 75% da remuneração mensal" ) ) %>%count(orgao, fx_perc, name ="qtd_membros") %>%pivot_wider(names_from = orgao, values_from = qtd_membros) %>%mutate(mpu = mpdft+mpf+mpm+mpt) %>%add_row(fx_perc ="Total de pagamentos de Licença-prêmio",mpdft =sum(.$mpdft),mpf =sum(.$mpf),mpm =sum(.$mpm),mpt =sum(.$mpt),mpu =sum(.$mpu) ) %>%mutate(fx_perc =ordered(fx_perc, c("Total de pagamentos de Licença-prêmio","Acima de 75% da remuneração mensal","entre 50% e 75% da remuneração mensal","entre 25% e 50% da remuneração mensal","Até 25% da remuneração mensal" ))) %>%arrange(desc(fx_perc)) %>%select(fx_perc, mpm, mpt, mpdft, mpf, mpu) %>%gt() %>%tab_header(title =md("**Participação da licença-prêmio na remuneração mensal (2019 - 2022)<br>Nos meses em que os membros do MPU receberam o benefício**") ) %>%cols_label(fx_perc =" ",mpdft ="**MP-DFT**",mpf ="**MPF**",mpm ="**MPM**",mpt ="**MPT**",mpu ="**MPU (Total)**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_spanner(label ="Quantidade de pagamentos realizados",columns =-c(fx_perc, mpu),id ="qtd_pagtos" ) %>%tab_style(style =cell_text(weight ="bold"),locations =cells_body(rows = fx_perc =="Total de pagamentos de Licença-prêmio") ) %>%fmt_number(sep_mark =".", dec_mark =",", decimals =0 ) %>%tab_footnote(footnote ="Cada membro pode ter recebido até 7 vezes entre 2019 e 2022",locations =cells_column_spanners(spanners ="qtd_pagtos") ) %>%tab_footnote(footnote =md(my_caption_md))```### Aumento médio na remuneração mensal dos membros do MPU```{r}#| fig-width: 8#| fig-height: 10membros_receberam_lp <- penduricalhos_rank %>%pivot_wider(names_from = item, values_from = valor) %>%mutate(recebeu_lp =!is.na(`Licença-prêmio`)) %>%filter(recebeu_lp) %>%distinct(id_membro) %>%pull()penduricalhos_medias <- penduricalhos_rank %>%pivot_wider(names_from = item, values_from = valor) %>%filter(id_membro %in% membros_receberam_lp) %>%mutate(data =my(glue("{mes}-{ano}"))) %>%complete(id_membro, data) %>%ungroup() %>%group_nest(orgao, id_membro, ano =year(data)) %>%mutate(remuneracao_total_media =map_dbl(data, ~sum(.x$remuneracao_total, na.rm =TRUE)),licenca_premio_media =map_dbl(data, ~sum(.x$`Licença-prêmio`, na.rm =TRUE)),outras_remuneracoes_media =map_dbl(data, ~sum(.x$`Outras remunerações`, na.rm =TRUE)),# teste_t = map2(remuneracao_total_media, outras_remuneracoes_media, ~t.test(.x ~ .y)) ) %>%mutate(recebeu_lp = licenca_premio_media !=0) %>%filter(licenca_premio_media !=0) %>%summarise(.by =c(orgao, ano),remuneracao_total_media =mean(remuneracao_total_media),licenca_premio_media =mean(licenca_premio_media),outras_remuneracoes_media =mean(outras_remuneracoes_media), ) %>%pivot_longer(-c(orgao, ano), names_to ="tipo_remuneracao", values_to ="valor") %>%complete(orgao, ano, tipo_remuneracao) %>%mutate(ord =if_else(tipo_remuneracao =="remuneracao_total_media", valor, NA_real_)) %>%group_by(ano, orgao) %>%fill(ord, .direction ="up") %>%ungroup()penduricalhos_medias %>%filter(tipo_remuneracao !="remuneracao_total_media") %>%mutate(ymin =case_when(is.na(valor) ~0, tipo_remuneracao =="outras_remuneracoes_media"~0, tipo_remuneracao =="licenca_premio_media"~lead(valor) ),ymax =case_when(is.na(valor) ~0, tipo_remuneracao =="outras_remuneracoes_media"~ valor, tipo_remuneracao =="licenca_premio_media"~ valor + ymin ),orgao =case_when( orgao =="mpm"~"Ministério Público Militar | MPM", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpf"~"Ministério Público Federal | MPF" ) ) %>%ggplot(aes(x = ano,y = valor,fill = tipo_remuneracao,color =after_scale(darken(fill, .4)),shape = tipo_remuneracao )) +geom_linerange(data = . %>%filter(tipo_remuneracao !="licenca_premio_media"),aes(ymin = ymin, ymax = ymax), linewidth =1.5, alpha = .1 ) +geom_linerange(data = . %>%filter(tipo_remuneracao =="licenca_premio_media"),aes(ymin = ymin, ymax = ymax), linewidth =1.5, alpha = .3 ) +geom_point(data = . %>%filter(tipo_remuneracao !="licenca_premio_media"), size =4) +geom_point(data = . %>%filter(tipo_remuneracao =="licenca_premio_media"& valor >0),aes(y = ymax), nudge_y =1e3,size =4 ) +geom_text(data = . %>%filter(tipo_remuneracao !="licenca_premio_media"),aes(label =numero(valor /1e3, accuracy =1.1)),hjust =1.3 ) +geom_text(data = . %>%filter(tipo_remuneracao =="licenca_premio_media"& valor >0),aes(label =numero(ymax /1e3, accuracy =1.1), y = ymax),hjust =-.6 ) +facet_wrap(orgao ~ ., nrow =4, strip.position ="top", scales ="free_y") +coord_flip() +theme(legend.position ="top",legend.direction ="vertical",legend.justification ="left",strip.text.x =element_text(hjust =0),strip.placement ="outside",axis.ticks.x =element_blank(),panel.spacing =unit(5, "mm"),axis.text.x =element_text(face ="plain", size =10),axis.text.y =element_text(face ="plain", size =10),axis.title.x =element_text(hjust = .5),axis.title.y =element_text(hjust = .5),# panel.grid.major.x = element_blank(),panel.grid.major.y =element_blank(),panel.grid.minor.x =element_blank(),panel.grid.minor.y =element_blank() ) +scale_y_continuous(labels =~ . /1e3, limits =c(0, 9e5), expand =c(0, 0.1)) +scale_x_continuous(trans ="reverse", expand =c(0.25, 0.15)) +scale_shape_manual(values =c("licenca_premio_media"=21,"outras_remuneracoes_media"=21 ),labels =c("Remuneração líquida total","Soma das demais remunerações líquidas\n(exceto conversão de licença prêmio em pecúnia)" )) +scale_fill_manual(values =c("licenca_premio_media"= cores_dadosjusbr[["lilas"]],"outras_remuneracoes_media"= cores_dadosjusbr[["verde"]] ),labels =c("Remuneração líquida total","Soma das demais remunerações líquidas\n(exceto conversão de licença prêmio em pecúnia)" ) ) +labs(title ="Aumento médio na remuneração anual quando há conversão\nde licença-prêmio em pecúnia",subtitle ="Valores médios recebidos por membro, ano e órgão - em milhares de reais",x ="Ano", y ="Milhares de reais", fill =NULL, shape =NULL, caption = my_caption )``````{r}penduricalhos_media_mpu_geral <- penduricalhos_medias %>%filter(ano ==2022) %>%summarise(.by =c(tipo_remuneracao),valor_medio_anual =mean(valor, na.rm =TRUE) ) %>%pivot_wider(names_from = tipo_remuneracao, values_from = valor_medio_anual) %>%mutate(perc = licenca_premio_media / remuneracao_total_media,orgao ="MPU",descricao ="Valor médio anual da remuneração de membros que receberam por conversão de Licença-prêmio em pecúnia" )penduricalhos_media_mpu_geral %>%select( orgao, licenca_premio_media, outras_remuneracoes_media, remuneracao_total_media, perc ) %>%gt() %>%fmt_currency(columns =c(licenca_premio_media, outras_remuneracoes_media, remuneracao_total_media),currency ="BRL", sep_mark =".", dec_mark =",", decimals =2 ) %>%fmt_percent(columns = perc,sep_mark =".", dec_mark =",", decimals =2 ) %>%cols_label(orgao ="**Órgãos**",licenca_premio_media ="**Licença-prêmio**",outras_remuneracoes_media ="**Outras remunerações**",remuneracao_total_media ="**Remuneração total**",perc ="**% licença-prêmio sobre<br>remuneração total**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_spanner(label =md("**Médias (2022)**"),columns =-orgao ) %>%tab_header(title =md("**Valor médio anual da remuneração de membros que receberam por conversão de Licença-prêmio em pecúnia**") )```Em 2022, os membros do MPU tiveram uma remuneração líquida anual média de `r penduricalhos_media_mpu_geral$remuneracao_total_media`. Esse valor cai para `r penduricalhos_media_mpu_geral$outras_remuneracoes_media` mil quando excluímos a licença-prêmio, uma redução de `r perc(penduricalhos_media_mpu_geral$perc)`.### Sazonalidade dos pagamentos de licença-prêmio - órgãos do MPU (2019 - 2022)```{r}#| fig-width: 9#| fig-height: 6completude <- mpu %>%distinct(ano, mes, orgao, prestou_contas =TRUE) %>%mutate(ano =as.integer(ano), mes =as.integer(mes)) %>%left_join(crossing(orgao =c("mpf", "mpm", "mpdft", "mpt"), ano =2019:2022, mes =1:12), .) %>%mutate(prestou_contas =replace_na(prestou_contas, FALSE))penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(ano =as.integer(ano), mes =as.integer(mes)) %>%left_join(completude, .) %>%mutate(possui_dado =!is.na(id_membro)) %>%group_by( orgao,# ano = fct_reorder(as.character(ano), ano),# mes = fct_reorder(as.character(mes), mes)data =my(glue("{mes}-{ano}")), possui_dado, prestou_contas ) %>%summarise(total =sum(valor, na.rm =TRUE),.groups ="drop" ) %>%mutate(orgao =fct_reorder(orgao, -total, sum),total =case_when( prestou_contas & possui_dado ~ total, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ ) ) %>%group_by(orgao, year(data)) %>%mutate(total_ano =sum(total)) %>%ungroup() %>%mutate(perc =case_when( prestou_contas & possui_dado ~ total / total_ano, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ )) %>%ggplot(aes(x = data, y = orgao,fill = perc, color = total )) +geom_tile(na.rm =TRUE, color ="gray30") +scale_x_date(NULL,breaks = scales::breaks_width("3 months"),labels = scales::label_date_short(), expand =c(0, 0) ) +facet_wrap(~year(data), nrow =1, scales ="free_x") +scale_y_discrete(expand =c(0, .01),labels =c("mpt"="MPT", "mpm"="MPM", "mpdft"="MP-DFT", "mpf"="MPF") ) +scale_fill_gradientn(colors =c("white", colorspace::darken(cores_dadosjusbr[["lilas"]], .5) ),na.value ="gray65",labels =~perc(.) ) +theme(axis.text.y =element_text(hjust =0),panel.grid.major =element_blank(),panel.grid.minor =element_blank(),legend.position ="top",legend.justification ="left",strip.text =element_text(color ="transparent") ) +guides(fill =guide_legend(nrow =1,direction ="horizontal",label.position ="bottom",title ="% em um mês dos pagamentos realizados em um ano",title.position ="top" )) +labs(title =NULL,#subtitle = "Órgãos do Ministério Público da União",y =NULL, x =NULL,subtitle ="Cada célula representa um mês do ano, as cores indicam o percentual do valor gasto\nem um ano,uma vez que em 2020 e 2022 os pagamentos foram realizados de forma parcelada.",caption ="Fonte: DadosJusBr\nElaboração: Transparência Brasil" )``````{r}#| fig-width: 8#| fig-height: 12penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(ano =as.integer(ano), mes =as.integer(mes)) %>%left_join(completude, .) %>%mutate(possui_dado =!is.na(id_membro)) %>%group_by( orgao,# ano = fct_reorder(as.character(ano), ano),# mes = fct_reorder(as.character(mes), mes)data =my(glue("{mes}-{ano}")), possui_dado, prestou_contas ) %>%summarise(total =sum(valor, na.rm =TRUE),.groups ="drop" ) %>%mutate(orgao =fct_reorder(orgao, -total, sum),total =case_when( prestou_contas & possui_dado ~ total, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ ) ) %>%group_by(orgao, year(data)) %>%mutate(total_ano =sum(total)) %>%ungroup() %>%mutate(perc =case_when( prestou_contas & possui_dado ~ total / total_ano, prestou_contas &!possui_dado ~0, orgao =="mpt"& data ==dmy("01-12-2019") ~0,.default =NA_real_ ),fx_perc =case_when( perc ==0~"0",is.na(perc) ~"0", perc <=.25~" até 25%", perc <= .5~"de 25% a 50%", perc <= .75~"de 50% a 75%", perc <=1~"de 75% até 100%" ) %>%ordered(levels =c("0", "25%" )),cor =case_when( orgao =="mpm"~ cores_dadosjusbr[["laranja"]], orgao =="mpdft"~ cores_dadosjusbr[["cinza_azulado"]], orgao =="mpt"~ cores_dadosjusbr[["cyan"]], orgao =="mpf"~ cores_dadosjusbr[["lilas"]] ),orgao =case_when( orgao =="mpm"~"Ministério Público Militar | MPM", orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpf"~"Ministério Público Federal | MPF" ) ) %>%# filter(orgao == "mpf") %>%# filter(possui_dado) %>%mutate(orgao =make_html_tag(orgao, darken(cor, .4))) %>%ggplot(aes(x = data,y ="",color = cor,fill =after_scale(darken(color, .4)) )) +geom_segment(aes(x =dmy("01-01-2019"),xend =dmy("01-01-2023"),y ="",yend ="" ), linewidth =4, alpha = .025, show.legend =FALSE, lineend ="round") +geom_point(data = . %>%filter(possui_dado),aes(size = perc), color ="white", show.legend =FALSE ) +geom_point(data = . %>%filter(possui_dado),aes(size = perc),shape =21, alpha = .5, show.legend =TRUE ) +geom_point(data = . %>%filter(possui_dado), size =1.6, color ="black") +geom_point(data = . %>%filter(!possui_dado), shape =21, show.legend =FALSE,size =1.6# aes(size = perc) ) +geom_text(data = . %>%filter(possui_dado),aes(label =format(ISOdate(2000, 1:12, 1)[month(data)], "%b")),color ="black", fontface ="bold",hjust =1.8,angle =45 ) +geom_text(data = . %>%filter(month(data) %in%c(1, 7)),aes(label =format(ISOdate(2000, 1:12, 1)[month(data)], "%b")),color ="gray60",hjust = .5, vjust =-1.6 ) +facet_wrap(~orgao, ncol =1, scales ="free") +scale_y_discrete(guide ="none") +scale_x_date(position ="top",breaks = scales::breaks_width("year"),date_labels ="%Y",limits =c(dmy("01-01-2019"), dmy("01-01-2023")) ) +scale_size_binned(n.breaks =5,breaks =c(0, .25, .5, .75, 1),range =c(3, 11),nice.breaks =TRUE,limits =c(0, 1),labels = scales::percent ) +theme(axis.title.x.top =element_blank(),axis.text.x.top =element_text(face ="plain", size =10),axis.ticks.x.top =element_blank(),panel.grid.major.y =element_blank(),panel.grid.major.x =element_line(color ="gray30"),panel.grid.minor =element_blank(),strip.text.x =element_markdown(),strip.placement ="outside",legend.position ="top",legend.justification ="left" ) +scale_color_identity() +labs(title ="Linha do tempo de pagamentos de licença-prêmio",subtitle ="Anos e meses em destaque são referentes aos pagamentos de licença-prêmio,\no tamanho da bolha representa o valor pago pelo órgão na data e quanto maior tamanho,\nmaior o valor pago pelo órgão",y =NULL,x ="Ano e mês do contracheque",caption = my_caption ) +guides(size =guide_bins(title ="% do valor anual pago",nrow =1,title.position ="top",label.position ="bottom",override.aes=list(fill = cores_dadosjusbr[["cinza_claro"]]) ))```### Quantidade de membros que converteram licença-prêmio em pecúnia```{r}#| fig-width: 10#| fig-height: 12total_membros_ano <- mpu %>%distinct(orgao, ano, id_membro) %>%count(orgao, ano, name ="total_membros_ano") %>%add_row(orgao ="mpu", total_membros_ano =sum(.$total_membros_ano)) %>%mutate(ano =as.integer(ano))penduricalhos_ano <- penduricalhos %>%filter(item =="Licença-prêmio") %>%# summarise(# .by = c(id_membro, orgao, ano),# valor = sum(valor)# )group_by(orgao, ano) %>%summarise(n_membros =n_distinct(id_membro),.groups ="drop" ) %>%complete(ano, orgao) %>%mutate(orgao =fct_reorder(orgao, -n_membros, .na_rm =TRUE)) %>%mutate(ano =as.integer(ano)) %>%left_join(total_membros_ano)#perc <- \(...) scales::percent(..., big.mark = ".", decimal.mark = ",", accuracy = 1.01)penduricalhos_ano %>%transmute( ano,orgao =case_when( orgao =="mpdft"~"Ministério Público do Distrito Federal e Territórios | MP-DFT", orgao =="mpf"~"Ministério Público Federal | MPF", orgao =="mpt"~"Ministério Público do Trabalho | MPT", orgao =="mpm"~"Ministério Público Militar | MPM", ),receberam =replace_na(n_membros, 0),nao_receberam = total_membros_ano -replace_na(n_membros, 0) ) %>%pivot_longer(-c(ano, orgao), names_to ="catg", values_to ="valor") %>%group_by(ano, orgao) %>%mutate(perc = valor /sum(valor)) %>%ungroup() %>%mutate(orgao =reorder(orgao, -valor, sum)) %>%ggplot(aes(x = ano,y = valor,fill = catg,color =after_scale(colorspace::darken(fill, .4)) )) +geom_col(position ="dodge", width = .5) +facet_wrap(. ~ orgao, nrow =4, scales ="free_x") +scale_y_continuous(limits =c(0, 1300),breaks =seq(0, 1000, 400),labels =~ scales::number(. , decimal.mark =",", big.mark =".") ) +scale_x_continuous(breaks =2018:2023) +scale_fill_manual(name ="Recebeu\nbenefício",values =c("nao_receberam"= cores_dadosjusbr[["cinza_claro"]],"receberam"= cores_dadosjusbr[["laranja"]] ),labels =c("nao_receberam"="Não", "receberam"="Sim") ) +geom_text(aes(label =if_else(valor ==0, "0", glue("{valor}\n({perc(perc)})"))),position =position_dodge(width = .5),vjust =-.5 ) +theme(panel.grid.minor =element_blank(),panel.grid.major.x =element_blank(),axis.title.y =element_text(hjust = .5, vjust = .5) ) +labs(title ="Total de Membros lotados no Ministério Público da União",subtitle ="Por ano, órgão e se recebeu ou não por Conversão de Licença Prêmio em Pecúnia",x ="Ano", y ="Quantidade de membros lotados em cada órgão",caption = my_caption )```### Proporção dos membros que já receberam a conversão de\nlicença-prêmio em pecúnia pelo menos uma vez entre 2019 e 2022```{r}#| fig-width: 9#| fig-height: 10proporcoes <- penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%count(orgao, id_membro, wt = valor, name ="valor") %>%summarise(.by = orgao, n_membros =n_distinct(glue("{id_membro}-{orgao}"))) %>%left_join(total_membros) %>%add_row(orgao ="MPU", n_membros =sum(.$n_membros), total_membros =sum(.$total_membros)) %>%transmute( orgao,# orgao = case_when(# orgao == "mpdft" ~ "Ministério Público do Distrito Federal e Territórios | MP-DFT",# orgao == "mpf" ~ "Ministério Público Federal | MPF",# orgao == "mpt" ~ "Ministério Público do Trabalho | MPT",# orgao == "mpm" ~ "Ministério Público Militar | MPM",# ),receberam = n_membros,nao_receberam = total_membros - n_membros ) %>%pivot_longer(-orgao, names_to ="catg", values_to ="valor") %>%group_by(orgao) %>%mutate(perc = valor /sum(valor)) %>%ungroup() %>%mutate(ord =if_else(catg =="receberam", perc, lag(perc)),orgao =fct_reorder(orgao, ord, sum),catg = catg,orgao_grp =if_else(orgao =="MPU", "Ministério Público da União", "Desagregado por órgão") )p1 <- proporcoes %>%filter(orgao !="MPU") %>%ggplot(aes(x = orgao,y = perc,fill = catg,color =after_scale(colorspace::darken(fill, .4)) )) + ggchicklet::geom_chicklet(position = ggplot2::position_stack(reverse =FALSE), alpha = .8, show.legend =FALSE) +coord_flip() +scale_y_continuous(labels = perc,expand =c(0.02, 0) ) +scale_x_discrete(expand =c(0, .5)) +scale_fill_manual(values =c("nao_receberam"= cores_dadosjusbr[["cinza_claro"]],"receberam"= cores_dadosjusbr[["laranja"]] ),labels =c("nao_receberam"="Não recebeu", "receberam"="Recebeu") ) +geom_text(data = . %>%filter(catg =="receberam"),aes(label =if_else(valor ==0, "0", glue("{perc(perc, accuracy = 1)}\n({numero(valor)})"))),position =position_stack(vjust = .95),fontface ="bold" ) +theme(panel.grid.minor =element_blank(),panel.grid.major.x =element_blank(),panel.grid.major.y =element_blank(),axis.title.x =element_text(hjust = .5, vjust = .5) ) +labs(title =NULL,subtitle ="Órgãos do MPU",x =NULL, y =NULL, fill =NULL,caption =NULL )p2 <- proporcoes %>%filter(orgao =="MPU") %>%ggplot(aes(x = orgao,y = perc,fill = catg,color =after_scale(colorspace::darken(fill, .4)) )) + ggchicklet::geom_chicklet(position = ggplot2::position_stack(reverse =FALSE), alpha = .5, show.legend =FALSE) +coord_flip() +scale_y_continuous(labels = perc,expand =c(0.02, 0) ) +scale_x_discrete(expand =c(0, .49)) +scale_fill_manual(values =c("nao_receberam"= cores_dadosjusbr[["cinza_claro"]],"receberam"= cores_dadosjusbr[["cyan"]] ),labels =c("nao_receberam"="Não recebeu", "receberam"="Recebeu") ) +geom_text(data = . %>%filter(catg =="receberam"),aes(label =if_else(valor ==0, "0", glue("{perc(perc, accuracy = 1)}\n({numero(valor)})"))),position =position_stack(vjust = .95),fontface ="bold" ) +theme(panel.grid.minor =element_blank(),panel.grid.major.x =element_blank(),panel.grid.major.y =element_blank(),axis.title.x =element_text(hjust = .5, vjust = .5) ) +labs(title =NULL,subtitle ="Ministério Público da União",x =NULL, y =NULL, fill =NULL,caption =NULL )p_patch <- p2 / p1 &theme(plot.margin =margin(5.5, 5.5, 5.5, 5.5))p_patch +plot_annotation(caption = my_caption) +labs(tag ="% de membros com pelo menos um registro em contracheque\nda rubrica de Conversão de Licença-Prêmio em pecúnia\n(2019 - 2022)") +theme(plot.tag =element_text(size =rel(1), hjust = .5, vjust =-8, face ="bold"),plot.tag.position ="bottom",plot.caption.position ="plot" ) +plot_layout(nrow =2,heights =unit(c(2, 8), c('cm', 'cm')), tag_level ="new")```### Quantos membros poderiam ser contratados pelo MPU com os pagtos de LP?#### Somente 2021Quanto custa um membro?```{r}# média da remuneração bruta no ano de 2021##remuneracao_bruta_exceto_lp <- mpu %>%mutate(tipo =if_else(tipo =="retencao por teto constitucional", "Teto", tipo)) %>%filter(tipo !="D") %>%count( orgao, id_membro, mes, ano,# item = "Remuneração bruta (exceto Licença-prêmio)",name ="valor",wt = valor ) %>%filter(ano ==2021)total_membros_2021 <- mpu %>%filter(ano ==2021) %>%distinct(orgao, id_membro) %>%count(orgao, name ="total_membros") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%add_row(orgao ="MPU", total_membros =sum(.$total_membros))custo_por_membro_exceto_lp <- remuneracao_bruta_exceto_lp %>%count(orgao, wt = valor, name ="remuneracao_bruta_exceto_lp") %>%mutate(orgao =case_when( orgao =="mpt"~"MPT", orgao =="mpf"~"MPF", orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT" )) %>%add_row(orgao ="MPU", remuneracao_bruta_exceto_lp =sum(.$remuneracao_bruta_exceto_lp)) %>%left_join(total_membros_2021) %>%mutate(custo_anual_por_membro_exceto_lp = (remuneracao_bruta_exceto_lp / total_membros))custo_da_licenca_premio <- penduricalhos %>%filter(item =="Licença-prêmio") %>%filter(ano ==2021) %>%count(orgao, wt = valor, name ="licenca_premio") %>%mutate(orgao =case_when( orgao =="mpt"~"MPT", orgao =="mpf"~"MPF", orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT" )) %>%add_row(orgao ="MPU", licenca_premio =sum(.$licenca_premio))contratacoes_possiveis_com_dinheiro_de_lp <- custo_por_membro_exceto_lp %>%left_join(custo_da_licenca_premio) %>%mutate(qtd_contratacoes = (licenca_premio) / custo_anual_por_membro_exceto_lp,perc_membros_efetivos = qtd_contratacoes / total_membros )```A licença-prêmio bateu recorde em 2021. Naquele ano, as remunerações brutas de todos os membros MPU, desconsiderando apenas a própria licença-prêmio, somaram `r reais(contratacoes_possiveis_com_dinheiro_de_lp$remuneracao_bruta_exceto_lp[5])`. Considerando o número de integrantes ativos naquele ano, chega-se a um custo médio anual de `r reais(contratacoes_possiveis_com_dinheiro_de_lp$custo_anual_por_membro_exceto_lp[5], acuracy = .01)` por membro.Por outro lado, a somatória dos pagamentos de licença-prêmio em pecúnia custou `r reais(contratacoes_possiveis_com_dinheiro_de_lp$licenca_premio[5], acuracy = .01)` em 2021. O valor, portanto, seria suficiente para arcar com as remunerações de `r perc(contratacoes_possiveis_com_dinheiro_de_lp$perc_membros_efetivos[5])` novos membros durante todo aquele ano, considerando o custo médio anual. Isso representaria um aumento de `r contratacoes_possiveis_com_dinheiro_de_lp$total_membros[5]` no quadro de membros ativos do MPU.```{r}tbl_title <-glue("**Valores gastos com licença-prêmio equivalem à<br>","remuneração bruta de ","{numero(contratacoes_possiveis_com_dinheiro_de_lp$qtd_contratacoes[5])} ","membros ativos em 2021**")contratacoes_possiveis_com_dinheiro_de_lp %>%select( orgao, remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp, licenca_premio, total_membros, qtd_contratacoes, perc_membros_efetivos ) %>%arrange(total_membros) %>%gt() %>%fmt_currency(columns =c(remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp, licenca_premio),currency ="BRL", sep_mark =".", dec_mark =",", decimals =2 ) %>%fmt_number(columns =c(total_membros, qtd_contratacoes),sep_mark =".", dec_mark =",", decimals =0 ) %>%fmt_percent(columns = perc_membros_efetivos,sep_mark =".", dec_mark =",", decimals =2 ) %>%cols_label(orgao ="**Órgãos**",remuneracao_bruta_exceto_lp ="Total",custo_anual_por_membro_exceto_lp ="Média",licenca_premio ="**Pagtos. de<br> licença-prêmio<br>em 2021**",total_membros ="**Qtd.<br>membros**",qtd_contratacoes ="**Contratações<br>possíveis**",perc_membros_efetivos ="**%<br>efetivo**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_footnote(footnote ="Exceto licença-prêmio e inclusive desconto por teto remuneratório",locations =cells_column_labels(columns =c( remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp )) ) %>%tab_spanner(label =md("**Remuneração bruta em 2021**"),columns =c( remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp ) ) %>%tab_header(title =md(tbl_title) ) %>%tab_footnote(footnote =md(my_caption_md))``````{r}mpu %>%filter(ano ==2021) %>%# filter(orgao == "mpf") %>%summarise(valor =sum(valor, na.rm =TRUE), .by = item) %>%arrange(-valor) %>%gt() %>%fmt_currency(sep_mark =".",dec_mark =",",currency ="BRL",decimals =0,incl_space =TRUE ) %>%tab_header(title =md("**Remunerações totais por item - 2019-2022**"),subtitle ="Órgãos do Ministério Público da União" ) %>%cols_label(.fn = md,item ="**Item**",valor ="**Valor**" ) %>%tab_footnote(footnote =md(my_caption_md))```#### Período 2020-2022Quanto custa um membro?```{r}# média da remuneração bruta no período 2020-2022##remuneracao_bruta_exceto_lp <- mpu %>%mutate(tipo =if_else(tipo =="retencao por teto constitucional", "Teto", tipo)) %>%filter(tipo !="D") %>%count( orgao, id_membro, mes, ano,# item = "Remuneração bruta (exceto Licença-prêmio)",name ="valor",wt = valor ) %>%filter(ano %in%c(2020, 2021, 2022))total_membros_2020_22 <- mpu %>%filter(ano %in%c(2020, 2021, 2022)) %>%distinct(orgao, id_membro) %>%count(orgao, name ="total_membros") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%add_row(orgao ="MPU", total_membros =sum(.$total_membros))custo_por_membro_exceto_lp <- remuneracao_bruta_exceto_lp %>%count(orgao, wt = valor, name ="remuneracao_bruta_exceto_lp") %>%mutate(orgao =case_when( orgao =="mpt"~"MPT", orgao =="mpf"~"MPF", orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT" )) %>%add_row(orgao ="MPU", remuneracao_bruta_exceto_lp =sum(.$remuneracao_bruta_exceto_lp)) %>%left_join(total_membros_2020_22) %>%mutate(custo_anual_por_membro_exceto_lp = (remuneracao_bruta_exceto_lp / total_membros) /3)custo_da_licenca_premio <- penduricalhos %>%filter(item =="Licença-prêmio") %>%filter(ano %in%c(2020, 2021, 2022)) %>%count(orgao, wt = valor, name ="licenca_premio") %>%mutate(orgao =case_when( orgao =="mpt"~"MPT", orgao =="mpf"~"MPF", orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT" )) %>%add_row(orgao ="MPU", licenca_premio =sum(.$licenca_premio))contratacoes_possiveis_com_dinheiro_de_lp <- custo_por_membro_exceto_lp %>%left_join(custo_da_licenca_premio) %>%mutate(qtd_contratacoes = (licenca_premio /3) / custo_anual_por_membro_exceto_lp,perc_membros_efetivos = qtd_contratacoes / total_membros )```Entre 2020 e 2022, as remunerações brutas de todos os membros MPU, desconsiderando apenas a própria licença-prêmio, somaram `r reais(contratacoes_possiveis_com_dinheiro_de_lp$remuneracao_bruta_exceto_lp[5])`. Considerando o número de integrantes ativos naquele ano, chega-se a um custo médio anual de `r reais(contratacoes_possiveis_com_dinheiro_de_lp$custo_anual_por_membro_exceto_lp[5], acuracy = .01)` por membro.Por outro lado, a somatória dos pagamentos de licença-prêmio em pecúnia custou `r reais(contratacoes_possiveis_com_dinheiro_de_lp$licenca_premio[5], acuracy = .01)` em 2021. O valor, portanto, seria suficiente para arcar com as remunerações de `r perc(contratacoes_possiveis_com_dinheiro_de_lp$perc_membros_efetivos[5])` novos membros durante todo aquele ano, considerando o custo médio anual. Isso representaria um aumento de `r contratacoes_possiveis_com_dinheiro_de_lp$total_membros[5]` no quadro de membros ativos do MPU.```{r}tbl_title <-glue("**Valores gastos com licença-prêmio equivalem à<br>","remuneração bruta de ","{numero(contratacoes_possiveis_com_dinheiro_de_lp$qtd_contratacoes[5])} ","membrosativos no período de 2020 até 2022**")contratacoes_possiveis_com_dinheiro_de_lp %>%select( orgao, remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp, licenca_premio, total_membros, qtd_contratacoes, perc_membros_efetivos ) %>%arrange(total_membros) %>%gt() %>%fmt_currency(columns =c(remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp, licenca_premio),currency ="BRL", sep_mark =".", dec_mark =",", decimals =2 ) %>%fmt_number(columns =c(total_membros, qtd_contratacoes),sep_mark =".", dec_mark =",", decimals =0 ) %>%fmt_percent(columns = perc_membros_efetivos,sep_mark =".", dec_mark =",", decimals =2 ) %>%cols_label(orgao ="**Órgãos**",remuneracao_bruta_exceto_lp ="Total",custo_anual_por_membro_exceto_lp ="Média",licenca_premio ="**Pagtos. de<br> licença-prêmio<br>(2020-2022)**",total_membros ="**Qtd.<br>membros**",qtd_contratacoes ="**Contratações<br>possíveis**",perc_membros_efetivos ="**%<br>efetivo**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_footnote(footnote ="Exceto licença-prêmio e inclusive desconto por teto remuneratório",locations =cells_column_labels(columns =c( remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp )) ) %>%tab_spanner(label =md("**Remuneração bruta em (2020-2022)**"),columns =c( remuneracao_bruta_exceto_lp, custo_anual_por_membro_exceto_lp ) ) %>%tab_header(title =md(tbl_title) ) %>%tab_footnote(footnote =md(my_caption_md))```### Média salarial no sistema de justiça```{r}library(httr2)#' @title Base das consultas na API do DadosJusBr#' @param endp endpoint da API DadosJusBr#'consulta_basica <-function(endp, ...) { endp %>%request() %>%req_method("GET") %>%req_headers(accept ="application/json") %>%req_perform() %>%resp_body_json(...)}general_remuneration_from_year <-consulta_basica(endp ="https://api.dadosjusbr.org/uiapi/v2/geral/remuneracao/2022",simplifyVector =TRUE) %>%as_tibble()general_remuneration_from_year %>%select(num_membros, remuneracoes) %>%summarise(num_membros_media =mean(num_membros),num_membros =sum(num_membros),remuneracoes =sum(remuneracoes) ) %>%mutate(remuneracao_media = remuneracoes / num_membros) %>%mutate(renda_brasileiro_pnad_continua =2533,razao = remuneracao_media / renda_brasileiro_pnad_continua ) %>%gt() %>%fmt_currency(columns =c(remuneracoes, remuneracao_media, renda_brasileiro_pnad_continua),currency ="BRL", sep_mark =".", dec_mark =",", decimals =2 ) %>%tab_footnote(footnote =md(my_caption_md))``````{r}penduricalhos %>%filter(ano ==2022) %>%summarise(.by =c(orgao, id_membro),valor =sum(valor) ) %>%summarise(valor =sum(valor),n_membros =n() ) %>%mutate(media_valor = (valor / n_membros)/12) %>%mutate(renda_brasileiro_pnad_continua =2533,razao = media_valor / renda_brasileiro_pnad_continua ) %>%gt() %>%fmt_currency(c(valor, media_valor),currency ="BRL", sep_mark =".", dec_mark =",", decimals =2 )```### Panorama em 2023```{r}total_membros <- mpu_23 %>%distinct(orgao, id_membro) %>%count(orgao, name ="total_membros") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%add_row(orgao ="MPU", total_membros =sum(.$total_membros))licenca_premio <- mpu_23 %>%filter(item =="conversao de licenca premio em pecunia") %>%count( orgao, id_membro, mes, ano,item ="Licença-prêmio",name ="valor",wt = valor )outras_remuneracoes <- mpu_23 %>%filter(item !="conversao de licenca premio em pecunia") %>%count( orgao, id_membro, mes, ano,item ="Outras remunerações",name ="valor",wt = valor )penduricalhos <-bind_rows(licenca_premio, outras_remuneracoes) %>%arrange(orgao, id_membro, ano, mes, valor)pend_resumo <- penduricalhos %>%summarise(total_pago =sum(valor),media =mean(valor),mediana =median(valor),n_membros =n_distinct(glue("{id_membro}-{orgao}")),n_pagamentos =n(),.by = item )pend_mpu <- penduricalhos %>%filter(item =="Licença-prêmio") %>%count(orgao, id_membro, wt = valor, name ="valor") %>%summarise(orgao ="MPU",total =sum(valor),valor_media =mean(valor),valor_mediana =median(valor),n_membros =n())penduricalhos %>%filter(item =="Licença-prêmio") %>%mutate(orgao =case_when( orgao =="mpm"~"MPM", orgao =="mpdft"~"MP-DFT", orgao =="mpt"~"MPT", orgao =="mpf"~"MPF" )) %>%count(orgao, id_membro, wt = valor, name ="valor") %>%summarise(.by = orgao,total =sum(valor),valor_media =mean(valor),valor_mediana =median(valor),n_membros =n_distinct(id_membro) ) %>%bind_rows(pend_mpu) %>%left_join(total_membros) %>%mutate(perc = n_membros / total_membros) %>%select(-total_membros) %>%gt(rowname_col ="ano") %>%fmt_percent(columns = perc,sep_mark =".", dec_mark =",", decimals =1, ) %>%fmt_currency(columns = total:valor_mediana,sep_mark =".", dec_mark =",",currency ="BRL", decimals =0,incl_space =TRUE ) %>%fmt_number(columns = n_membros, decimals =0, sep_mark =".", dec_mark =",") %>%cols_label(orgao ="**Órgão**",total ="**Total pago**",n_membros ="**Quantidade<br>membros<br>beneficiados**",valor_media ="**Média<br>por membro**",valor_mediana ="**Mediana<br>por membro**",perc ="**% total<br>membros**",.fn = md ) %>%tab_options(table.width =pct(100)) %>%tab_header(title =md("**Venda de licença-prêmio - *por membro* (2018 - 2023)**"),subtitle ="Órgãos do Ministério Público da União" ) %>%tab_style(style =cell_text(weight ="bold"),locations =cells_body(rows = orgao =="MPU") )```### Remunerações dos Procuradores Geral da República```{r}pgrs <- mpu %>%filter(orgao =="mpf") %>%filter(str_detect(nome, "janot|gonet|dodge| aras")) %>%filter(nome %in%c("rodrigo janot monteiro de barros","paulo gustavo gonet branco","raquel elias ferreira dodge","antonio augusto brandao de aras" )) %>%distinct(nome, id_membro)penduricalhos %>%inner_join(pgrs) %>%mutate(nome = stringr::str_to_title(nome)) %>%summarise(.by =c(nome, id_membro, item, ano),valor =sum(valor) ) %>%complete(item, nesting(ano, id_membro, nome), fill =list(valor =0)) %>%ggplot(aes(x = ano,y = valor,fill = item )) +geom_col(position ="dodge") +geom_text(vjust=-1,position =position_dodge(width = .9),aes(label =numero(valor/1e3, accuracy =0.01)) ) +facet_wrap(~ nome) +scale_fill_manual(values =c(cores_dadosjusbr[["cinza_azulado"]], cores_dadosjusbr[["verde"]])) +scale_y_continuous(labels = numero, limits =c(0, 750000)) +labs(title ="Venda de Licença-Prêmio e outras remunerações dos últimos quatro PGR's",subtitle ="Valores em milhares de reais, por ano",fill ="Rubrica",y ="valor (milhares de reais)", x ="Ano" )``````{r}#| eval: falsependuricalhos %>%inner_join(pgrs) %>%mutate(nome = stringr::str_to_title(nome)) %>%summarise(.by =c(nome, id_membro, item, ano),valor =sum(valor) ) %>%complete(item, nesting(ano, id_membro, nome), fill =list(valor =0)) %>%# filter(item == "Licença-prêmio") %>%pivot_wider(names_from = ano, values_from = valor) %>% googlesheets4::write_sheet("https://docs.google.com/spreadsheets/d/1kCtZSp8T8jfM-gEUIpWBPJPys76bELJ3553nmt3bFYw/edit#gid=0", sheet ="PGRs")``````{r}#| eval: falsempu %>%inner_join(pgrs) %>%select( orgao, ano, mes, nome, matricula, funcao, local_trabalho, tipo, categoria, item = item_real, valor ) %>% googlesheets4::write_sheet("https://docs.google.com/spreadsheets/d/1kCtZSp8T8jfM-gEUIpWBPJPys76bELJ3553nmt3bFYw/edit#gid=0", sheet ="Remunerações dos PGR's detalhadas")```