
Chris Moreh
Open Research Conference · Newcastle University · 16 June 2026
Workshop 1 · Open Research Conference · 10:15–12:45 · Room 1.06
You leave with: your own public repo · a live web page · a row in the class multiverse
Work in pairs – one prepared laptop per pair
Talk I · 20 minutes
Replicationcrises
Another replication
crisis – terminological confusion?
The term reproducibility
has been used as a synonym for a number of different characteristics – reproducibility, robustness, replicability, repeatability, credibility, and trustworthiness.
Successfully rerun the same code on the same data? Re-analyse the same data a different way? Collect fresh data and analyse it in the same way? Using the same data and same analysis but asking a different question? Asking the same question but answering it with fresh data and a different analysis?
Repeatability is used when referring to reproducibility, robustness, and replicability as a constellation of concepts intended to assess whether answers to scientific questions are unchanged when different steps of the research process are repeated.
Credibility and trustworthiness refer to the confidence one can have in research findings. Because scientific knowledge claims are tentative, they are not synonymous with truth.
For example, credibility is advanced by addressing potential competing interests in the conducting and reporting of research, by taking existing knowledge into account, by using methods that have been validated, by controlling for biases in the research context, by pursuing precise and reliable evidence, and by calibrating the strength of the claims to the uncertainty of the evidence.
Nosek et al. (2025)
Sánchez-Tójar et al. (2026)
The most substantial barrier … was the unavailability of author data.
Reproducibility success does not mean that the finding is correct.
Reproducible ≠ robust ≠ replicable.
Across SCORE the three are essentially uncorrelated – knowing one barely predicts the others.
So there is no single number for trust
. You have to ask which repetition you mean.
You submit your paper and replication package. It goes out to reviewers.
Reviewer 1wants to ensure that your results are reproducible, so she sources your R script to run the entire analysis. You’re in luck – she hasn’t yet updated her
dplyr, so the code runs.Reviewer 2is very eager. He’s unconvinced by your modelling choices, so he fits your data to another function to check if your findings are truly robust. You’re in luck again – he recovers your point estimate to a reasonable precision, although the confidence intervals have widened.
Reviewer 3takes a special interest because he’s just working on a similar paper on data they published recently. Do your results replicate when your methods are applied to that state-of-the-art dataset?
You submit your paper and replication package. It goes out to reviewers.
Reviewer 2
just doesn’t want to let go…
Reviewer 3that he just read about, if applying his new fancy method to it?
Talk II · 10 minutes
https://osf.io/6zqct
The results show, first, that poor economic performances increase negative and decrease positive dimensions of EU framing.
What does the EU mean to you personally?
Peace;
Democracy;
Freedom to travel, study and work anywhere in the EU;
Cultural diversity;
Stronger say in the world)
Loss of our cultural identity;
More crime;
Not enough control at external borders;
Unemployment
Bureaucracy;
Waste of money)
(Teney 2016).
… poor economic performances … decrease positive dimensions of EU framing
Teney (2016: 619)
The required data to replicate my analyses can be downloaded on the Gesis repository website. I am not allowed to forward the Eurobarometer data. Enclosed you´ll find the code to combine the different Eurobarometer data waves and the code for the analysis of the ESR piece
The reproduction attempt failed because the authors used file names that did not correspond with the names of the files available for download. Additionally 16 datasets are listed on the website as being used but the code references 18 files
not reproduced: could not extract nor re-calculate the original effect size
Analysis One: specifically serves as the focal test for evaluation of the claim replicated for the purposes of SCORE.
Analysis Two: still studying
and no full-time education
categories in the variable age when finished full-timeeducation
were NOT converted to missing values.
A positive coefficient for unemployment on cosmopolitan framing, and significant at p=value results of 0.05 or less, after controlling for selected predictors, and wave and country-level effects
In this regard, this replication of the claim using Analysis Two was not successful according to the SCORE criteria
Task: Focus on the ‘Cosmopolitan’ dimension for EU framing and on unemployment rate as the independent variable; disregard contextual variables
Procedure: two-way fixed-effects model (mcosmopolitan ~ unemp_c | cntry + year)
Result: t ≈ −3.80 (df = 233, N = 270, partial r ≈ −0.242)
Task: Choose ONE deviation from the specification menu, evaluate the conceptual validity of your claim, clarify your estimand, commit to your chosen model before you run it, and submit your result
Procedure: ???
Result: ???
Track A – browser lab (zero install, webR in the page):
Track B – template repo (full Positron + git pipeline):
github.com/CodeMoreh/replication-lab
Use this template
→ clone in Positron
Concepts · 8-minute mini-lecture, then guided work
(Silberzahn et al. 2018). Display sketch from published median (1.31) + range (0.89–2.93).
Auspurg & Brüderl re-read the 29 analyses and found four different estimands:
X = exposure, Y = outcome. Green = the causal effect you want; coloured = the path you must reason about.

The same slope fits four different stories:
The data look identical in all four. Only an assumption about how the data arose tells them apart – that is what a DAG writes down.
(D’Agostino McGowan et al. 2024; Keele et al. 2020). Scatter simulated for illustration.
Association flows along every open path – not only the causal arrow. A fork or chain is open until you adjust the variable on it; a collider is the reverse – shut until you adjust it.

Control for everythingsilently answers a question you never asked
(Auspurg and Brüderl 2021). Display sketches from published medians + SDs (illustrative spread).
The expected change in [unit quantity] among [target population] for a 1-percentage-point difference in unemployment, holding [assumptions] fixed.

For online version: dagitty.net/dags.html Paste into Model code: Drag nodes, add edges, watch the adjustment sets update
adjustmentSets()Debrief · 12 minutes
You fetched rep_data.csv from the fork and fitted the constrained model.
You got t = −3.853.
The result recorded for analyst C6HJR in Multi100 is t = −3.804.
Same model. Same data, supposedly. Two different numbers. Why?
APRIL 2025 – Mistake in dataset here; the dataset associated with
– analyst’s own annotationeb724
should be ZA4994_v3-0-0.dta
moreh_rep_vAPR2025/The workshop panel, rebuilt from the raw GESIS files, recovers t = −3.804 exactly.
Every step was checkable because the materials were open – the as-submitted data, the corrected script, the rebuild.
Reproducibility working, not failing. Keep the whole trail public.
Pre-computed over the specification menu (data/spec_grid.csv). Class results stream onto the Multiverse page, live.
Your orange dot lands here → live on the Multiverse page as the room submits
report_result() gives you a one-click submission link; results stream onto the Multiverse page.
the common single-path analyses in social and behavioural research should not be simply assumed to be robust to alternative analyses
(Aczel et al. 2026)
A blueprint: precise question → causal reasoning (DAG) → multiverse → sensitivity analysis (Auspurg and Brüderl 2021)
codemoreh.github.io/applied-replication
Fork anything. Everything is open.
fixest & dagitty docsdata.ncl.ac.uk · ReproducibiliTeacodemoreh.github.io/applied-replication
Fork anything. Everything is open.
Feedback poll
(QR / short URL)
