SPB Git

spb/wp29_uqo

Public

# F4-conf-01 — Extracting treatment effects and their uncertainty from two published results tables

# Scientific question

Two open-access studies report treatment effects with uncertainty: a staggered difference-in-differences study of drug consumption room (DCR) openings in Switzerland (log hospitalisation rates; standard errors in parentheses) and a randomised evaluation of Rhode Island's RESEA programme (average treatment effects with 95% confidence intervals). The task is to extract specified point estimates, standard errors, confidence-interval bounds and sample counts exactly as printed, to attach to each value a locator (source id, table number, row label, column label), to derive two quantities that the sources do not print (a 95% confidence interval from a standard error, and a standard error from a confidence interval) while stating the convention used, and to recognise which requested quantity is not reported at all. The estimands are the printed numbers themselves; nothing is re-estimated.

# Inputs

  • data/sources/arxiv-2609.27732v1.txt — extract of Armendariz (2026), Do Drug Consumption Rooms Reduce Drug-Related Hospitalizations? Evidence from Switzerland, arXiv:2609.27732v1 [econ.GN], CC BY 4.0; contains the abstract, Section 6 (Results, with Table 6 "Overall Average Treatment Effect on the Treated (ATT)" by buffer distance and Table 7 "Overall ATT by Outcome Category and Buffer Zone") and Appendix Table A19. Outcomes are log hospitalisation rates per 100,000 inhabitants; ATTs are in log points; the line below each coefficient row holds standard errors in parentheses; stars denote p < 0.01 (), p < 0.05 (), p < 0.10 ().
  • data/sources/arxiv-2606.14621v1.txt — extract of Li, Pearson-Merkowitz & Yokum (2026), Evaluating the Impact of Rhode Island's Self-Sustaining RESEA Program on Employment Outcomes, arXiv:2606.14621v1 [econ.GN], CC BY 4.0; contains the abstract, Section 3 (Results, with Table 2: group means, treatment-control differences and average treatment effect (ATE) estimates with two-sided p-values and 95% confidence intervals) and Table 3 (ATE estimates under three estimators). Wages are annualised US dollars; reemployment is in percent / percentage points (pp); weeks on UI are weeks. Tables 2 and 3 were re-set in a one-row-per-outcome layout (see the extract header); values are verbatim.
  • data/README.md — provenance, retrieval times, licences and SHA-256 of the extracts.

# Information-availability rules

  • The two extracts are the only admissible evidence; do not use remembered values from the papers or other versions.
  • "As printed" means the sign and the number of decimals shown in the table that the key names (e.g. -0.431, 0.210, 17250 for "17,250"). Where a value appears in more than one table, use the table named in the key's definition.
  • Derived keys must be computed from the printed values of the named table with a stated convention (normal 1.96 or 2.0, or a t critical value); the convention must be written in derivation_notes.
  • A locator has the form <source id> | Table <n> | row "<row label>" | column "<column label>"; for derived keys, name the table the inputs came from and say "derived".
  • If a requested quantity is not printed in the source (and cannot be derived from printed quantities without additional assumptions), report null and say so in the locator (e.g. not reported in arxiv-2609.27732v1).

# Required outputs

  • out/results.json with the keys (all numbers "as printed" unless marked derived):
key type unit meaning
dcr_att_5km number log points Table 6, row "ATT", column "5 km"
dcr_att_5km_se number log points Table 6, standard error of the 5 km ATT
dcr_att_3km number log points Table 6, row "ATT", column "3 km"
dcr_att_3km_se number log points Table 6, standard error of the 3 km ATT
dcr_obs_5km integer region-years Table 6, row "Observations", column "5 km"
dcr_narcotics_att_3km number log points Table 7, row "Narcotics", column "3 km"
dcr_narcotics_att_3km_se number log points Table 7, standard error of that cell
dcr_fatal_att_1km number log points Table 7, row "Drug-related (fatal)", column "1 km"
dcr_fatal_att_1km_se number log points Table 7, standard error of that cell
dcr_hiv_att_5km number log points Table 7, row "HIV", column "5 km"
dcr_hiv_att_5km_se number log points Table 7, standard error of that cell
dcr_hiv_att_5km_p_value number or null — the exact two-sided p-value of the HIV 5 km ATT if the source prints it; otherwise null
dcr_hiv_att_5km_significant_10pct boolean — whether the source marks the HIV 5 km ATT as significant at the 10% level
dcr_att_5km_ci_low, dcr_att_5km_ci_high number log points derived: 95% confidence interval of the Table 6 5 km ATT from its printed SE
ri_wage_ate number USD per year Table 2, row "Wage", column "Average treatment effect estimate", point estimate
ri_wage_ate_ci_low, ri_wage_ate_ci_high number USD per year Table 2, the 95% CI bounds printed for that ATE
ri_wage_ate_se_reported boolean — whether the source prints a standard error for the wage ATE
ri_wage_ate_se_derived number USD per year derived: standard error implied by the printed 95% CI (state the critical value used)
ri_control_mean_wage number USD per year Table 2, row "Wage", column "Control" (mean)
ri_reemployment_ate_pp number percentage points Table 2, row "Reemployment", ATE point estimate
ri_weeks_ui_ate number weeks Table 2, row "Weeks on UI", ATE point estimate (sign as printed: negative = fewer weeks)
ri_weeks_ui_ate_ci_low, ri_weeks_ui_ate_ci_high number weeks Table 2, the 95% CI bounds printed for that ATE (as printed, lower bound first)
locators object — one locator string per key above (except the two booleans)
derivation_notes object — {"dcr_att_5km_ci": "", "ri_wage_ate_se": ""}
task_id string — "F4-conf-01"
feasibility string — "complete", "partial" or "infeasible" — refers to the task as a whole
feasibility_reason string or null — explanation if not complete
data_issues array of {"issue","handling"} — problems detected in the inputs (rendering defects, internal inconsistencies of a source, etc.) and how they were handled; empty list if none
n_input_rows object lines / items {file name: number of lines} for every file under data/ that you read (text files: number of newline-terminated lines as reported by wc -l; JSON files: number of top-level items)
n_analysed integer or null — number of reported items (values, assertions, effects or references) you actually assessed
random_seed integer or null — null (no randomness is involved)
  • out/report.md with the sections: Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues. The Uncertainty section must say which reported uncertainties are standard errors and which are confidence intervals, and what the derived quantities assume.
  • out/analysis.py — running ~/wp29/venv/bin/python out/analysis.py from the workspace root must regenerate out/results.json from data/ only, deterministically (text parsing is acceptable; hard-coding the numbers is acceptable only if the script also prints the matched source lines).
  • out/claims.json — a list of the central claims of the report: [{"id": "C1", "text": "...", "results_keys": ["..."], "status": "supported"|"unsupported"|"not_evaluated", "caveat": "..."}].

# Constraints

  • No network access. Python: ~/wp29/venv/bin/python (numpy, pandas, scipy, statsmodels available; the standard library is sufficient for this task). Do not modify data/.
  • The source extracts under data/sources/ are the only admissible evidence. Do not rely on memory of the papers or on other versions of them; if a quantity is not in the extract, it is not available.
  • Report numbers exactly as printed in the source (same sign, same number of decimals); do not round or rescale printed values unless the key definition asks for a transformation.
  • This task is designed to be completed in well under 20 minutes of work.
Files · 452964ee0fbbaa40fbbed2c87a54ca798ffd6a85
Menu

Theme