Methodology

How UICPI collects data, constructs the index, and tests for Granger causality against official CPI.

1. Data Collection

UICPI collects restaurant menu prices from two sources: (1) live scraping of food delivery and restaurant aggregator platforms (Zomato, GrabFood, GoFood, Deliveroo, JustEat, Uber Eats, Yelp) and (2) historical archive reconstruction via the Wayback Machine to extend series back to 2018.

Item names are classified into food categories (RICE_DISH, NOODLE_DISH, SOUP_STEW, BREAD_PASTRY, etc.) using an NLP pipeline combining keyword matching and language detection across English, Malay, Indonesian, Thai, and Hindi.

All prices are converted to USD at collection-date exchange rates to enable cross-country comparison.

2. Chain vs Independent

UICPI uses "chain" and "independent" as the human-facing labels for the two sub-indices. The economic content below uses the legacy "formal sector" / "informal sector" terminology under review.

Formal sector restaurants are defined as registered businesses listed on major food delivery platforms with consistent branding and menu structure: sit-down restaurants, fast food chains, and café chains.

Informal sector vendors are defined as unbranded or lightly branded single-stall operations typically associated with street food culture: hawker stalls (Singapore/Malaysia), warung (Indonesia), food courts, roadside vendors. These are identified by low price points, absence of a formal business name, and listing in hawker-specific sections of aggregator platforms.

In economies such as Indonesia, India, and Thailand, the informal food sector represents 40–65% of household food expenditure (UNDP data) yet remains entirely absent from all existing alternative price indices.

3. Index Construction

The UICPI follows a Laspeyres-type chain-linked index. For each country and month:

  1. Item-level price relatives are computed: pt / p0 where p0 is the base period price.
  2. Relatives are averaged within food categories (RICE_DISH, NOODLE_DISH, etc.) weighted by item count.
  3. Category relatives are aggregated to sector-level sub-indices (chain, independent).
  4. The combined UICPI is a weighted average of chain and independent sub-indices (default weights: 50/50, robustness-tested at ±10pp).

All indices are normalised to 100 at the base month. Where matched-model overlap is insufficient, a mean-price fallback method is used (flagged in the coverage_note field).

4. Matched-Model Approach

Following Cavallo & Rigobon (2016), UICPI attempts to track identical or closely matched items across time periods. A matched pair exists when the same restaurant and item name appears in both the current and base period.

When matched-model overlap is below a minimum threshold (currently 2 items), the index falls back to average price relatives computed from all available items in that category and month. This fallback is transparent — all index observations carry a coverage_note field indicating the method used.

Singapore, which has the largest dataset (6,527 price observations), has the highest matched-model coverage; other countries currently rely primarily on the mean-price fallback pending additional data collection.

5. Granger Causality Testing

To test whether UICPI leads official CPI, we apply the Granger causality testfollowing Cavallo & Rigobon (2016, Review of Economics and Statistics):

  1. Both UICPI and CPI series are first-differenced to achieve stationarity (verified by ADF test).
  2. Lag order is selected by AIC (max 6 lags for monthly data, 3 for annual).
  3. F-test of joint significance of lagged ΔUICPI terms in the ΔCPI equation. A significant result (p < 0.10) indicates UICPI Granger-causes CPI.
  4. The lag at which the F-statistic is maximised is reported as the estimated lead time in months.

Data requirement: ≥24 monthly observations per country. Current dataset has 10–15 observations per country — full testing will be enabled once monthly collection is complete.

6. Pass-Through Regression

To test the hypothesis that informal vendors exhibit lower cost pass-through than formal restaurants, we estimate:

Δln Psectort = α + β × Δln CPIt + εt

A coefficient β = 1 indicates full pass-through (prices move one-for-one with official CPI). β < 1 indicates partial absorption. The hypothesis predicts βinformal< βformal — informal vendors absorb more of any input cost increase rather than passing it to consumers.

7. Comparison vs Big Mac Index and BPP

FeatureBig Mac IndexMIT BPPUICPI ★
ScopeSingle item (Big Mac)Online retail goodsRestaurant menus + hawker stalls
Sector coverageChain only (McDonald's)Chain only (e-commerce)Chain + Independent
Service sectorNoNoYes
Independent vendorsNoNoYes
Collection methodManual annual surveyAutomated web scrapingAutomated web scraping + archives
Countries (developing)LimitedMostly developed8 incl. 4 emerging
Update frequencyAnnualDailyMonthly (in progress)
Lead indicator testNoYes (chain restaurants)Yes (chain + independent)

BPP = MIT Billion Prices Project (Cavallo & Rigobon 2016). ★ UICPI is the only index to cover the informal food economy.

Key References

  • Cavallo, A. & Rigobon, R. (2016). The Billion Prices Project: Using online prices for measurement and research. Journal of Economic Perspectives, 30(2), 151–178.
  • The Economist. (1986). The Big Mac Index. The Economist.
  • UNDP. (2021). Informal food systems and household expenditure in developing economies. United Nations Development Programme.
  • Granger, C.W.J. (1969). Investigating causal relations by econometric models and cross-spectral methods. Econometrica, 37(3), 424–438.