Data Analysis (bjps-data-analysis)
BJPS reviewers are methodologically sophisticated, and the journal — a DA-RT signatory — expects the
replication data and code behind every reported result to be deposited at acceptance (see
bjps-transparency-and-data). Analyze as if a referee will re-run your code, because the materials
will be public. This skill covers execution and reporting norms; design decisions live in
bjps-research-design.
When to trigger
- Running main and supporting analyses; building the results section
- A reviewer asked for robustness, heterogeneity, or alternative specifications
- Reconciling preregistered vs. exploratory analyses
- Making the analysis reproducible before deposit
Analysis norms BJPS expects
- Report uncertainty honestly. Confidence/credible intervals, not just stars; the magnitude and
substantive meaning of the estimate, not just its significance.
- Robustness that probes, not decorates. Show specifications that could break the result
(alternative measures, samples, estimators, fixed effects), and say what you learn.
- Heterogeneity with discipline. Pre-specify subgroups where possible; correct for multiple
comparisons; do not mine for a significant interaction and theorize it post hoc.
- Right inference. Cluster at the assignment/sampling level; randomization inference for
experiments; small-cluster corrections (wild-cluster bootstrap) when clusters are few.
- Preregistration discipline. Clearly separate registered analyses from exploratory ones;
reconcile deviations from the plan and justify them.
- Measurement. Validate constructs; report reliability; show that results are not an artifact of a
coding/scaling choice — especially for cross-national measures that must travel across contexts.
Computational / text-as-data specifics
- Document model/version, hyperparameters, seeds, and validation against human-labeled samples.
- For topic models/embeddings/LLM pipelines: report stability and a validation step; don't treat
outputs as ground truth.
Cross-national / comparative specifics
- Check measurement equivalence across countries/waves before pooling; report whether constructs
mean the same thing across contexts.
- Be explicit about what is identified within vs. between units, and where the variation comes from.
Reproducibility while you work (not at the end)
- One master script regenerates every table and figure from the (raw or constructed) data.
- Set and report seeds for bootstrap, randomization inference, simulation, and any stochastic step.
- Pin software/package versions (
renv.lock, requirements.txt, recorded ssc/net installs).
- Keep table/figure numbers in the manuscript matched to script outputs — the package must reproduce them.
Execution bridge (StatsPAI / Stata MCP)
Run the battery, don't just enumerate it. Full map:
execution-with-mcp. BJPS is comparative/IR-heavy — cross-country panels with confounded institutions; emphasize fixed effects, clustering, and weak-IV-robust inference.
- Many outcomes / specifications:
romano_wolf (step-down FWER) or
benjamini_hochberg — report the adjusted threshold.
- OVB sensitivity:
oster_delta / sensemakr.
- Inference:
wild_cluster_bootstrap (few clusters), twoway_cluster / conley;
multilevel data → cluster at the right level.
- Re-fit off one handle:
audit_result(result_id) lists the missing checks and the
exact suggest_function for each.
- Exhibits:
etable / did_summary_to_latex from the handle — no retyped numbers.
Keep the decisive checks in the body and the exhaustive battery in the supplement. See
the executed chain in the JF execution walkthrough.
Anti-patterns
- Stars-only tables with no effect sizes or intervals
- "Robustness" that only reruns near-identical specs to manufacture stability
- p-hacking / fishing for a significant interaction; HARKing exploratory results into hypotheses
- Clustering at the wrong level or ignoring few-cluster problems
- Pooling across countries without checking measurement equivalence
- A results section whose numbers the deposited code cannot reproduce
Output format
【Main estimate】magnitude + interval + substantive meaning
【Identification check】(per research-design) result
【Robustness】specs that could break it → what held
【Heterogeneity】pre-specified? MHT-adjusted?
【Registered vs exploratory】clearly separated?
【Measurement equivalence】(if cross-national) checked?
【Reproducible】master script + seeds + pinned versions? [Y/N]
【Next】bjps-tables-figures
Referee-pushback patterns and the BJPS-specific repair
- "This reads as a single-case result, not a general one." → Re-anchor the estimate to the general
mechanism and show what it implies beyond the studied country before the numbers.
- "The robustness table only reruns near-identical specs." → Replace decorative checks with
specifications that could break the result, and say what you learned when they held.
- "You pooled countries without checking the measure travels." → Report measurement equivalence; show
the construct means the same thing across contexts before pooling.
- "I cannot tell registered from exploratory analyses." → Segregate them explicitly; the deposited code
is public via the BJPolS Dataverse, so the split must survive independent re-running.
Calibration anchors (hedged)
- The bar is wide political-science interest, not within-niche novelty: an effect only a country or
subfield specialist would value rarely clears BJPS review on its own.
- Transparency follows DA-RT / BJPolS Dataverse norms — write the analysis so the deposited package
reproduces every printed number; deposit mechanics can change, so confirm the current policy.
Supplementary resources
Source: brycewang-stanford/Awesome-Journal-Skills → British-Journal-of-Political-Science-Skills/skills/bjps-data-analysis/SKILL.md
1---2name: bjps-data-analysis3description: Use when executing and reporting the analysis for a British Journal of Political Science (BJPS) manuscript so it survives expert, double-blind review — honest uncertainty, robustness, and triangulation appropriate to quantitative, experimental, or computational work. Guides analysis norms; it does not fabricate results.4---567# Data Analysis (bjps-data-analysis)89BJPS reviewers are methodologically sophisticated, and the journal — a DA-RT signatory — expects the10replication data and code behind every reported result to be deposited at acceptance (see11`bjps-transparency-and-data`). Analyze as if a referee will re-run your code, because the materials12will be public. This skill covers execution and reporting norms; design decisions live in13`bjps-research-design`.1415## When to trigger1617- Running main and supporting analyses; building the results section18- A reviewer asked for robustness, heterogeneity, or alternative specifications19- Reconciling preregistered vs. exploratory analyses20- Making the analysis reproducible before deposit2122## Analysis norms BJPS expects23241. **Report uncertainty honestly.** Confidence/credible intervals, not just stars; the magnitude and25 substantive meaning of the estimate, not just its significance.262. **Robustness that probes, not decorates.** Show specifications that could *break* the result27 (alternative measures, samples, estimators, fixed effects), and say what you learn.283. **Heterogeneity with discipline.** Pre-specify subgroups where possible; correct for multiple29 comparisons; do not mine for a significant interaction and theorize it post hoc.304. **Right inference.** Cluster at the assignment/sampling level; randomization inference for31 experiments; small-cluster corrections (wild-cluster bootstrap) when clusters are few.325. **Preregistration discipline.** Clearly separate **registered** analyses from **exploratory** ones;33 reconcile deviations from the plan and justify them.346. **Measurement.** Validate constructs; report reliability; show that results are not an artifact of a35 coding/scaling choice — especially for cross-national measures that must travel across contexts.3637## Computational / text-as-data specifics38- Document model/version, hyperparameters, seeds, and validation against human-labeled samples.39- For topic models/embeddings/LLM pipelines: report stability and a validation step; don't treat40 outputs as ground truth.4142## Cross-national / comparative specifics43- Check **measurement equivalence** across countries/waves before pooling; report whether constructs44 mean the same thing across contexts.45- Be explicit about what is identified within vs. between units, and where the variation comes from.4647## Reproducibility while you work (not at the end)48- One **master script** regenerates every table and figure from the (raw or constructed) data.49- **Set and report seeds** for bootstrap, randomization inference, simulation, and any stochastic step.50- Pin software/package versions (`renv.lock`, `requirements.txt`, recorded `ssc`/`net` installs).51- Keep table/figure numbers in the manuscript matched to script outputs — the package must reproduce them.5253## Execution bridge (StatsPAI / Stata MCP)5455Run the battery, don't just enumerate it. Full map:56[`execution-with-mcp`](../../../shared-resources/empirical-methods/execution-with-mcp.md). BJPS is comparative/IR-heavy — cross-country panels with confounded institutions; emphasize fixed effects, clustering, and weak-IV-robust inference.5758- **Many outcomes / specifications:** `romano_wolf` (step-down FWER) or59 `benjamini_hochberg` — report the adjusted threshold.60- **OVB sensitivity:** `oster_delta` / `sensemakr`.61- **Inference:** `wild_cluster_bootstrap` (few clusters), `twoway_cluster` / `conley`;62 multilevel data → cluster at the right level.63- **Re-fit off one handle:** `audit_result(result_id)` lists the missing checks and the64 exact `suggest_function` for each.65- **Exhibits:** `etable` / `did_summary_to_latex` from the handle — no retyped numbers.6667Keep the decisive checks in the body and the exhaustive battery in the supplement. See68the executed chain in the [JF execution walkthrough](../../../Journal-of-Finance-Skills/resources/worked-examples/02-execution-walkthrough.md).69## Anti-patterns7071- Stars-only tables with no effect sizes or intervals72- "Robustness" that only reruns near-identical specs to manufacture stability73- p-hacking / fishing for a significant interaction; HARKing exploratory results into hypotheses74- Clustering at the wrong level or ignoring few-cluster problems75- Pooling across countries without checking measurement equivalence76- A results section whose numbers the deposited code cannot reproduce7778## Output format7980```81【Main estimate】magnitude + interval + substantive meaning82【Identification check】(per research-design) result83【Robustness】specs that could break it → what held84【Heterogeneity】pre-specified? MHT-adjusted?85【Registered vs exploratory】clearly separated?86【Measurement equivalence】(if cross-national) checked?87【Reproducible】master script + seeds + pinned versions? [Y/N]88【Next】bjps-tables-figures89```9091## Referee-pushback patterns and the BJPS-specific repair9293- *"This reads as a single-case result, not a general one."* → Re-anchor the estimate to the general94 mechanism and show what it implies beyond the studied country before the numbers.95- *"The robustness table only reruns near-identical specs."* → Replace decorative checks with96 specifications that could *break* the result, and say what you learned when they held.97- *"You pooled countries without checking the measure travels."* → Report measurement equivalence; show98 the construct means the same thing across contexts before pooling.99- *"I cannot tell registered from exploratory analyses."* → Segregate them explicitly; the deposited code100 is public via the BJPolS Dataverse, so the split must survive independent re-running.101102## Calibration anchors (hedged)103104- The bar is **wide political-science interest**, not within-niche novelty: an effect only a country or105 subfield specialist would value rarely clears BJPS review on its own.106- Transparency follows **DA-RT / BJPolS Dataverse** norms — write the analysis so the deposited package107 reproduces every printed number; deposit mechanics can change, so confirm the current policy.108109## Supplementary resources110111- [`../../resources/external_tools.md`](../../resources/external_tools.md) — estimation, inference, and text-as-data packages112- [`../../resources/code/`](../../resources/code/) — reproducible Stata + Python skeleton to adapt113- [`../../resources/official-source-map.md`](../../resources/official-source-map.md) — DA-RT / replication-data policy114115---116117**Source:** [`brycewang-stanford/Awesome-Journal-Skills`](https://github.com/brycewang-stanford/Awesome-Journal-Skills) → `British-Journal-of-Political-Science-Skills/skills/bjps-data-analysis/SKILL.md`