Annualized Real Income Growth by Income Decile and Presidential Term
![]()
Overview
This figure measures annualized real income growth by income decile across Brazilian presidential terms, from 1995 to 2025. Expressing growth as a compound annual rate rather than a total change makes terms of very different lengths — a full four years versus, for the most recent term shown, only two — directly comparable.
Methodology
Each point is the annualized geometric real income growth rate (percent per year, January 2024 prices) for each income decile, from the first available year of a presidential term to the first available year of the next (blue = gain, orange = loss); horizontal lines are 95% confidence intervals. Itamar Franco’s term (1992–1995) is omitted, since the series used here starts in 1995. The Lula III panel covers two years of growth (2023–2025). The bottom-right panel covers the full 1995–2025 period. Confidence intervals are computed via the delta method for f(t1,t0) = ((t1/t0)^(1/n) − 1) × 100, where n is the number of years in the term: se = (100/n)·(t1/t0)^(1/n)·√((se₁/t1)² + (se₀/t0)²). The standard error of each endpoint is the weighted sample variance divided by the Kish effective sample size (design effect = 2).
How to Cite
If you use this figure or the pipeline behind it, please cite both the dissertation and this specific analysis. References follow APA 7th edition.
Dissertation (in preparation; the entry will be updated after the defense):
Mançano, T. (2026). Inequality in access to tertiary education in Brazil: Household incomes, reforming policies, and the politics of who gets in (1990s–2020s) [Unpublished master’s thesis]. University of São Paulo.
This figure and pipeline:
Mançano, T. (2026, August 9). Annualized real income growth by income decile and presidential term [Figure and reproducible pipeline]. Open Data Analysis. https://mancano-tales.github.io/open-data-analysis/posts/delta-renda-anualizada-decil-governo/
In text: (Mançano, 2026) — when citing several analyses from this catalog in the same work, APA distinguishes them as 2026a, 2026b, … in the order they appear in the reference list.
BibTeX:
@mastersthesis{Mancano2026Thesis,
author = {Man\c{c}ano, Tales},
title = {Inequality in Access to Tertiary Education in Brazil: Household
Incomes, Reforming Policies, and the Politics of Who Gets In
(1990s--2020s)},
school = {University of S\~{a}o Paulo},
year = {2026},
type = {Master's thesis},
note = {Unpublished; Graduate Program in Political Science}
}
@misc{Mancano2026_delta_renda_anualizada_decil_governo,
author = {Man\c{c}ano, Tales},
title = {Annualized real income growth by income decile and presidential term},
year = {2026},
month = aug,
howpublished = {Open Data Analysis, \url{https://mancano-tales.github.io/open-data-analysis/posts/delta-renda-anualizada-decil-governo/}},
note = {Figure and reproducible pipeline. Source code: \url{https://github.com/mancano-tales/open-data-analysis}, folder posts/delta-renda-anualizada-decil-governo/. Accessed YYYY-MM-DD}
}A permanent version (Git tag + Zenodo DOI) will be linked here once the dissertation is defended; until then, cite the page URL above and add the date you accessed it (source code: https://github.com/mancano-tales/open-data-analysis, folder posts/delta-renda-anualizada-decil-governo/).
Pipeline
This figure draws on the PNAD / PNAD Contínua Harmonization, 1992–2025 panel.
Run these scripts in this order, from the project root (each one writes to data-raw/, which the next one reads):
shared-pipeline/pnadc/000_PNADC_Download_Consolidate.R— downloads PNAD Contínua 2012–2025 (1st interview) withPNADcIBGE::get_pnadc()intodata-raw/pnadc_raw/and consolidates it intodata-raw/pnadc_consolidado_2012_2025_interview1.rdsshared-pipeline/pnadc/020_PNAD_Anual_Manual_Import_2001_2015.R— downloads the PNAD Anual 2001–2015 microdata from the IBGE FTP intodata-raw/pnad_anual_raw/and imports them intodata-raw/harmonizing-br-data/output/PNAD_Anual_2001_2015.parquetshared-pipeline/pnadc/050_PNAD_Historica_Manual_Import_1992_1999.R— same for PNAD Anual 1992–1999 (PNAD_Anual_1992_1999.parquet)shared-pipeline/pnadc/035_Splice_Microdados.R— splices PNAD Anual and PNAD Contínua into the harmonized panel —Microdados_Todas_Idades_1992_2025.parquetandMicrodados_Jovens_18_24_1992_2025.parquetindata-raw/harmonizing-br-data/output/(sourcesshared-pipeline/utils/codigos_curso_pnad.R)plot.R— readsMicrodados_Todas_Idades_1992_2025.parquet; writes the figure tooutput/figures/delta-renda-anualizada-decil-governo/— compare it with this post’sthumbnail.png
All of the upstream steps above are Tier A and are also run, in this same order, by shared-pipeline/build_public_data.R.
Reproducibility
Tier: A
This pipeline uses only public data, accessible via package/API without any credential (PNADcIBGE, censobr, sidrar, ipeadatar). Run the scripts in shared-pipeline/ in numeric order to reconstruct the intermediate data.