IF.DATA — Valores por relatório e coluna
Stable ID: bacen.instituicoes.ifdata_valores/valores
Contexto semântico
Nome: IF.DATA — Valores por relatório e coluna
O que contém: Valor longo por instituição, trimestre, tipo de instituição, relatório e coluna do relatório.
Por que consultar: Use para construir análises comparáveis somente dentro do mesmo escopo de relatório/coluna.
Escopo e limitações: Unidade e significado variam por report_type/col_name; consulte ifdata_catalogo antes de agregar.
Aliases e nomes oficiais: valores, ifdata_valores
Evidências:
catalogo/bacen.yml — ifdata_valores/valoresdocs/catalog/deep_docs.yml — ifdata_valoreshttps://www3.bcb.gov.br/ifdata/
Comece aqui: guia de acesso aos dados
Readiness (label, not a promise): declared:verificada · materialized:none · queryable:unknown
Declared (catalog YAML)
| field | value |
|---|---|
dataset |
ifdata_valores |
| parte legacy layout | rest_json_ifdata |
parte legacy vigencia |
ate=202412, de=(unknown — not declared anywhere) |
chave (parte legacy) |
periodo, tipo_inst, cod_inst, report_type, col_name |
chave_status (parte legacy, declared) |
verificada |
source URL (parte legacy) |
https://www3.bcb.gov.br/ifdata/rest/arquivos |
| parte current layout | rest_json_ifdata |
parte current vigencia |
ate=(unknown — not declared anywhere), de=202501 |
chave (parte current) |
periodo, tipo_inst, cod_inst, report_type, col_name |
chave_status (parte current, declared) |
verificada |
source URL (parte current) |
https://www3.bcb.gov.br/ifdata/rest/arquivos |
Operator notes
(no operator note in the catalog for this table — semantics beyond the structured fields above are unknown)
Observed runs (from meta/runs manifests)
Last good run:
| field | value |
|---|---|
timestamp |
20260824T215912 |
outcome |
ok |
exit_code |
0 |
rows_written |
0 |
source_sha256 |
|
manifest_path |
C:\Users\plini\Repos\ciano-lake\data\meta\runs\ifdata_valores\20260824T215912.json |
competencia (scoped) |
(unscoped — not period-specific proof) |
Observed residuals (tolerada_com_residuo evidence)
(none observed — either the table has no residual tolerance, or the coverage inventory has not run; absence is not proof of absence)
Materialized (coverage inventory, per environment)
(no coverage inventory available — run tools/coverage_inventory.py collect and pass the JSONL to the publisher; without it nothing is claimed about what physically exists)
Deep documentation (curated, grounded in the declarations above)
BACEN IF.DATA reported values, long format — one row per (institution, quarter, report, column). Fully verified across the full 45-quarter series (28,013,428 rows). BCB sentinel values are preserved as NULL (declared decision; never silently zeroed downstream).
Grain: one row per (periodo, tipo_inst, cod_inst, report_type, col_name)
Units: Per-column units vary (BRL amounts, counts, percentages) — units live in the IF.DATA report metadata, not in the table; treat saldo values as report-scoped, not universally comparable.
Safe-join guidance:
- Join cadastro on (cod_inst, periodo, tipo_inst) exactly — the gold fact tables use these keys.
- Never compare saldo across report_type/col_name without the report metadata scope; a silently wrong comparison is the failure mode this platform exists to prevent.
Curated, evidence-backed lineage (not Bruin ordering):
| from | to | kind | evidence |
|---|---|---|---|
bacen.instituicoes.ifdata_valores/valores |
publish.gold_bacen/fct_balance_sheet |
curated | ciano_lake/gold/instituicoes/fcts.py (JOIN + report_type filter Resumo/Ativo/Passivo) |
bacen.instituicoes.ifdata_valores/valores |
publish.gold_bacen/fct_income_statement |
curated | ciano_lake/gold/instituicoes/fcts.py (JOIN + report_type filter Resultado/Demonstração de Resultado) |
Explore in Metabase: https://bi.cianoinvestimentos.space (internal, Tailscale-only).
Postgres-queryable
(unknown — publication state is a publisher fact, filled at publication time; it is never inferred from materialization)