Beyond Correlation: A Practical Introduction to Causal Inference in Observational Social Psychology

SASP 2025 Pre-conference Workshop

Author
Affiliation

Joseph Bulbulia

Victoria University of Wellington, New Zealand

NoteEssentials
  • When: Wednesday 19 November 2025, 09:00–16:00
  • Where: Redmond Barry Building (Building 115), Level 5 Room 516, University of Melbourne
  • Format: In-person through the SASP portal
  • Morning: Average treatment effects + student presentations
  • Afternoon: Heterogeneous effects & hands-on causal machine learning

If you want a sense of causal inference, the morning is probably good enough. Causal machine learning + analysis of heterogenity in the afternoon.

TipChecklist
  • Bring something for sketching graphs (paper/tablet)
  • Install R + RStudio (or your preferred IDE)
  • Pre-install the workshop package (see Setup)
  • Contact me ahead of time if you get stuck

Jump to: LogisticsVenueWhy causal inference?Workshop planSetup

Logistics

ImportantLunch: 12:15 pm

We’ll regroup at Jimmy Watson’s Wine Bar Bistro (333 Lygon Street, Carlton), a quick five-minute walk from Redmond Barry. Lunch is supported by Templeton Religion Trust Grant 0418 for participants attending the full workshop.

TipMorning meet-up: 08:10am

Meet in the Rydges Melbourne lobby (Exhibition Street) and we’ll walk (~1.5 km) to campus together.

ImportantLecture links

See “Workshop Content” on the site navigation.

Route between the workshop venue (Redmond Barry Building) and Wine Bar Bistro, 333 Lygon Street, Carlton. Do not follow this exact route.

Venue Location

We’ll meet on Level 5 of the Redmond Barry Building.

Why is causal inference important?

Suppose you observe that psychology graduate students who own expensive espresso machines publish more papers. Should your department invest in high-end coffee equipment for all incoming students?

Probably not. This is the difference between prognostic and causal knowledge.

Observational psychology typically recovers prognostic knowledge – which factors predict which others. The word ‘predictor’ is engrained in our vocabulary. And we have a great tolerance for it. Should we? Predictions don’t tell us what would happen if we intervened.

Consider: Owning an expensive coffee machine predicts publication success, but giving someone an expensive machine wouldn’t cause their productivity to increase. The machine is likely a marker for other factors: being further along in candidature, having more disposable income, or possessing pre-existing caffeinated ambition. Of course the machines might help, but how much?

The distinction between prediction and causation, which is often stated only to be ignored, has serious implications for conduct in psychological science

  1. We might observe that adolescents with higher self-esteem have better academic outcomes. But if we were to intervene to boost self-esteem directly (through positive affirmations or praise), would grades improve? Or is self-esteem mostly a marker for other causal factors like stable family environments or prior academic success?

  2. We might find that people who practice mindfulness meditation report lower anxiety. But does meditation cause reduced anxiety, or are less anxious people simply more likely to maintain a meditation practice – i.e. to sit, for long periods of time, still?

  3. We might observe that children who attend preschool show better social skills. But before recommending universal preschool, we need to ask: would sending any child to preschool produce these benefits, or do families who can afford and prioritise preschool differ in ways that independently foster social development?

Prognostic models tell us what to expect. Causal models tell us what we can change. For psychologists aiming to improve human welfare, that distinction is everything.

The workshop

This full-day, practice-oriented workshop introduces modern causal inference for observational data, with an emphasis on discovering for whom effects are strongest (afternoon).

We will:

  • Demonstrate a causal workflow that starts with asking a clearly formulated causal question.
  • Before answering a causal question, we must consider and explicate identification assumptions. We will consider these assumptions and introduce graphical tools for addressing them. You will discover that clarifying assumptions is not a statistical task.
  • Only after stating our questions and assumptions do we turn to the data and their analysis. By the end of the workshop, you will conduct an analysis using doubly robust machine learning – which has many advantages over standard estimators.
  • After estimation there is communication. I’ll describe how to graphical tools to clarify results audiences with applied interests.

Objectives

You will leave with:

  • An understanding of how to ask, and answer, causal questions.
  • Annotated R code for simulating and estimating average and heterogeneous treatment effects.
  • A curated reading list for self-study.
  • Examples of how to communicate causal results to academic, policy, and organisational audiences.

My assumptions about you.

The workshop assumes familiarity with regression and R, but no prior training in causal inference.

TipA note on pace

Please do not worry if the math or code looks intimidating at first glance. We’ll slow everything down.

Setup

  1. Install the current version of R (free) from https://cran.r-project.org/

  2. Install RStudio Desktop (free) from https://posit.co/download/rstudio-desktop/

(Or pick your favourite IDE – I use neovim, by the way – but the code doesn’t care.)

  1. Install the workshop packages:
if (!requireNamespace("devtools", quietly = TRUE)) {
  install.packages("devtools")
}

devtools::install_github("go-bayes/causalworkshop")

# optional packages for extended demonstrations
devtools::install_github("go-bayes/margot")

Once installed, run:

library(causalworkshop)
check_workshop_prerequisites()

Download the R scripts:

library(causalworkshop)

get_workshop_scripts()  # copies scripts into ./workshop-scripts
list_workshop_scripts()

Workshop materials

Work through scripts 01–05 Prior to the workshop (06 is optional).

Agenda

Table 1: Schedule and Learning Goals
Time Session Learning goals & activities
09:00–09:45 How to ask a causal question State precise causal questions with the potential outcomes framework; focus on the average treatment effect (ATE).
09:45–11:00 The causal workflow + causal diagrams (from question to answer) Trace the full causal workflow: define populations, build causal diagrams, assess assumptions, analyse data, conduct sensitivity analysis, and communicate results—using causal DAGs to expose bias from confounding, colliders, and mediators.
11:00–11:30 Coffee break & discussion (you might need to bring your own coffee) Group Activities
11:30–12:15 Worked examples: employer gratitude & religious service attendance Walk through two applied studies from the NZAVS. Zahle Wisely's employer gratitude analysis; then Hannah Robinson's religious service attendance and personality Q&A follows.
12:15–13:45 Lunch Break.
13:45–14:30 Beyond averages: heterogeneous treatment effects and policy trees Introduce heterogeneous treatment effects (Conditional Average Treatment Effects) and policy trees; discuss when effects differ across people.
14:30–15:00 Revisiting our examples: policy tree analyses Case study 2; interpret tree-based decision rules useful for obtaining *policies*.
15:00–16:00 Hands-on demonstration: formulating questions and estimating effects in R R demonstrahion using causal forests; interpret simulated ATEs and HTEs, graphs, reporting & etc.

Contact

Questions before the workshop? Email me at joseph.bulbulia@vuw.ac.nz.