-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
241 lines (231 loc) · 11.4 KB
/
Copy pathindex.html
File metadata and controls
241 lines (231 loc) · 11.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>macromod — macroeconomic simulation, built in the open</title>
<meta name="description" content="MacroMod is PolicyEngine's open-source suite of macroeconomic simulation models. Overlapping-generations general equilibrium today; more model classes to come — all scoring the same policy reforms, in the open." />
<meta property="og:title" content="macromod" />
<meta property="og:description" content="Open-source macroeconomic simulation models for public policy." />
<meta property="og:type" content="website" />
<link rel="icon" type="image/svg+xml" href="/assets/policyengine-mark.svg" />
<meta name="theme-color" content="#FFFFFF" />
<link rel="stylesheet" href="/vendor/fonts/fonts.css" />
<link rel="stylesheet" href="/vendor/ui-kit-tokens.css" />
<link rel="stylesheet" href="./style.css" />
</head>
<body class="doc">
<div class="grain" aria-hidden="true"></div>
<canvas id="field" aria-hidden="true"></canvas>
<header class="nav">
<a class="brand" href="#top">
<span class="brand-dot" aria-hidden="true"></span>macromod
</a>
<nav class="nav-links">
<a href="#idea">idea</a>
<a href="#models">models</a>
<a href="#pipeline">pipeline</a>
<a href="/docs/">docs</a>
<a href="/connect/">use it</a>
<a class="nav-gh" href="https://github.com/PolicyEngine/MacroMod" aria-label="GitHub"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"/></svg></a>
</nav>
</header>
<main id="top">
<section class="hero">
<div class="hero-inner">
<p class="eyebrow reveal" style="--d:0">open-source macroeconomic simulation</p>
<h1 class="reveal" style="--d:1">
A reform moves <em>every</em> price.
<br />We model the whole economy's answer.
</h1>
<p class="lede reveal" style="--d:2">
<strong>macromod</strong> is a suite of macroeconomic simulation models
for scoring public policy — tracing a reform's effect on GDP,
investment, consumption, revenue, and debt — from an overlapping-generations
model to an emulator of the OBR's own forecasting model to a replication
of the Bank of England's structural VAR, improved in the open.
</p>
<div class="hero-cta reveal" style="--d:3">
<a class="btn btn-primary" href="#idea">How it works</a>
<a class="btn btn-ghost" href="https://github.com/PolicyEngine/MacroMod">Read the code</a>
</div>
<p class="hero-foot reveal" style="--d:4">
<span class="mono">every point above is a cohort of households · brightness ∝ economic weight</span>
</p>
</div>
</section>
<section id="idea" class="band">
<div class="band-head">
<span class="kicker mono">01 — the idea</span>
<h2>From static scoring to the full economy.</h2>
</div>
<div class="prose">
<p>
Microsimulation tells you who pays what the morning after a reform.
But people respond: they work, save, and invest differently, firms
adjust capital, wages and interest rates move, and the revenue estimate
moves with them. Most published policy scores stop before that second
act — or bolt it on with a single hand-picked elasticity.
</p>
<p>
macromod makes the second act <strong>a model, not a fudge factor</strong>.
Each model in the suite is a structural macroeconomic engine that takes a
policy change and solves for the economy's response — changes in
macroeconomic aggregates (GDP, investment, consumption), wages, interest
rates, and tax revenues over time. Different models bring different
machinery: a general-equilibrium overlapping-generations engine for the
long run, an emulator of the OBR's own equations for near-term fiscal
multipliers, and a Bayesian structural VAR that reads the current state
of the economy in structural-shock terms.
</p>
</div>
</section>
<section id="models" class="band band-stack">
<div class="band-head">
<span class="kicker mono">02 — the models</span>
<h2>One suite, many lenses on the same economy.</h2>
</div>
<div class="prose" style="margin-bottom: 36px;">
<p>
Different questions need different macro machinery. Every model in the
suite scores the same PolicyEngine reform objects and reports the same
real-world quantities, so results are comparable across model classes
— and every model gets its own page: a 30-second explainer, the method,
and the calibration evidence.
</p>
</div>
<div class="strategy-grid">
<a class="strategy-card" href="/olg/">
<header><span class="card-id mono">olg</span><span class="tag tag-live">shipped</span></header>
<h3>Overlapping generations</h3>
<p>
A dynamic general-equilibrium model of 80 age cohorts working, saving,
and retiring — built on OG-Core, calibrated to national accounts, with
tax functions estimated from PolicyEngine microdata. Solves the long-run
steady state and the year-by-year transition path for GDP, investment,
consumption, revenue, and debt.
</p>
<span class="strategy-paper-link mono">read the model →</span>
</a>
<a class="strategy-card" href="/obr/">
<header><span class="card-id mono">obr</span><span class="tag tag-live">shipped</span></header>
<h3>OBR macroeconometric model</h3>
<p>
A Python emulator of the OBR's own published forecasting model — 372
structural equations solved simultaneously by Gauss–Seidel iteration.
Runs fiscal-multiplier and tax-shock experiments quarter by quarter,
anchored to the official Economic and Fiscal Outlook.
</p>
<span class="strategy-paper-link mono">read the model →</span>
</a>
<a class="strategy-card" href="/svar/">
<header><span class="card-id mono">svar</span><span class="tag tag-live">shipped</span></header>
<h3>UK structural VAR</h3>
<p>
A Python replication of the Bank of England's structural VAR for the
UK economy — eight quarterly variables, six identified shocks (world
demand, energy, and supply; UK demand, supply, and monetary policy).
Decomposes GDP and inflation into their drivers, forecasts with
credible bands, and explains forecast revisions.
</p>
<span class="strategy-paper-link mono">read the model →</span>
</a>
<div class="strategy-card strategy-card-static">
<header><span class="card-id mono">next</span><span class="tag tag-wip">planned</span></header>
<h3>More model classes</h3>
<p>
The suite is built to grow: additional macroeconomic model classes
will slot in beside these three, each scoring the same reforms and
reporting comparable outputs. This card is the open seat — watch the
repository for what fills it next.
</p>
<span class="strategy-paper-link mono" style="color: var(--paper-faint);">in design</span>
</div>
</div>
<p class="stack-note">
<span class="mono">overlapping generations · OBR macroeconometric · UK structural VAR · more to come</span>
</p>
</section>
<section id="pipeline" class="band">
<div class="band-head">
<span class="kicker mono">03 — the pipeline</span>
<h2>Statute in, economy out.</h2>
</div>
<div class="prose">
<p>
A reform is a <strong>policy change, not a stylized wedge</strong>. How it
enters depends on the model. The overlapping-generations engine takes a
PolicyEngine policy object — actual tax-and-benefit parameters — runs it
through PolicyEngine's UK microsimulation, and fits tax functions to the
resulting effective and marginal rates, so it sees the reform's true shape
across the income and age distribution. The OBR emulator takes a shock to
one of its exogenous variables — a spending change, a rate change.
</p>
<p>
Both then solve for the response and report the <strong>deviation from a
baseline</strong> anchored to official data — ONS, OBR, and Bank of
England national accounts for the OLG model; the OBR's Economic and Fiscal
Outlook for the emulator — so a result is always relative to current
forecast, never a raw level to misread. The structural VAR plays a
different role: it doesn't score reforms (yet) but reads the state the
economy is in — which structural shocks are driving GDP and inflation
right now — before you simulate changing it.
</p>
</div>
</section>
<section id="outputs" class="band band-result">
<div class="band-head">
<span class="kicker mono">04 — outputs</span>
<h2>Real-world quantities, not model units.</h2>
</div>
<div class="prose">
<p>
Every run maps back to current-price national-accounts aggregates.
A steady-state solve answers the long-run question; a transition path
gives the fiscal-year-by-fiscal-year profile a budget process needs.
</p>
</div>
<div class="metrics">
<div class="metric">
<span class="metric-label mono">aggregates</span>
<span class="metric-val">6</span>
<span class="metric-note">GDP · consumption · investment · government · revenue · debt</span>
</div>
<div class="metric">
<span class="metric-label mono">age cohorts</span>
<span class="metric-val">80</span>
<span class="metric-note">in the OLG household block</span>
</div>
<div class="metric">
<span class="metric-label mono">horizon</span>
<span class="metric-val">60<span class="metric-vs">years</span></span>
<span class="metric-note">transition path to steady state</span>
</div>
</div>
</section>
<section class="band band-cta">
<h2>Built in the open. Read it, run it, contribute.</h2>
<div class="hero-cta">
<a class="btn btn-primary" href="https://github.com/PolicyEngine/MacroMod">github.com/PolicyEngine/MacroMod</a>
<a class="btn btn-ghost" href="https://policyengine.org">PolicyEngine</a>
</div>
</section>
</main>
<footer class="foot">
<div class="foot-row">
<span class="brand"><span class="brand-dot" aria-hidden="true"></span>macromod</span>
<a class="foot-pe" href="https://policyengine.org" aria-label="PolicyEngine"><img src="/assets/policyengine.svg" alt="PolicyEngine" /></a>
</div>
<p class="mono foot-fine">
Macroeconomic simulation models for public policy. Open source · a PolicyEngine project.
</p>
<p class="mono foot-fine foot-links">
<a href="https://github.com/PolicyEngine/MacroMod">source</a> ·
<a href="https://github.com/PSLmodels/OG-UK">OG-UK</a> ·
<a href="https://policyengine.org">policyengine.org</a>
</p>
</footer>
<script src="./field.js" defer></script>
<script src="./reveal.js" defer></script>
</body>
</html>