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,17250for "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
nulland say so in the locator (e.g.not reported in arxiv-2609.27732v1).
Required outputs
out/results.jsonwith 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.mdwith 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.pyfrom the workspace root must regenerateout/results.jsonfromdata/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 modifydata/. - 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.