Standard macroeconomic discourse frequently relies on headline HICP (Harmonised Index of Consumer Prices) to assess price pressures. However, headline inflation is a single weighted average and can obscure critical structural dynamics:
prc_hicp_minr (unit: RCH_A, rate of change compared to same month of previous year).prc_hicp_iw (item weights in permille, updated annually).CP01 Food vs. CP0111 Bread), our recursive parsing algorithm extracts the terminal leaves of the classification tree for each economy:
CPxxxxx) where available.Let \(P_{i,c,t}\) denote the price index level of granular COICOP category \(i \in \mathcal{I}_c\) in country \(c\) at month \(t\). The annual year-over-year inflation rate \(r_{i,c,t}\) is given by:
\[r_{i,c,t} = \left( \frac{P_{i,c,t}}{P_{i,c,t-12}} - 1 \right) \times 100\%\]Each category \(i\) has an official Eurostat expenditure weight \(\omega_{i,c,y}\) in year \(y = \text{year}(t)\) expressed in permille (\(\sum \omega = 1000\)). The normalized basket weight \(w_{i,c,y}\) (in percent) is:
\[w_{i,c,y} = \frac{\omega_{i,c,y}}{\sum_{j \in \mathcal{I}_c} \omega_{j,c,y}} \times 100\%\]The Cumulative Diffusion Share \(S_{\tau, c, t}\) measures the percentage of the basket whose annual rate exceeds threshold \(\tau \in \{2\%, 5\%, 10\%\}\):
\[S_{\tau, c, t} = \sum_{i \in \mathcal{I}_c} w_{i,c,y} \cdot \mathbf{1}\{r_{i,c,t} > \tau\}\]where \(\mathbf{1}\{\cdot\}\) is the indicator function:
\[\mathbf{1}\{r_{i,c,t} > \tau\} = \begin{cases} 1, & \text{if } r_{i,c,t} > \tau \\ 0, & \text{otherwise} \end{cases}\]The contribution \(C_{[\tau_a, \tau_b), c, t}\) of a price-growth tier to overall headline HICP \(\Pi_{c,t}\) (in percentage points) is defined by the weighted sum of items falling within interval \([\tau_a, \tau_b)\):
\[C_{[\tau_a, \tau_b), c, t} = \sum_{i: r_{i,c,t} \in [\tau_a, \tau_b)} \left( \frac{w_{i,c,y}}{100} \right) \cdot r_{i,c,t}\]The four mutually exclusive tiers partition headline inflation additively:
\[\Pi_{c,t} = C_{(-\infty, 2\%), c, t} + C_{[2\%, 5\%), c, t} + C_{[5\%, 10\%), c, t} + C_{[10\%, \infty), c, t} = \sum_{i \in \mathcal{I}_c} \frac{w_{i,c,y}}{100} \cdot r_{i,c,t}\]To track pan-European disinflation without skew from small outlying economies or asymmetric weighting, the EU Median Diffusion is computed across all 27 EU member states:
\[\mathcal{M}_t(S_\tau) = \operatorname{median}_{c \in \text{EU}} \left\{ S_{\tau, c, t} \right\}\]