Parameters, response columns and types are generated from the SQL catalog and
render under Endpoints → Inflation in the sidebar. This page carries what a
schema cannot: the units, the two derived columns, and the traps.
Overview
Two functions, two official sources, one derived column each.inflation— BACEN’s SGS, served long: IPCA and IPCA-15, BACEN’s own 12-month accumulation, the five BCB core measures, BACEN’s classifications (monitored vs free prices, tradables vs non-tradables, durables / semi-durables / non-durables / services), the diffusion index, and IBGE’s nine expenditure groups. Every value is the number BACEN publishes, in percent.inflation_items— IBGE’s SIDRA, the IPCA tree itself: the general index, 9 groups, 19 subgroups, 51 items and ~377 subitems, each with its weight in the basket and its monthly, year-to-date and 12-month change, as published. This is where “what moved the index” lives: contribution = weight × monthly change.
inflation
One row per (month, series):
22023 listing what exists rather than returning an empty array.
Series
The group codes are not in IBGE’s order. 1640 is Comunicação, 1641 Saúde, 1642 Despesas
pessoais, 1643 Educação. That was established by matching every value on three months
against IBGE’s own table 7060, not by reading the numbering; the labels above are the
measured mapping. Not served: the EX1, EX3 and P55 cores, because BACEN’s open-data
catalogue does not name their codes and a guessed label is worse than an absent one.
acc_12m is derived; IPCA_12M is not
value is always BACEN’s number. acc_12m is the trailing twelve monthly changes
chained, ((Π (1 + v/100)) − 1) × 100, rounded to BACEN’s two decimals. It is null
unless all twelve months are present and consecutive — a gap yields null, never a
shorter chain — and null on the two series that are not monthly changes. The chain is
the index identity, not an estimate: it reproduces BACEN’s own IPCA_12M exactly for
the headline (4.22 for 2026-08, both ways), and IPCA_12M is served beside it so you
can check. Do not annualise a single month; the API never does.
inflation_items
One row per (month, node):
Sum contributions within one level only. The nine level-1 rows sum to the headline to
rounding, because the groups partition the basket. A group and its subgroups are the same
money twice.
SIDRA’s
item_code changed with the 2020-01 structure (table 7060 replaced 1419).
item_number and the names are IBGE’s continuity; sidra_table says which structure a
row came from. Nothing before 2012-01 exists at item level anywhere on SIDRA; for the
group variations before that, inflation (BACEN) goes back to 1991.
Note: one 1,000-row page, and both functions refuse above it (22023). No cursor — the
default 36-month window fits every series at once; for deep history pin p_series or
p_family, and for the item tree pin p_item or one month at level 3–4.
Freshness
coverage carries an inflation row (BACEN, landed_at from the SGS ingest only, so a
PTAX run never reads as inflation freshness) and an inflation_items row (IBGE). IBGE
releases month M around the 10th of M+1 and BACEN mirrors it the same day, so as_of
trails the calendar by about six weeks at worst; complete_through equals as_of
because a statistical release is complete by construction.
Not served here
- A
panelarm. These rows carry no id. Fetch the series here and align them in the notebook. - Weights for the BCB cores or classifications. BACEN publishes none; only IBGE’s tree carries weights.
- The EX1, EX3 and P55 cores — see above.
- Seasonally adjusted anything. Neither source publishes it for these series, and the API does not adjust.