How We Built an Open, Reproducible Economic-Impact Tool — And Why Every Number In It Is Checkable

By The Editorial TeamUpdated September 1, 20265 min read

Most political and economic coverage asks you to trust a number because a credible-sounding outlet printed it. We think that's a reasonable-but-incomplete standard, so alongside our tariff and inflation coverage, we built something most sites in this space don't: an actual, runnable data pipeline, documented well enough that you — or any other analyst — could pull it apart, check every figure, and run it again yourself.

What's Actually In the Pipeline

Two categories of data, handled two different ways, on purpose:

One-off reported figures — the state-level tariff dollar burdens, the import-exposure-as-percent-of-GDP numbers, the sectoral modeling — aren't behind any live API. They're specific numbers reported by name in specific published analyses (Axios, Pew Charitable Trusts, the Illinois Economic Policy Institute, Yale Budget Lab). We hardcoded those figures directly into the analysis code, with a source citation attached to every single value. States that weren't named in the underlying report are left out entirely — not interpolated, not estimated, not filled in to make a prettier map.

Real, live, queryable data — specifically inflation (CPI-U from the Bureau of Labor Statistics, via FRED) — gets pulled fresh, programmatically, every time the pipeline runs.

The Part We Think Matters Most: What Happens When the Live Pull Fails

Here's something we haven't seen many outlets be upfront about: our pipeline doesn't just fail silently or quietly substitute a placeholder if the real data source is unreachable. When the live FRED connection can't be established, the pipeline falls back to an explicitly synthetic, clearly-labeled dataset — every chart generated that way gets a visible warning baked directly into the title and filename, and the console output states plainly that the results should not be cited. We know this works because it happened during our own development process: an early test run, in an environment with restricted network access, genuinely triggered that fallback, and the resulting charts came back exactly as designed — impossible to mistake for real data. The final analysis you're reading elsewhere on this site was confirmed to come from a real, live pull, not that fallback.

A Real Mistake We Caught and Fixed

In an earlier draft of this same pipeline, dependency version numbers were pinned more conservatively than necessary, which caused a real installation failure on a newer Python version — the package manager fell back to compiling an old, bundled graphics library from source, which failed against a modern compiler with an error that had nothing to do with our actual analysis code. We're mentioning this not to bury a footnote, but because it's a useful example of the kind of unglamorous, non-editorial bug that can quietly stop a "run it yourself" tool from actually being runnable — and because catching and documenting it, rather than hoping nobody hits it, is part of what we mean by "reproducible."

The Attribution-Lag Design Was a Deliberate Choice, Not an Oversight

The inflation-by-president analysis doesn't pick a single lag value and present it as correct. It runs the same computation at four different lag assumptions and reports all four, because economists genuinely disagree on how long presidential policy takes to reach consumer prices, and picking one number to headline would have quietly smuggled in an editorial opinion disguised as a neutral calculation. The pipeline also automatically flags any result built from too little underlying data — a real safeguard that caught its own limitation when we tested it, correctly refusing to report a near-meaningless one-month average for an still-in-progress term.

Why We're Telling You All of This

A chart with a source citation is more trustworthy than a chart without one. A chart built from a pipeline you can actually run yourself, that documents its own failure modes, that flags its own thin data, and that shows its work when an assumption is contested rather than hiding it — that's a meaningfully higher standard, and it's the one we're trying to hold ourselves to for this kind of coverage going forward. If you build economic or policy analysis for a living and want to see exactly how any specific number in our coverage was produced, that's the point of documenting it this openly: check it.

FAQ

Where does the data in Stratatir's tariff and inflation coverage actually come from? A documented, hardcoded set of cited figures from specific published analyses (Axios, Pew Charitable Trusts, Illinois EPI, Yale Budget Lab) for one-off reported numbers, and a live, real-time pull from the Bureau of Labor Statistics via FRED for inflation data.

What happens if the live data source is unavailable when the analysis runs? The pipeline falls back to a clearly labeled synthetic dataset rather than failing silently or substituting an unmarked placeholder — every chart produced this way is visibly flagged in its title and filename, and the underlying numbers are explicitly marked as not for citation.

Why does the inflation analysis test multiple different assumptions instead of reporting one number? Because the "correct" lag between a policy taking effect and showing up in inflation data is genuinely disputed among economists — reporting a single chosen lag as fact would embed an editorial opinion inside what looks like a neutral calculation.

Found an error or have an update? Let us know.

Canonical URL: https://stratatir.com/blog/how-we-built-our-economic-impact-analysis