The self-study track
For someone working alone · the nine companion modules and the exercise, about twenty-eight hours at whatever pace suits
This track is for someone working through the course without a facilitator, a cohort or a fixed clock. It orders the nine modules of the companion curriculum and the exercise itself into a route that holds together when nobody is standing at the front, and it can be spread over as many weeks as you like. Someone who finishes it has reproduced a published result from the data behind it, stated an estimand and drawn the causal graph that goes with it, declared one specification in writing before running it, put the result on the class chart, and archived the whole thing in a version-controlled repository.
The track teaches nothing of its own. Every row below links a page that already exists on this site, and the hours are rough estimates for a first pass rather than a schedule. Two things work differently when you are alone, and both are named where they arise: the exercise has no facilitator to rescue a stalled machine, and the class chart has no class on it, though neither of those stops you finishing the course.
Stage 1 – What the case is, and what you are aiming at
Read the shape of the whole thing before starting on any of it, because every module afterwards works on one claim from one paper and the modules make more sense once you know which claim.
| Work through | What you do | Timing |
|---|---|---|
| Course overview | Read the six things the exercise asks you to do, and the two routes into R. | 15 minutes |
| Exercise overview | Read the claim as it was put to the analysts, the anchor result published by the original author (OA), and the table of what five independent analysts found when they reanalysed it. Their partial correlations run from −0.006 to −0.452, and working out why is most of the course. | 30 minutes |
| Resources – four words that are not synonyms | Learn the difference between reproducibility, robustness and replicability, then read the SCORE dossier table further down the same page. | 30 minutes |
| Slides | Optional, and best skimmed rather than read. The deck is the taught version of the same material, and it shows how the four Parts fit together. | 20 minutes |
By the end of the stage you know which claim the rest of the course works on, what the reproduction, the robustness reanalysis and the replication each returned on this paper, and which of the two routes into R you will be using.
Stage 2 – A language, and a document to write in
Both modules here are foundations, and both can be skipped by anyone who already has them. If you write R but have never written Quarto, do the second and not the first; the reverse is unusual but works the same way.
| Work through | What you do | Timing |
|---|---|---|
| Setup | Pick a route. Route 1 installs R and Positron, gives you a workspace to keep, and is the route that is recommended elsewhere on the site; Route 2 runs everything in a browser tab with nothing installed. Working alone, Route 2 is the safer start all the same, because there is no one to rescue a failed installation. | 30 minutes |
| Getting started with R | All eleven sections: the console and the script, objects and data frames, reading a CSV, the pipe, three dialects for one task, the grammar of graphics, and the class chart read layer by layer. Do the “Try it” boxes rather than reading past them. | 3 hours |
| Quarto and reproducible documents | What a .qmd file is and what rendering does to it, the YAML header, chunk options, figures and tables with cross-references, and citations resolved from a bibliography file. The page is shown rather than run, so type its examples into a document of your own as you go. |
2 hours |
By the end of the stage you have a route that runs on your own machine and one rendered document of your own carrying a figure made by code, a cross-reference to it and a citation resolved from a bibliography file.
Stage 3 – The models that the claim is argued with
This module fits every model that the exercise will later offer you, on the case’s own data, and reads the outputs line by line, so by the end the specification menu is a set of choices you understand rather than a list of codes. It is the longest module on the site, and the one that most repays a slow pass.
| Work through | What you do | Timing |
|---|---|---|
| The statistical methods behind the workshop | Sections 1 to 5: why the predictor lives at the country-year, a first linear model, cluster-robust standard errors, two-way fixed effects, and the difference between a within-country and a between-country comparison. | 2 hours |
| The statistical methods behind the workshop | Sections 6 to 9: multilevel models and where the degrees of freedom come from, survey weights, the same model stated as a posterior, and a bounded outcome fitted with beta regression. | 90 minutes |
| The statistical methods behind the workshop | Section 10: putting results from different estimators and different outcome scales on one axis, which is the conversion that the class chart runs on. | 30 minutes |
By the end of the stage you can read the output of every model that the exercise will offer you, and you know how estimates from different estimators and different outcome scales are put on one axis.
Stage 4 – The question underneath the models
Analysts who look as though they disagree are often answering different questions, and the module makes that concrete by fitting each causal shape rather than only describing it. Section 9 asks you to state an estimand for a question of your own, which is worth doing properly even though nobody will read it.
| Work through | What you do | Timing |
|---|---|---|
| Draw the arrows you believe | Sections 1 to 3: an arrow as a claim you are making, the three shapes a path can take, and what conditioning on a collider does to an estimate. | 60 minutes |
| Draw the arrows you believe | Sections 4 to 8: the EU-frames graph written as R formulas, the adjustment set that follows from it, what fixed effects cannot fix, and why the data will not draw the graph for you. | 90 minutes |
| Draw the arrows you believe | Section 9: state an estimand for a question of your own, in three parts, and draw its graph. | 45 minutes |
By the end of the stage you have an estimand for a question of your own written in three parts, a graph that goes with it, and an adjustment set that you derived rather than assumed.
Stage 5 – Do the exercise
The five tasks were written to be worked through in a room, and they hold up alone with one adjustment: nothing is timed, so take the reproduction in Task 3 as slowly as it needs. The browser lab carries the whole exercise in one page. The reproduction in Task 3 has two hints and a fully worked solution behind collapsible callouts, and the three gaps in Task 5 share one hint, which gives the syntax for the baseline declaration.
| Work through | What you do | Timing |
|---|---|---|
| Exercise overview | Re-read the task-by-task section now that the modules are behind you. It is the map for the rows below. | 20 minutes |
| Browser lab | Tasks 1 to 3: run the setup check and confirm the panel has 270 rows; meet the panel, write the estimand and finish the causal graph; then fit the constrained model and land t = −3.804, the value on record for analyst C6HJR. | 90 minutes |
| Specification menu | Read the eight axes and the claim-alignment convention before you touch Task 4, so that ‘supports the claim’ means the same thing on every axis. | 30 minutes |
| Browser lab – Task 4 | Try three or four specifications with try_spec(), print them side by side with my_experiments(), then decide which one you would defend, run it once more so it is the most recent call, and submit it with submit_exploration() – the function sends the last specification you tried, not one you pick out of the log. |
45 minutes |
| Browser lab – Task 5 | Complete the preregistration block and run prereg() before writing any model code. Then translate the declaration into syntax yourself, run it, and submit with report_result(). |
45 minutes |
| Cheatsheet | Keep it open while you work. The four-rung ladder for a stalled browser lab is the part that matters alone; the rescue and in-room sections assume a facilitator you do not have. | as needed |
The class chart, when there is no class. Submitting works exactly as it does in a taught session. Both submit_exploration() and report_result() print a pre-filled form link, and pressing Send puts your dot on the Multiverse page. What is missing is the comparison that the day is built around, which is a roomful of dots landing on one chart within a few minutes of each other. The upper chart on that page is pre-computed and always complete, holding all 2,520 specifications with the five Multi100 analysts and OA’s own published anchor tagged on the curve. The live chart at the foot of the page fetches whatever submissions have arrived and redraws when you press Run Code, and between deliveries there may be very few of them, or none at all. So read the comparisons you can actually make. Your placement in the canonical 840-specification grid, which run_spec() prints beside your coefficient, sits against the five analysts, who run from about the 16th percentile to about the 68th. And my_experiments() prints the small multiverse you built yourself, which is what a room supplies in miniature.
By the end of the stage you have reproduced t = −3.804 yourself, and you hold a preregistration written before the analysis ran and two dots of your own on the Multiverse page, one exploratory and one declared.
Stage 6 – Read the curve you just joined
Having a dot on a curve and knowing what the curve establishes are two different things, and the second one is what this stage is for. Both pages are short, and both are more useful after Task 5 than before it.
| Work through | What you do | Timing |
|---|---|---|
| The multiverse: origins, uses, and critics | Where the idea came from, the three purposes a multiverse can serve and why they pull apart, and the critical positions of 2025–26 read against this course’s own grid. | 60 minutes |
| The multiverse: ‘There is only one correct analysis’ | Section 4 deserves its own sitting. Grant the argument for a moment and ask what would follow for the specification you just declared. | 30 minutes |
| Reading a specification curve | Why 840 estimates are not 840 independent tests, what a permutation design would supply, and what stands without one. | 45 minutes |
By the end of the stage you can say what the curve you joined establishes about the claim, what it does not, and what would have to be run for it to establish more.
Stage 7 – Two extensions worth the time
Neither is needed for anything earlier, and both answer a question that the exercise raises without settling. The first asks what your methods recover when the true answer is known in advance; the second fits the same claim at the individual level, where the country-year design of the exercise cannot go.
| Work through | What you do | Timing |
|---|---|---|
| Simulation as a method | Sections 1 and 2 for the recipe and a recovery check, then sections 8 and 9 for a world with no effect in it and for testing a design before you run it. The middle sections repay a second visit later. | 2 hours 30 minutes |
| One claim, two levels | All seven sections: the published specification fitted where its author fitted it, on a synthetic person-level dataset validated coefficient by coefficient against the real respondents, with the real values printed beside the synthetic ones. Section 7 says what the dataset must not be asked to do, which is the part to read before reusing the synthetic data for anything of your own. | 2 hours |
By the end of the stage you have a recovery check on a parameter whose true value you set yourself, a world with no effect in it at all, and the same claim fitted at the individual level beside the aggregate one.
Stage 8 – Put the work where it can be found
Working alone makes this stage more useful rather than less, because a repository is how work reaches someone who was not there when it was done. The git module is the practice that the taught day deliberately leaves out.
| Work through | What you do | Timing |
|---|---|---|
| Reproducibility repositories | What a data licence lets you redistribute, the three OSF nodes behind this case, how archives, forks and registrations differ, and the preregistration templates written for reanalysing data that already exist. | 90 minutes |
| Git and GitHub for reproducible research | Version control from first principles, a repository on your own machine, putting it online, and what belongs in git and what must never be committed. | 2 hours |
By the end of the stage you have the whole of your work in a version-controlled repository that another person can clone and re-render, with the licensed material kept out of it.
Adapting this track
What compresses. Stage 2 disappears for anyone who already writes R and Quarto, and stage 3 shortens to sections 1 to 5 if you have fitted panel models before. Stage 7 is the extension material and can be left for a second pass, or dropped entirely. Nothing later depends on it.
What must not be cut. Do Task 3 before Task 4, so that the specification you explore departs from a number you have reproduced yourself rather than from one you read. Write the preregistration block in Task 5 before you write any model code, even though nobody is watching and the browser will not stop you doing it the other way round: a specification chosen after its result is visible belongs in Task 4, and the chart draws the two differently for exactly that reason. And read stage 6 before deciding what your own result proved.
What you lose alone, and what replaces it. Two moments in the taught day depend on there being other people in it. One is a room of people all landing the same t, which is what makes reproduction concrete rather than a definition. The other is the same room landing different results from one claim and seeing how far apart they fall. The first is replaced well enough by the reproduction itself, which either matches −3.804 or does not. For the second, the pre-computed curve on the Multiverse page is a larger version of the same picture with the five analysts marked on it, and my_experiments() gives you a small one of your own making.
The other three tracks. The one-day track is the format that the course was built for and the one that the deck follows. The three-day track puts a tools day before the workshop and a methods day after it. The semester track spreads the same nine modules over ten sessions with the workshop day inside the term.