Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ tsconfig.tsbuildinfo
*.tsbuildinfo
.env*.local
slideshows/*/*.pdf
.env*
Binary file added public/images/iariw-2026/forecast-spf-only.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions slideshows/iariw-2026/DEMO-SCRIPT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

The deck embeds the LIVE apps directly, each with an Expand button: slide 23 (Axiom App,
Belgium), 28 (cliff analyzer, axiom.org/snap), 30 (chatbot, axiom.org/chatbot), 36
(chronicle.institute), 43 (calibration dashboard), 49 (policyengine.org/be), 55 (Thesis
baseline forecast, app.thesisinstitute.org/spm-child-poverty-2025), 57 (Thesis bill
(chronicle.institute), 43 (calibration dashboard), 50 (policyengine.org/be), 56 (Thesis
baseline forecast, app.thesisinstitute.org/spm-child-poverty-2025), 58 (Thesis bill
analyses, app.thesisinstitute.org/bills). You can drive the whole demo without leaving the
deck; preloaded tabs remain smoother for deep interaction. Every beat has static screenshot
slides right after it (24–27, 29, 31, 37, 44, 50, 56, 58). If the network dies mid-beat,
slides right after it (24–27, 29, 31, 37, 44, 51, 57, 59). If the network dies mid-beat,
advance and keep talking.

Cliff analyzer beat: Run reform → point at the allotment cliff near $2,100 and the
Expand Down
69 changes: 45 additions & 24 deletions slideshows/iariw-2026/SPEAKER-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

IARIW–CAPE workshop "New technologies for evidence-based policy making"
Thursday 27 August 2026 · 14:40–15:30 · Room P02, UCLouvain Saint-Louis, Brussels
Deck: policyengine.org/slides/iariw-2026 (local: /slides/iariw-2026) · 62 slides, ~50 presented
Deck: policyengine.org/slides/iariw-2026 (local: /slides/iariw-2026) · 65 slides, ~50 presented

**Room:** IARIW measurement economists; Koen Algoed (Director General, Budget and Finance,
Flemish Region) and Jean-Baptiste Traversa (head of microsimulation modelling, FPS Finance)
Expand Down Expand Up @@ -39,11 +39,12 @@ modeling groups' publication records.
| 14:55 | 1 · Axiom (app, cliff analyzer, chatbot) | 14–33 (skip statics 24–27, 29, 31) | 14 |
| 15:09 | 2 · Chronicle | 34–37 (skip 37) | 3 |
| 15:12 | 3 · Microcosm | 38–45 (skip 44) | 6 |
| 15:18 | 4 · PolicyEngine | 46–51 (skip 50) | 5 |
| 15:23 | 5 · Thesis → 6 · Looking forward | 52–62 (skip 56, 58) | 7 |
| 15:18 | 4 · PolicyEngine | 46–52 (skip 51) | 5 |
| 15:23 | 5 · Thesis → 6 · Looking forward | 53–65 (skip 57, 59) | 7 |

Cut-first if long: Microplex (37), WhoUsesIt (40), and skim Evo3/Evo5. Static screenshot
slides (22–25, 36, 42) are presented ONLY if the network dies.
Cut-first if long: Microplex (45), WhoUsesIt (49), CountryScope (48), and skim Evo3/Evo5.
Static screenshot slides (24–27, 29, 31, 37, 44, 51, 57, 59) are presented ONLY if the
network dies.

---

Expand Down Expand Up @@ -217,24 +218,31 @@ science team built 10ds-microsim on it; MOUs with NBER (open source TAXSIM emula
Atlanta Fed (Policy Rules Database). For this room: an open EUROMOD-family stack for the US
and UK, built in public.

### 48 · Who uses it (30s) — CUT IF LONG
### 48 · The models, by country (1m) — CUT IF LONG
Depth by country, counted from each repository's main branch today: US 5,956 parameter
files / 5,981 variables (defining the 95,000+ dated parameter values); UK 597/872; Canada
395/393; Israel and Nigeria community seeds; Belgium via Axiom — 107 encoded provisions.
The point: depth follows demand, and the encoder evolution changes the arithmetic — the
Belgian provisions arrived in weeks, verified against EUROMOD.

### 49 · Who uses it (30s) — CUT IF LONG
Logo wall. One sentence and move.

### 49 · DEMO — a Belgian reform, live (~3m; slide 50 is the fallback)
### 50 · DEMO — a Belgian reform, live (~3m; slide 51 is the fallback)
policyengine.org/be in-deck: move the top bracket rate, watch budget/Gini/poverty recompute
(155 precomputed cells, 28 CIR 92 parameters); scroll to "The population, checked" — both
engines against administrative truth, misses in red with named mechanisms.

### 51 · policyengine.py (1m — works offline)
### 52 · policyengine.py (1m — works offline)
The same models as a Python package: a UK household in four lines; the same call for the US
with a reform attached. This is the interface the Belgian work targets.

### 52–53 · Thesis divider → Conductors, not oracles (2m)
### 53–54 · Thesis divider → Conductors, not oracles (2m)
The model routes to verified tools and integrates calibrated outputs; analyst judgment lives
at every routing decision. The judgment-to-mechanism loop: intuition becomes mechanism over
time.

### 54 · The loop that matters most (2m)
### 55 · The loop that matters most (2m)
Every primitive has its gauge; the one that ranks them all is whether forecasts resolve
against reality — which is what Thesis exists to do: open forecasts of public outcomes,
every prediction published with its reasoning and graded when the official number lands.
Expand All @@ -244,38 +252,51 @@ We intend to score that. And the deeper point for 16:00: policy takes
a different shape when baseline conditions change quickly; if you assign real probability to
that, how does this community arm policymakers to respond?

### 55 · DEMO — a baseline Thesis forecast: SPM child poverty (1.5m; 56 is the fallback)
### 56 · DEMO — a baseline Thesis forecast: SPM child poverty (1.5m; 57 is the fallback)
app.thesisinstitute.org/spm-child-poverty-2025: a live forecast cell on a published
government data point — the 2025 SPM child poverty rate with an 80% interval, the Census
history, and the agent's full reasoning trace (assumptions AND caveats in the open; the
trace may show prototype infra notes — that transparency is the design). Graded when the
Census publishes in September. Start here so the bills demo lands as "the same machinery,
pointed at legislation."

### 57 · DEMO — Thesis bill analyses (1.5m; 58 is the fallback)
### 58 · DEMO — Thesis bill analyses (1.5m; 59 is the fallback)
app.thesisinstitute.org/bills: "start from the bill, derive the outcomes" — each analysis
reads a bill's provisions, separates countersignable goals from likely effects, and maps
candidate outcome metrics against the live forecast registry. The opening question, made
practice. Labeled prototype; say so.

### 59 · Looking forward (divider, 15s)
### 60 · Looking forward (divider, 15s)

### 61 · The five, as one stack (45s — the layered recap)
The vertical recap: Axiom and Chronicle side by side at the bottom (the two substrates) →
Microcosm builds on both (the construction layer, highlighted) → PolicyEngine composes them
→ Thesis, dotted, on top — the newest layer, deciding which questions matter. One breath per
layer; the audience has now seen a demo of each.

### 60 · And if the baseline itself moves? (1.5m — the closing forecast beat)
### 62 · And if the baseline itself moves? (45s — the setup)
Everything before this slide matters regardless of how the economy evolves; if conditions
change quickly, being nimble matters more. The chart: professional forecasters disagree less
than ever about long-run growth (SPF 10-year IQR 0.2pp, half its 1990s level) — but asked
specifically about AI, economists and forecasters see room for major impact (+0.07pp to
+30pp of annual growth) [Philadelphia Fed SPF; AI Frontiers compilation]. Landing: if not
just GDP but unemployment, wage inequality, and the capital income share move, policymakers
will need even better tools — and AI can help, if we arm it in turn. "After the break, I'm
looking forward to discussing what those tools can improve in policymaking."

### 61 · It takes all of us (1.5m)
change quickly, being nimble matters more. The punchline first: professional forecasters
don't think it will — SPF 10-year growth disagreement is down to a 0.2pp IQR, half its 1990s
level [Philadelphia Fed SPF]. Beat. "But that's the unconditional question."

### 63 · Asked about AI specifically, the range explodes (1m — the closing forecast beat)
The right panel appears: published estimates of AI's growth effect span +0.07pp to +30pp of
annual growth — three orders of magnitude wider than the baseline disagreement [AI Frontiers
compilation]. The expert survey behind the Yale Budget Lab's fiscal scenarios (Karger et
al. 2026 — 69 economists, 52 AI experts, 38 superforecasters, fielded Oct 2025–Feb 2026)
shows the same shape: median economists near trend unconditionally, materially higher
conditional on rapid AI progress. Landing: if not just GDP but unemployment, wage
inequality, and the capital income share move, policymakers will need even better tools —
and AI can help, if we arm it in turn. "After the break, I'm looking forward to discussing
what those tools can improve in policymaking."

### 64 · It takes all of us (1.5m)
Model-building has always been about making consequences visible before the choice.
Statistical offices, EUROMOD, BEAMM, ministries, open models — each doing what it does best.
"Which is exactly what the roundtable is about — see you at 16:00."

### 62 · Thank you / QR (leave up)
### 65 · Thank you / QR (leave up)
QR → axiom.org. Links: axiom.org · policyengine.org/be · both GitHub orgs.

---
Expand Down
12 changes: 10 additions & 2 deletions slideshows/iariw-2026/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import MicrocosmBESlide from './slides/MicrocosmBESlide';
import MicroplexSlide from './slides/MicroplexSlide';
// 4 — PolicyEngine
import PEOverviewSlide from './slides/PEOverviewSlide';
import CountryScopeSlide from './slides/CountryScopeSlide';
import WhoUsesItSlide from './slides/WhoUsesItSlide';
import DemoPySlide from './slides/DemoPySlide';
// Live embeds + static fallbacks
Expand Down Expand Up @@ -75,7 +76,11 @@ import {
} from './slides/DemoLiveSlides2';
// 5 — Together
import ConductorsSlide from './slides/ConductorsSlide';
import ForecastUncertaintySlide from './slides/ForecastUncertaintySlide';
import StackRecapSlide from './slides/StackRecapSlide';
import {
ForecastSpfSlide,
ForecastAiRangeSlide,
} from './slides/ForecastUncertaintySlide';
import ClosingLoopSlide from './slides/ClosingLoopSlide';
import CommunityClosingSlide from './slides/CommunityClosingSlide';
import QuestionsSlide from './slides/QuestionsSlide';
Expand Down Expand Up @@ -155,6 +160,7 @@ export const iariw2026Config: SlideshowConfig = {
// 4 — PolicyEngine (the model)
EngineDividerSlide,
PEOverviewSlide,
CountryScopeSlide,
WhoUsesItSlide,
DemoPeBeLiveSlide,
DemoPeBeSlide,
Expand All @@ -169,7 +175,9 @@ export const iariw2026Config: SlideshowConfig = {
ThesisLiveSlide,
ThesisBillsStaticSlide,
LookingForwardDividerSlide,
ForecastUncertaintySlide,
StackRecapSlide,
ForecastSpfSlide,
ForecastAiRangeSlide,
CommunityClosingSlide,
QuestionsSlide,
],
Expand Down
98 changes: 98 additions & 0 deletions slideshows/iariw-2026/slides/CountryScopeSlide.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
import Slide from '@/components/core/Slide';
import SlideHeader from '@/components/layout/SlideHeader';
import SlideTitle from '@/components/layout/SlideTitle';

const rows = [
{ country: 'United States', params: '5,956', vars: '5,981', note: '' },
{ country: 'United Kingdom', params: '597', vars: '872', note: '' },
{ country: 'Canada', params: '395', vars: '393', note: '' },
{ country: 'Israel', params: '2', vars: '19', note: 'early' },
{ country: 'Nigeria', params: '6', vars: '17', note: 'early' },
];

export default function CountryScopeSlide() {
return (
<Slide>
<SlideHeader>
<SlideTitle>The models, by country</SlideTitle>
</SlideHeader>

<div className="mt-8 grid grid-cols-[1.15fr_0.85fr] gap-10 items-start">
<div>
<table className="w-full border-collapse">
<thead>
<tr className="border-b-2 border-gray-200">
<th className="text-left text-sm uppercase tracking-wide text-gray-500 pb-3">
Country
</th>
<th className="text-right text-sm uppercase tracking-wide text-gray-500 pb-3">
Parameter files
</th>
<th className="text-right text-sm uppercase tracking-wide text-gray-500 pb-3">
Variables
</th>
</tr>
</thead>
<tbody>
{rows.map((r) => (
<tr key={r.country} className="border-b border-gray-100">
<td className="py-3 text-xl text-gray-800">
{r.country}
{r.note && (
<span className="ml-3 text-xs uppercase tracking-wide text-gray-400 align-middle">
{r.note}
</span>
)}
</td>
<td className="py-3 text-xl font-mono text-right text-pe-teal">
{r.params}
</td>
<td className="py-3 text-xl font-mono text-right text-pe-teal">
{r.vars}
</td>
</tr>
))}
<tr>
<td className="py-3 text-xl text-gray-800">
Belgium{' '}
<span className="ml-3 text-xs uppercase tracking-wide text-gray-400 align-middle">
via Axiom
</span>
</td>
<td
className="py-3 text-xl font-mono text-right text-pe-teal"
colSpan={2}
>
107 encoded provisions
</td>
</tr>
</tbody>
</table>
<p className="mt-4 text-sm text-gray-500 leading-snug">
File counts on each repository&apos;s main branch, 27 August 2026;
one file per variable. The 5,956 US parameter files define the
95,000+ dated parameter values.
</p>
</div>

<div className="space-y-5">
<div className="content-card p-6">
<div className="slide-tag mb-3">The shape of the gap</div>
<p className="text-base text-gray-700 leading-relaxed">
Depth follows demand: the US and UK models are
production-grade; Canada is substantial; Israel and Nigeria are
community seeds awaiting the same treatment.
</p>
</div>
<div className="accent-block">
<p className="text-base text-gray-700 leading-relaxed">
The encoder evolution changes this arithmetic: the Belgian
provisions arrived in weeks, verified against EUROMOD &mdash;
the recipe every next country inherits.
</p>
</div>
</div>
</div>
</Slide>
);
}
53 changes: 43 additions & 10 deletions slideshows/iariw-2026/slides/ForecastUncertaintySlide.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,51 @@ import Slide from '@/components/core/Slide';
import SlideHeader from '@/components/layout/SlideHeader';
import SlideTitle from '@/components/layout/SlideTitle';

export default function ForecastUncertaintySlide() {
export function ForecastSpfSlide() {
return (
<Slide>
<div className="flex flex-col h-full">
<SlideHeader>
<SlideTitle>And if the baseline itself moves?</SlideTitle>
<p className="text-xl text-gray-600 mt-2">
Everything so far matters regardless of how the economy evolves
&mdash; but if conditions change quickly, being nimble matters
more.
Professional forecasters don&apos;t think it will.
</p>
</SlideHeader>

<div className="flex-1 min-h-0 content-card overflow-hidden border border-gray-200 bg-white">
<Image
src="/images/iariw-2026/forecast-spf-only.png"
alt="SPF 10-year US real GDP growth forecasts 1992-2026: the interquartile range narrows to 0.2pp, half its 1990s level"
width={2400}
height={2160}
className="w-full h-full object-contain"
priority
/>
</div>

<div className="mt-4 flex items-baseline justify-between gap-8">
<p className="text-lg text-gray-700 leading-snug">
The Survey of Professional Forecasters disagrees less than ever
about long-run growth: the 10-year interquartile range is down to
0.2pp, half its 1990s level.
</p>
<p className="text-sm text-gray-500 whitespace-nowrap">
Philadelphia Fed SPF
</p>
</div>
</div>
</Slide>
);
}

export function ForecastAiRangeSlide() {
return (
<Slide>
<div className="flex flex-col h-full">
<SlideHeader>
<SlideTitle>Asked about AI specifically, the range explodes</SlideTitle>
</SlideHeader>

<div className="flex-1 min-h-0 content-card overflow-hidden border border-gray-200 bg-white">
<Image
src="/images/iariw-2026/forecast-disagreement.png"
Expand All @@ -29,14 +61,15 @@ export default function ForecastUncertaintySlide() {

<div className="mt-4 flex items-baseline justify-between gap-8">
<p className="text-lg text-gray-700 leading-snug">
Professional forecasters disagree less than ever about long-run
growth (10-year IQR 0.2pp, half its 1990s level). Asked
specifically about AI, economists and forecasters see room for
major impact &mdash; published estimates span +0.07pp to +30pp of
annual growth.
Published estimates of AI&apos;s growth effect span +0.07pp to
+30pp of annual growth &mdash; a range three orders of magnitude
wider than the baseline disagreement. The expert survey behind the
Budget Lab&apos;s fiscal scenarios shows the same shape: median
economists near trend unconditionally, materially higher
conditional on rapid AI progress.
</p>
<p className="text-sm text-gray-500 whitespace-nowrap">
Philadelphia Fed SPF; AI Frontiers compilation
Philadelphia Fed SPF; AI Frontiers; Karger et al. (2026)
</p>
</div>

Expand Down
Loading
Loading