Skip to main content
Macro by Mark
  • Home
  • News
  • Calendar
  • Indicators
  • Macro
  • About
Sign inSign up
Macro by Mark

Global Economic Data, Empirical Models, and Macro Theory
All in One Workspace

Public data from government agencies and multilateral statistical releases, anchored in official sources

© 2026 Mark Jayson Nation

Product

  • Home
  • Indicators
  • News
  • Calendar

Macro

  • Overview
  • Models
  • Labs
  • Glossary

Learn

  • Concepts
  • Models
  • Schools
  • History
  • Docs

Account

  • Create account
  • Sign in
  • Pricing
  • Contact
AboutPrivacy PolicyTerms of ServiceTrust and securityEthics and Compliance

Data-Driven Models

Loading Data-Driven Models

Macro by Mark

Unlock Full Macro Model Library with Starter.

This feature is exclusively available to Starter, Research, and Pro. Upgrade when you need this workflow, review pricing, or send a question before changing plans.

Upgrade to StarterView pricingQuestions?Already subscribed? Sign in

What you keep on Free

  • Create and edit one custom board
  • Use up to 3 widgets on each Free board
  • Browse indicators and calendar
← ModelsOverviewHistoryConceptsModelsSchools

Semi-structural core
Model

A core block of estimated macro equations -- output, inflation, labor, policy -- wired together without full DSGE micro-foundations.

How do you impose structural economic relationships on a forecasting model without committing to a fully micro-founded DSGE specification?

Background

Fully atheoretical models like VARs treat every variable symmetrically and let the data decide everything. Fully structural models like DSGE impose general equilibrium from first principles. Central banks found both extremes unsatisfying. VARs produce good short-horizon forecasts but cannot answer policy counterfactuals. DSGE models can answer counterfactuals but forecast poorly at horizons that matter for monetary-policy decisions. The semi-structural approach splits the difference: impose a small number of structural equations grounded in economic theory (IS curve, Phillips curve, policy rule, exchange rate arbitrage), but estimate their coefficients from the data rather than deriving them from household optimization. The Bank of Canada's Quarterly Projection Model (QPM, 1994) and the Reserve Bank of New Zealand's FPS were early examples. The IMF's FPAS framework (Berg, Karam, and Laxton 2006) generalized the approach for member-country surveillance.

A semi-structural core typically contains four to six behavioral equations. An IS-type equation links the output gap to the real interest rate gap, the real exchange rate gap, and foreign demand. A Phillips-curve equation links inflation to the output gap, expected inflation, and import prices. A monetary-policy reaction function (Taylor-type rule) links the nominal interest rate to the inflation gap and the output gap. An uncovered interest parity condition links the exchange rate to the interest differential. Trend-cycle decomposition equations separate each observed variable into a stochastic trend (potential output, equilibrium real rate, trend inflation) and a cyclical gap. The gaps, not the levels, drive the behavioral equations.

