Modeled changes in before-duty bilateral import values, a CES import price index, tariff revenue, consumer compensation and descriptive supplier allocations following specified tariff changes.
Surface: /tariff-simulator
BACI 202601 (CEPII), HS96, 1996-2024 (retrieved 2026-06-01); BACI 202601 (CEPII), bilateral product panel, HS02-HS22, 2002-2024 (retrieved 2026-06-01)
Observed BACI bilateral-product flows are used where available. Uncovered product-years use explicitly labeled proportional allocation from aggregate bilateral trade. Values are converted from thousands of USD to USD; each result records source revisions and fallback coverage.
The CES calculation holds baseline utility and producer prices fixed. Baseline expenditure shares include the supplied baseline tariffs. The ten largest countries by trade are represented separately, together with the country of interest and policy countries; all others are grouped as ROW.
HS6 substitution elasticities come from Soderbery (2018). Single-product scenarios use the stored magnitude; multi-product scenarios weight magnitudes by the country of interest’s exports, with a minimum weight of one in the stored thousands-USD units. Products without estimates are omitted from a mixed basket’s elasticity average. Sigma = 4 is used only when no scenario estimate is available.
The consumer effect is the negative of the extra expenditure needed to maintain baseline utility. The reported net effect adds the change in tariff revenue. Producer surplus is zero under fixed producer prices and perfectly elastic supply.
Supplier losses and gains are allocated proportionally within each importer, bounded by both budgets. Only the ten largest allocations are displayed. This accounting attribution does not identify actual rerouting.
The separate GET estimator applies an HS4 import-demand elasticity to a tariff change relative to the latest available MFN baseline.
price_ratio(i,j) = (1 + tariff_new(i,j)) / (1 + tariff_old(i,j))E0(j) = sum_i X0(i,j) * (1 + tariff_old(i,j)); X0 and X1 are before-duty USDshare(i,j) = X0(i,j) * (1 + tariff_old(i,j)) / E0(j)P(j) = [ sum_i share(i,j) * price_ratio(i,j)^(1-sigma) ]^(1/(1-sigma))P(j) at sigma = 1: exp(sum_i share(i,j) * log(price_ratio(i,j)))quantity_ratio(i,j) = price_ratio(i,j)^(-sigma) * P(j)^sigmaX1(i,j) = X0(i,j) * quantity_ratio(i,j)consumer_change(j) = E0(j) * (1 - P(j))revenue_new(j) = sum_i tariff_new(i,j) * X1(i,j)net(j) = consumer_change(j) + sum_i [tariff_new(i,j)*X1(i,j) - tariff_old(i,j)*X0(i,j)]import_change_pct = epsilon * [ tariff_change / (100 * (1 + baseline_tariff)) ] * 100| Path | Method | Returns | Example |
|---|---|---|---|
| /api/tariffs/simulate | GET | The HS4 elasticity, tariff change, implied import change, latest global trade value, dollar impact, and the latest MFN baseline summary where available. | /api/tariffs/simulate?hs4=0101&tariff_change=10 |
| /api/policy-simulator/simulate | POST | Before-duty trade matrices, CES price indices, scenario revenue, consumer compensation, compensation plus revenue change, descriptive supplier allocations, source metadata, sensitivity results and optional static phase-in calculations. | Not linkable |