Skip to content

Belgium target expansion: households, income distribution, work regime, pensions, commune grain (all open data) #85

Description

@MaxGhenis

Follow-up to #72 and the populace#259 pilot: the calibration currently binds four Belgian target families (NUTS1 age×sex demography, one national fiscal-income total, one ONSS total, one ONEM total). Everything below is open data — no SILC or licensed microdata anywhere — and each family closes a named gap in the pilot. Same publisher-package pattern as #72.

Already in Ledger but unused by the calibration (no new package needed):

  • statbel/fiscal_income_commune_2023_nis_2025 carries per-commune fiscal income (581 communes, NIS 2025 crosswalk alongside). The pilot summed it to one national total; binding it at commune or arrondissement grain adds hundreds of geographic income targets and gives the population a real commune assignment (which the regional benefit routing and communal surcharge rates need).

New packages, in priority order:

  1. Statbel households by size and region (household/family statistics from the national register, published annually by commune). Binds the household count — the pilot's weight sum floats at 4.38M vs ~5.0M actual households — and the size distribution that drives equivalization, child benefit ranks, and the couple/single split.
  2. Statbel fiscal income distribution by bracket (the fiscal statistics publication includes counts and amounts by income class, not just totals/means). Turns the single income total into a distribution constraint — directly fixes the "US wage shape" artifact (e.g. the work-bonus mass at low wages).
  3. ONSS employment by regime (open-data quarterly stats: employees by full-time/part-time, blue/white-collar, region). Gives part-time/full-time targets so workers stop being labeled uniformly full-time-full-year — the largest driver of low-wage divergence between the engines' FTE-based work-bonus machinery.
  4. SFPD / PensionStat.be pension statistics (beneficiary counts and pension mass by scheme and region). Required to extend the PIT base beyond wages — pensions are the largest missing income category (fiscal income EUR 274.7B vs EUR 159.7B wages).
  5. ONEM/RVA unemployment by region and category (the existing package is national; the publisher tables carry region/age/household-status splits). Feeds the now-encoded unemployment pipeline's household-status rates.
  6. SPF Finances PIT assessed by bracket (statistics of assessment by income class). An out-of-sample check on the tax distribution, not just the total.
  7. Statbel births by region (for the birth-allowance aggregate) and kids by single year of age × region (child-benefit age supplements reconciliation; the NUTS1 package's bands are too coarse for the 4/11/17 age steps).
  8. Eurostat/Statbel published SILC indicators for BE (median equivalized income, AROP by region, quintile shares — the published tables are open even though microdata is licensed). These become validation targets for the distributional outputs rather than calibration constraints.

Each package: publisher CSV(s) under db/data/<publisher>/<package>/, value_id rows with period, geography_id, unit, and source_url per the facts-only store conventions. populace's be/target_references.json then binds them in a calibration v2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions