Before you start

These examples run offline after download. The four empirical examples use Python 3.11 or later; the Methods check needs Python 3.9 or later. If a paper example needs packages, install them with python3 -m pip install -r requirements.txt, preferably in a virtual environment. The Dataset example needs only standard Python.

The four empirical commands passed a fresh-folder check on 26 October 2026; the Methods check passed on 28 October. The empirical examples are frozen to the versions named below. Links to the latest papers are provided alongside them. That checks computation on one machine; an outside researcher has yet to test the instructions. Each example reproduces the result described below. The full archives contain the broader analyses and their additional input requirements.

Dataset 1.2.0: condominium coverage

Download the dataset example (ZIP, 1.47 MB) · Full public release

No extra packages. Python 3.11 or later. The ZIP contains the input tables, code, README and input hashes. Unzip it and open a terminal in the dataset folder.

python3 run.py

Expected output: 126,251 eligible condominium sales; 121,263 deed links (96.049%); 4,988 unlinked sales; ten annual rows. Read results/RESULTS.json for the checks and the README for the output files.

The annual CSV names the mortgage-match denominator. A second CSV compares linked and unlinked sales. This extract refits descriptive aggregates; it does not rerun the linker or verify purchase financing.

House: the condominium comparison

Download the house example (ZIP, 0.36 MB) · Frozen example from 3.10 · Current paper, 3.11

Python 3.11 or later, NumPy, pandas and SciPy. The ZIP contains the input tables, code, README and input hashes. Unzip it and open a terminal in the house folder.

python3 run.py

Expected output: 6,836 condominium pairs and an OLS financed-minus-cash contrast of 0.83 log points (analytic interval 0.06–1.61). Read results/RESULTS.json for the checks and the README for the output files.

This refits the secondary condominium comparison and checks saved bootstrap quantiles. It does not refit the headline house estimate, regenerate party-name screens or resolve financing cases. Output labels distinguish log units from log points.

Tax: the New Jersey check

Download the tax example (ZIP, 0.10 MB) · Frozen example from 3.3 · Current paper, 3.6

Python 3.11 or later, NumPy and pandas. The ZIP contains the input tables, code, README and input hashes. Unzip it and open a terminal in the tax folder.

python3 run.py

Expected output: For the comparison starting February 2005, the exact-million share falls 91.6%; holding county composition fixed gives 91.2%. Read results/RESULTS.json for the checks and the README for the output files.

This recomputes estimates and block resampling from sufficient monthly and county counts. It does not re-extract sales, refit the NYC analysis or verify actual fee payments. The ranges are descriptive sensitivity checks.

Deed: the index comparison

Download the deed example (ZIP, 3.18 MB) · Frozen example from 1.0.12 · Current paper, 1.0.13

Python 3.11 or later, NumPy and pandas. The ZIP contains the input tables, code, README and input hashes. Unzip it and open a terminal in the deed folder.

python3 run.py

Expected output: 140,119 pairs; a 3.69 log-point raw-minus-screened difference in 2010Q3, or 2.63 with the narrower screen; −2.28 on average in 2011–12. Read results/RESULTS.json for the checks and the README for the output files.

This refits all 92 quarters from frozen pair inputs. An optional command rebuilds the pairs from the baseline raw deed input and checks them; see the README (PyArrow needed). The quick start does not rerun classification-rate uncertainty or document validation. These differences are not a verified correction to market prices.

Methods: verify the completed external replay

Download the Methods check (ZIP, 9.97 MB) · Paper and verification details

Release 7.1.1, accompanying the unchanged version 7.1 paper. Python 3.9 or later, with no extra packages. Extract the archive and open a terminal in that folder.

python3 verify_release.py

Expected output: "status": "PASS", three paired replications, 264 numerical comparisons and maximum absolute difference zero. The command checks 519 file hashes, the saved full-period results, the logging control and a separate calculation of cohort statistics.

This is an offline verification of deposited outputs using synthetic inputs. It does not rerun the simulation or validate real patient outcomes. Optional full-rerun instructions and pinned upstream sources are included; that run takes several hours. PolicySpace2’s full model was not rerun.

Try the dataset without my help

If you use housing data, please try the Dataset example and tell me where you get stuck. The 15-minute test asks for two outputs and a check of what the financing flag means. Use the feedback sheet and email me your results. Please omit private file paths and transaction information.

Code and reduced inputs are CC BY 4.0; credit Pablo Loschi and cite the linked release. Original source records retain their own terms. Download ZIP checksums to verify your copy.