Macro-to-Consumer Price Impact Simulator

How could oil, war, and currency
affect what you pay?

Select a country and a consumer category. We'll show you how upstream commodity and currency shocks could flow into everyday prices — transparently, with every assumption visible.

Important: This tool estimates a scenario ceiling under 100% pass-through. It is not a price forecast, not a shelf-price tracker, and does not claim direct causation.

Scenario estimator only. All outputs show an upper-bound ceiling assuming 100% pass-through of upstream costs. Actual retail prices depend on competition, policy, logistics, and market structure. This is not financial advice.

Example impact estimates
See how macro shocks translate to consumer categories

Each card below shows a sample scenario. Click any card to open the full simulator with that selection pre-loaded.

🇵🇭
Russia–Ukraine War
Philippines · Bread & Cereals
Wheat +38% · Peso –12% · Oil +22%
+18.4% maximum estimated
price increase
Bread prices could rise up to 18.4% if all upstream wheat, fuel, and currency costs pass through to consumers. Based on 12-month lag.
Full Coverage High Confidence Validated
🇪🇬
Russia–Ukraine War
Egypt · Cooking Oil
Soybean +44% · Sunflower +61% · EGP –35%
+52.1% maximum estimated
price increase
Cooking oil prices could surge up to 52.1% driven by soybean and sunflower cost spikes combined with a sharp currency devaluation. Based on 6-month lag.
Full Coverage Very High Pressure
🇧🇷
Russia–Ukraine War
Brazil · Household Fuel
Crude Oil +30% · BRL –8% · Refinery margin +15%
+11.2% maximum estimated
price increase
Household fuel costs could rise up to 11.2% from crude oil price spikes and currency weakness flowing through refinery margins. Immediate impact.
Partial Coverage Medium Confidence
🇮🇳
Russia–Ukraine War
India · Vegetables
Fertilizer +28% · Diesel +18% · INR –4%
+9.7% maximum estimated
price increase
Vegetable prices could increase up to 9.7% as fertilizer and diesel cost surges raise farming and transport expenses. Based on 3-month lag.
Full Coverage Validated
📖

How to read these estimates

Each number is a scenario ceiling — the maximum estimated consumer price movement if 100% of upstream cost changes were passed directly through to buyers. In reality, actual pass-through is often 30–70% of this ceiling due to competition, regulation, and retailer margin absorption. The methodology page explains this in full.

Our mission

Translating macro shocks
into everyday understanding

Most people hear about oil spikes, currency crises, or grain shortages — but they can't connect those headlines to what they pay for bread, fuel, or cooking oil. This product builds that bridge, transparently, with every assumption and confidence level visible. We are a scenario estimator, not a prediction engine.

12+
countries in V1
10
consumer categories
6
macro factor types
100%
transparent assumptions

Impact Simulator

Select a conflict and consumer category to see which countries are most and least affected, with estimated price impact ceilings.

Loading latest closing prices…
Source: SerpAPI / Google Finance & World Bank  · 
Crude Oil NYMEX
 
USD/bbl
Natural Gas NYMEX
 
USD/mmbtu
Gold COMEX
 
USD/oz
Aluminium COMEX
 
USD/lb
Copper COMEX
 
USD/lb
Urea (Fert.) OTC·WB
 
USD/mt · MoM
Note: Crude Oil, Natural Gas, Gold, Copper, Aluminium via SerpAPI / Google Finance (near-realtime). Urea via World Bank (monthly close). Prices cached for 24 hours.
Help us build a better model

You've explored 2 free scenarios

Share your email or phone so we can improve the model, fix data gaps, and prioritize the countries and categories that matter most to you. Completely free — no spam, no paywall.

Please enter a valid email or phone number.

Your details help us prioritize research. Never shared.

Thank you — you're all set!

Unlimited access unlocked. We may reach out to hear your thoughts.

Russia–Ukraine War
Feb 2022 – Present (ongoing)
🌾 Wheat +38% ⚡ Natural Gas +220% 🌱 Fertilizer +65% ⚡ Brent +22% 🪙 FX volatility High
Category
🍞 Bread & Cereals
Pass-Through
100% (Full Ceiling)
Lag Profile
6-Month
Data As Of
Purchasing Power Erosion (historical, during conflict window)
Top 5 Most Impacted Countries
🇪🇬
Egypt · Bread & Cereals
Russia–Ukraine War · 100% pass-through · 6-month lag
Factor Contribution Breakdown
Top 5 Least Impacted Countries

