Skip to content

Calibrate the undocumented population count as a Ledger fact (weights lane follow-up to #266) #267

Description

@MaxGhenis

#266 (fixing #225) assigns ssn_card_type / immigration_status_str labels from ASEC citizenship via the residual method, with only the undocumented worker/student EAD split forced to published controls. The total undocumented population is deliberately emergent (13.3M on the 2024 ASEC) and is only release-gated against a coarse plausibility band around Pew's 11.0M (2022) anchor — per the charter, representation belongs to calibration, not to label churn in a source stage.

The proper reconciliation is a calibration target in the facts lane:

  • Target: weighted person count with ssn_card_type == NONE (and optionally the non-citizen total, != CITIZEN), national grain to start.
  • Value + SE: a published unauthorized-population estimate with its uncertainty — Pew (11.0M in 2022, with later vintages as they publish), DHS OHSS, and/or CBO's 2023–24 estimates. Ledger should own the source package so the value carries a citation and standard error like every other fact, and vintage updates flow through normally.
  • Why weights and not labels: CPS undercoverage of unauthorized immigrants is household-level undercoverage; upweighting households that contain undocumented members (mixed-status households included) is the honest mechanism, unlike the incumbent's family-correlation step that relabeled Medicaid/Social Security recipients as undocumented to hit a total.
  • Protected-family candidate: once active, the SSN composition belongs in the protected-families list so a contribution can't degrade it silently — and the OBBBA CTC SSN reform-validation line (how Dataset imputes 100% of the population as citizens with valid SSNs (breaks SSN/citizenship-conditioned policies, e.g. OBBBA CTC) #225 was caught) becomes its out-of-sample check.

Depends on #266 landing (the label surface must exist before a target can bind on it).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions