learn-causal-inference-with-phoebe / Leader session 6 of 6
Learn Causal Inference with Phoebe · Leader session 6 of 6

Commissioning and reading a causal claim

Everything in the five sessions before this one is a property of the brief rather than of the analysis. Which question is being asked, whether it can be answered from the data that exists, what must not be conditioned on, and who the answer is about: all four are decided before anybody opens a query editor, and none of them can be repaired afterwards by a better method. Tonight the five parts of a causal brief get written down in the order they have to be written, and the three sentences worth refusing to sign get named alongside the three that people refuse and should not.

🟠 Advanced Data and product leaders 45 min
0-3 · Welcome 3-20 · What goes in the brief 20-40 · Build-along: write one brief 40-45 · Q&A
Part 0

Where the six sessions land

Six sessions, 45 minutes each, no code and no query boxes. Session 1 separated the three rungs, session 2 audited a published claim, session 3 read a covariate list, session 4 asked whether the question was answerable at all, and session 5 asked who the answer was about. Tonight they collapse into one artifact: a brief short enough to be written in twenty minutes and specific enough that an analyst cannot accidentally answer a different question. The example throughout is Kestrelmark, a subscription retailer whose re-engagement email appears to lift spend by 10.54 units and truly lifts it by 6.23 on average.

Live = presented in the 45 minutes Self-study = the full depth, after class 🔍 Every diagram zooms

★ What you walk out with tonight. A five-part brief template that fits on one page and can be filled in before a single row is queried. The three claims to send back, each with the sentence to say. The three things people wrongly refuse, including a verdict of "not identified from this data", which is a real deliverable and usually the cheapest one available. And a reporting habit that turns the next review into a review of assumptions rather than an argument about a number.

LiveWhy the brief is the leverage point3 min▶

A causal analysis has a fixed order of decisions, and the expensive ones come first. What is being intervened on. What quantity is wanted. Whether the data can deliver it. What must not be held fixed. Who the answer is about. Only after all five is there a choice of technique, and the technique is the part that gets all the attention in a review because it is the part that looks technical.

The consequence is uncomfortable and useful. A brilliant method applied to an unstated estimand produces a precise answer to an unknown question, and there is no way to tell from the output. A crude method applied to a well-specified estimand with a written identification argument produces something a reviewer can actually check. The brief is where a leader has full authority and needs no statistics, and it is also where the outcome is mostly decided.

Real world

Kestrelmark commissioned "measure the impact of the re-engagement email". Four words in that request are ambiguous. Impact on what, over what window, compared with what alternative, for whom. The analysis that came back was competent and answered one specific reading of the sentence, chosen silently by whoever wrote the query, and the readout did not record which reading it was.

Self-studyThe four words the brief has to be written in4 min▶
  • Estimand - the quantity you want, stated before any recipe exists. "The total effect of sending the email on 90-day spend, for customers who lapsed in the last quarter." A sentence, in the language of the business, that could be written by somebody who has never fitted a model.
  • Identification - whether that quantity can be recovered from the data available, given what is believed about how the world works. A yes-or-no question that precedes estimation and is answered on a diagram rather than in a table.
  • Adjustment set - the specific variables held fixed, and nothing else. Not the standard feature set, not everything that improved the fit, but a named list with a named reason per line.
  • Sensitivity - how far the conclusion survives being wrong about the assumptions. Concretely: how strong an unmeasured confounder would need to be before the finding reverses.

Those four words are the whole grammar of the brief. Three of them describe decisions made before any data is touched, and the fourth describes the honesty of what comes back.

Part 1 · covers the five parts and the order they go in

The brief decides the answer, above the method

9 min live

Five parts, written in this order, before any method is chosen. Each one closes a specific way an analysis goes wrong, and each one is written in business language by the person who wants the answer rather than the person who will produce it.

