OpenFisca
In short: OpenFisca computes who gets how much across millions of cases; Arxo establishes what one case is owed under which edition, with grounds. This page is for a reader who runs OpenFisca country models and wants to know where a per-case prover overlaps — and where the two must not be compared naively.
What OpenFisca is for
Section titled “What OpenFisca is for”OpenFisca is a microsimulation framework: a core engine plus country packages written in a restricted Python, computing taxes and benefits for whole populations in batched array calls. Its strengths are dated parameters and formulas (a value per date, a formula per period), reforms as baseline-versus-modified comparisons, large YAML test banks with error margins, and computation logs that trace a single result. For reform work and population statistics it is the reference tool.
Where it meets Arxo
Section titled “Where it meets Arxo”Both sides compute the same monthly French housing benefit for January 2021 from statute text, with staged derivations on each side — Arxo’s proof against the tracer log. The comparison only works stage by stage: Arxo separates the post-reduction pre-deduction stage from the later stages, and each must meet the matching OpenFisca variable. Cross-stage equality is a false comparison, recorded up front.
Key differences
Section titled “Key differences”- Scale versus standing. OpenFisca answers millions of cases per call with a documented tolerance per test (one percent in the studied bank); Arxo answers one case exactly, refusing rather than approximating. The tolerance hides sub-percent systematics — acceptance on the Arxo side needs cent-level agreement, not the bank’s margin.
- Rounding is an engine property. The framework rounds with half-to-even banker’s rounding, rents to whole euros, and resources up to hundreds. These are documented behaviors of the engine, not modelling choices, and the contract fixes them before comparison.
- Missing inputs get defaults. An unset OpenFisca input falls back to its default and the computation proceeds; Arxo refuses on a missing parameter with a named outcome. Both are deliberate semantics for different jobs — batch statistics versus individual entitlement.
- Editions are the shared theme. Dated formulas and reform objects are OpenFisca’s native answer to legal change, and the strongest overlap with Arxo’s dated editions. The prepared experiment re-runs one bank on two yearly scales to compare exactly that.
A concrete scenario
Section titled “A concrete scenario”The prepared experiment takes twelve published housing-benefit cases for January 2021 plus a bank of two thousand synthetic households at the first computation stage, re-run on a later yearly scale with changed ceilings and thresholds, plus parameter edits. Exact-to-cent code replicas and text-derived expectations sit side by side; payment-threshold placement and rounding-basis questions stay open with named causes.
Historical runs from mid-September 2026 informed the protocol; the frozen pins are France 176.0.9 at commit b2ab9943 with Core 44.7.1, and timings and counts from earlier runs are not facts about these pins.
Choosing and combining
Section titled “Choosing and combining”Choose OpenFisca for population simulation, reform deltas, and any task where a documented statistical tolerance is acceptable. Look to Arxo for the individual decision with its grounds: which edition applied, which stage produced the figure, and what is refused rather than defaulted. The natural combination is a pipeline — OpenFisca for the population picture, Arxo for the contestable single case.
Evidence and open questions
Section titled “Evidence and open questions”- Sources checked: September 2026 (framework docs, core changelog, the France package at its pin, parameter files and the YAML bank re-read by hash; newer releases explicitly excluded).
- Studied profile: France 176.0.9 at commit b2ab9943, Core 44.7.1, NumPy 2.3.5, Python 3.13; newer releases explicitly excluded.
- Basis: confirmed by documentation plus historical runs plus a prepared protocol; current comparative run not performed.
- Open: the legal basis of rent rounding and threshold placement, exact later-scale code numbers (only a run produces them), and error, conflict, and judgment semantics of the core, which the docs did not yield — recorded as unconfirmed, not denied.
Sources and reproducible materials
Section titled “Sources and reproducible materials”- Framework documentation (variables, parameters, periods, reforms, tracer): openfisca.org/doc
- France package at the studied pin: github.com/openfisca/openfisca-france
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.