What distinguishes the semi-structural core from reduced-form VARs is the a priori identification of structural shocks. What distinguishes it from DSGE is the absence of explicit intertemporal optimization or cross-equation restrictions derived from micro foundations. Parameters are estimated or calibrated equation by equation. Expectations can be model-consistent (forward-looking, iterated from the model's own solution) or adaptive (backward-looking weighted averages). Most implementations use a mix: forward-looking expectations in the Phillips curve and policy rule, backward-looking dynamics in the IS curve.

The Czech National Bank's g3 model, the Bank of Canada's LENS/ToTEM-II hybrid system, and the IMF's Global Projection Model all use semi-structural cores. These models are the workhorse for medium-term forecasting (4-8 quarter horizon) and scenario analysis at inflation-targeting central banks. They are updated quarterly with judgment overlays--staff can adjust trends, impose conditioning paths for commodity prices or fiscal policy, and override model-implied gaps when the filter produces implausible estimates.

How the Parts Fit Together

Inputs consist of a small set of observed macroeconomic variables: real GDP (or a proxy), CPI inflation, the policy interest rate, the nominal exchange rate, and sometimes the terms of trade or fiscal balance. Each observed variable is decomposed into a trend and a gap. The trend components (potential output, equilibrium real interest rate, trend inflation) follow random walks or local linear trends with estimated drift. The gap components (output gap, real interest rate gap, real exchange rate gap) are the deviations of observed variables from their trends. This decomposition is typically performed with a multivariate Kalman filter or a Hodrick-Prescott-style penalty embedded in the estimation.

The behavioral core consists of IS curve, Phillips curve, monetary policy rule, and UIP condition, all written in gap form. The IS curve: y_gap_t = beta_lag * y_gap_{t-1} + beta_lead * E_t[y_gap_{t+1}] - beta_r * r_gap_t + beta_z * z_gap_t + epsilon_IS. The Phillips curve: pi_t = alpha_lead * E_t[pi_{t+1}] + (1 - alpha_lead) * pi_{t-1} + alpha_y * y_gap_t + alpha_z * Delta z_t + epsilon_Phillips. The policy rule: i_t = gamma_lag * i_{t-1} + (1 - gamma_lag) * (r_star_t + pi_star + gamma_pi * (pi4_t - pi_star) + gamma_y * y_gap_t) + epsilon_MP. The UIP: z_gap_t = delta * E_t[z_gap_{t+1}] + (r_gap_t - r_gap_foreign_t) / 4 + epsilon_UIP.

Estimation and calibration vary by institution. Some parameters (expectations weights, policy rule coefficients) are calibrated from institutional priors or micro evidence. Others (persistence, shock variances) are estimated by maximum likelihood, Bayesian methods, or a combination of both. The Kalman filter provides the likelihood function and simultaneously filters the unobserved trends and gaps. The model is solved as a linear rational expectations system when forward-looking expectations are present, typically using the method of Blanchard-Kahn (1980) or Anderson-Moore (AIM) algorithm.

Applications

The IMF uses the FPAS semi-structural framework for Article IV surveillance missions in over 40 member countries. The model provides a consistent language for output-gap estimation, inflation forecasting, and policy-rate path advice. The Czech National Bank's g3+ model, a semi-structural core, directly feeds into the Monetary Policy Department's quarterly forecast, which the Board uses for interest-rate decisions. The Reserve Bank of India adopted a semi-structural model (DSGE-lite) for inflation targeting after 2016.

Beyond point forecasts, semi-structural models excel at scenario and risk analysis. Staff impose alternative paths for oil prices, fiscal spending, or exchange rates, re-solve the model, and present fan charts to policymakers. The Bank of England's COMPASS model and Norges Bank's NEMO both use semi-structural cores with satellite modules for sectoral detail. The approach has been adapted for climate scenario analysis by layering carbon-price shocks through the Phillips curve and potential-output channels.

Calibration-heavy variants are used for teaching and training at the IMF Institute, the Joint Vienna Institute, and central bank staff colleges. The transparency of the IS-Phillips-Taylor structure makes the model a pedagogical entry point before students encounter DSGE. This is a strength: the model's simplicity is the reason it survived alongside DSGE, not despite it.

Do not use a semi-structural core when the question involves sectoral reallocation (the model has one aggregate output gap), financial stability (no credit or asset-price channels unless bolted on), distributional effects (representative agent by construction), or structural transformation (the Kalman filter's random-walk trends cannot handle discrete regime changes in potential growth).

Literature and Extensions

Key Papers

  • Berg, Karam, and Laxton (2006) -- IMF FPAS framework: codified the semi-structural approach as a standard forecasting and policy analysis system for central banks
  • Carabenciov et al. (2008) -- Global Projection Model: multi-country semi-structural model used for the IMF's World Economic Outlook projections
  • Benes et al. (2010) -- Czech National Bank's g3 model: open-economy semi-structural core with financial conditions index and risk premium dynamics
  • Blanchard and Kahn (1980) -- solution method for linear rational expectations models, required for forward-looking semi-structural systems
  • Laubach and Williams (2003) -- time-varying r* estimation using a semi-structural framework with Kalman filter, widely adopted by the Federal Reserve

Named Variants

  • QPM (Bank of Canada, 1994): the original semi-structural quarterly projection model with model-consistent expectations and endogenous credibility
  • FPAS-lite (IMF): reduced 4-equation core for small developing economies with limited data availability
  • GPM (Global Projection Model): multi-country extension with trade and financial linkages between US, Euro area, Japan, and emerging markets
  • COMPASS (Bank of England): semi-structural core with DSGE-consistent micro foundations for a subset of equations
  • NEMO (Norges Bank): oil-exporting small open economy variant with commodity-sector satellite module

Open Questions

  • How should semi-structural models handle the effective lower bound on interest rates? Adding a ZLB constraint makes the model nonlinear and breaks standard solution methods.
  • Can machine-learning-estimated Phillips curves (nonparametric or neural-network-based) replace the linear specification without losing interpretability for policy communication?
  • How do you calibrate expectations formation weights (forward vs. backward) when survey data on expectations is limited or unreliable?

Components

y~t\tilde{y}_ty~​t​Output gap

Deviation of log real GDP from potential output. Drives Phillips curve inflation and responds to monetary-policy-induced changes in the real interest rate gap.

πt\pi_tπt​Inflation (headline or core)

Quarter-over-quarter or year-over-year CPI inflation. Modeled as a function of expected inflation, the output gap, and imported-price pressures.

iti_tit​Policy interest rate

Nominal short-term interest rate set by the central bank according to a Taylor-type reaction function.

r~t\tilde{r}_tr~t​Real interest rate gap

Real policy rate minus the time-varying equilibrium real rate r*. Negative values stimulate activity; positive values restrain it.

z~t\tilde{z}_tz~t​Real exchange rate gap

Real effective exchange rate deviation from its equilibrium trend. Appreciation (positive gap) tightens monetary conditions via import-price and demand channels.

yˉt\bar{y}_tyˉ​t​Potential output (trend)

Stochastic trend component of real GDP, modeled as a random walk with time-varying drift (potential growth). Estimated jointly with the gap via Kalman filter.

rt∗r^*_trt∗​Equilibrium real interest rate

Time-varying neutral rate consistent with output at potential and inflation at target. Often modeled as a random walk or linked to trend growth.

εtIS,εtπ,εtMP,εtUIP\varepsilon_t^{\text{IS}}, \varepsilon_t^{\pi}, \varepsilon_t^{\text{MP}}, \varepsilon_t^{\text{UIP}}εtIS​,εtπ​,εtMP​,εtUIP​Structural shocks

Identified demand shock (IS), cost-push shock (Phillips), monetary policy shock, and exchange rate risk premium shock. Mutually orthogonal by assumption.

Assumptions

Gap linearityTestable

All behavioral relationships are linear in the gaps. Output gap, inflation gap, and interest rate gap interact proportionally with no threshold effects or asymmetries.

If violated: Nonlinear Phillips curves (convex at low unemployment) or asymmetric IS responses (ZLB) are missed. The model underestimates inflation at tight labor markets and cannot capture liquidity traps.

Trend-cycle separabilityMaintained

Each observed variable decomposes cleanly into a slowly moving trend and a stationary gap: X_t = bar{X}_t + tilde{X}_t. The trend is independent of the gap conditional on the model's state.

If violated: Hysteresis (recessions permanently lowering potential) violates separability. Filtered output gaps will be biased toward zero at the end of deep recessions, producing systematically wrong policy prescriptions.

Rational or quasi-rational expectationsMaintained

Agents form expectations of future inflation and output gaps consistent with the model's own law of motion (model-consistent expectations) or as a weighted average of forward-looking and backward-looking components.

If violated: If expectations are heterogeneous or formed through non-model-consistent heuristics (e.g., sticky information), the model misprices the speed of adjustment to shocks and overestimates the impact of forward guidance.

Structural stabilityTestable

Coefficients in the IS curve, Phillips curve, and policy rule are constant over the estimation window. The monetary policy regime does not change.

If violated: Regime shifts (inflation targeting adoption, ZLB episodes, pandemic responses) make pre-break estimates unreliable for post-break forecasting. Parameters like the Phillips curve slope may shift after anchoring.

Small-open-economy structure (for open-economy variants)Testable

The domestic economy is too small to affect foreign variables. Foreign output gap, foreign interest rate, and foreign inflation are exogenous.

If violated: For large economies (US, China, Eurozone) or during global synchronized shocks, the small-open-economy assumption produces inconsistent cross-country forecasts. Spillbacks are ignored.

Shock orthogonalityTestable

Structural disturbances epsilon_IS, epsilon_pi, epsilon_MP, epsilon_UIP are mutually uncorrelated at all leads and lags.

If violated: Correlated shocks (stagflation: simultaneous demand collapse and cost-push) produce biased impulse responses. The model attributes joint movements to whichever equation fits best, not to a common cause.