Household Basket Impact

Select multiple categories to build a weighted household basket and see the combined estimated impact ceiling.

Select categories to include
🇵🇭 Philippines · Jan 2022–Jan 2023
🍞
Bread & Cereals
CPI weight: 18.2%
+18.4%
✓ In Basket
🫙
Cooking Oil
CPI weight: 6.8%
+31.2%
✓ In Basket
Household Fuel
CPI weight: 9.1%
+22.7%
✓ In Basket
🥚
Eggs
CPI weight: 4.2%
+14.1%
+ Add
🥦
Vegetables
CPI weight: 7.5%
+9.7%
+ Add
🍗
Meat & Chicken
CPI weight: 11.4%
+16.3%
+ Add
Weighted basket impact ceiling
+23.1%
3 categories · 34.1% of CPI basket weight
This is a scenario ceiling assuming 100% pass-through of all upstream cost changes. Actual realized price movements for this basket were approximately +14.8% in the same period.
Basket Contribution by Category
Weighted by national CPI category weights. Basket total: +23.1% ceiling. Realized: ~+14.8%.

How this model works

Every number on this site comes from a simple, transparent calculation. This page explains the logic, the assumptions, and the limitations in full.

Core concept

A simple pipeline from macro to consumer

The model follows a single directional pipeline. Upstream commodity or currency changes are scaled by category-level exposure coefficients, adjusted for import dependence and FX, then time-lagged to produce an estimated ceiling impact.

// Simplified V1 impact ceiling formula (versioned: v1.0)

EstimatedImpactCeiling =
  PassThrough × Σ(
    FactorChange[i] ×
    ExposureCoefficient[category, factor] ×
    FXImportAdjustment[country, factor] ×
    LagAdjustment[profile]
  )

// Default: PassThrough = 1.0 (100%), configurable to 0.25/0.50/0.75 // LagAdjustment: 1.0 (immediate), 0.95 (3m), 0.88 (6m), 0.75 (12m)
01

What "100% pass-through" means

We assume the entire upstream cost change is passed onto the consumer with no absorption by retailers, distributors, or government. This is almost never true in practice. It gives the maximum plausible ceiling and is clearly labeled as such on every output.

02

Direct vs indirect exposure

Direct exposure: the category uses the commodity directly (e.g., bread uses wheat). Indirect exposure: the commodity affects production costs that flow into the category (e.g., diesel raises transport costs for all food). Both are modeled separately with distinct coefficients.

03

FX and import adjustment

For imported commodities, the local-currency cost depends on both the world price and the exchange rate. We apply an import-weighted FX adjustment per country and commodity. Fully domestic categories receive a lower FX sensitivity score.

04

Lag profiles

Commodity shocks rarely reach shelf prices instantly. We offer four lag horizons: immediate, 3-month, 6-month, and 12-month. Longer lags produce lower ceiling estimates because shocks dissipate. The default 6-month lag is a reasonable midpoint for food categories.

05

Why country-level precision, not city-level

Local pricing depends on local competition, logistics, regulation, and retailer structure. Our model has defensible national-level data from official CPI and trade statistics. City-level claims from macro data alone would be misleading precision.

06

What this model cannot do

It cannot predict exact future prices, capture policy interventions (subsidies, price controls), model informal economy dynamics, or account for supply disruptions not reflected in commodity prices. These limitations are real and we do not hide them.


⚠️

This is a scenario tool, not a forecast engine

Every output on this site represents what would happen if 100% of upstream cost changes reached consumers — which is an upper bound that rarely occurs in practice. The gap between our ceiling and realized inflation is expected and is shown explicitly on the Validation page. We treat that gap as a feature, not a flaw.

Model Validation

Where we have realized inflation data, we compare our model's ceiling estimate to what actually happened. We never hide poor model fit.

What good model performance looks like

