1---2name: aejmac-replication-package3description: Replication Package (aejmac-replication-package)4---56# Replication Package (aejmac-replication-package)78## When to trigger910- A paper is heading toward conditional acceptance and the AEA Data Editor check is next11- You have simulation/calibration code but have never packaged it for a reviewer to run12- The data include a restricted/proprietary source (confidential micro data, licensed series)13- You want to build the package *as you go* rather than scrambling at acceptance1415## The AEA reproducibility regime (verified 2026-06; re-confirm on the official AEA pages)1617- Governed by the **AEA Data and Code Availability Policy**. Conditionally accepted papers undergo a review by the **AEA Data Editor** (Lars Vilhuber) **before publication**, including **reproducibility checks** and verification of the information provided.18- Deposit in the **AEA Data and Code Repository on openICPSR** (use is strongly encouraged; other trusted repositories may be allowed with Data Editor approval). Materials are posted with the article.19- **Code scope is broad** — and this is the macro-critical point: the policy covers data cleaning **and** "estimation, **simulation**, model solution, and **visualization**" code. For AEJ: Macro, the **DSGE/HANK solver, the calibration/estimation routines, and the simulation code must all be in the package**, not only the regression scripts.20- **Restricted-access data:** exceptions exist for confidential / copyrighted / agreement-restricted data; authors must preserve materials 5+ years, provide reasonable replication assistance, **make the code public even when the data cannot be**, and disclose data sources. State any such request to the Data Editor.21- **Field experiments** must be registered in the **AEA RCT Registry**.2223## Building a macro-grade package2425### Directory & master script26- A clear tree: `/data` (raw + analysis), `/code`, `/output` (tables + figures), `/docs`.27- One **master script** (`run_all`) that regenerates **every table and figure** from raw inputs in order, including the model solution and simulation steps.28- A **README** following the AEA template: data sources and access, software + versions, hardware, expected runtime, and a map from each exhibit to the script that makes it.2930### Macro-specific reproducibility31- **Pin the toolchain**: Stata version + `ssc`/`net` package versions; R `renv.lock`; Python `requirements.txt`/`conda env`; Julia `Project.toml`/`Manifest.toml`; **Dynare version** for DSGE.32- **Seeds** set and reported for every simulation, bootstrap, and randomization step.33- **Long-running computations** (global solutions, large HANK simulations, MCMC): provide a way to verify without a supercomputer — ship intermediate/cached outputs and a reduced-scale switch, and document expected full runtime.34- **Numerical accuracy artifacts**: include the diagnostics (Euler errors, grid checks) so the Data Editor can confirm the solution, not just rerun it.3536### Data documentation37- For each source: provider, exact extract/vintage, access date, license, and whether it is public or restricted.38- Real-time vs. revised macro vintages (e.g., ALFRED): document which you used.39- Restricted data: a clear access path and a public code subset that runs on synthetic/sample data where possible.4041## Checklist4243- [ ] openICPSR (AEA Data and Code Repository) deposit planned; README on the AEA template44- [ ] Master `run_all` regenerates every exhibit incl. model solution + simulation45- [ ] Simulation, calibration/estimation, and solver code all included (not just regressions)46- [ ] Toolchain pinned (Stata/R/Python/Julia/Dynare versions); seeds set and reported47- [ ] Long-running steps: cached outputs + reduced-scale switch + runtime documented48- [ ] Restricted data: exception request stated; code public; access path documented; 5-year retention noted49- [ ] Every data source documented (provider, vintage, access date, license)50- [ ] Field experiments registered in the AEA RCT Registry5152## Anti-patterns5354- Packaging only the regression scripts and omitting the DSGE solver / simulation code55- "Results available on request" instead of a deposited, runnable package56- Unpinned package versions, so the Data Editor cannot reproduce the numbers57- Unseeded simulations that do not reproduce58- A multi-day computation with no reduced-scale path or cached intermediates59- Discovering a data-license problem at acceptance instead of flagging it early6061## Output format6263```64【Repository】openICPSR (AEA Data and Code Repository) deposit ready? [Y/N]65【Master script】run_all regenerates all exhibits incl. model+simulation? [Y/N]66【Code scope】solver + calibration/estimation + simulation + cleaning all included? [Y/N]67【Toolchain + seeds】versions pinned; seeds reported? [Y/N]68【Restricted data】exception stated; code public; access path documented? [Y/N / NA]69【Long runs】cached outputs + reduced-scale switch + runtime noted? [Y/N / NA]70【Next step】aejmac-referee-strategy71```