The five parts of a causal brief, in the order they get written. Written in this order. Parts 1 to 5 decide the answer before any method exists. 1 · The question with an intervention in it, and a named rung 2 · The estimand total or direct, and for whom, in one sentence 3 · Identification which paths are closed, by which measured variables 4 · The adjustment set a named role beside every variable, no exceptions 5 · Sensitivity how strong an unmeasured confounder would have to be Method: chosen last the easiest part, and it cannot rescue parts 1-5 canon: adjusting for a mediator gives 5.48 against a total of 6.23 if a back door runs through something unmeasured, say so here handed to practitioner session 9 The method box is small and last on purpose. Choosing it first decides nothing.
🔍 Click to zoom - the page a leader owns, and the small box at the bottom that a leader does not.
LiveOne: the question, with an intervention in it and a named rung3 min▶

The first line of the brief is a question containing a verb somebody could act on. "What would 90-day spend have been if we had sent the email to every lapsed customer, compared with sending it to none of them?" That sentence names the intervention, the outcome, the window and the comparison, and it can only be answered on rung 2.

Beside it, in brackets, goes the rung. Rung 1 is a question about what is observed together: who spends more, which segments correlate with churn, what the emailed group looks like. Rung 2 is a question about doing something. Rung 3 is a question about an individual world that did not happen: would this customer have churned anyway. Naming the rung takes four seconds and it prevents the single commonest failure, which is a rung-2 question answered with a rung-1 comparison and reported with a causal verb attached.

  • If the sentence has no intervention, the brief is not a causal brief. That is fine, and it should be relabelled rather than upgraded quietly later.
  • The comparison matters as much as the intervention. Against nobody, against the current policy, against a cheaper alternative. Three different numbers, one ambiguous request.
  • The window belongs in the question. A 7-day and a 90-day effect of the same email are different quantities and both are legitimate.
LiveTwo: the estimand in one sentence, total or direct and for whom4 min▶

The second line says which effect is wanted, and in practice the choice that matters is between the total effect and the direct effect. The total effect is everything the intervention does, by every route including the ones you would rather it did not use. The direct effect is what survives when the main mechanism is held fixed.

This is not a philosophical distinction; it is a number. On Kestrelmark's data the total effect averages 6.23. Hold the open event fixed, which is the mechanism through which much of the email works, and the estimate becomes 5.48, close to the mean direct effect of 5.16 written into the model that generated the data. Nothing in the output announces which of the two you received. Both are a clean coefficient with a sensible sign, and adding one variable to a covariate list is enough to switch between them silently.

  • The total effect answers "should we do this". Nearly always the commercial question, and the default for a rollout decision.
  • The direct effect answers "how much survives without the mechanism". A real question for a subject-line project or a channel redesign, and a different one.
  • An unwritten estimand is chosen by whoever writes the query. Not carelessly, but privately, and the choice never appears in the readout.
  • An estimand also has to say who it is about. Kestrelmark's average of 6.23 is made of four very different numbers: +29.09 for the 20.4 percent who lapsed recently, +2.10 for the 22.4 percent still active, +1.04 for the 49.3 percent long dormant, and -8.87 for the 7.9 percent the email drives away. At a fully loaded 7.00 per send the blanket campaign is worth -3,848 and sending only to the lapsed segment is worth +22,578. Session 5 is where that is worked through; the brief's job is to require it, by naming the population and asking for the answer by segment as well as overall.

The sentence to put in every brief. "We want the TOTAL effect. Do not adjust for anything on the causal route." Twelve words, written before any variable is proposed, and it removes an entire class of correct analyses that answer the wrong question. Then one more line: "and report it by segment as well as overall", because an average is a number and a policy needs to know who it is about.

LiveThree: the identification paragraph4 min▶

The third part is a short paragraph in plain English saying which contaminating routes exist between the intervention and the outcome, and which measured variables close each one. For Kestrelmark it reads roughly: season causes both the send and the spend, tenure causes both the send and the spend, and holding those two fixed closes both routes, which is why the estimate moves from 10.54 to 6.56 against a true average of 6.23.

The paragraph has a second half, and the second half is where the value is: what to do if one route runs through something nobody measures. That case is not rare, it is the normal case outside a controlled setting, and there are only four honest responses. Measure the thing. Find a different route to the answer. Report the effect with an explicit statement of what would have to be true. Or conclude the effect is not identified from this data and say so early.

  • It is written before the data is pulled. Written afterwards, it becomes a justification for whatever was done, which is a different document with the same words in it.
  • It is legible to an operator. Somebody who runs the process should be able to read it and say "that route does not exist" or "you have missed one". That review is worth more than any technical check.
  • It names the variables by their warehouse names. "We control for seasonality" is not an identification paragraph. Which column, from which table, at which grain.
LiveFour: the adjustment set, with a role beside every variable3 min▶

The fourth part is a list of variables with a named role and one sentence each. Confounder, mediator, collider, bystander. Anything that cannot be labelled is labelled unknown, and an unknown blocks sign-off until somebody resolves it. This is the shortest part of the brief and it carries the most weight, because the costs are large and invisible: on Kestrelmark's bench the correct two-variable set leaves +0.33, and holding every available variable fixed lands at -5.25, further from the truth than holding nothing fixed at all, which leaves +4.31. The harmful controls all push the same way and stack.

  • "It improved the fit" is not a role. Fit improves fastest for variables caused by the treatment or by the outcome, which is to say for the harmful ones.
  • "It was in the standard feature set" is not a role. Standard sets are assembled for prediction, where anything correlated with the outcome is welcome. Different job, opposite rules.
  • "It was measured before the treatment" is not a role. Timing rules out one specific problem and is silent about the others.
  • An empty adjustment set is a role list too. If nothing needs holding fixed, write down why, because that is a strong claim and it should be visible.

The rule is self-teaching. A team asked to write roles for six months stops proposing variables it cannot name, and most of the harm disappears before anything reaches a review.

Self-studyFive: the sensitivity statement3 min▶

The last part asks the analysis to state its own fragility. Every observational causal claim rests on the assumption that no important common cause was missed, and that assumption is never verifiable from the data. What can be done instead is to ask how strong a missing cause would have to be before the finding stops holding.

The answer is a threshold, and thresholds are readable by non-specialists. If a conclusion survives any plausible unmeasured factor, that is a strong result and should be said loudly. If it reverses under a factor half as strong as tenure, the finding is fragile and the brief should have said so before the recommendation was written. Either way the number belongs in the readout rather than in a footnote nobody reaches.

  • Ask for it in the brief, not in the review. Requested afterwards it reads as scepticism about a specific result; requested upfront it is simply part of the deliverable.
  • Compare the threshold with something known. "Would need to be twice as strong as tenure" is a sentence a leader can weigh. A bare coefficient is not.
  • Practitioner session 9 works the technique properly, including what to do when the threshold is embarrassingly low.
Part 2 · covers what to send back and what to sign

What to refuse to sign, and what to accept

8 min live

Reviewing a causal claim is not a technical skill and does not require reading the code. Three sentence patterns should be sent back every time, and three should be accepted without argument even though they are the ones that get pushed back on hardest.

Three things to refuse to sign, and three that people wrongly refuse. ✗ Refuse to sign ★ Accept without argument A causal verb on a rung-1 comparison drove, lifted, caused, over a plain difference in means A covariate measured after the treatment mediator or collider; it changes the question or the answer A claim with nothing that could make it wrong no sensitivity, no named assumption, nothing to attack An honest association with no causal verb customers who got it spent 10.54 more is a true sentence A wide interval a wide honest range beats a narrow one from a bad set ★ Not identified from this data a finding, not a failure, and usually the cheapest one A not-identified verdict is a deliverable. It ends the work in week one instead of week twelve, and the budget is never spent. A refusal is about the sentence, not the analyst. Name the part that is missing.
🔍 Click to zoom - three sentences to send back, three to sign, and the verdict that saves a quarter.
LiveThe three refusals, and the sentence to say for each4 min▶

Each of these is a property of the written claim and can be spotted without opening anything. None of them is an accusation of incompetence, and saying so out loud when you send it back matters, because the failure is nearly always in the brief rather than in the work.

  • A causal verb attached to a rung-1 comparison. "The campaign drove 10.54 units of incremental spend" over a plain difference between the emailed and the not-emailed. The word drove, the word incremental and the word impact all promise rung 2. The sentence to say: "which contaminating routes were closed, and by which variables?"
  • A covariate list containing anything measured after the treatment. One sweep, one question per variable: could the intervention have changed this? Anything with a yes is a mediator or a collider, and both move the answer. The sentence to say: "which of these were recorded after the send, and what role does each one play?"
  • A claim with no statement of what would make it wrong. If nothing could falsify it, nothing was tested. The sentence to say: "how strong would an unmeasured common cause have to be to overturn this?"

Three sentences. None requires knowing a method, and all three are answerable in a day by whoever did the work, which is the test of whether they were fair to ask.

LiveThe three acceptances, including the one that saves a quarter4 min▶

The reverse failure is real and less discussed. Three deliverables get pushed back on regularly and should be signed off without argument, because refusing them teaches a team to overclaim.

  • An honest association with no causal verb. "Customers who received the email spent 10.54 more" is a true, useful, correctly hedged sentence. Sending it back for being "not actionable enough" is a request for the causal verb without the causal work, and the team will supply it.
  • A wide interval. Width is information about how much the data supports. A wide honest range from a correct adjustment set is worth more than a narrow one from a set that includes three harmful controls, and the narrow one will look better in every meeting.
  • "Not identified from this data." A conclusion that the question cannot be answered with what exists, arrived at in week one, is a genuine deliverable. It stops a quarter of work that would have produced a confident number of unknown sign, and it converts into a concrete data-collection request or an experiment.
Real world

The organisational tell is what happens to the analyst who reports the third one. If the response is a request to "have another go with what we have", the team has learned that the honest answer is unwelcome and will not offer it again. The next unanswerable question comes back with a number attached.

What gets saidWhat to say backWhy
The campaign drove 10.54 units.Which routes were closed, and with which variables?A causal verb over a plain difference. The naive number here carries 4.31 of contamination.
We controlled for everything we had.What role does each variable play, in one sentence?Harmful controls compound rather than cancel: everything at once lands at -5.25 against the correct set's +0.33.
The interval is too wide to report.Wide and honest beats narrow from a bad adjustment set.Precision is not identification, and narrowing by adding controls usually makes it worse.
We could not identify it, so there is nothing to show.That is the finding. Write it up and name what would fix it.It ends the work early and turns into a collection request or an experiment.
LiveThe standing habit: the graph lives beside the query3 min▶

One habit makes all of the above durable rather than a good quarter. The diagram, the estimand and the adjustment set live in version control, in the same directory as the query, in plain text. Not in a slide, not in a document nobody can find, not in the analyst's head.

The reason is what it does to the next review. When the assumptions are text files beside the code, a change to the covariate list appears as a diff, the person making the change has to write the role to get it merged, and a reviewer six months later can see who added which arrow and when. The review stops being an argument about whether a number looks right and becomes an inspection of assumptions, which is the only review that can actually catch anything.

  • Plain text, one line per arrow. A picture in a deck cannot be diffed and will describe last quarter's beliefs within a month.
  • The estimand as a comment at the top of the query. One sentence. It survives staff changes, which slides do not.
  • The role list as a file the pull request touches. That is the entire enforcement mechanism, and it costs one line per variable.
Self-studyWhat the brief deliberately does not contain3 min▶

