IESET.

How it works

IESET turns economic arguments into auditable bets. A school, policy proposal, or historical claim has to say what should happen in the world; the rule is written down before the data is touched; the run uses pinned public-source data; the result updates the pages that depended on that claim.

The goal is not to make politics bloodless. The goal is to stop confident narratives from floating above the record. If a claim is important enough to shape policy, it should be specific enough to test, strong enough to steelman, and open enough for critics to break.

That is why the framework separates moral intent from empirical mechanism. A policy can redistribute income and still fail its broader claim if the evidence shows a zero-sum tradeoff, weaker production, or a shrinking base. The live scoreboard is where those tradeoffs become visible instead of staying hidden inside rhetoric.

01

State the claim

A prediction has to name the mechanism, outcome, sample, period, and what evidence would count against it.

02

Lock the rule

The hypothesis and falsification rule are committed before estimation, so the target cannot move after the data arrives.

03

Run the record

Publisher data is pinned to a vintage, the estimator runs, and the result is published with code and diagnostics.

04

Update the map

Verdicts flow back to policies, movements, schools, axes, and the scoreboard, with steelmen and critiques kept attached.

Diagram A

What are the pieces, and how do they link?

Download .drawio ↓

There are five kinds of card in the library: a Hypothesis, a Policy, a Movement, a Position, and an Axis. The diagram below shows them in two stacked panels. Top: the Axis sits at the centre as the shared policy-lever vocabulary that every other card is described in — that's the glue that lets a policy find its historical analogues and a school's predictions find their evidence. Bottom: the four non-axis cards also chain to each other directly — a Movement enacts Policies, Policies are tested by Hypotheses, and Positions (schools of thought) make their predictions on those Hypotheses.

Entity map — Axis at the centre as the shared vocabulary, with each card type connected to it.FIVE CARD TYPES, ONE SHARED VOCABULARYAxis /athe standard policy-levertaxonomy every other cardis described inPosition /posschool of thought(Austrian, Keynesian…)Hypothesis /hpre-registered testwith falsification ruleMovement /ma government(Bukele, Thatcher…)Policy /pa specific reform(Bitcoin Law 2021…)fingerprint(derived)tests outcomes onaxes_summaryaxes_movedAND THEY CHAIN DIRECTLY TO EACH OTHERMovementa governmentPolicya specific reformHypothesisa pre-registered testPositiona schoolenactstested bypredicts onaxis-vocabulary edgederived (not authored)direct entity-to-entity link
the system in plain English

Imagine a library. Every book is a specific economic policy question — for instance, "does rent control reduce housing supply?". Each book is written before anyone looks at the data, and spells out exactly what result would make the author admit they were wrong. When the analysis finally runs, the verdict gets stamped on the cover.

Alongside the books, the library keeps three other card catalogues: one of real policies (actual laws and reforms), one of governments that passed them, and one of schools of economic thought and what each school predicts.

What makes the library searchable is a short list of standard policy levers (taxes, regulation, money, property rights, and so on) — every policy, every government, every school, and every question is described using the same set of levers. That shared vocabulary is what lets you show up and say "I'm drafting reform X" and the library can say back "here are five historical reforms that moved the same levers in the same direction, and here's what happened next".

Tab-by-tab — what each page is, and how it fits

Each page of the site holds one kind of card catalogue. For each one: what it is in plain English, an example of what you'd find there, and how it connects to the others.

/h — Hypotheses
what it is

A specific, testable economic question written down before we look at the data — together with exactly what result would make us admit we were wrong.

example

Example: "Did Chávez-era Venezuela collapse economically compared with its Latin American neighbours?" The question is written down, the data sources are named, and the test that would disprove it is spelled out. When the analysis runs, the page shows the verdict (supported / partial / refuted) and lets you re-run the code yourself.

how it fits

Hypotheses are the answers. Policies, Movements, and Positions all point at hypotheses for their empirical backing — a policy points at the hypothesis that tested its outcome, a school points at the hypotheses testing its predictions.

/p — Policies
what it is

A specific real-world reform — a law, a tariff, a subsidy, a central-bank decision — and a structured description of what exactly it changed.

example

Example: El Salvador's 2021 Bitcoin Law. The page lists what the policy did (made Bitcoin legal tender alongside the dollar), who enacted it (Bukele's first term), and on a short list of standard levers — taxes, regulation, money, property rights — it shows which ones the policy pushed up, down, or left alone. That structured description is what lets the site find similar historical policies automatically.

how it fits

Every policy links up to the Movement that passed it, and down to the Hypotheses that test its outcomes. It also gets compared to every other policy in the library to produce a 'similar historical policies' ranking.

/m — Movements
what it is

A government or political movement — the people in power for a period — described by what they actually did, not by what party label they wore.

example

Example: Bukele's first term (2019–2024). The page covers his doctrine, lists the specific policies his government passed (Bitcoin Law, CECOT mega-prison, constitutional-chamber removal…), and shows how those policies score on each lever. A movement is the sum of its policies; a left-wing government that cut taxes ends up scored the same as a right-wing one that cut taxes.

