| name | aeja-replication-package |
| description | Use when assembling the data and code replication package for an American Economic Journal: Applied Economics (AEJ: Applied) manuscript to pass the AEA Data and Code Availability Policy and the AEA Data Editor's pre-publication reproducibility check. Builds the openICPSR deposit and README; it does not run the analysis or write the paper. |
Replication Package & AEA Data Policy (aeja-replication-package)
When to trigger
- The paper is empirical and you are heading toward acceptance (or want to build the package early)
- An R&R or conditional acceptance asks you to prepare the data + code deposit
- You need to write the README and Data Availability Statement to AEA standard
- Some data are restricted/proprietary and you must plan the deposit around that
Why this is the AEJ: Applied signature
The single most distinctive AEJ: Applied differentiator is the AEA Data and Code Availability Policy, administered by the AEA Data Editor (Lars Vilhuber). Papers offered a revise-and-resubmit are asked to submit a data replication package at resubmission, and accepted papers must clear the Data Editor's compliance and reproducibility checks before publication. The default home is the AEA Data and Code Repository on openICPSR; other trusted repositories require appropriate Data Editor access. Build this package as you analyze; do not treat it as an acceptance-day formality.
What the package must contain
| Component | Requirement |
|---|
| Data files | All data used, unzipped, in open/documented formats; or, for restricted data, a precise access path |
| Analysis + transformation code | Every script from raw data → cleaned data → each table/figure |
| Master script | One run_all that regenerates every exhibit from raw inputs |
| README | AEA README template: data sources, access, computational requirements, run instructions, exhibit-to-code mapping |
| Data Availability Statement (DAS) | States provenance and access terms for each dataset; required in the paper |
| Instruments | Survey instruments / experiment instructions for own-data studies |
Handling restricted or proprietary data
- You cannot deposit restricted data, but you must still deposit all code and document the exact access procedure (provider, application steps, cost, approximate wait).
- Provide a small synthetic or public extract so the code runs and the Data Editor can verify logic where possible.
- Declare any restricted-data or exemption request at the earliest opportunity — limited-access arrangements are at editor/Data-Editor discretion and must be flagged, not discovered at the check.
Reproducibility hygiene (build as you go)
- Pin versions: Stata
version + recorded ssc/net package versions; requirements.txt/conda env (Python); renv.lock (R).
- Set and report seeds for every simulation, bootstrap, and randomization-inference step.
- No absolute paths — one root macro/variable; relative paths thereafter.
- Exhibit-to-code map in the README: Table 3 →
code/05_main.do, Figure 2 → code/06_event_study.R, etc.
- Run it clean on a fresh checkout before depositing; the Data Editor will.
Adapt the vendored skeleton in ../../resources/code/ (master script → clean → descriptive → DID/IV/RD/DML → mechanism → robustness → tables) as the package backbone.
Checklist
Anti-patterns
- Treating the package as an acceptance-day task — the check is pre-publication and gates publication
- Depositing code that depends on absolute paths or unrecorded package versions (fails to reproduce)
- Zipped data, missing intermediate files, or a README with no exhibit-to-code mapping
- Restricted data discovered at the check with no access documentation or synthetic extract
- Unset seeds making bootstrap/RI results non-reproducible
Output format
【Master script】run_all regenerates all exhibits from raw? [Y/N]
【Data】all deposited unzipped, or restricted path + synthetic extract? [state]
【README】AEA template + exhibit-to-code map complete? [Y/N]
【DAS】written for every dataset with access terms? [Y/N]
【Reproducibility】versions pinned + seeds set + no absolute paths + clean fresh run? [Y/N]
【Restricted/exemption】declared early? [Y/N/NA]
【Next step】aeja-referee-strategy (or aeja-submission)
Supplementary resources