Skip to content
docs
Arxo ↗

PolicyEngine

For LLMs7 sections

In short: PolicyEngine simulates what households receive under dated tax-benefit parameters; Arxo establishes what the statute grants, with grounds and refusals. On the US Earned Income Tax Credit they compute the same quantity — through different gates. This page is for microsimulation practitioners who want the exact comparability conditions.

PolicyEngine computes household tax-benefit outcomes with dated parameter values carrying source links, single-household simulation, one-construct reforms as baseline-versus-modified deltas, population runs over weighted datasets, mass YAML tests with absolute error margins, per-release validation against an external tax calculator, and a computation trace tree — across mature US and UK model ecosystems.

The shared quantity is the Earned Income Tax Credit: the simulator’s dated credit variable against Arxo’s credit predicate, plus a reform-parameter change and weighted-population runs, with the statute section as arbiter. The UK side is blocked — no matching benefit package exists on the Arxo side — and full microsimulation over a shared population sample is blocked on a shared pinned dataset. Both blocks are stated with their unblock conditions, not buried.

  • Compare base to base, or year to year — never mixed. The inflation-adjustment multiplier in the Arxo package had no pinned revenue procedure at study time (closed later in the research line — see the direction’s research report, section 16, and the 1 October 2026 status note on the US credits package); the simulator carries concrete year-dollars with uprating. Without an appended parameter source, year-cents comparison is non-comparable.
  • The formula is gated. The credit equals a phased amount capped by a maximum-minus-reduction, times take-up, times filer status, defined only for the eligible. Every case must freeze the eligibility inputs, or a simulator zero is non-comparable — not a mismatch.
  • Take-up is receipt, not right. The simulator’s take-up flag defaults to true and is absent from Arxo: a zero from switched-off take-up means “not received”, never “not entitled”. Right-versus-receipt is a contract class of its own.
  • Precision has a contract. Single-precision floats against exact arithmetic meet at a one-cent tolerance, stated before the run. Recorded YAML expectations are not engine behavior until the pin executes — and simulator dollars are never ported into the subject package.

Fifteen frozen neutral cases — plateau maxima per child count, phase-in and phase-out, the zero boundary, the disqualified-income limit, a qualifying child, self-employment loss, a take-up control, a fixed-dollar reform, year-to-year parameter edits, and a pandemic-era edition case with its historical expectation — run the same inputs through simulator scenarios with reforms and the Arxo stand, comparing deltas after minus before.

Choose PolicyEngine for household simulation, reform deltas, and population-weighted pictures with documented tolerances. Look to Arxo for the individual entitlement with its grounds, its edition, and its refusals — including the honest “no model” where parameter sourcing is missing. Combined, the simulator pictures the population while Arxo decides the contestable case; the eligibility inputs and parameter sources are the shared contract between them.

  • Sources checked: September 2026 (framework docs, simulation and reform guides, the studied parameter files, revenue procedures, full hash re-verification).
  • Studied profile: the core and US packages at pins; the UK package by master version only.
  • Basis: confirmed by documentation and code reading (shallow clone, no build or run) plus a prepared protocol with frozen cases; comparative run not performed.
  • Open: parameter-source alignment for year-cents, the UK side, the population dataset, and the run itself.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.