The brief stops before the method, and the omission is intentional. A leader who specifies the technique has spent their authority on the one decision the analyst is better qualified to make, and has usually done it by naming the technique they heard about most recently.

  • The estimation machinery belongs to a different course. Propensity scores, inverse probability weighting, doubly robust estimation, difference-in-differences, synthetic control and the DoWhy workflow are all taught properly in learn-experimentation-with-phoebe. Naming one in a brief signals confidence rather than rigour, and it can quietly override the estimand written in part 2.
  • Running an experiment is also there. When the identification paragraph concludes that a back door cannot be closed, the honest next step is often a randomised comparison, and the design of that comparison is that course's territory.
  • Statistical inference is elsewhere again. Standard errors, p-values and power belong to learn-statistics-with-phoebe. The brief asks for an interval and does not specify how it is constructed.

What the brief keeps is everything that cannot be delegated: the question, the quantity, the identification argument, the roles, and the demand to state what would make the answer wrong.

Build-along

Write one brief

★ 20 min · everyone builds

No code and no model. Take one analysis that is about to start, or one that started this week and can still be redirected. If you have nothing to hand, write the brief Kestrelmark should have written for the re-engagement email.

Write the five parts, in order, without skipping ahead. Question with the rung, estimand in one sentence with the population named, identification paragraph, adjustment set with roles, sensitivity ask. Twenty minutes is enough for a first version, and a first version is what unblocks the conversation.

Read the identification paragraph out loud to the analyst and ask one question: do these variables exist? Not "can we get them" and not "is there a proxy". Do the columns exist, at the grain the argument needs, for the period in question. This is the fastest route to discovering that the analysis is not feasible, and discovering it now is the whole point.

Read it out loud to somebody who runs the process, and write down what they dispute. An operator will contradict a route or add one in about ten minutes. That list of disputes is worth more than any technical review, and it is only obtainable because the paragraph is in plain English.

Write the sentence you will say when somebody attaches "drove" to an observational comparison. Write it now, in advance, in your own words, and keep it short enough to say in a meeting without preamble. Something in the shape of: "that is a comparison rather than an effect. Which routes were closed, and with which variables?" Rehearsed, it lands as a question. Improvised, it lands as an attack.

Agree where the graph will live, and say it out loud with a path. Not "in the repo somewhere". A named directory, a named file, plain text, beside the query, updated in the pull request that changes the covariate list. Agreeing this at the start costs one minute; retrofitting it costs an archaeology project.

✗ The brief as it usually arrives Ask: measure the impact of the re-engagement email. Owner: growth analytics Deadline: end of the month Notes: use the standard customer feature set & control for the usual things. Nice to have: a per-customer propensity model if there is time.
★ The same request written as a brief, which is the whole artifact for tonight 1. QUESTION (rung 2) What would 90-day spend have been if the re-engagement email had been sent to every lapsed customer, compared with sending it to none of them? 2. ESTIMAND The TOTAL effect of the send on 90-day spend. Not the direct effect. Do not adjust for anything on the causal route, the open event included. For whom: all lapsed subscribers, reported by recency segment as well as overall. One average is a number, not a policy. 3. IDENTIFICATION Two contaminating routes. Season causes both the send and the spend; tenure causes both the send and the spend. Holding season and tenure fixed closes both. If a route runs through something unmeasured, say so in week one and stop; that verdict is a deliverable, not a failure. 4. ADJUSTMENT SET season confounder winter sends more email and sells more tenure confounder long accounts get more email and buy more Nothing else. Unknowns: 0. An unknown blocks sign-off until it is named. 5. SENSITIVITY How strong would an unmeasured common cause have to be to overturn the finding? Express it against tenure, which we can measure. WHERE IT LIVES analysis/reengagement/graph.dag and brief.md, beside the query. Any change to the adjustment set changes brief.md in the same commit.

The brief is the deliverable, before the analysis is. Circulate it for comment the way a design document is circulated. Every objection raised at that point costs a paragraph; the same objection raised at the readout costs the readout, and sometimes the quarter that followed it.

Homework

After session 6

30 min
  1. Finish the five-part brief for one analysis that has not started, and circulate it for comment before any data is pulled. Note which of the five parts generated the most argument; that part is where your team's real disagreement lives.
  2. Take the most recent causal claim your organisation published internally and check it against the three refusals. If it fails one, write the sentence you would have said, and send it to yourself rather than to the author. The rehearsal is the point.
  3. Agree the location where diagrams, estimands and role lists will live, write it into the team's analysis template, and put one existing analysis there as the first example. A convention with one example in it survives; a convention with none does not.
  4. Find one question your organisation asks every quarter that is probably not identifiable from the data that exists. Write the not-identified verdict for it, with the collection request or the experiment that would fix it, and see how it is received. That reception is the most useful measurement in these six sessions.
Check yourself

Three questions

A brief says "measure the impact of the email" and lists no estimand. The analysis comes back at 5.48 with a tidy interval. What has most likely happened?

Adjusting for the open event switches the estimand from total to direct, and on this data that lands at 5.48 against a total of 6.23. The switch is silent: both are a clean coefficient with a sensible sign. An unwritten estimand is chosen by whoever writes the query.

In week one an analyst reports that the effect is not identified from the data that exists, because a contaminating route runs through something nobody measures. What is the correct response?

A verdict arrived at in week one prevents a quarter of work producing a confident number of unknown sign. Treating it as a failure teaches the team that the honest answer is unwelcome, and the next unanswerable question comes back with a number attached.

Why does the method box sit at the bottom of the brief rather than the top?

The method matters, and it is the analyst's decision to make well. The ordering is about repairability: a precise estimate of an unstated quantity, or one whose contaminating routes were never closed, cannot be fixed by a better technique, and the output looks identical either way.

Sources covered

What tonight maps to

✓ The five questions to ask, as a written brief Question with a named rung, estimand, identification paragraph, adjustment set with roles, sensitivity statement. Written in that order, before any method is chosen.
✓ The estimand written down before any variable is proposed Total against direct, and the population it is about. Holding the mediator fixed gives 5.48 against a total of 6.23, and nothing in the output announces the switch.
✓ What to require in writing, and what to refuse Three refusals: a causal verb on a rung-1 comparison, a covariate measured after the treatment, and a claim with nothing that could make it wrong. Three acceptances: an honest association, a wide interval, and a not-identified verdict.
✓ The reporting habit that makes it durable Graph, estimand and role list in version control beside the query, so the next review inspects assumptions in a diff rather than arguing about a number.
◐ Heterogeneous effects and who the answer is about Leader session 5. Tonight requires the population in the estimand and the answer by segment as well as overall, because Kestrelmark's average of 6.23 covers +29.09 for the lapsed and -8.87 for the 7.9 percent the email drives away; session 5 works through what to do about it.
◐ Sensitivity analysis in detail Practitioner session 9. Tonight requires the threshold in the brief and states how to read it; session 9 computes it.
◐ The back-door criterion stated formally Practitioner session 3. Tonight asks for the identification paragraph in plain English and for the variables it names to exist.
· Propensity scores, IPW, doubly robust, difference-in-differences, synthetic control, DoWhy Not covered by design, in any session, and deliberately absent from the brief. Estimating an effect from observational data belongs to learn-experimentation-with-phoebe, which teaches every one of these, and designing the experiment when identification fails belongs there too.

Session 6 cheat sheet

Five parts, in orderQuestion, estimand, identification, adjustment set, sensitivity. Method last and small.
The question has an intervention in itAnd the rung in brackets. No intervention means it is not a causal brief.
Estimand in one sentenceTotal or direct, and for whom. The mediator switches 6.23 to 5.48 with no sign in the output.
Identification in plain EnglishWhich routes, closed by which measured columns, and what to do if one is unmeasured.
A role beside every variableConfounder, mediator, collider, bystander. Unknown blocks sign-off.
Three refusalsA causal verb on a rung-1 comparison, a post-treatment covariate, a claim nothing could falsify.
Three acceptancesAn honest association, a wide interval, and "not identified from this data".
The graph lives beside the queryPlain text in version control, so the next review is a review of assumptions.