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:
Acceptance
Related: #1 (broader future calibration extensions).
Background
vat_liability_sector(HMRC net VAT liability by trade sector) has been removed from the calibration objective — seeConfig.calibrate_vat_liability_sector = False(gated infirm_microsim/calibration.py). It is still computed and reported as an informational diagnostic infirm_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:
T9 Input and output taxand/or ONS ABS intermediate consumption, so per-sector net liability is reproducible rather than a by-product of unconstrained input draws.Config.calibrate_vat_liability_sector = Trueand (likely) raisingvat_liability_sector_importance.Acceptance
vat_liability_sectoraccuracy is positive and reasonable (target ≥ ~70%).Related: #1 (broader future calibration extensions).