Observation ≠ intervention
Compare what you observe with what you change.
Name the states. Keep contrasting scenarios. Explain what follows.
Synthetic examples—not evidence about real people.
Start with a five-minute comparison
- In The workshop, read “Among attendees.” This filters the ordinary world; it does not make anyone attend.
- Keep this result as “Observed attendees.” Then try “If everyone attended” and keep that result too.
- Compare both questions, not just their percentages. The model assumes preparation affects attendance and completion.
- Edit a variable to name its two states and inspect its assumed probabilities. A 50% entry is a specific assumption, not “unknown.”
- Save study JSON to retain the current experiment and up to four frozen scenarios. Export the readable report for discussion.
All inputs are assumptions. The app discovers no real-world causes and makes no recommendations. Nothing is autosaved.
Your question
Filter the ordinary world to cases matching your observations.
Observed evidence
Keep only cases matching these values.
Probability under the edited model
Completion: Completed
Among ordinary cases with Attendance: Attended (A=1), how likely is Completion: Completed (Y=1)?
84%
Exactly 21 / 25
P(Y=1 | A=1)
Evidence probability50%1 / 2
Ordinary baseline, no evidence50%Not an estimated causal effect
Try the contrast
This model assumes no unmodelled shared disturbances between variables. Results are consequences of those assumptions, not discovered causes.
Frozen comparisons · 0/4
Keep the question behind the number.
Keep two questions to compare their reasoning. Each scenario retains its own model, question and state meanings.
Editing the current model never recalculates a kept scenario under new assumptions. Opening a scenario restores its model, query and state meanings; the scenario collection and study notes stay intact.
No scenarios kept yet. Use “Keep this result” after asking a question. Save study JSON before leaving.
Show the arithmetic
Every unit of probability accounted for.
Selected mass: 500000 / 1000000. Selected mass with the target equal to 1: 420000 / 1000000. Divide the second by the first to get the answer.
Rows describe ordinary factual worlds. In counterfactual mode the success column refers to the alternate-world target; it can differ within one factual row.
| P · Preparation | A · Attendance | Y · Completion | World mass | Selected mass | Selected + success |
|---|---|---|---|---|---|
| Not prepared (0) | Did not attend (0) | Did not complete (0) | 405000 | 0 | 0 |
| Not prepared (0) | Did not attend (0) | Completed (1) | 45000 | 0 | 0 |
| Not prepared (0) | Attended (1) | Did not complete (0) | 35000 | 35000 | 0 |
| Not prepared (0) | Attended (1) | Completed (1) | 15000 | 15000 | 15000 |
| Prepared (1) | Did not attend (0) | Did not complete (0) | 15000 | 0 | 0 |
| Prepared (1) | Did not attend (0) | Completed (1) | 35000 | 0 | 0 |
| Prepared (1) | Attended (1) | Did not complete (0) | 45000 | 45000 | 0 |
| Prepared (1) | Attended (1) | Completed (1) | 405000 | 405000 | 405000 |
Model, not measurement
What these answers do—and do not—mean.
All variables have two states. You can name what 0 and 1 mean; the target event is always the named state 1. Probabilities are whole percentages chosen by you. The graph and the numbers are assumptions, not data estimates.
Observe → act → imagine
Observation filters cases. Intervention replaces a mechanism. Counterfactual reasoning first restricts background possibilities using factual evidence, then evaluates a changed mechanism with those same possibilities.
The engine uses independent uniform background ranks and the rule “output 1 when the rank is below the relevant probability.” This makes responses nested across probability thresholds. It is one explicit structural model—not the only model consistent with the tables.
Read the foundations
- Pearl · Causal inference in statistics (2009)
- Pearl · Understanding Simpson’s Paradox (2014)
- Balke & Pearl · Counterfactuals and Policy Analysis (1995)
These sources support the reasoning framework, not the synthetic examples’ numerical assumptions. The 1995 paper was uploaded to arXiv in 2013.