Skip to content

Model imported energy inflation explicitly in household CPI #419

@speedcom

Description

@speedcom

Problem

The model currently captures imported inflation through two reduced-form channels:

  • FX/import pass-through in PriceLevel.importPush
  • commodity / energy cost pass-through into firm P&L and Calvo markups

That is directionally correct, but it is still missing the direct household-CPI channel that dominated Polish inflation during episodes like COVID supply shocks and the Russia-Ukraine energy shock.

In the current implementation, an energy shock is represented mainly as a producer-cost shock. There is no explicit household energy basket component (electricity, gas, heating, fuels) with administered pricing / tariff smoothing / delayed pass-through.

Why this matters

For an agent-based macro model, imported inflation should be modeled explicitly enough to distinguish:

  • FX-driven imported inflation
  • commodity / energy shock inflation
  • direct household energy CPI effects
  • delayed / buffered pass-through via regulated prices and state-owned suppliers

Without that split, 2021-2023 style inflation is only partially represented.

Current code shape

Relevant pieces today:

  • PriceLevel.importPush depends on FX deviation and aggregate import propensity
  • GvcTrade provides commodityPriceIndex and importCostIndex
  • Firm.energyAndEtsCost passes commodity prices into producer costs
  • CalvoPricing.energyCostPressure passes part of that into firm markups
  • StateOwned.effectiveEnergyPassthrough partially buffers pass-through

This is useful, but still too indirect for household CPI energy inflation.

Proposed direction

Add an explicit imported-energy inflation block, for example:

  1. introduce a household energy CPI component (electricity / gas / heating / fuels)
  2. drive it from commodityPriceIndex, importCostIndex, and FX
  3. add administered-price / tariff smoothing and optional temporary freezes
  4. keep SOE / public buffering as a separate pass-through layer
  5. aggregate headline CPI from core + food + energy-style components, or at least from core + explicit energy component

Acceptance criteria

  • a commodity shock can raise CPI even without a large PLN depreciation
  • the model distinguishes direct household energy inflation from producer-cost pass-through
  • tariff buffering / delayed pass-through can be switched on and calibrated
  • diagnostic output can show how much CPI comes from FX vs commodity/energy vs domestic channels

Notes

This is not just a calibration tweak. It is a structural gap in inflation modeling for a Poland-style open economy with energy import dependence and regulated price buffering.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3:hardDeep structural change, high regression riskarea:externalBoP, FX, GVC, FDI, tourism, remittanceseconomy:polandPoland-specific institution, calibration, or mechanismtype:improvementTechnical enhancement, output, tooling

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions