Skip to content

Report which UK areas disclosure control withheld in local-area breakdown results #968

Description

@anth-volk

Problem

A UK local-area breakdown result (kind: local_areas) leaves out each constituency or local authority whose income change disclosure control withholds, but it doesn't say which areas those are. Clients therefore have to infer "withheld" from "absent".

PolicyEngine/policyengine-app-v2#1448 draws every absent area of the report's region as "Not reported" on the hex maps, and says the disclosure rules are the cause. An area can be absent for another reason, for example an area with no households in the local-area dataset. In its review, Pavel pointed out that such an area would then be mislabelled as withheld.

Proposal

For each level, return the ONS codes of the areas disclosure control withheld, beside the published records. For example, add optional constituency_withheld_codes: list[str] | None and local_authority_withheld_codes: list[str] | None to LocalAreaBreakdownOutput.

  • What counts as withheld: the areas the run estimated but didn't publish. An area the run never estimated, such as one with no households in the dataset, is not withheld and isn't listed.
  • Where to get them: from .py's disclosure release (UKGeographyDisclosure.release), or as the estimated areas minus the published ones.
  • Compatibility: the fields are optional, with None meaning "not reported by this release". Results from older executors still validate.
  • Also update: the gateway's golden OpenAPI, the generated clients and the changelog.

Notes

  • Deployment: executors for older .py versions never change. This reaches the 6.10.0 executor only if 6.10.0 is still the pinned version when it deploys.
  • Related: PolicyEngine/policyengine-api will pass the field through and document it, and the app will then hatch only the listed codes and show any other absent area as "No data".

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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