Chapter 3 — Study design, ethics and reproducibility
Lesson map
Lesson 03 published. Map, example, EX015.
flowchart TD
N0["Learning outcomes and connection"]
N1["3.1 Designs for incident-response questions"]
N2["3.2 Threats to validity"]
N3["3.3 Design analysis before data"]
N4["3.4 Ethics with analysts as participants"]
N5["3.5 Predeclared measures and the analysis plan"]
N6["3.6 A reproducible project from day one"]
N7["Chapter synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Worked example"]
EX --> Q["Exercise EX015"]
Logical drawing
flowchart LR
N0["Learning outcomes and connection"]
N1["3.1 Designs for incident-response questions"]
N2["3.2 Threats to validity"]
N3["3.3 Design analysis before data"]
N4["3.4 Ethics with analysts as participants"]
N5["3.5 Predeclared measures and the analysis plan"]
N6["3.6 A reproducible project from day one"]
N7["Chapter synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX015"]
[Learning outcomes and connection]
|
v
[3.1 Designs for incident-response questions]
|
v
[3.2 Threats to validity]
|
v
[3.3 Design analysis before data]
|
v
[3.4 Ethics with analysts as participants]
|
v
[3.5 Predeclared measures and the analysis plan]
|
v
[3.6 A reproducible project from day one]
|
v
[Chapter synthesis]
|
v
[Worked example] --> [Exercise EX015]
Learning outcomes and connection
After this chapter you should be able to:
- Compare observational, quasi-experimental and controlled tabletop designs for an incident-response question and justify a choice in terms of the counterfactual each provides.
- Explain the logic of a crossover design, its assumptions (no lasting carryover, balanced periods and case sets) and how to check them.
- Size a study by simulation — design analysis — reporting power, the exaggeration of significant estimates and the false-positive rate, rather than quoting a single power formula.
- Write an ethics protocol for research with analysts as participants, including consent, voluntariness, confidentiality from employers and handling of security-sensitive material.
- Predeclare measures and an analysis plan, and set up a reproducible project before any data exist.
The chapter builds on the question and estimand of Chapter 1 and the outcome choices of Chapter 2, and prepares Chapter 4, which examines the explanations a design must rule out.
3.1 Designs for incident-response questions
3.1.1 The core problem
A causal question asks what would have happened under a different condition — the counterfactual. We never observe it directly: an analyst either used the rubric on a case or did not. Every design is a strategy for approximating the missing counterfactual, and each strategy rests on assumptions you must state and, where possible, test. A standard introduction to this way of thinking is Hernán and Robins, Causal Inference: What If, freely available from its authors.
3.1.2 Design options
| Design | How the counterfactual is approximated | Main assumption | Fit for the Triage Rubric Study |
|---|---|---|---|
| Cross-sectional comparison of teams or tickets | Another team's tickets in the same period | The teams are comparable apart from the rubric | Poor: East and West differ in seniority and case mix (Chapter 4). |
| Before–after (pre–post) in one team | The same team before adoption | Nothing else changed at the same time | Poor: seniority changed in the same month. |
| Difference-in-differences on historical tickets | The other team's change over the same period | Parallel trends absent the rubric | Possible as a secondary strand; vulnerable to team-specific co-interventions. |
| Parallel controlled tabletop | Other analysts, randomly assigned to usual judgement | Randomization balances analysts | Valid but needs many analysts, because analysts differ a lot. |
| Crossover controlled tabletop | The same analyst on comparable cases without the rubric | No lasting carryover; periods and case sets balanced | Chosen: removes stable between-analyst differences; feasible with a few dozen volunteers. |
In a crossover design each participant experiences both conditions in sequence. The comparison of interest is within each participant, so stable differences between people — skill, caution, speed — cancel out. The price is three assumptions. (1) No lasting carryover: the first condition must not change behaviour in the second. A rubric is a worrying case, because analysts who used it first may keep its questions in mind afterwards. The usual remedy is a washout or, here, an order that can be checked: if rubric-first analysts do better in their later "usual" period than usual-first analysts do in their earlier one, carryover is suspected. (2) No unbalanced period effect: practice or fatigue may change performance from the first to the second period; balancing the order (half start with each condition) prevents this from biasing the comparison, and it can be estimated. (3) Comparable case sets: each period uses different cases, so the sets must be matched in reference severity and type and counterbalanced across sequences.
The Triage Rubric Study therefore uses four sequences, six analysts each: usual on set A then rubric on set B; usual on B then rubric on A; rubric on A then usual on B; rubric on B then usual on A. Each set has twelve fictional cases with the same distribution of reference severities: eight high-impact (four "quiet"), two of severity 2 and two of severity 1. Analysts are allocated to sequences at random, stratified by experience (more or less than three years), using a seeded random number generator whose seed is recorded in the protocol.
3.1.3 The tabletop as an instrument
A controlled tabletop is a measurement instrument and must be designed like one. NIST SP 800-84 (2006) provides vocabulary for exercise design — objectives, scenarios, injects, facilitators, evaluators — that is still useful, although it was written for organizational exercises rather than experiments. For research use, add three properties. Standardization: every analyst sees the same case materials in the same format, with the same time limit and instructions. A reference standard set independently: three senior responders not involved in the study rate each case from its full fictional ground truth, independently, and then reach consensus; disagreements are recorded (two cases, C07 and C19, are split 2–1, which Chapter 8 uses). Fidelity checks: an observer records whether the rubric sheet was actually completed in rubric sessions and was absent in usual sessions.
3.2 Threats to validity
Validity vocabulary is a standard methods concept; four families are enough for planning.
- Internal validity — is the difference caused by the rubric? Threats: carryover, period effects, unbalanced case sets, observers who know the condition and record times differently, analysts who guess the hypothesis and try to please.
- Construct validity — do the measures capture what we mean? Threats: a reference standard that reflects the panel's habits rather than impact; "under-triage" defined at one level when two-level errors matter more; time measured from an ambiguous start.
- Statistical conclusion validity — is the inference sound? Threats: too few analysts; treating each decision as independent when decisions are clustered within analysts; flexible analysis choices.
- External validity — does it transfer? Threats: fictional cases lack the noise, interruptions and stakes of live work; volunteers are more motivated than average; a printed rubric differs from one embedded in a ticketing tool.
For each threat, the protocol records a mitigation and a check. For example: observers are not told the hypothesis, and timing is checked by two observers on a sample (Chapter 5); clustering is handled by analysing per-analyst differences (Chapter 6); external validity is discussed with direction, not hidden (Chapter 7).
3.3 Design analysis before data
3.3.1 Why simulate
Classical power formulas answer one question — the probability of a "significant" result if a specified effect is true — under simplifying assumptions. For a crossover with binary outcomes, clustered decisions and analysts who differ, the assumptions are easier to get wrong than to get right. A design analysis by simulation asks a broader set of questions (Gelman and Carlin 2014): if the true effect is what we think, how often will the study detect it (power)? When it does, how much will the estimate exaggerate the truth (type M, magnitude error)? How often will it get the sign wrong (type S)? And if there is no effect, how often will it falsely find one? A study with low power is not merely likely to miss a real effect; its significant results are systematically too large.
3.3.2 The smallest effect of interest
Before simulating, decide the smallest effect of interest: the effect below which the decision-maker would not change practice. MRSS managers say they would not mandate a rubric that costs time unless it cut under-triage of high-impact cases by at least 10 percentage points. That number, not the effect you hope for, should anchor the design (Lakens 2022 reviews ways of justifying sample sizes, including this one). The study also simulates a plausible effect of 15 points, taken from the synthetic pilot literature in the concept matrix.
3.3.3 Simulating the design
Lab 3 simulates thousands of synthetic studies. Each analyst has a personal tendency to under-triage (a random effect on the log-odds scale), rates a fixed number of high-impact cases per condition, and is either in a crossover (both conditions) or a parallel design (one condition, twice as many cases, so the workload is equal). Save it as lab3_design.py.
# Lab 3 - design analysis before recruiting: crossover versus parallel tabletop design (offline, stdlib only)
# Synthetic analysts differ in their own tendency to under-triage. Each analyst rates HI high-impact cases per
# condition. Outcome: under-triage proportion. We simulate many studies to see what each design can detect.
import math, random, statistics as st
def logit_inv(x): return 1 / (1 + math.exp(-x))
def one_study(rng, n_analysts, hi_per_condition, p_usual, p_rubric, design, sd_analyst=0.8):
base = math.log(p_usual / (1 - p_usual)); eff = math.log(p_rubric / (1 - p_rubric)) - base
diffs, rub, usu = [], [], []
for a in range(n_analysts):
u = rng.gauss(0, sd_analyst)
rate = lambda cond: sum(rng.random() < logit_inv(base + u + (eff if cond else 0)) for _ in range(hi_per_condition)) / hi_per_condition
if design == "crossover":
diffs.append(rate(True) - rate(False))
else: # parallel: each analyst sees one condition, with twice the cases so total workload is equal
hi_per_condition *= 2
(rub if a % 2 == 0 else usu).append(rate(a % 2 == 0))
hi_per_condition //= 2
if design == "crossover":
est = st.mean(diffs); se = st.stdev(diffs) / math.sqrt(len(diffs))
else:
est = st.mean(rub) - st.mean(usu); se = math.sqrt(st.variance(rub) / len(rub) + st.variance(usu) / len(usu))
return est, abs(est / se) > 2.07 if se > 0 else False # t(0.975, ~22 df) ~ 2.07
def design_check(design, n, hi, p_u, p_r, reps=2000, seed=7):
rng = random.Random(seed)
res = [one_study(rng, n, hi, p_u, p_r, design) for _ in range(reps)]
sig = [e for e, s in res if s]
true = p_r - p_u
power = len(sig) / reps
exagg = st.mean(abs(e) for e in sig) / abs(true) if sig and true else float("nan")
wrong_sign = sum(1 for e in sig if e * true < 0) / len(sig) if sig and true else float("nan")
return power, exagg, wrong_sign, st.mean(e for e, _ in res)
print("design analysts hi/cond true_diff power exaggeration_if_sig mean_estimate")
for design in ("crossover", "parallel"):
for n in (12, 24, 36):
p, x, w, m = design_check(design, n, 4, 0.30, 0.15)
print(f"{design:<10} {n:>8} {4:>7} {-0.15:>9.2f} {p:>5.2f} {x:>19.2f} {m:>13.3f}")
p, x, w, m = design_check("crossover", 24, 4, 0.30, 0.30)
print(f"null check (no true effect), crossover n=24: false-positive rate {p:.3f}, mean estimate {m:.3f}")
p, x, w, m = design_check("crossover", 24, 4, 0.30, 0.20)
print(f"smallest effect of interest (-0.10), crossover n=24: power {p:.2f}, exaggeration if significant {x:.2f}")
for hi in (8,):
p, x, w, m = design_check("crossover", 24, hi, 0.30, 0.15)
print(f"revised design, crossover n=24 with {hi} high-impact cases per condition: power {p:.2f}, exaggeration {x:.2f}")
p, x, w, m = design_check("crossover", 24, hi, 0.30, 0.20)
print(f"revised design at the smallest effect of interest (-0.10): power {p:.2f}, exaggeration {x:.2f}")
Expected output:
design analysts hi/cond true_diff power exaggeration_if_sig mean_estimate
crossover 12 4 -0.15 0.37 1.47 -0.142
crossover 24 4 -0.15 0.64 1.16 -0.142
crossover 36 4 -0.15 0.81 1.07 -0.144
parallel 12 4 -0.15 0.26 1.81 -0.146
parallel 24 4 -0.15 0.43 1.45 -0.146
parallel 36 4 -0.15 0.56 1.27 -0.146
null check (no true effect), crossover n=24: false-positive rate 0.046, mean estimate 0.003
smallest effect of interest (-0.10), crossover n=24: power 0.29, exaggeration if significant 1.60
revised design, crossover n=24 with 8 high-impact cases per condition: power 0.92, exaggeration 1.02
revised design at the smallest effect of interest (-0.10): power 0.56, exaggeration 1.24
How to read it. With four high-impact cases per condition — the first draft protocol — a crossover with 24 analysts detects a 15-point effect only about 64% of the time, and a parallel design of the same size only 43%: between-analyst variation is large, and the crossover removes it. At 12 analysts, significant crossover estimates exaggerate the true effect by about half. The null check shows the analysis keeps its false-positive rate near the nominal 5%. The revision that matters is the number of high-impact cases per condition: with eight, the crossover with 24 analysts has power of about 0.92 for a 15-point effect, with almost no exaggeration. At the smallest effect of interest (10 points), power is still only about 0.56. The protocol says so honestly: the study is designed to detect a plausible effect and to estimate it with useful precision, but a true 10-point effect has roughly even odds of reaching conventional significance, and the dissertation will report an interval, not a verdict.
Two details are worth noticing. The "true difference" is set on each analyst's log-odds scale, so the average difference in proportions across heterogeneous analysts (the mean estimate, about −0.14) is slightly smaller than −0.15 — the estimand from Chapter 1 is the average difference in proportions, and the simulation shows the two are not identical. And the critical value 2.07 approximates a t distribution with about 22 degrees of freedom; Chapter 6 uses resampling methods that avoid this approximation.
3.4 Ethics with analysts as participants
3.4.1 What needs review
Research that collects data from people — their decisions, times, words — normally needs approval from the university's research ethics committee (in the United States an Institutional Review Board under the Common Rule, 45 CFR 46). Using fictional cases does not remove the need: the participants are real, and their performance data are personal data. The Belmont Report principles of respect for persons, beneficence and justice underpin most committees' reasoning, and the Menlo Report (2012) adapts them to information and communication technology research, adding respect for law and public interest. Where participants are in the European Union, the General Data Protection Regulation applies to their personal data. Regulations differ by country and change; the protocol states which apply and the committee decides. This book gives no legal advice.
3.4.2 Risks particular to studying analysts
- Employment risk. A participant's error rate, if seen by their employer, could affect their appraisal or job. The study must make it impossible for MRSS managers to see individual results.
- Coercion. If a manager recruits, or the student is a colleague or supervisor of participants, "voluntary" participation may not be. Recruitment goes through a neutral channel; non-participation is invisible to managers.
- Security-sensitive material. Cases must not contain real indicators, real vulnerabilities or details of a real organization's defences; the case writers use fictional systems.
- Psychological load. Timed decisions about simulated crises can be stressful; participants may stop at any time without explanation.
- Small-population re-identification. With 24 analysts from a handful of teams, experience band plus team plus sequence can identify a person; reported tables must avoid such combinations.
3.4.3 Safeguards
Informed consent in writing, with a plain-language information sheet; the right to withdraw, including withdrawal of data up to a stated date; pseudonymous participant codes (A01–A24) generated by the student, with the key stored separately and destroyed after the study; no individual results shared with any employer; aggregated reporting with minimum cell sizes; fictional case material reviewed by a second person for real-world leakage; a debrief that explains the study's purpose after all sessions are complete. The debrief interviews (RQ3) have their own consent item, and recordings are deleted after transcription and checking.
3.4.4 The application
An ethics application for this study answers, at minimum: what will participants do and for how long; how they are recruited and by whom; what data are collected, where they are stored, who can access them and when they are deleted; what risks exist and how each is reduced; and how results are reported. Attach the information sheet, consent form, case materials (or a sample), debrief guide and data management plan.
3.5 Predeclared measures and the analysis plan
A pre-analysis plan fixes, before data collection, the hypotheses, primary and secondary outcomes, the estimand, the analysis method, the handling of missing data and deviations, and the robustness checks. It can be registered publicly with a time stamp; preregistration's value is to separate confirmatory from exploratory analysis, not to forbid exploration (Nosek et al. 2018). The case for doing so in fields with many analytic choices was made forcefully by Simmons, Nelson and Simonsohn (2011), who showed how undisclosed flexibility in data collection and analysis can make false findings easy to produce.
The Triage Rubric Study's plan includes:
- Primary outcome: under-triage (rating ≤ reference − 1) among high-impact cases (reference 3–4), as a proportion per analyst per condition.
- Primary analysis: the mean of per-analyst differences (rubric − usual) with a 95% bootstrap interval resampling analysts, and a sign-flip permutation test; analysts with both periods.
- Secondary outcomes: median decision seconds; over-triage of low-impact cases (reference 1–2); quadratic-weighted kappa against the reference; under-triage by case type (quiet, noisy).
- Checks: period effect and carryover by sequence; fidelity of rubric use; observer timing agreement.
- Robustness (predeclared): two-level under-triage; inclusion of severity-2 cases; critical-only cases; an alternative reference for the two split-panel cases.
- Deviations: any change after data collection begins is logged with date, reason and whether data had been seen.
3.6 A reproducible project from day one
Reproducibility means another person can regenerate every number in the dissertation from the archived data and code. It is cheap at the start and expensive at the end (Stodden et al. 2016 set out practical recommendations for computational work). Set up the project before the pilot:
triage-rubric-study/
README.md what the project is, how to run everything, software versions
protocol/ ethics approval (redacted), pre-analysis plan, deviations log
instruments/ case vignettes, rubric sheet, observer form, debrief guide
data/raw/ read-only exports as received; never edited
data/derived/ produced only by code
code/ one script per step: clean, analyse, figures
output/ tables and figures produced by code
notes/ dated research notes with observation / inference / claim / decision
Rules: raw data are never edited by hand; every derived file is produced by a script; scripts record their seed and software version; the dissertation's numbers come from output files, not from copying. Where data cannot be shared because of confidentiality, the code and a synthetic dataset with the same structure can be, which lets others check the pipeline. The FAIR principles — findable, accessible, interoperable, reusable (Wilkinson et al. 2016) — guide what to archive and describe, even when access must be restricted.
3.7 Worked example: the ethics committee's questions (synthetic)
The committee returns the application with four questions. Each answer changes the protocol.
- "The student previously worked at MRSS. Could participants feel obliged?" — Recruitment moves to a professional association's mailing list and two other organizations; MRSS analysts may join, but no MRSS manager is told who did. The student does not recruit former colleagues directly.
- "Could results be traced to individuals?" — Tables will report no cell combining team, experience band and sequence; individual analyst estimates appear only as an anonymous dot plot without labels.
- "Do the cases contain anything harmful?" — A second reviewer checks every vignette for real indicators and real organization names; the cases use fictional services and documentation ranges for addresses.
- "What happens if a participant becomes distressed?" — The facilitator pauses the session; the participant may stop without explanation and keep any thank-you voucher; the information sheet lists support contacts.
The revised protocol is resubmitted with a table mapping each question to the change made.
3.8 Common errors and limits
- Choosing a design for its label rather than for the counterfactual it provides.
- Running a crossover without balancing order and case sets, or without checking carryover and period effects.
- Quoting a power formula that ignores clustering of decisions within analysts.
- Sizing a study on the hoped-for effect rather than the smallest effect of interest, and then reporting a significant overestimate as the effect.
- Assuming fictional cases remove the need for ethics review.
- Letting managers recruit participants or see individual results.
- Writing the analysis plan after looking at the data.
- Editing raw data by hand, or copying numbers into the dissertation without a traceable source.
The limit of design is that every design rests on assumptions. Good design makes them explicit, checkable and few.
Exercises — chapter 3
EX015 — Choose a design. Objective: justify a design by its counterfactual. Inputs: the design table in §3.1.2. Constraints: one primary design; at most one secondary strand. Steps: (1) for each of the five designs, state its counterfactual and main assumption for RQ1; (2) choose one and justify it in 150 words; (3) state what the chosen design cannot answer and which strand, if any, will address it. Expected evidence: a table and paragraph. Rubric: 3 = counterfactuals precise, choice justified by assumptions and feasibility, limits of the chosen design acknowledged; 2 = one design misdescribed; 1 = choice by label; 0 = none.
EX016 — Carryover and period checks. Objective: design the checks for a crossover. Inputs: the four sequences in §3.1.2. Constraints: use only data the study collects. Steps: (1) define the period effect and show how the balanced sequences let you estimate it; (2) define a carryover check; (3) say what you would do if carryover were found. Expected evidence: definitions and a decision rule. Rubric: 3 = period effect estimated from within-analyst changes by order, carryover check compares rubric-first and usual-first analysts' usual periods, response honest (for example, report the first-period comparison as a parallel design with reduced precision); 2 = one check missing; 1 = assumptions named only; 0 = none.
EX017 — Run and extend Lab 3. Objective: use design analysis to size a study. Inputs: Lab 3. Constraints: offline; add lines, do not change the existing ones. Steps: (1) run it and record the output; (2) add a run of the crossover with 36 analysts and 8 high-impact cases per condition at the smallest effect of interest (0.30 versus 0.20); (3) report power and exaggeration; (4) recommend 24 or 36 analysts given that recruitment beyond 24 adds an estimated three months. Expected evidence: outputs and a recommendation. Rubric: 3 = outputs correct, recommendation weighs precision at the smallest effect against time and states what will be reported either way; 2 = recommendation by power alone; 1 = not run; 0 = none.
EX018 — Ethics risk table. Objective: identify and mitigate risks. Inputs: §3.4. Constraints: at least six risks. Steps: for each risk give likelihood, severity, mitigation and residual risk. Expected evidence: a table. Rubric: 3 = risks specific to analysts and security material (employment, coercion, re-identification, leakage, distress, data retention), mitigations concrete, residual risk honest; 2 = generic risks; 1 = fewer than four; 0 = none.
EX019 — Pre-analysis plan. Objective: fix the analysis before data. Inputs: §3.5. Constraints: one page; every outcome defined operationally. Steps: write the plan, including a rule for what counts as a deviation and how deviations are logged. Expected evidence: the plan. Rubric: 3 = outcomes, estimand, method, missing data, checks and robustness all specified, confirmatory and exploratory analyses separated; 2 = one element vague; 1 = a list of intentions; 0 = none.
EX020 — Reproducible project. Objective: set up a project another person could rerun. Inputs: §3.6. Constraints: data cannot be shared publicly. Steps: (1) write the README a stranger would need; (2) describe the synthetic stand-in dataset you will publish and how it preserves structure without disclosing anyone; (3) list what a reproducibility reviewer would need access to under agreement. Expected evidence: README and a paragraph. Rubric: 3 = README runnable step by step with versions and seeds, synthetic stand-in described concretely, restricted access defined; 2 = one gap; 1 = folder list only; 0 = none.
Chapter synthesis
Design is the choice of counterfactual. Historical comparisons are vulnerable to everything that changed alongside the exposure; a controlled crossover tabletop removes stable differences between analysts at the cost of assumptions about carryover, periods and case sets, which must be balanced and checked. Size the study by simulation, reporting power, exaggeration and the false-positive rate at the smallest effect of interest. Treat ethics as design: analysts are participants whose performance data could harm them, and safeguards change recruitment, reporting and storage. Fix outcomes and analysis in a pre-analysis plan, and build a reproducible project before the first datum arrives.
Continue studying — chapter 03 of 08
← Chapter 02 · Course chapter index · Chapter 04 →
Continue to the next authored lesson.