Skip to contents

Downloads and processes IDEB data from INEP in tidy (long) format. IDEB is the main indicator of education quality in Brazil, combining student performance (from SAEB) with grade promotion rates.

Usage

get_ideb(level, stage, metric, year = NULL, quiet = FALSE)

Arguments

level

The geographic level. Required.

  • "escola": School level

  • "municipio": Municipality level

  • "estado": State level

  • "regiao": Region level (Norte, Nordeste, Sudeste, Sul, Centro-Oeste)

  • "brasil": National level

stage

The education stage. Required.

  • "anos_iniciais": Early elementary (1st-5th grade)

  • "anos_finais": Late elementary (6th-9th grade)

  • "ensino_medio": High school

  • "ensino_medio_integrado": High school including students of technical-professional education integrated to high school (EPT integrada), a cut first published with IDEB 2025. Only available for level = "brasil" or "estado", and has no metric = "meta".

metric

The type of data to return. Required.

  • "indicador": IDEB components (rendimento, nota padronizada, ideb)

  • "aprovacao": Approval rates by school year

  • "nota": SAEB scores by subject (math/portuguese)

  • "meta": IDEB targets/projections (not published for stage = "ensino_medio_integrado")

year

Optional. Integer vector of IDEB editions to filter (e.g., c(2021, 2023, 2025)). NULL returns all available editions. Note: official targets (metric = "meta") are only defined through 2021.

quiet

Logical. If TRUE, suppresses progress messages.

Value

A tibble in tidy (long) format. Columns vary by level and metric:

ID columns (vary by level):

  • escola: uf_sigla, municipio_codigo, municipio_nome, escola_id, escola_nome, rede

  • municipio: uf_sigla, municipio_codigo, municipio_nome, rede

  • brasil: rede

  • estado: uf_nome, uf_sigla, rede

  • regiao: regiao, rede

Value columns (vary by metric):

  • indicador: ano, indicador, valor

  • aprovacao: ano, ano_escolar or serie (ensino_medio), taxa_aprovacao

  • nota: ano, disciplina, nota

  • meta: ano, meta

Details

IDEB is calculated every two years since 2005 based on:

  • Learning: Average scores in Portuguese and Mathematics from SAEB

  • Flow: Grade promotion rate (inverse of repetition/dropout)

The index ranges from 0 to 10. Brazil's national goal is to reach 6.0 by 2022 (the level of developed countries in PISA).

The function always downloads the most recent IDEB file available from INEP, which contains the full historical series (2005-2025).

stage = "ensino_medio_integrado" reads the "Ensino médio mais educação profissional técnica integrada" spreadsheets first published with IDEB 2025. Unlike the traditional high school IDEB — which excludes students of integrated technical-professional education (EPT integrada) from the SAEB performance component to preserve historical comparability — this cut includes them. INEP publishes it only at the national and state levels (state networks only), covering editions 2017-2025 for states and 2019-2025 for Brazil, with no official targets.

See also

Examples

if (FALSE) { # \dontrun{
# school-level IDEB indicators for early elementary
ideb <- get_ideb("escola", "anos_iniciais", "indicador")

# municipality-level approval rates, only 2023 and 2025
aprov <- get_ideb("municipio", "anos_finais", "aprovacao", year = c(2023, 2025))

# national IDEB targets
metas <- get_ideb("brasil", "ensino_medio", "meta")

# state-level SAEB scores
notas <- get_ideb("estado", "anos_iniciais", "nota")

# region-level IDEB indicators
regioes <- get_ideb("regiao", "anos_finais", "indicador")

# state-level IDEB including EPT integrada students (2025+ cut)
emi <- get_ideb("estado", "ensino_medio_integrado", "indicador")
} # }