← Back to all sparks
H

hicp

INFRA · APIS
Velocity0.0

Harmonised Index of Consumer Prices

Eurostat's inflation package moved its whole taxonomy to ECOICOP 2 and broke the old one on purpose.

inflationeurostatofficial-statisticscoicopindex-numbers
Current state
hicp downloads and computes the Harmonised Index of Consumer Prices, and it is maintained inside Eurostat rather than around it. Version 1.1.0 switches the package default to ECOICOP version 2 for HICP, converts the spec.aggs and countries datasets into functions that answer per COICOP version, and drops the bundle-code machinery that only the older classification needs.
Where it's heading
Two breaking releases in seven months, each clearing a different kind of debt. 1.0.0 settled the API: consistent download-function names, aggregation split into tree-following and user-defined halves, a settings object threaded through everything. 1.1.0 then spent that stability on the classification migration. Datasets keep turning into functions, which is the tell that the package expects to serve several COICOP versions at once rather than one at a time.
Prediction
The ecoicop1 compatibility path is defined but no longer the default, so the next question is how long it stays. Expect further helpers in the is.* family and continued movement of static data behind version-aware functions.

Recent moves

  1. 6mo ago

    Default classification moves to ECOICOP 2, retiring bundle codes

    ⚡ SPARK

    The release that changes which classification the package speaks by default, and it does so with breaking changes rather than a compatibility flag. Static datasets become version-aware functions, and the bundle machinery that only ECOICOP 1 needs is pushed out of the public surface.

    View source ↗
  2. 6mo ago

    Download functions accept all defaults via dots

    A plumbing release that removes an inconsistency users would have hit: some internally set defaults in datasets(), datafilters() and data() could not be overridden. Now all of them can, with tests loosened so an empty result is no longer an error.

    View source ↗
  3. 1y ago

    1.0 splits aggregation into tree-following and user-defined halves

    ⚡ SPARK

    The API-settling release that made the later classification migration tractable. It separates gradual aggregation up the COICOP tree from user-defined aggregates, renames the download and conversion functions into a consistent set, and introduces the settings object that 1.1.0 later builds on.

    View source ↗
  4. 2y ago

    Vignette build fix for one CRAN check flavour

    A single fix for vignette creation failing on one CRAN check flavour. No user-visible change.

    View source ↗
  5. 2y ago

    Global options and a settings argument make COICOP version selectable

    The release that first made the classification a parameter rather than an assumption, introducing the hicp.coicop.version option and a settings argument across is.coicop(), level(), parent(), child(), aggregate() and tree(). Both of the breaking releases that follow are edits to this design.

    View source ↗
  6. 2y ago

    Elementary index weight checks and chain() NA handling fixed

    Two bug fixes in index computation: an unnecessary weights check in the elementary index formulas, and chain() mishandling NAs at the reference period. Corrections within existing behaviour.

    View source ↗