how it fits

Movements are a convenient container — they group the policies one government passed. You drill down to individual policies, and from there to the hypotheses testing their outcomes.

/pos — Positions (schools of thought)
what it is

A school of economic thought — Keynesian, Austrian, MMT, Chicago, and so on — stated as a list of specific, empirical predictions the school makes.

example

Example: Austrian Business Cycle Theory. The page lays out the school's steelman (the strongest version of its argument), then a list of specific predictions it makes ("monetary expansion causes asset price inflation", "hyperinflation requires fiscal dominance"). Each prediction is tied to a hypothesis — so as hypotheses run, the school's track record updates automatically.

how it fits

Positions point at hypotheses via predictions, and at axes via their derived fingerprint. The Scoreboard aggregates how each school is doing across all its predictions.

/a — Axes (the levers of policy)
what it is

The short, fixed list of standard policy levers every policy and movement is described on — so reforms from different countries and decades can be compared like-for-like.

example

Example: "regulatory.financial_deregulation" is one lever. Its page defines what "up" and "down" mean, lists the data publishers that measure it, shows every policy in the library that moved it (grouped by direction), and shows every hypothesis in the library that tests outcomes on it. Think of an axis as a standard sliding scale that every reform gets scored on.

how it fits

Axes are the shared vocabulary. Policies describe themselves in terms of axes; movements inherit axis scores from their policies; schools' predictions derive axis fingerprints; hypotheses test outcomes on axes. This is what makes 'find me similar historical reforms' possible.

/scoreboard
what it is

A leaderboard showing how each school of thought is doing against the evidence — what fraction of its predictions held up once tested, and whether those wins look positive-sum or merely redistributive.

example

Example: a school with 3 of 5 tested predictions supported ranks differently from one with 1 of 1. Both the rate and the sample size matter. If a Marxian or interventionist claim shows a short-run distributional gain, the next question is whether it created durable surplus or shifted costs into investment, productivity, supply, inflation, or fiscal capacity. The scoreboard updates automatically when a hypothesis finishes running.

how it fits

The scoreboard is what you get when you roll up all positions × their predictions × their hypotheses' verdicts. It's the public summary of 'which schools the data supports so far'.

/methodology
what it is

The six rules the whole framework commits to — so you can check that the site is actually playing by its own rules.

example

Example: "the claim must be committed to git before the data is examined" is rule #1. The git history is public; anyone can verify it. These rules are the reason every other page is shaped the way it is.

how it fits

Methodology is the spec. If a page on the site violates a rule, that's a bug — and contributors get paid for catching it.

Diagram B

Three kinds of person who arrive at the site

Download .drawio ↓

A journalist wants a citable answer in one page. A researcher wants to re-run the analysis from scratch to verify it. A policymaker is drafting a new reform and wants to know what happened when similar reforms were tried before. All three end up looking at the same underlying cards — just from different angles.

Three user journeys through the systemJOURNALIST"Does rent control reduce housing supply?"Google / referrallanding query/h/<id>hypothesis pageRead verdict +falsification ruleCite permalinkwith BibTeXWhat they need: Needs: one page, plain-English verdict, citable URLRESEARCHER"Is this result actually replicable?"/h/<id>hypothesis pagegit clonerepopython replication.pyengine/runs/<id>/Diff diagnosticsvs publishedWhat they need: Needs: pinned vintage, deterministic seed, published artifactsPOLICYMAKER"We're drafting reform X — what happened historically?"/q (Phase 2)describe axes movedRanked analoguessimilar historical policies/p/<id>per-match deep dive/h/<id>evidence + verdictWhat they need: Needs: axis fingerprint match, outcome comparison across cases
Diagram C

How a question becomes a published verdict

Download .drawio ↓

Every hypothesis walks this path: someone writes the question down (committed to a public git history), the system checks it's well-formed, the exact data sources get frozen in time, the analysis code runs and produces a result, the verdict gets published. The git commit timestamp is the proof that the question was written before the data was examined — nobody can silently reshape the question to fit the answer. Critics get paid to find holes; if a critique lands, the whole path runs again with a new question.

