Arte SheetsLearn. Try. Understand.

Macroeconomics & DSGE Modeling

Calvo Staggered Pricing & New Keynesian Phillips Curve Slope

Derive mean price duration 1/(1 - theta), structural NKPC marginal-cost slope kappa = (1 - theta)*(1 - beta*theta)/theta, and quarterly inflation pi_t.

Connect microeconomic price-spell frequency directly to macroeconomic Phillips curve flattening

In Guillermo Calvo’s (1983) staggered price-setting model — the microfoundation of modern central-bank DSGE models — fraction theta in (0, 1) of firms keep their nominal price unchanged each quarter while fraction (1 - theta) re-optimize, implying an average price spell of D_qtr = 1 / (1 - theta) quarters. Log-linearizing around zero trend inflation with household discount factor beta in (0, 1] yields the New Keynesian Phillips Curve (NKPC): pi_t = beta * E_t[pi_{t+1}] + kappa * mc_gap_t, where structural slope kappa = ((1 - theta) * (1 - beta * theta)) / theta collapses rapidly as price stickiness theta rises!

Verify at standard quarterly calibration theta = 0.75 (B2, 25% of firms reprice per quarter -> mean spell D_qtr = 4.0000 quarters = 1 year), discount factor beta = 0.99 (B3), expected next-quarter inflation pi_e = 0.0050 (B4, 2% annualized), and real marginal cost gap mc_gap = 0.04 (B5): structural slope is kappa = (0.25 * (1 - 0.7425)) / 0.75 = 0.2575 / 3 = 0.0858, and current quarterly inflation is 0.99 * 0.0050 + 0.085833 * 0.04 = 0.0084 (0.84% quarterly)! Raise theta slightly from 0.75 to 0.80 (5-quarter duration) and kappa flattens by nearly 40% to (0.20 * 0.208) / 0.80 = 0.0520!

Calvo NKPC Metric (beta = 0.99)theta = 0.75 (4 Quarters)theta = 0.80 (5 Quarters)
Expected Price Duration 1/(1 - theta)4.0000 quarters5.0000 quarters
Structural NKPC Slope (kappa)0.08580.0520 (-39.4% Flatter!)
Quarterly Inflation pi_t (pi_e=0.5%, mc=4%)0.0084 (0.84%)0.0070 (0.70%)

Structural Calvo NKPC Marginal-Cost Slope kappa Formula

Validate interior Calvo stickiness 0 < theta < 1 and subjective discount factor 0 < beta <= 1.

=LET(th_cv, B2, bt_ds, B3, IF(OR(th_cv <= 0, th_cv >= 1, bt_ds <= 0, bt_ds > 1), "Require 0 < theta < 1 and 0 < beta <= 1", ROUND(((1 - th_cv) * (1 - bt_ds * th_cv)) / th_cv, 4)))

Forward-Looking New Keynesian Phillips Curve Quarterly Inflation pi_t Formula

Evaluate beta * E_t[pi_{t+1}] + kappa * mc_gap_t using exact unrounded kappa inside LET.

=LET(th_cv, B2, bt_ds, B3, pi_ex, B4, mc_gp, B5, IF(OR(th_cv <= 0, th_cv >= 1, bt_ds <= 0, bt_ds > 1), "Require 0 < theta < 1 and 0 < beta <= 1", LET(kp_sl, ((1 - th_cv) * (1 - bt_ds * th_cv)) / th_cv, ROUND(bt_ds * pi_ex + kp_sl * mc_gp, 4))))

Try the example

Use the original values or change them to test your understanding.

Further reading