A good scenario ceiling should consistently be above realized inflation — since full 100% pass-through is the upper bound. A gap of +3 to +8 percentage points is consistent with the model working as intended. A gap near zero suggests the model may be under-estimating exposure. A very large gap (15pp+) may indicate coefficient problems or structural market interventions.

Model Ceiling vs Realized Inflation — Ukraine War Window (Jan 2022 – Jan 2023)
Selected categories, selected countries. Gray = modeled ceiling. Color = realized CPI movement.
Country Category Modeled Ceiling Realized Inflation Gap (pp) Implied Pass-Through Validation Source Notes
🇵🇭 PhilippinesBread & Cereals+18.4%+12.1%+6.3~66%PSA CPIConsistent with partial retail absorption
🇪🇬 EgyptCooking Oil+52.1%+47.8%+4.3~92%CAPMASHigh pass-through environment, limited subsidies
🇮🇳 IndiaVegetables+9.7%+8.1%+1.6~83%MoSPI CPINear-full pass-through for unprocessed category
🇧🇷 BrazilHousehold Fuel+11.2%+6.4%+4.8~57%IBGE IPCAPetrobras pricing policy absorbed ~43%
🇹🇷 TürkiyeBread & Cereals+24.1%+68.2%–44.1>100%TÜİK⚠ TRY collapse amplified far beyond commodity exposure. Model structural miss — currency crisis outpaced model inputs.
🇳🇬 NigeriaCooking Oil+38.6%+44.1%–5.5>100%NBSFX black market premium not fully captured in model inputs
🇵🇰 PakistanMilk & Dairy+19.3%+31.8%–12.5>100%PBS⚠ Energy subsidy removal during period not captured
⚠ Model known failure modes

The model systematically underestimates in countries experiencing parallel currency crises (NGN, PKR, TRY), because the official FX rate diverges from actual import prices. We flag this explicitly with a "Structural Caveat" label in affected country outputs.

Data Sources

Every factor, coefficient, and validation series used in this model is listed here with its source, coverage, and update cadence.

Coverage map — V1 countries

Country data coverage

🇵🇭
Philippines
Full Coverage
🇪🇬
Egypt
Full Coverage
🇮🇳
India
Full Coverage
🇧🇷
Brazil
Full Coverage
🇳🇬
Nigeria
Partial Coverage
🇵🇰
Pakistan
Partial Coverage
🇮🇩
Indonesia
Partial Coverage
🇲🇦
Morocco
Partial Coverage
🇹🇷
Türkiye
Experimental
🇺🇦
Ukraine
Experimental
🇰🇿
Kazakhstan
Not Yet Available
🇻🇳
Vietnam
Not Yet Available
Full: factor data + coefficients + validation
Partial: factor data + coefficients, limited validation
Experimental: rough coefficients only

Macro factor sources

World Bank Commodity Prices (Pink Sheet)

Energy · Grains · Fertilizers · Metals

Monthly commodity price series covering crude oil, natural gas, wheat, maize, soybeans, DAP fertilizer, and major base metals. Used as primary macro factor input series.

Monthly update Global coverage Free / Public

IMF International Financial Statistics

FX Rates · Macro Context

Official bilateral and effective exchange rates for all model countries. Used for FX adjustment in import-exposed categories. Monthly frequency.

Monthly update Global coverage

FAO Food Price Index

Food Grains · Dairy · Oils · Sugar · Meat

Aggregate and sub-component food commodity indices. Used as secondary validation for grain and oil price trend direction and magnitude.

Monthly update Free / Public

EIA Crude Oil & Energy Data

Energy · Refinery Products

Brent and WTI crude prices, refined product prices, and weekly storage data. Used for energy factor inputs and refinery margin estimates.

Weekly update

Validation & coefficient sources

National CPI Series

Validation · Category weights

Official CPI data from PSA (Philippines), CAPMAS (Egypt), MoSPI (India), IBGE (Brazil), NBS (Nigeria), and equivalent national statistical offices. Used for validation overlay and CPI basket weights.

Monthly / Quarterly Country-specific

UN Comtrade Import Structures

Import dependence · FX exposure

Country-level commodity import shares for calibrating import-dependence coefficients. Used to weight FX sensitivity by category and country.

Annual update Good coverage