Pre-registration → run → verdict pipelineInvariant 1 — the spec commit timestamp must predate every run.CI rejects any run where git log shows the spec was edited after data was examined.step 1Spec commithypothesis.yamlstep 2Schema + preflightCI validatesstep 3Vintage pindata/vintages/*step 4Runreplication.pystep 5Artifactsdiagnostics + cardstep 6Publish/h/<id>Pre-registration — no data yetData boundExecution — deterministic, replicableAdversarial reviewchallenges paid + credited;refutation reruns the specfalsification ⇒ new spec, new runEvery step is git-tracked. Commit timestamps are the proof-of-work; any reader can verify pre-registration precedes estimation.
Diagram D

How the library finds similar historical policies

Download .drawio ↓

You describe a proposed reform by saying which policy levers it would move and in which direction — \u201chigher\u201d/\u201clower\u201d/\u201cno change\u201d on taxes, regulation, money, and so on. The library compares that pattern against every historical policy and ranks them by overlap. Reforms that pushed the same levers in the same direction score highest; those that pushed the same levers in the opposite direction are still relevant (they show what the other side of the bet looked like). The same comparison runs behind the scenes on every policy page — that's where the 'similar historical policies' list comes from.

Axis-fingerprint matching — how a proposed policy finds historical analoguesSTEP 1 — INPUTProposed policy: a UK financial-sector liberalisation packageExpressed as an axis fingerprint — direction + magnitude per channel-separated axis.regulatory.financial_deregulationstrongfiscal.tax_capitalmoderateinstitutional.property_rightsweakSTEP 2 — MATCHERscore = Σ (same_dir ? 1 : 0.5)× magnitude_weightover every shared axiswith every policy in the corpus1,130 POLICIESSTEP 3 — OUTPUTRanked historical analoguesEach match carries its shared axes; same-direction axes are the strongest signal.1UK Big Bang (1986)match4.2regulatory.financial_deregulationfiscal.tax_capital2US Gramm-Leach-Bliley (1999)match3.8regulatory.financial_deregulationinstitutional.property_rights3Iceland financial liberalisation (2001-2007)match3.3regulatory.financial_deregulationinstitutional.property_rightssame-direction axis (strong)opposite-direction axis (weak, still relevant)
Diagram E

Reading guide — what the colours and symbols mean

Download .drawio ↓

The site uses a small number of visual shortcuts over and over: green/amber/red verdict strips, up/down arrows for direction, coloured dots for data-source status, and a few short chips. Read this once and every other page gets faster to skim.

Reading guide — colors, badges, and symbols across the siteVERDICT TONESA strip of colour at the top of every hypothesis / policy card.supporteddata ran as predicted, cleared thresholdpartial / mixedsome predictions held, others didn'trefuted / weakeneddata ran opposite or failed thresholdrun pendingpre-registered, model not yet firedAXIS DIRECTIONHow a policy or movement moved an axis, not whether that is good or bad.+ increasede.g. "more progressive taxation"− decreasede.g. "less progressive taxation"~mixedpushed in both directions0 unchangednominally on this axis, no actual movementDATA PROVENANCEDot next to every data source shows whether the pipeline can fetch it today.readypublisher fetcher exists, vintage pinned, data on diskpendingpublisher known, fetcher not yet wiredgapno known publisher; the variable must be reconstructedBADGES YOU'LL SEEShort-form chips that carry information density without prose.pre-regcandidateinferredtreateddonor / comparisonunintendedStatus badges: pre-reg = committed to git before data was examined. Candidate = still in draft.Chart badges: treated = the policy subject. Donor = the comparison unit the estimator contrasts against.Inferred = the link was derived by axis overlap, not hand-authored.

Honest limit: economic vs social-policy data asymmetry

The framework is structurally better at testing economic claims (growth, inflation, productivity, fiscal multipliers) than social-welfare claims — because the on-disk data favours the former. WDI / FRED / IMF / OECD-macro / PWT / BIS cover macroeconomic aggregates well; food security, mental health, subjective wellbeing, time poverty, housing affordability, and amenable-mortality indicators are sparse or missing.

Pre-registration discipline catches threshold-fiddling. It does NOT catch indicator-selection bias — where the spec author defines the test using the favourable subset of the canonical literature basket. Three social-outcome specs hit this gaming pattern (Cuba degrowth, Cuba resilience, Japan wellbeing) before the canonical-basket-gate landed in the engine. Each tested life expectancy + a chosen subset and graded SUPPORTED while caveats noted that the canonical-primary dimension was degrading (caloric collapse, optic neuropathy epidemic, fertility crash).

The fix has two parts. (1) The canonical-basket gate: any social-outcome claim must enumerate every dimension in the literature-canonical basket (Streeten 1981 for basic needs; OECD Better Life Index / WHR for wellbeing; UNDP HDR for human development) and either test it or document it as a data gap. Omitted canonical dimensions trigger a supported_subset verdict tier — amber on the scoreboard, NOT green. (2) A published social-policy data backlog inventories the missing fetchers (Gallup WHR Cantril ladder, FAO Food Balance Sheets full annual, OECD amenable mortality, HALE, 5-year cancer survival, OPHI MPI, OECD waiting times), so social-claim verdicts will tighten as the backlog clears.

Concrete consequence: claims like “Costa Rica achieves high wellbeing at low throughput” that look SUPPORTED on LE+CO2 alone come back refuted when the safety leg is added (CRI homicide rate 2.19× USA in 2010-2020). That's the integrity gate working.

The framework in one sentence

Commit a falsifiable claim before you see the data; measure policy by what it did on channel-separated axes, not by who did it; link everything so a proposed reform can find its historical analogues and its empirical evidence in one click; let anyone who can write a coherent challenge reopen the verdict.