Robustness & Inference (expecon-robustness)
When to trigger
- A referee asks "is the study adequately powered?" and there is no sample-size justification
- You ran several treatments / outcomes and report many p-values without correction
- Inference treats individual decisions as independent when subjects interact in groups
- Results move when you change the exclusion rule, the outcome measure, or pool/unpool sessions
The ExpEcon inference stack
Experimental control buys clean identification; it does not buy clean inference. Five things separate a robust ExpEcon paper from a fragile one.
1. Power / sample-size justification (do this before data, defend it after)
- Pre-specify the minimum detectable effect (MDE) that is economically meaningful and the power to detect it, at the correct unit (session or matching group, not individual decision). A study powered on individual n but analyzed at the group level is overstated.
- Use pilot or prior-literature variances; for interactive games, simulate at the group level. Report the realized power for the primary comparison, not just a post-hoc "we found p<0.05."
- A clean, well-powered null is publishable here — especially as a Registered Report. Do not p-hack a null into significance; defend it with power.
2. The unit-of-observation problem
- Within a matching group, decisions are correlated; the independent unit is the group/session, often giving far fewer effective observations than the raw decision count suggests.
- Use group-level summaries, cluster-robust SEs at the session/matching-group level, mixed models with group random effects, or non-parametric tests on group means (Mann–Whitney / permutation). With few clusters, prefer randomization-inference / permutation tests over asymptotic clustering.
3. Multiple treatments & multiple hypotheses
- If you test several outcomes or several pairwise treatment contrasts, correct for multiplicity (Holm, Romano–Wolf, List–Shaikh–Xu for experiments, or pre-registered families). Distinguish the primary pre-registered comparison (no correction needed if it is the single confirmatory test) from secondary/exploratory ones (correct, and label exploratory).
- Report the pre-registered analysis first, exactly as specified; report deviations and additional analyses separately and labeled.
4. Non-parametric vs. parametric
- Experimental outcomes are often bounded, censored (contributions in [0,20]), or non-normal. Lead with non-parametric tests on the primary comparison; use regression for covariate adjustment and heterogeneity, not to rescue a fragile mean difference.
5. Robustness to design and analysis choices
- Show the effect survives: alternative exclusion rules (comprehension failers in/out), first-half vs. second-half rounds (learning), partner vs. stranger if both run, and a permutation test of the treatment label.
- Report attrition and, in field/online studies, differential attrition (Lee bounds if it threatens balance).
Execution bridge (StatsPAI / Stata MCP)
Run the battery, don't just enumerate it. Full map:
execution-with-mcp. Experimental Economics is lab/field experiments; randomization inference, romano_wolf for many treatments/outcomes, and power are decisive — observational tools secondary.
- Many outcomes / specifications:
romano_wolf (step-down FWER) or benjamini_hochberg.
- OVB sensitivity:
oster_delta / sensemakr.
- Inference:
wild_cluster_bootstrap (few clusters), twoway_cluster / conley.
- Re-fit off one handle:
audit_result(result_id) lists missing checks + the exact
suggest_function for each.
- Exhibits:
etable / did_summary_to_latex from the handle — no retyped numbers.
Decisive checks in the body, exhaustive battery in the appendix.
JF execution walkthrough.
Checklist
Anti-patterns
- "We found a significant effect" with no power analysis and a tiny number of independent groups
- Per-decision n inflating significance when subjects are in repeated, interacting groups
- A cherry-picked significant contrast among many, uncorrected and unlabeled as exploratory
- Switching the primary outcome or exclusion rule after seeing results, without disclosure
- Parametric t-tests on heavily censored contribution data as the only evidence
- Declaring a null "no effect" when the design never had power to detect a meaningful effect
Worked vignette (illustrative)
A public-goods paper runs 4 treatments × 3 outcomes and reports 7 significant tests. The fix: declare the single pre-registered primary contrast (cooperation under punishment vs. no-punishment) tested at the matching-group level via a permutation test on group means (say 12 groups/arm), then apply Romano–Wolf across the remaining family and label the rest exploratory. The headline survives correction (illustrative p=0.004); two secondary "effects" do not and are reported honestly as exploratory.
Referee pushback mapped to the fix
- "How many independent observations do you actually have?" → Count groups/sessions, not decisions; report inference at that unit and the realized power for it.
- "You ran a fishing expedition." → Declare the single pre-registered primary test; correct the rest (Romano–Wolf/Holm) and label them exploratory.
- "Few clusters — your SEs are unreliable." → Use randomization inference / permutation tests on group means rather than asymptotic clustering.
- "The null is uninformative." → Report the MDE; show the design had power to detect a meaningful effect, so the null is evidence of absence, not absence of evidence.
- "Results depend on dropping subjects." → Show the effect with and without comprehension failers and state the pre-specified rule.
A minimal robustness panel to pre-build
- Primary test at the group/session unit (non-parametric lead).
- Same test with comprehension failers included vs. excluded.
- First-half vs. second-half rounds (learning).
- Permutation/randomization-inference p-value on the treatment label.
- Multiplicity-corrected family of secondary contrasts, labeled exploratory.
- Attrition table (and differential attrition / Lee bounds in field-online designs).
If all six point the same way, the result is robust in the sense ExpEcon referees mean; if (3) or (4) flips it, the headline is fragile and you learned that before a referee did.
Output format
【Journal】Experimental Economics (ESA method flagship)
【Skill】expecon-robustness
【Verdict】robust / fragile / underpowered
【Power】MDE + power at group/session unit; realized power
【Inference unit】group-means / cluster-robust / randomization inference
【Multiplicity】correction used; primary vs. exploratory split
【Design robustness】exclusions / learning halves / order / attrition
【Next skill】expecon-tables-figures
Source: brycewang-stanford/Awesome-Journal-Skills → Experimental-Economics-Skills/skills/expecon-robustness/SKILL.md
1---2name: expecon-robustness3description: Use when an Experimental Economics (ExpEcon) result may be a power artifact, multiple-comparisons artifact, or sensitive to the inference unit, exclusions, or design choices. Hardens the statistical case; it does not design the experiment or draft prose.4---567# Robustness & Inference (expecon-robustness)89## When to trigger1011- A referee asks "is the study adequately powered?" and there is no sample-size justification12- You ran several treatments / outcomes and report many p-values without correction13- Inference treats individual decisions as independent when subjects interact in groups14- Results move when you change the exclusion rule, the outcome measure, or pool/unpool sessions1516## The ExpEcon inference stack1718Experimental control buys clean identification; it does not buy clean *inference*. Five things separate a robust ExpEcon paper from a fragile one.1920### 1. Power / sample-size justification (do this before data, defend it after)2122- Pre-specify the **minimum detectable effect (MDE)** that is economically meaningful and the power to detect it, at the **correct unit** (session or matching group, not individual decision). A study powered on individual n but analyzed at the group level is overstated.23- Use pilot or prior-literature variances; for interactive games, simulate at the group level. Report the realized power for the primary comparison, not just a post-hoc "we found p<0.05."24- A clean, well-powered **null** is publishable here — especially as a Registered Report. Do not p-hack a null into significance; defend it with power.2526### 2. The unit-of-observation problem2728- Within a matching group, decisions are correlated; the **independent unit is the group/session**, often giving far fewer effective observations than the raw decision count suggests.29- Use group-level summaries, **cluster-robust SEs at the session/matching-group level**, mixed models with group random effects, or non-parametric tests on group means (Mann–Whitney / permutation). With few clusters, prefer randomization-inference / permutation tests over asymptotic clustering.3031### 3. Multiple treatments & multiple hypotheses3233- If you test several outcomes or several pairwise treatment contrasts, **correct for multiplicity** (Holm, Romano–Wolf, List–Shaikh–Xu for experiments, or pre-registered families). Distinguish the **primary** pre-registered comparison (no correction needed if it is the single confirmatory test) from **secondary/exploratory** ones (correct, and label exploratory).34- Report the pre-registered analysis first, exactly as specified; report deviations and additional analyses separately and labeled.3536### 4. Non-parametric vs. parametric3738- Experimental outcomes are often bounded, censored (contributions in [0,20]), or non-normal. Lead with **non-parametric tests** on the primary comparison; use regression for covariate adjustment and heterogeneity, not to rescue a fragile mean difference.3940### 5. Robustness to design and analysis choices4142- Show the effect survives: alternative exclusion rules (comprehension failers in/out), first-half vs. second-half rounds (learning), partner vs. stranger if both run, and a permutation test of the treatment label.43- Report **attrition** and, in field/online studies, differential attrition (Lee bounds if it threatens balance).4445## Execution bridge (StatsPAI / Stata MCP)4647Run the battery, don't just enumerate it. Full map:48[`execution-with-mcp`](../../../shared-resources/empirical-methods/execution-with-mcp.md). Experimental Economics is lab/field experiments; randomization inference, `romano_wolf` for many treatments/outcomes, and power are decisive — observational tools secondary.4950- **Many outcomes / specifications:** `romano_wolf` (step-down FWER) or `benjamini_hochberg`.51- **OVB sensitivity:** `oster_delta` / `sensemakr`.52- **Inference:** `wild_cluster_bootstrap` (few clusters), `twoway_cluster` / `conley`.53- **Re-fit off one handle:** `audit_result(result_id)` lists missing checks + the exact54 `suggest_function` for each.55- **Exhibits:** `etable` / `did_summary_to_latex` from the handle — no retyped numbers.5657Decisive checks in the body, exhaustive battery in the appendix.58[JF execution walkthrough](../../../Journal-of-Finance-Skills/resources/worked-examples/02-execution-walkthrough.md).59## Checklist6061- [ ] Sample size justified via MDE + power **at the group/session unit**; realized power reported62- [ ] Inference uses the correct independent unit (cluster-robust / group-means / RI), not raw decision n63- [ ] Few-cluster inference handled (permutation / randomization inference) when sessions are few64- [ ] Multiplicity corrected across outcomes/contrasts; primary vs. exploratory clearly separated65- [ ] Primary analysis matches the pre-analysis plan exactly; deviations flagged66- [ ] Non-parametric test leads for the bounded/non-normal primary outcome67- [ ] Robustness to exclusions, learning (round halves), and order shown; attrition reported6869## Anti-patterns7071- "We found a significant effect" with no power analysis and a tiny number of independent groups72- Per-decision n inflating significance when subjects are in repeated, interacting groups73- A cherry-picked significant contrast among many, uncorrected and unlabeled as exploratory74- Switching the primary outcome or exclusion rule after seeing results, without disclosure75- Parametric t-tests on heavily censored contribution data as the only evidence76- Declaring a null "no effect" when the design never had power to detect a meaningful effect7778## Worked vignette (illustrative)7980A public-goods paper runs 4 treatments × 3 outcomes and reports 7 significant tests. The fix: declare the single pre-registered primary contrast (cooperation under punishment vs. no-punishment) tested at the matching-group level via a permutation test on group means (say 12 groups/arm), then apply Romano–Wolf across the remaining family and label the rest exploratory. The headline survives correction (illustrative p=0.004); two secondary "effects" do not and are reported honestly as exploratory.8182## Referee pushback mapped to the fix8384- *"How many independent observations do you actually have?"* → Count **groups/sessions**, not decisions; report inference at that unit and the realized power for it.85- *"You ran a fishing expedition."* → Declare the single pre-registered primary test; correct the rest (Romano–Wolf/Holm) and label them exploratory.86- *"Few clusters — your SEs are unreliable."* → Use randomization inference / permutation tests on group means rather than asymptotic clustering.87- *"The null is uninformative."* → Report the MDE; show the design had power to detect a meaningful effect, so the null is evidence of absence, not absence of evidence.88- *"Results depend on dropping subjects."* → Show the effect with and without comprehension failers and state the pre-specified rule.8990## A minimal robustness panel to pre-build91921. Primary test at the group/session unit (non-parametric lead).932. Same test with comprehension failers included vs. excluded.943. First-half vs. second-half rounds (learning).954. Permutation/randomization-inference p-value on the treatment label.965. Multiplicity-corrected family of secondary contrasts, labeled exploratory.976. Attrition table (and differential attrition / Lee bounds in field-online designs).9899If all six point the same way, the result is robust in the sense ExpEcon referees mean; if (3) or (4) flips it, the headline is fragile and you learned that before a referee did.100101## Output format102103```text104【Journal】Experimental Economics (ESA method flagship)105【Skill】expecon-robustness106【Verdict】robust / fragile / underpowered107【Power】MDE + power at group/session unit; realized power108【Inference unit】group-means / cluster-robust / randomization inference109【Multiplicity】correction used; primary vs. exploratory split110【Design robustness】exclusions / learning halves / order / attrition111【Next skill】expecon-tables-figures112```113114---115116**Source:** [`brycewang-stanford/Awesome-Journal-Skills`](https://github.com/brycewang-stanford/Awesome-Journal-Skills) → `Experimental-Economics-Skills/skills/expecon-robustness/SKILL.md`