#install.packages("tidyverse")
#install.packages("data.table")
#install.packages("utils")
#install.packages("archive")
#install.packages("readxl")
#install.packages("scales")
#install.packages("janitor")
#install.packages("knitr")
PIB do turismo no Brasil: estimativas pelo método do quociente de participação do turismo
Material complementar do artigo publicado na Revista Turismo em Análise (v. 34, 2023).
O objetivo deste estudo é estimar as dimensões econômicas do turismo no Brasil. O trabalho se apoiou sobretudo em dados da Pesquisa de Orçamentos Familiares 2017-2018 do IBGE e adotou uma estratégia de estimação baseada no cômputo de Quocientes de Participação do Turismo (QPT), que correspondem à participação das despesas relacionadas às viagens turísticas no total de despesas das famílias com cada categoria de produtos. Esses quocientes foram aplicados sobre os dados do Sistema de Contas Nacionais do IBGE, assegurando a compatibilidade das estimativas com a contabilidade nacional oficial.
Este projeto trata dados de diferentes fontes, incluindo duas bases de dados relativamente grandes (POF e RAIS). Desta forma, o processamento de algumas partes do código pode ser um pouco demorado, a depender da capacidade do computador utilizado. O projeto contém 2 pastas:
dados-originais: dados metodológicos e estatísticos desenvolvidos por este projeto fora do código de programação. Os métodos de criação desses estão detalhados no artigo publicado na RTA.
dados-brutos: bases de dados baixadas de diferentes endereços da internet e arquivos descomprimidos. Essa pasta não é disponibilizada no projeto, sendo criada e carregada por meio do código de programação, permitindo plena reprodutivibilidade do projeto.
Configurações iniciais
Neste projeto, são utilizadas as seguintes bibliotecas:
tidyverse: várias funções para tratamento de dados
data.table: armazenamento e tratamento de dados tabulares
utils: importação de dados online
archive: descompressão de arquivos
readxl: importação de dados de planilhas Excel
scales: formatação dos números das tabelas finais
janitor: adicionar totais às tabelas finais
knitr: formatação de tabelas
Se necessário instalar alguma das bases, rodar a linha correspondente do chunk a seguir.
Em seguida, carregar as bibliotecas
Criar a pasta dados-brutos para receber os arquivos a serem baixados e descomprimidos. Como esses arquivos são grandes e públicos, eles não são disponibilizados no repositório. Ao invés disso, a programação cria a pasta e baixa os arquivos dos repositórios institucionais na internet. Vamos também inibir a apresentação de números em formato científico.
dir.create("dados-brutos")
Warning in dir.create("dados-brutos"): 'dados-brutos' já existe
options(scipen=999)
Download e descompressão inicial de dados
Dados de fontes externas
Esta seção faz download e descomprime os dados de fontes externas à pesquisa que serão utilizados na elaboração de estimativas. Começamos com a importação e descompressão das Tabela de Recursos e Usos do IBGE referentes a 2018. Essa fonte será a base de referência de estatísticas acerca da economia brasileira.
<- "https://ftp.ibge.gov.br/Contas_Nacionais/Sistema_de_Contas_Nacionais/2021/tabelas_xls/tabelas_de_recursos_e_usos/nivel_68_2010_2021_xls.zip"
url
download.file(url, "dados-brutos/tru.zip")
unzip("dados-brutos/tru.zip", "68_tab1_2018.xls", exdir = "dados-brutos")
unzip("dados-brutos/tru.zip", "68_tab2_2018.xls", exdir = "dados-brutos")
unzip("dados-brutos/tru.zip", "68_tab3_2018.xls", exdir = "dados-brutos")
Em seguida, importamos e descomprimimos os microdados da Pesquisa de Orçamentos Familiares (POF) 2017-2018 do IBGE. Essa será a principal fonte de dados para diferenciação do consumo turístico e não turístico, servindo de base para o cálculo dos Quocientes de Participação do Turismo (QPT).
<- "https://ftp.ibge.gov.br/Orcamentos_Familiares/Pesquisa_de_Orcamentos_Familiares_2017_2018/Microdados/Dados_20230713.zip"
url
download.file(url, "dados-brutos/pof.zip")
unzip("dados-brutos/pof.zip", "DESPESA_INDIVIDUAL.txt", exdir = "dados-brutos")
Importamos também os microdados de estabelecimentos da RAIS 2018.
<- "ftp://ftp.mtps.gov.br/pdet/microdados/RAIS/2018/RAIS_ESTAB_PUB.7z"
url
download.file(url, "dados-brutos/rais.7z", mode="wb")
archive_extract("dados-brutos/rais.7z", dir="dados-brutos/")
Outra fonte de dados é a Pesquisa Anual de Serviços (PAS) do IBGE referente a 2018.
<- "https://ftp.ibge.gov.br/Comercio_e_Servicos/Pesquisa_Anual_de_Servicos/pas2018/xls/tabelas_2018_xls_20230529.zip"
url
download.file(url, "dados-brutos/pas.zip")
unzip("dados-brutos/pas.zip", "Tabela 26.xlsx", exdir = "dados-brutos")
Importação de dados
Uma vez disponíveis, os arquivos de dados são importados para o ambiente de trabalho do R. Os dados relevantes são salvos como objetos para processamento.
Pesquisa de Orçamentos Familiares
A importação dos microdados da POF 2017-2018 demanda um processamento maior do que outras partes deste código e pode demorar vários minutos, a depender do computador utilizado.
<- read.fwf("dados-brutos/DESPESA_INDIVIDUAL.txt",
C.POF widths = c(2,4,1,9,2,1,2,2,2,7,2,10,2,2,1,1,1,12,10,1,2,14,14,10),
na.strings=c(" "),
col.names = c("UF", "ESTRATO_POF", "TIPO_SITUACAO_REG", "COD_UPA", "NUM_DOM", "NUM_UC", "COD_INFORMANTE", "QUADRO",
"SEQ", "V9001", "V9002", "V8000", "V9010", "V9011",
"V9012", "V4104", "V4105", "DEFLATOR",
"V8000_DEFLA", "COD_IMPUT_VALOR",
"FATOR_ANUALIZACAO", "PESO", "PESO_FINAL",
"RENDA_TOTAL"),
dec=".")
kable(head(C.POF))
UF | ESTRATO_POF | TIPO_SITUACAO_REG | COD_UPA | NUM_DOM | NUM_UC | COD_INFORMANTE | QUADRO | SEQ | V9001 | V9002 | V8000 | V9010 | V9011 | V9012 | V4104 | V4105 | DEFLATOR | V8000_DEFLA | COD_IMPUT_VALOR | FATOR_ANUALIZACAO | PESO | PESO_FINAL | RENDA_TOTAL |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
11 | 1103 | 1 | 110005400 | 1 | 1 | 2 | 22 | 0 | 2200101 | 1 | 7 | NA | NA | NA | NA | NA | 1.000000 | 7.00 | 0 | 52 | 272.8067 | 372.9845 | 11254.75 |
11 | 1103 | 1 | 110005400 | 1 | 1 | 1 | 23 | 13 | 2301401 | 1 | 100 | NA | NA | NA | NA | NA | 1.050646 | 105.06 | 0 | 52 | 272.8067 | 372.9845 | 11254.75 |
11 | 1103 | 1 | 110005400 | 1 | 1 | 1 | 24 | 0 | 2400101 | 1 | 25 | NA | NA | NA | NA | NA | 1.013176 | 25.33 | 0 | 52 | 272.8067 | 372.9845 | 11254.75 |
11 | 1103 | 1 | 110005400 | 1 | 1 | 2 | 24 | 0 | 2400101 | 1 | 25 | NA | NA | NA | NA | NA | 1.013176 | 25.33 | 0 | 52 | 272.8067 | 372.9845 | 11254.75 |
11 | 1103 | 1 | 110005400 | 1 | 1 | 1 | 24 | 18 | 2401901 | 1 | 6 | NA | NA | NA | NA | NA | 1.021505 | 6.13 | 0 | 52 | 272.8067 | 372.9845 | 11254.75 |
11 | 1103 | 1 | 110005400 | 1 | 1 | 2 | 24 | 27 | 2402801 | 1 | 20 | NA | NA | NA | NA | NA | 1.009240 | 20.18 | 0 | 52 | 272.8067 | 372.9845 | 11254.75 |
Tabela de Recursos e Usos
Começamos com importação dos dados das TRU. Neste primeiro chunk, é importada a tabela de produção da TRU1. São salvos os códigos dos produtos (P.i), os nomes dos produtos (P.nomes), os códigos (A.j) e nomes das atividades econômicas (A.nomes), bem como o valor da produção dos produtos (VP.i), das atividades (VP.j) e total (VP).
<- read_xls("dados-brutos/68_tab1_2018.xls", sheet = "producao",
VP.TRU1 skip = 3, .name_repair = "unique_quiet")
<- VP.TRU1[2:129, 1][[1]]
P.i <- VP.TRU1[2:129, 2][[1]]
P.nomes <- str_sub(names(VP.TRU1)[3:70], 1, 4)
A.j <- str_sub(names(VP.TRU1)[3:70], 6)
A.nomes <- VP.TRU1[2:129, 71][[1]]
VP.i <- as.vector(t(VP.TRU1[131, 3:70]))
VP.j <- VP.TRU1[131, 71][[1]]
VP
rm(VP.TRU1)
print(paste("VP =", VP))
[1] "VP = 12010010"
Os nomes de alguns produtos e atividades econômicas relevantes para o turismo são redefinidos por simplicidade e para indicar com mais clareza os elementos específicos de cada categoria. Por exemplo, a categoria de produtos “Atividades de televisão, rádio, cinema e gravação/edição de som e imagem” envolve uma série de produtos, dos quais apenas o cinema consta na lista de serviços consumidos regularmente por turistas na POF 2017-2018. Sendo assim, a categoria é renomeada como “Cinema”.
<- recode(A.nomes,
A.nomes "Refino de petróleo e coquerias"="Combustível veicular",
"Armazenamento, atividades auxiliares dos transportes e correio"="Estacionamentos e pedágios",
"Alojamento"="Hotéis e similares",
"Alimentação"="Serviços de alimentação",
"Atividades de televisão, rádio, cinema e gravação/edição de som e imagem"="Cinema",
"Atividades imobiliárias"="Aluguel de imóveis",
"Aluguéis não-imobiliários e gestão de ativos de propriedade intelectual"="Aluguel de veículos",
"Outras atividades administrativas e serviços complementares"="Agenciamento de viagens",
"Atividades artísticas, criativas e de espetáculos"="Artes, cultura, esporte e recreação")
<- recode(P.nomes,
P.nomes "Gasoálcool"="Combustível veicular",
"Transporte terrestre de passageiros"="Transporte terrestre",
"Armazenamento e serviços auxiliares aos transportes"="Estacionamentos e pedágios",
"Serviços de alojamento em hotéis e similares"="Hotéis e similares",
"Serviços de alimentação"="Serviços de alimentação",
"Serviços cinematográficos, música, rádio e televisão"="Cinema",
"Aluguel efetivo e serviços imobiliários"="Aluguel de imóveis",
"Aluguéis não-imob. e gestão de ativos de propriedade intelectual"="Aluguel de veículos",
"Outros serviços administrativos"="Agenciamento de viagens",
"Serviços de artes, cultura, esporte e recreação"="Artes, cultura, esporte e recreação")
Da TRU1, também é importada a tabela de importações, da qual é extraída a variável de mesmo nome. As importações são detalhadas por produto (M.i).
<- read_xls("dados-brutos/68_tab1_2018.xls", sheet = "importacao",
M.TRU1 skip = 3, .name_repair = "unique_quiet")
<- as.vector(t(M.TRU1[2:129, 3]))
M.i <- M.TRU1[131, 3][[1]]
M
rm(M.TRU1)
print(paste("M =", M))
[1] "M = 997474"
Em seguida, da TRU1 é importada a tabela de oferta, sendo salvo o valor total dos impostos sobre produtos (IP), bem como os vetores, por produto, da demanda total (DT.i), margem do comércio (MGC.i), margem do transporte (MGT.i). Dessa tabela são obtidos também os valores específicos dos principais impostos sobre os produtos (IP.ik).
<- read_xls("dados-brutos/68_tab1_2018.xls", sheet = "oferta",
O.TRU1 skip = 3, .name_repair = "unique_quiet")
<- O.TRU1[2:129, 3][[1]]
DT.i <- O.TRU1[2:129, 4][[1]]
MGC.i <- O.TRU1[2:129, 5][[1]]
MGT.i <- as.matrix(O.TRU1[2:129, 6:9])
IP.ik <- O.TRU1[131, 10][[1]]
IP
rm(O.TRU1)
print(paste("IP =", IP))
[1] "IP = 992991"
A tabela de consumo intermediário é importada da TRU2. Dessa tabela é salva a matriz do consumo intermediário por produto e atividade econômica (Ci.ij), bem como os totais por produto (CI.i) e por atividade (CI.j), além do consumo intermediário total (CI).
<- read_xls("dados-brutos/68_tab2_2018.xls", sheet = "CI",
CI.TRU2 skip = 3, .name_repair = "unique_quiet")
<- data.matrix(CI.TRU2[2:129, 3:70])
CI.ij <- CI.TRU2[2:129, 71][[1]]
CI.i <- as.vector(t(CI.TRU2[131, 3:70]))
CI.j <- CI.TRU2[131, 71][[1]]
CI
rm(CI.TRU2)
print(paste("CI =", CI))
[1] "CI = 5998860"
Da TRU2 também é utilizada a tabela de demanda, da qual são obtidos os dados do consumo das famílias por atividade (C.i) e total (C), das exportações por atividade (X.i) e total (X), bem como a demanda final total (DF).
<- read_xls("dados-brutos/68_tab2_2018.xls", sheet = "demanda",
DF.TRU2 skip = 3, .name_repair = "unique_quiet")
<- (DF.TRU2[2:129, 6])[[1]]
C.i <- DF.TRU2[131, 6][[1]]
C <- (DF.TRU2[2:129, 3])[[1]]
X.i <- DF.TRU2[131, 3][[1]]
X <- DF.TRU2[131, 9][[1]]
DF
rm(DF.TRU2)
print(paste("C =", C))
[1] "C = 4423548"
print(paste("X =", X))
[1] "X = 1025056"
print(paste("DF =", DF))
[1] "DF = 8001615"
Da TRU3, é importada a tabela do valor agregado. Desta é obtidas a matriz de componentes do valor agregado por atividade econômica (VAB.jm), bem como o valor agregado total por atividade (VAB.j) e o valor agregado total da economia (VAB). A última linha da matriz de componentes traz o número de empregos. Essa informação é transformada de unidades para milhares neste chunk para melhor apresentação dos resultados.
<- read_xls("dados-brutos/68_tab2_2018.xls", sheet = "VA",
VAB.TRU3 skip = 3, .name_repair = "unique_quiet")
<- VAB.TRU3[2:15, 1][[1]]
VAB.nomes <- data.matrix(VAB.TRU3[2:15, 2:69])
VAB.jm 14,] <- VAB.jm[14,]/1000 # empregos em milhares
VAB.jm[<- as.vector(t(VAB.TRU3[2, 2:69]))
VAB.j <- VAB.TRU3[2, 70][[1]]
VAB
rm(VAB.TRU3)
print(paste("VAB =", VAB))
[1] "VAB = 6011150"
Pesquisa Anual de Serviços
A Tabela 26 da Pesquisa Anual de Serviços (PAS) do IBGE informa a receita operacional líquida do total das empresas de agenciamento de viagens do país. Essa informação é salva como um objeto para ser utilizada na estimativa da demanda por serviços dessa categoria.
<- read_xlsx("dados-brutos/Tabela 26.xlsx", sheet = "Tab26a",
pas26 skip = 5, .name_repair = "unique_quiet")
<- data.table(pas26)
pas26 <- pas26[, c(1,8)]
pas26 names(pas26) <- c("variavel", "valor")
<- pas26[variavel=="1 - Receita operacional líquida", valor]/1000
D.agencias
rm(pas26)
print(paste("D.agencias =", D.agencias))
[1] "D.agencias = 11378.474"
Dados originais da pesquisa
Diferentes métodos de estimação da demanda turística são utilizados neste projeto. Os métodos são registrados em uma tabela especial elaborada para este fim.
<- fread("dados-originais/tipo.estimacao.csv")
tipo.estimacao kable(tipo.estimacao)
tru.cod | C | CI | X | M |
---|---|---|---|---|
19912 | A | |||
49002 | A | |||
50001 | A | |||
51001 | A | D | H | H |
52801 | B | |||
55001 | A | E | H | H |
56001 | A | F | H | H |
59801 | B | |||
68001 | B | |||
77001 | B | |||
78802 | C | G | ||
90801 | A | |||
Total |
As despesas turísticas foram registradas na POF em categorias de produtos especialmente desenhadas para aquela pesquisa. Uma vez que o tradutor oficial de códigos da POF 2017-2018 para o SCN ainda não havia sido divulgado pelo IBGE, esse processo de classificação partiu do tradutor POF-SCN elaborado pelo IBGE para a POF 2009. Os produtos da POF 2017-2018 que não constavam na POF 2009, seja por serem novos ou por terem sido especificados de forma mais detalhada, foram classificados a partir do tradutor de categorias da CNAE 2.0 para o SCN. No tradutor elaborado, duas categorias de despesas turísticas da POF não foram associadas a nenhuma categoria do SCN: agregado (conjunto indivisível de produtos) e taxa alfandegária.
<- fread("dados-originais/tradutor.PT.i.csv", encoding = "UTF-8")
tradutor.PT.i <- tradutor.PT.i[!is.na(tru.cod)]
tradutor.PT.i kable(head(tradutor.PT.i))
V9001 | descricao.produto | tru.cod | tru.desc | produto.intermediacao | produto.intermediacao.internacional | produto.intermediacao.49002 | produto.intermediacao.50001 | produto.intermediacao.51001 | produto.intermediacao.55001 | produto.intermediacao.56001 | produto.intermediacao.90801 |
---|---|---|---|---|---|---|---|---|---|---|---|
4101501 | COMBUSTIVEL DE VEICULO | 19912 | Gasoálcool | NA | NA | NA | NA | NA | NA | NA | NA |
4101801 | EXCURSAO (EXCETO ESCOLAR) | 78802 | Outros serviços administrativos | NA | NA | NA | NA | NA | NA | NA | NA |
4102701 | PACOTE TURISTICO NACIONAL (TRANSPORTE, HOSPEDAGEM, ALIMENTACAO E DIVERSAO) | 78802 | Outros serviços administrativos | 1 | NA | 1 | 1 | 1 | 1 | 1 | 1 |
4102801 | PACOTE TURISTICO NACIONAL (TRANSPORTE, HOSPEDAGEM E ALIMENTACAO) | 78802 | Outros serviços administrativos | 1 | NA | 1 | 1 | 1 | 1 | 1 | NA |
4102901 | PACOTE TURISTICO NACIONAL (TRANSPORTE, HOSPEDAGEM E DIVERSAO) | 78802 | Outros serviços administrativos | 1 | NA | 1 | 1 | 1 | 1 | NA | 1 |
4103001 | PACOTE TURISTICO NACIONAL (TRANSPORTE E HOSPEDAGEM) | 78802 | Outros serviços administrativos | 1 | NA | 1 | 1 | 1 | 1 | NA | NA |
Por fim, o terceiro e último arquivo com dados originais desta pesquisa traz duas informações pontuais: a participação das famílias na demanda total das empresas de agenciamento de viagens no Brasil (FENACTUR) e a participação do transporte de passageiros na receita total das companhias aéreas no país (ANAC).
<- fread("dados-originais/dados.pontuais.csv", encoding = "UTF-8")
dados.pontuais
<-
participacao.familias.D.agencias =="participacao.familias.D.agencias", valor]
dados.pontuais[variavel
<-
participacao.passageiros.receita.ciasaereas =="participacao.passageiros.receita.ciasaereas", valor]
dados.pontuais[variavel
rm(dados.pontuais)
Tabulação de dados da POF
Nesta seção, são tabuladas as informações da POF a fim de computar os Quocientes de Participação do Turismo (QPTs). O processo começa com a elaboração de uma informação específica oriunda dos microdados da RAIS: a proporção de empregados em hotéis no total de empregados em serviços de alojamento.
<-
rais fread("dados-brutos/RAIS_ESTAB_PUB.txt", encoding = "Latin-1",
select = c("CNAE 2.0 Classe", "Qtd Vínculos Ativos", "CNAE 2.0 Subclasse"))
names(rais) <- c("cnae", "vinculos", "cnaesub")
<- rais[(cnae==55108 | cnae==55906)]
rais <- rais[, .(vinculos=sum(vinculos)), by=.(cnaesub)]
rais
<-
participacao.hoteis.alojamento ==5510801, vinculos]/sum(rais$vinculos)
rais[cnaesub
rm(rais)
print(paste("participacao.hoteis.alojamento =",
percent(participacao.hoteis.alojamento, accuracy=0.01)))
Em seguida, o banco de dados da POF é carregado e tratado. Os itens de despesa das famílias são classificados segundo os códigos do SCN a partir do uso do tradutor discutido anteriormente. As despesas em produtos não consumidos por turistas são eliminadas do banco. As despesas nas categorias remanescentes são classificadas em turísticas (realizadas durante ou em razão de viagens turísticas, sendo registradas no Quadro 41 da POF, aqui assinaladas por “CT.i.POF”) e não turísticas (não realizadas durante ou em razão de viagens turísticas, sendo registradas em outros quadros da POF, aqui assinaladas por “CR.i.POF”. Por fim, o valor das despesas registradas é multiplicado pelo peso amostral da POF para que os resultados sejam representativos de toda a população brasileira.
<- data.table(C.POF)
C.POF <- left_join(C.POF, tradutor.PT.i[, .(V9001, tru.cod)], by = "V9001")
C.POF <- C.POF[(!is.na(tru.cod))]
C.POF $turismo <- ifelse(C.POF$QUADRO==41, "CT.i.POF", "CR.i.POF")
C.POF$valor.peso <- C.POF$V8000_DEFLA*C.POF$FATOR_ANUALIZACAO*C.POF$PESO_FINAL C.POF
As despesas das famílias registradas pela POF são agregadas por código do SCN e pela natureza turística ou não turística. Os valores são registrados em milhões de reais,
<- C.POF[, .(C=sum(valor.peso)/1000000), by = .(tru.cod, turismo)]
CT.i.POF <- dcast(CT.i.POF, tru.cod ~ turismo, value.var = "C")
CT.i.POF is.na(CR.i.POF)]$CR.i.POF <- 0
CT.i.POF[
kable(CT.i.POF)
tru.cod | CR.i.POF | CT.i.POF |
---|---|---|
19912 | 139232.13107 | 12020.03870 |
49002 | 44497.24107 | 7642.74009 |
50001 | 215.26968 | 369.73791 |
51001 | 349.52852 | 13364.49125 |
52801 | 2634.44913 | 1359.42243 |
55001 | 220.08109 | 10775.02145 |
56001 | 153209.67171 | 20700.73335 |
59801 | 4814.56158 | 56.74882 |
68001 | 0.00000 | 623.77939 |
77001 | 77.26078 | 713.82627 |
78802 | 0.00000 | 14083.49982 |
90801 | 11349.40561 | 1053.25670 |
Os dados da POF são ainda utilizados para calcular a proporção das despesas turísticas com alimentação em relação às despesas com alojamento. Essa proporção será utilizada para estimar o consumo intermediário turístico com serviços de alimentação.
<- C.POF[((tru.cod==55001 | tru.cod==56001) & QUADRO==41)]
pof.D.alojalim
<-
pof.D.alojalim dcast(pof.D.alojalim, COD_UPA + NUM_DOM + NUM_UC + COD_INFORMANTE ~ tru.cod,
fun.aggregate = sum, value.var = "valor.peso")
<- colSums(pof.D.alojalim[`55001`>0, .(`55001`, `56001`)])
pof.D.alojalim <- pof.D.alojalim[2] / pof.D.alojalim[1]
prop.despesa.alim.aloj
print(paste("prop.despesa.alim.aloj =",
percent(prop.despesa.alim.aloj, accuracy=0.01)))
[1] "prop.despesa.alim.aloj = 59.13%"
Consumo de serviços de agenciamento de viagens
Embora a POF apresente dados bastante detalhados das despesas turísticas das famílias, as informações sobre os gastos com agenciamento de viagens não são diretamente compatíveis com as estatísticas da oferta. Ocorre que grande parte dos gastos realizados em agências de viagens não constituem receitas das agências, mas apenas intermediação de serviços turísticos. Sendo assim, torna-se necessário diferenciar os valores dos serviços das agências daqueles correspondentes aos serviços turísticos intermediados. Tal diferenciação foi feita a partir da conciliação de dados de oferta e demanda.
Inicialmente, o valor da demanda total das agências de viagens no Brasil informado pela PAS (D.agencias) foi desagregado entre as parcelas devidas à demanda final das famílias (DF.agencias) e a demanda que corresponde ao consumo intermediário das empresas (CI.agencias). A diferença entre essa estimativa da demanda final das famílias e a despesa total das famílias em agências de viagens registrada pela POF constituiu nossa estimativa do valor dos serviços turísticos intermediados pelas agências para as famílias (DF.intermediado.agencias).
<- D.agencias * participacao.familias.D.agencias
DF.agencias <- D.agencias - DF.agencias
CI.agencias <- CT.i.POF[tru.cod==78802, CT.i.POF] - DF.agencias
DF.intermediado.agencias print(paste("valor dos serviços turísticos intermediados pelas agências para as famílias =", VP))
[1] "valor dos serviços turísticos intermediados pelas agências para as famílias = 12010010"
A distribuição do valor total dos serviços nacionais intermediados entre as categorias de serviços seguiu a descrição dos pacotes turísticos registrados pela POF. Essa lista consta no tradutor de produtos (tradutor.PI.i). A lista foi diferenciada para viagens nacionais e internacionais.
<- tradutor.PT.i[produto.intermediacao==1, V9001]
lista.produtos.intermediacao
<-
lista.produtos.intermediacao.internacional ==1, V9001]
tradutor.PT.i[produto.intermediacao.internacional
<-
lista.produtos.intermediacao.nacional ==1 &
tradutor.PT.i[(produto.intermediacaois.na(produto.intermediacao.internacional)), V9001]
Os gasto totais com serviços intermediados foram distribuídos por categoria de produto segundo as proporções de gastos com cada categoria nas viagens sem serviços intermediados.
<-
DF.produtos.intermediacao %in% lista.produtos.intermediacao, sum(valor.peso)]
C.POF[V9001 <-
DF.produtos.intermediacao.internacional %in% lista.produtos.intermediacao.internacional, sum(valor.peso)]
C.POF[V9001 <-
prop.DF.produtos.intermediacao.internacional / DF.produtos.intermediacao
DF.produtos.intermediacao.internacional <-
DF.intermediado.agencias.nacional * (1 - prop.DF.produtos.intermediacao.internacional)
DF.intermediado.agencias <-
distribuicao.intermediacao %in% lista.produtos.intermediacao.nacional,
C.POF[V9001 valor.peso=sum(valor.peso)), by = .(V9001)]
.(<-
distribuicao.intermediacao left_join(distribuicao.intermediacao,
%in% lista.produtos.intermediacao.nacional,
tradutor.PT.i[V9001 c(1, 7:12)], by = "V9001")
<-
distribuicao.intermediacao melt(distribuicao.intermediacao, id.vars = c("V9001", "valor.peso"))
$tru.cod <-
distribuicao.intermediacaoas.integer(str_remove(distribuicao.intermediacao$variable,
"produto.intermediacao."))
<-
distribuicao.intermediacao left_join(distribuicao.intermediacao,
by = "tru.cod")
CT.i.POF, $CT.i.POF <-
distribuicao.intermediacaoifelse(is.na(distribuicao.intermediacao$value), 0,
$CT.i.POF)
distribuicao.intermediacao<-
distribuicao.intermediacao dcast(distribuicao.intermediacao, V9001 + valor.peso ~ tru.cod,
value.var = "CT.i.POF")
$CT.i.POF <-
distribuicao.intermediacaorowSums(distribuicao.intermediacao[, -c(1:2)])
<-
distribuicao.intermediacao melt(distribuicao.intermediacao, id.vars = c("V9001", "valor.peso", "CT.i.POF"))
$prop <-
distribuicao.intermediacao$value / distribuicao.intermediacao$CT.i.POF
distribuicao.intermediacao$valor.peso <-
distribuicao.intermediacao$prop * distribuicao.intermediacao$valor.peso
distribuicao.intermediacao<-
distribuicao.intermediacao distribuicao.intermediacao=sum(valor.peso)),
distribuicao.intermediacao[, .(= "variable"]
by $variable <-
distribuicao.intermediacaoas.character(distribuicao.intermediacao$variable)
$distribuicao.intermediacao <-
distribuicao.intermediacao$distribuicao.intermediacao /
distribuicao.intermediacaosum(distribuicao.intermediacao)]
distribuicao.intermediacao[, $distribuicao.intermediacao <-
distribuicao.intermediacao$distribuicao.intermediacao *
distribuicao.intermediacao
DF.intermediado.agencias.nacional
rm(C.POF)
O valor estimado dos serviços nacionais de terceiros intermediados pelas agências foi adicionado à despesa explicitamente declarada na POF com cada categoria de produtos turísticos. As despesas com serviços hoteleiros intermediados pelas agências, por exemplo, foram somadas às despesas com serviços hoteleiros não intermediados.
$tru.cod <- as.character(CT.i.POF$tru.cod)
CT.i.POF<-
CT.i.POF left_join(CT.i.POF, distribuicao.intermediacao, by = c("tru.cod" = "variable"))
is.na(distribuicao.intermediacao)]$distribuicao.intermediacao <- 0
CT.i.POF[$CT.i.POF <- CT.i.POF$CT.i.POF + CT.i.POF$distribuicao.intermediacao CT.i.POF
Quocientes de Participação do Turismo (QPT)
Os Quocientes de Participação do Turismo (QPT) correspondem à proporção dos gastos turísticos com determinada categoria de produtos em relação ao total de gastos com essa categoria (incluindo gastos turísticos e não turísticos). O QPT dos serviços de alimentação, por exemplo, é igual ao total de gastos turísticos das famílias com serviços de alimentação durante viagens turísticas dividido pelo total de gastos com serviços de alimentação (durante e fora das viagens turísticas). Esses coeficientes foram calculados a partir dos dados registrados pela POF e ajustados pelas estimativas do consumo de serviços intermediados por agências de viagens.
$QPT.i <- CT.i.POF$CT.i.POF / (CT.i.POF$CR.i.POF + CT.i.POF$CT.i.POF)
CT.i.POF<- left_join(data.table(tru.cod=P.i), CT.i.POF, by="tru.cod")
CT.i.POF <- as.vector(CT.i.POF$QPT.i)
QPT.i is.na(QPT.i)] <- 0 QPT.i[
Os QPT compõem a Tabela 1 do artigo.
Tabela 1
<- data.table(
Tabela1 Produto=P.nomes,
`Quociente de Participação do Turismo (QPT)`=
percent(QPT.i, accuracy=1))[QPT.i>0]
kable(Tabela1)
Produto | Quociente de Participação do Turismo (QPT) |
---|---|
Combustível veicular | 8% |
Transporte terrestre | 16% |
Transporte aquaviário | 65% |
Transporte aéreo | 98% |
Estacionamentos e pedágios | 34% |
Hotéis e similares | 98% |
Serviços de alimentação | 13% |
Cinema | 1% |
Aluguel de imóveis | 100% |
Aluguel de veículos | 90% |
Agenciamento de viagens | 100% |
Artes, cultura, esporte e recreação | 9% |
Estimativas da demanda turística
A demanda turística total foi estimada por meio de 8 estratégias diferentes. A principal estratégia (A) consiste na aplicação dos QPT sobre os dados do consumo das famílias apresentados nas TRU.
<- C.i * QPT.i CT.i.tipoa
A estratégia B consiste na adoção direta das estimativas obtidas a partir da POF, sem conciliação com os dados de oferta oriundos das TRU.
<- as.vector(CT.i.POF$CT.i.POF)
CT.i.tipob is.na(CT.i.tipob)] <- 0 CT.i.tipob[
A estratégia C corresponde à adoção da estimativa da demanda final das famílias por serviços das agências de viagens (não os serviços intermediados, mas sim o próprio serviço de intermediação) obtida anteriormente a partir da combinação dos dados da PAS e da POF (DF.agencias). Desta forma, o consumo turístico das famílias foi estimado para cada categoria de produtos (CT.i) conforme as diferentes estratégias adotadas.
<- left_join(data.table(tru.cod=P.i), tipo.estimacao, by="tru.cod")
tipo.estimacao
<- ifelse(tipo.estimacao$C=="A", CT.i.tipoa,
CT.i ifelse(tipo.estimacao$C=="B", CT.i.tipob,
ifelse(tipo.estimacao$C=="C", DF.agencias, 0)))
O consumo intermediário turístico por categoria de produto (CIT.i) foi estimado a partir de quatro estratégias diferentes. A estratégia D consiste na aplicação da participação do transporte de passageiros na receita total das companhias aéreas sobre o valor do consumo intermediário de transporte aéreo registrado nas TRU. A estratégia E corresponde à aplicação da proporção dos empregados em hotéis no total de empregados em serviços de alojamento sobre o valor do consumo intermediário de alojamento registrado nas TRU. A estratégia F é a aplicação da proporção entre gastos com alimentação e com alojamento observada nas viagens das famílias sobre o valor do consumo intermediário de alojamento registrado nas TRU. Por fim, a estratégia G é adotar a estimativa do consumo intermediário de serviços de agenciamento de viagens elaborada anteriormente (CI.agencias).
<-
CIT.i ifelse(tipo.estimacao$CI=="D", CI.i * participacao.passageiros.receita.ciasaereas,
ifelse(tipo.estimacao$CI=="E", CI.i * participacao.hoteis.alojamento,
ifelse(tipo.estimacao$CI=="F", CI.i[101] *
* prop.despesa.alim.aloj,
participacao.hoteis.alojamento ifelse(tipo.estimacao$CI=="G", CI.agencias, 0))))
Os dados originais das TRU foram adotados com estimativas das exportações e importações turísticas para os serviços de transporte aéreo, hotéis e similares, e serviços de alimentação.
<- ifelse(tipo.estimacao$X=="H", X.i, 0)
XT.i <- ifelse(tipo.estimacao$X=="H", M.i, 0) MT.i
A soma do consumo turístico das famílias (CF.i) com as exportações turísticas (XT.i) forma a demanda final turística (DFT.i). Esta, somada ao consumo intermediário turístico (CIT.i) constitui a demanda turística total (DTT.i).
<- CT.i + XT.i
DFT.i <- DFT.i + CIT.i
DTT.i <- sum(DTT.i, na.rm=T)
DTT print(paste("DTT =", DTT))
[1] "DTT = 197504.300715247"
Outros agregados macroeconômicos
A partir das estimativas da demanda turística elaboradas anteriormente, foram calculados os demais agregados macroeconômicos. Essas estimativas seguiram o pressuposto da proporcionalidade, assumindo que a estrutura da economia pode ser representada por equações lineares. Logo, a proporção entre a demanda turística total e a demanda total da economia para cada categoria de produtos (PROPT.i) foi aplicada sobre os demais agregados macroeconômicos para estimar o valor desses que é devido ao turismo. Essa lógica foi aplicada à estimativa das margens do comércio e transporte, bem como dos impostos sobre produtos.
<- DTT.i / DT.i
PROPT.i
<- MGC.i * PROPT.i
MGCT.i <- sum(MGCT.i, na.rm=T)
MGCT
<- MGT.i * PROPT.i
MGTT.i <- sum(MGTT.i, na.rm=T)
MGTT
<- IP.ik * PROPT.i
IPT.ik <- rowSums(IPT.ik)
IPT.i <- sum(IPT.ik, na.rm=T)
IPT
print(paste("IPT =", IPT))
[1] "IPT = 15705.8404203276"
O valor da produção turística por categoria de produtos corresponde à demanda total subtraída das margens do comércio e transporte, dos impostos sobre produtos, e das importações.
<- DTT.i - MGCT.i - MGTT.i - IPT.i - MT.i
VPT.i <- sum(VPT.i, na.rm=T)
VPT print(paste("VPT =", VPT))
[1] "VPT = 134180.212427454"
Este trabalho assume o pressuposto de identidade entre produtos e atividades turísticas. A justificativa disto é detalhada no artigo publicado na RTA. Desta forma, o valor da produção de cada categoria de produto conduz diretamente à estimativa do valor da produção por atividade.
<- data.table(tru.cod=floor(
VPT.j as.numeric(P.i)/10), VPT.i)[, .(VPT=sum(VPT.i, na.rm=T)), by=tru.cod][, VPT]
A estrutura de consumo intermediário das atividades econômicas adotada para a estimação do consumo intermediário da produção turística (CIPT). Logo, a proporção entre o valor do consumo intermediário e o valor da produçaõ de cada atividade econômica é aplicada sobre o valor da produção turística para se chegar ao CIPT.
<- (CI.j / VP.j) * VPT.j
CIPT.j <- sum(CIPT.j, na.rm=T)
CIPT print(paste("CIPT =", CIPT))
[1] "CIPT = 79866.6369827125"
O valor adicionado bruto das atividades turísticas (VABT.j) é a diferença entre o valor da produção turística (VPT.j) e o valor do consumo intermediário da produção turística (CIPT.j).
<- VPT.j - CIPT.j
VABT.j <- VPT - CIPT
VABT print(paste("VABT =", VABT))
[1] "VABT = 54313.5754447416"
A participação dos compomentes do total do valor adicionado foi utilizada para estimar a parcela devida ao turismo em cada elemento.
<- t(t(VAB.jm) / VAB.j)
VAB.prop <- t(VABT.j * t(VAB.prop))
VABT.jm <- rowSums(VABT.jm) VABT.m
Por fim, o PIB direto do turismo (PIBDT) é calculado pelas óticas da oferta e da produção. Na primeira pespectiva, o PIBDT é igual à demanda turística total menos o consumo intermediário da produção turística, das margens do comércio e transporte e das importações turísticas. Na perspectiva da produção, o PIBDT equivale ao valor da produção turística, somado aos impostos sobre produtos, menos o consumo intermediário da produção turística. A comparação dos valores calculados por ambas as óticas confirma a consistência da estimativa.
<- sum(MT.i, na.rm=T)
MT
<- DTT - CIPT - MGCT - MGTT - MT
PIBDT.Oferta <- VPT + IPT - CIPT
PIBDT.Producao print(paste("PIBDT =", PIBDT.Oferta, "==", PIBDT.Producao))
[1] "PIBDT = 70019.4158650692 == 70019.4158650692"
A participação do turismo no consumo das famílias, no valor da produção e no PIB foi calculada.
<- sum(CT.i, na.rm=T)
CT print(paste("CT / C =", percent(CT / C, accuracy = 0.01)))
[1] "CT / C = 2.30%"
print(paste("VPT / VP=", percent(VPT / VP, accuracy = 0.01)))
[1] "VPT / VP= 1.12%"
<- VP - CI + IP
PIB print(paste("PIBDT / PIB =", percent(PIBDT.Oferta / PIB, accuracy=0.01)))
[1] "PIBDT / PIB = 1.00%"
Tabelas finais
Tabela 2
<- data.table(`Categoria de produtos`=P.nomes,
Tabela2 `Consumo turístico das famílias (CT)`=CT.i,
`Exportação turística (XT)`=XT.i,
`Demanda turística final (DTF)`=DFT.i,
`Consumo intermediário turístico (CIT)`=CIT.i,
`Demanda turística total (DT)`=DTT.i)[!is.na(DTT.i)] %>%
adorn_totals("row") %>% format(digits=2, big.mark = ".", decimal.mark = ",")
kable(Tabela2)
Categoria de produtos | Consumo turístico das famílias (CT) | Exportação turística (XT) | Demanda turística final (DTF) | Consumo intermediário turístico (CIT) | Demanda turística total (DT) |
---|---|---|---|---|---|
Combustível veicular | 12.263 | 0 | 12.263 | 0 | 12.263 |
Transporte terrestre | 15.461 | 0 | 15.461 | 0 | 15.461 |
Transporte aquaviário | 1.392 | 0 | 1.392 | 0 | 1.392 |
Transporte aéreo | 12.476 | 7.914 | 20.390 | 28.212 | 48.601 |
Estacionamentos e pedágios | 1.359 | 0 | 1.359 | 0 | 1.359 |
Hotéis e similares | 13.283 | 7.092 | 20.375 | 26.547 | 46.921 |
Serviços de alimentação | 34.939 | 5.081 | 40.020 | 15.696 | 55.716 |
Cinema | 57 | 0 | 57 | 0 | 57 |
Aluguel de imóveis | 624 | 0 | 624 | 0 | 624 |
Aluguel de veículos | 714 | 0 | 714 | 0 | 714 |
Agenciamento de viagens | 6.372 | 0 | 6.372 | 5.007 | 11.378 |
Artes, cultura, esporte e recreação | 3.018 | 0 | 3.018 | 0 | 3.018 |
Total | 101.957 | 20.087 | 122.044 | 75.460 | 197.504 |
Tabela 3
<-
Tabela3 data.table(
`Categoria de produtos`=P.nomes,
`Oferta total (O)`=DT.i,
`Oferta turística total (OT)`=DTT.i,
`Participação da oferta turística na oferta total (OT/O)`=
percent((DTT.i / DT.i), accuracy=0.1))[`Oferta turística total (OT)`>0] %>%
adorn_totals("row") %>%
format(digits=2, big.mark = ".", decimal.mark = ",")
kable(Tabela3)
Categoria de produtos | Oferta total (O) | Oferta turística total (OT) | Participação da oferta turística na oferta total (OT/O) |
---|---|---|---|
Combustível veicular | 176.497 | 12.263 | 6.9% |
Transporte terrestre | 116.288 | 15.461 | 13.3% |
Transporte aquaviário | 33.195 | 1.392 | 4.2% |
Transporte aéreo | 54.406 | 48.601 | 89.3% |
Estacionamentos e pedágios | 127.776 | 1.359 | 1.1% |
Hotéis e similares | 53.579 | 46.921 | 87.6% |
Serviços de alimentação | 325.012 | 55.716 | 17.1% |
Cinema | 46.185 | 57 | 0.1% |
Aluguel de imóveis | 247.602 | 624 | 0.3% |
Aluguel de veículos | 131.963 | 714 | 0.5% |
Agenciamento de viagens | 164.380 | 11.378 | 6.9% |
Artes, cultura, esporte e recreação | 52.012 | 3.018 | 5.8% |
Total | 1.528.895 | 197.504 | - |
Tabela 4
<-
Tabela4 cbind(data.table(`Categoria de produtos`=P.nomes,
`Oferta turística (OT)`=DTT.i,
`Margem do comércio sobre o turismo (MGCT)`=MGCT.i,
`Margem do transporte sobre o turismo (MGTT)`=MGTT.i,
`Imposto de importação sobre o turismo`=IPT.ik[,1],
`IPI sobre o turismo`=IPT.ik[,2],
`ICMS sobre o turismo`=IPT.ik[,3],
`Outros impostos menos subsídios sobre o turismo`=IPT.ik[,4],
`Total de impostos líquidos de subsídios sobre o turismo (IPT)`=IPT.i,
`Valor total da produção turística (VPT)`=VPT.i,
`Importação turística (MT)`=MT.i)[`Oferta turística (OT)`>0],
>0]) %>%
CIPT.j[CIPT.jadorn_totals("row") %>%
format(digits=1, big.mark = ".", decimal.mark = ",")
kable(Tabela4)
Categoria de produtos | Oferta turística (OT) | Margem do comércio sobre o turismo (MGCT) | Margem do transporte sobre o turismo (MGTT) | Imposto de importação sobre o turismo | IPI sobre o turismo | ICMS sobre o turismo | Outros impostos menos subsídios sobre o turismo | Total de impostos líquidos de subsídios sobre o turismo (IPT) | Valor total da produção turística (VPT) | Importação turística (MT) | V2 |
---|---|---|---|---|---|---|---|---|---|---|---|
Combustível veicular | 12.263 | 2.232 | 89 | 0,000 | 0 | 2.674 | 0 | 2.674 | 7.269 | 0 | 6.581 |
Transporte terrestre | 15.461 | 0 | 0 | 0,000 | 0 | 1.266 | 45 | 1.312 | 14.150 | 0 | 8.288 |
Transporte aquaviário | 1.392 | 0 | -99 | 0,000 | 0 | 10 | 151 | 161 | 1.329 | 0 | 748 |
Transporte aéreo | 48.601 | 0 | 0 | 0,000 | 0 | 329 | 1.509 | 1.838 | 38.713 | 8.051 | 30.113 |
Estacionamentos e pedágios | 1.359 | 0 | 0 | 0,000 | 0 | 0 | 71 | 71 | 1.289 | 0 | 552 |
Hotéis e similares | 46.921 | 0 | 0 | 0,000 | 0 | 0 | 3.252 | 3.252 | 22.140 | 21.529 | 10.330 |
Serviços de alimentação | 55.716 | 0 | 0 | 0,000 | 0 | 4.480 | 758 | 5.238 | 34.662 | 15.816 | 18.327 |
Cinema | 57 | 0 | 0 | 0,009 | 0 | 0 | 2 | 2 | 55 | 0 | 33 |
Aluguel de imóveis | 624 | 0 | 0 | 0,000 | 0 | 0 | 3 | 3 | 621 | 0 | 50 |
Aluguel de veículos | 714 | 0 | 0 | 0,000 | 0 | 0 | 58 | 58 | 656 | 0 | 248 |
Agenciamento de viagens | 11.378 | 0 | 0 | 0,000 | 0 | 0 | 685 | 685 | 10.694 | 0 | 3.475 |
Artes, cultura, esporte e recreação | 3.018 | 0 | 0 | 0,348 | 0 | 0 | 414 | 414 | 2.604 | 0 | 1.121 |
Total | 197.504 | 2.232 | -10 | 0,357 | 0 | 8.759 | 6.947 | 15.706 | 134.180 | 45.396 | 79.867 |
Tabela 5
<- data.table(Operação=VAB.nomes, `Valor (R$ milhões)`=VABT.m) %>%
Tabela5 format(digits=1, big.mark = ".", decimal.mark = ",")
kable(Tabela5)
Operação | Valor (R$ milhões) |
---|---|
Valor adicionado bruto ( PIB ) | 54.314 |
Remunerações | 32.843 |
Salários | 27.175 |
Contribuições sociais efetivas | 5.668 |
Previdência oficial /FGTS | 5.510 |
Previdência privada | 158 |
Contribuições sociais imputadas | 0 |
Excedente operacional bruto e rendimento misto bruto | 20.050 |
Rendimento misto bruto | 8.788 |
Excedente operacional bruto (EOB) | 11.262 |
Outros impostos sobre a produção | 1.507 |
Outros subsídios à produção | -86 |
Valor da produção | 134.180 |
Fator trabalho (ocupações) | 1.509 |
Tabela 6
<-
Tabela6 data.table(`Atividade turística`=A.nomes,
`Valor Adicionado Bruto Direto do Turismo (VABDT / R$ milhões)`=VABT.j,
`Ocupações (milhares)`=VABT.jm[14,])[`Ocupações (milhares)`>0] %>%
format(digits = 1, big.mark = ".", decimal.mark = ",")
kable(Tabela6)
Atividade turística | Valor Adicionado Bruto Direto do Turismo (VABDT / R$ milhões) | Ocupações (milhares) |
---|---|---|
Combustível veicular | 688 | 0,4 |
Transporte terrestre | 5.862 | 144,6 |
Transporte aquaviário | 581 | 3,0 |
Transporte aéreo | 8.600 | 52,3 |
Estacionamentos e pedágios | 737 | 7,5 |
Hotéis e similares | 11.810 | 349,5 |
Serviços de alimentação | 16.335 | 703,7 |
Cinema | 21 | 0,2 |
Aluguel de imóveis | 571 | 0,5 |
Aluguel de veículos | 408 | 4,0 |
Agenciamento de viagens | 7.218 | 170,7 |
Artes, cultura, esporte e recreação | 1.483 | 72,4 |