Skip to content

Restore VAT-liability-by-sector as a calibration target #2

Description

@vahid-ahmadi

Background

vat_liability_sector (HMRC net VAT liability by trade sector) has been removed from the calibration objective — see Config.calibrate_vat_liability_sector = False (gated in firm_microsim/calibration.py). It is still computed and reported as an informational diagnostic in firm_microsim/validate.py, but it no longer feeds the weight optimizer.

Why it was removed

The model fixes firm inputs and sets liability = turnover − input, but does not yet calibrate the input/output tax structure. As a result the sector-level net liability is structurally unhittable — it over/under-shoots for individual sectors (badly for small ones) and competed with the dimensions the paper relies on. Concretely it scored 43.9% (2023-24) and −121.1% (2024-25, sign-broken), dragging the naive 6-dimension mean down even though the five core dimensions calibrate well (~89–90%).

Removing it lets the optimizer focus on the five calibrated dimensions (HMRC turnover bands, ONS population, employment, sector counts, VAT liability by band) and gives a cleaner, defensible headline accuracy.

What restoring it requires

Restoration should come after the input/output calibration work (tracked in #1), specifically:

  • Calibrate the input/output tax structure using HMRC T9 Input and output tax and/or ONS ABS intermediate consumption, so per-sector net liability is reproducible rather than a by-product of unconstrained input draws.
  • Then re-enable the target by setting Config.calibrate_vat_liability_sector = True and (likely) raising vat_liability_sector_importance.
  • Consider flooring the per-sector accuracy metric at 0 (the current sign-aware metric is uncapped and over-penalizes tiny sectors), so the dimension is scored fairly once calibrated.

Acceptance

  • With input/output calibration in place, vat_liability_sector accuracy is positive and reasonable (target ≥ ~70%).
  • Re-enabling it does not materially degrade the five core dimensions.

Related: #1 (broader future calibration extensions).

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