| X | Untreated | Treated | Total |
|---|---|---|---|
| 0 | 3038 | 1998 | 5036 |
| 1 | 1944 | 3020 | 4964 |
Propensity scores

Introduction
So far, we have adjusted for the full covariate vector \(X\). But \(X\) may contain dozens, hundreds, or even thousands of variables. How much of it do we actually need? Must we carry every covariate along, or can we compress the information that matters for adjustment into something much smaller?
Think about the RHC study. A patient’s age, diagnosis, blood pressure, and laboratory results may all help explain whether they receive RHC, and a realistic analysis would include many more. Two patients can differ substantially on nearly every one of these covariates and still have exactly the same probability of receiving the procedure. Remarkably, that single number, the probability of treatment given covariates, can be enough for adjustment.
Take a binary exposure \(A\), and start with our measured-confounding SCM,
\[ \begin{aligned} X&\leftarrow f_X(\epsilon_X),\\ A&\leftarrow f_A(X,\epsilon_A),\\ Y&\leftarrow f_Y(A,X,\epsilon_Y), \end{aligned} \]
with independent noise terms. Our question is whether we can rewrite the assignment for \(A\) using a summary of \(X\).
Propensity score
Consider each person’s probability of receiving treatment.
The propensity score is the probability of receiving treatment conditional on the baseline covariates:
\[ e(X)=P(A=1\mid X). \]
We write \(E=e(X)\) for the variable that records this probability.
Regardless of how many variables we collect in \(X\), the propensity score is one number. Different covariate profiles can have exactly the same propensity score.
Example. Suppose the propensity score for a hypothetical SCM is
\[ e(X)=0.10+0.001\,\text{age}+0.001\,\text{blood pressure}, \]
where \(X = (\text{age},\text{blood pressure})\).
For a 40-year-old patient with blood pressure 160, the probability of receiving treatment is
\[ e(40,160)=0.10+0.04+0.16=0.30. \]
Now consider a 60-year-old patient with blood pressure 140. This patient is older but has lower blood pressure. Under our model, those differences offset one another:
\[ e(60,140)=0.10+0.06+0.14=0.30. \]
Both patients have the same propensity-score value, \(E=0.30\), despite having different values of both covariates.
This is dimension reduction. We started with two numbers describing each patient and summarized them with one. Knowing that the score is \(0.30\) does not tell us which age and blood pressure produced it.
A third patient is 50 years old. What blood pressure would give this patient the same propensity score, \(E=0.30\)?
A blood pressure of 150 gives the 50-year-old patient a propensity score of \(0.30\).
Another possibility is a 70-year-old patient with blood pressure 130. In this model, increasing age by ten years and decreasing blood pressure by ten leaves the treatment probability unchanged.
These patients need not have the same covariates to have the same propensity score.
With more covariates, the reduction could be much larger: dozens of measurements summarized by one probability.
Identification with the propensity score
We have compressed covariates into a single number, the propensity score \(E=e(X)\). Our goal is to show that the propensity score can take the place of the covariates in the identification formula. We will do this by constructing a treatment assignment that uses only \(E\), then following the resulting SCM through to its potential outcomes.
First, add \(E\) to the original SCM:
\[ \begin{aligned} X&\leftarrow f_X(\epsilon_X),\\ E&\leftarrow e(X),\\ A&\leftarrow f_A(X,\epsilon_A),\\ Y&\leftarrow f_Y(A,X,\epsilon_Y). \end{aligned} \]
The original noise terms are independent. The assignment for \(E\) simply calculates the propensity score from \(X\). It requires no additional noise and leaves the original assignments unchanged.
Now consider another way to generate treatment. Because \(A\) is binary, its conditional distribution is determined by its probability of being \(1\). For patients with a given value of \(X\), that probability is \(e(X)\), which we have recorded in \(E\).
Draw a new noise variable \(U_A\) uniformly from \([0,1]\), independently of \(\epsilon_X\) and \(\epsilon_Y\). Assign treatment when this number is at most \(E\), and assign no treatment otherwise. For example, when \(E=0.30\), the first \(30\%\) of the interval produces treatment and the remaining \(70\%\) produces no treatment. This procedure gives the required treatment probability.
We write \(A^*\) for the treatment generated by this new procedure. We also give the resulting outcome a new name, \(Y^*\), because its assignment now receives \(A^*\) as its treatment input. The full SCM is
\[ \begin{aligned} X&\leftarrow f_X(\epsilon_X),\\ E&\leftarrow e(X),\\ A^*&\leftarrow \begin{cases} 1,& U_A\leq E,\\ 0,& U_A>E, \end{cases}\\ Y^*&\leftarrow f_Y(A^*,X,\epsilon_Y). \end{aligned} \]
The variables \((X,E,A,Y)\) and \((X,E,A^*,Y^*)\) have the same joint distribution. To see why, fix a covariate value \(X=x\). Both treatment assignments produce treatment with probability \(e(x)\) and no treatment with probability \(1-e(x)\). Both also use treatment noise that is independent of the outcome noise. Once the treatment value is supplied, the outcome is generated using the same function \(f_Y\) and the same outcome-noise distribution.
Since these joint distributions agree, we will work with the new representation and write \(A\) and \(Y\) in place of \(A^*\) and \(Y^*\) from now on.
Its causal graph is
The treatment assignment now receives the information from \(X\) through \(E\). The outcome assignment still uses \(X\) directly. Compressing the information used for treatment has not removed the covariates from the outcome assignment.
Next, define potential outcomes for an intervention on \(A\) with value \(a\). We use the same procedure as before: rename the variables and substitute \(a\) wherever the intervened treatment would be used on the right-hand side. Causal irrelevance lets us simplify the baseline variables and the naturally generated treatment, giving \(X(a)=X\), \(E(a)=E\), and \(A(a)=A\). The assignments become
\[ \begin{aligned} X&\leftarrow f_X(\epsilon_X),\\ E&\leftarrow e(X),\\ A&\leftarrow \begin{cases} 1,& U_A\leq E,\\ 0,& U_A>E, \end{cases}\\ Y(a)&\leftarrow f_Y(a,X,\epsilon_Y). \end{aligned} \]
We still generate the natural treatment \(A\), but the outcome assignment now receives the fixed value \(a\).
The outcome assignment under intervention is unchanged from the original SCM. It uses the same function, covariates, intervention value, and outcome noise. Thus, the new representation preserves the potential outcome we originally wanted to study.
We can now construct its SWIG:
The arrow from the natural treatment to the outcome is gone. The fixed intervention value \(a\) supplies that input instead. The remaining path between \(A\) and \(Y(a)\) runs through \(E\) and \(X\). Conditioning on \(E\) blocks this path, so the global Markov property gives
\[ A\mathrel{\perp\!\!\!\perp}Y(a)\mid E. \]
Among people with the same propensity score, learning their naturally generated treatment provides no additional information about their potential outcome. We have obtained conditional exchangeability using one number, even though \(X\) may contain many covariates.
The rest follows the identification argument we used for outcome regression. Conditional exchangeability allows us to condition additionally on \(A=a\) without changing the conditional mean of \(Y(a)\). Among people with that treatment value, consistency then lets us use their observed outcome \(Y\). In equations,
\[ \begin{aligned} E\left[Y(a)\mid E\right] &=E\left[Y(a)\mid E,A=a\right]\\ &=E\left[Y\mid E,A=a\right]. \end{aligned} \]
Finally, average over the propensity score using iterated expectations. Since the new representation preserves both the potential outcome and the observed-data distribution, this identifies our original causal quantity.
Under the measured-confounding SCM, with the relevant conditional means defined,
\[ E\left[Y(a)\right] =E\left[E\left[Y\mid E,A=a\right]\right]. \]
The inner mean describes the outcome at a particular propensity score and treatment value. The outer expectation averages these means over the propensity scores. This has the same form as our earlier identification result, with \(E\) taking the place of \(X\).
Estimating the propensity score
We estimate \(e(X)\) by treating the binary exposure \(A\) as the response. As with outcome regression, we can count within covariate groups or fit a regression model.
Write \(\hat e(x)\) for the estimated probability at covariates \(x\). The score column in our data records \(\hat E=\hat e(X)\), an estimate of the true propensity-score variable \(E=e(X)\).
Example: Wildfire smoke and asthma
Return to our 10,000 generated observations, with \(X\) indicating unhealthy wildfire smoke, \(A\) staying indoors, and \(Y\) asthma symptoms. As before, assume the people are i.i.d.
For each value of \(X\), estimate the probability of staying indoors by dividing the number who stayed indoors by the group total:
\[ \begin{aligned} \hat e(0)&=\frac{1998}{5036}\approx 0.40,\\ \hat e(1)&=\frac{3020}{4964}\approx 0.61. \end{aligned} \]
Assign each person the score for their value of \(X\). Add that score to our four combinations of \(X\) and \(A\):
| \(X\) | \(A\) | \(\hat E\) |
|---|---|---|
| 0 | 0 | 0.40 |
| 0 | 1 | 0.40 |
| 1 | 0 | 0.61 |
| 1 | 1 | 0.61 |
People with the same \(X\) receive the same score, whether or not they stayed indoors.
With more covariates or continuous covariates, we may have few observations at each combination. We can use logistic regression instead.
Example: Smoking and birth weight
Use the same 189 births. Let \(A\) indicate smoking during pregnancy, with \(1\) for smoking and \(0\) for not smoking. As in matching, collect maternal age and weight into \(X\). Retain our i.i.d. and measured-confounding assumptions.
Regress smoking on maternal age and weight. Each mother contributes her recorded covariates and smoking status. The fitted model estimates the probability of smoking for a given combination of age and weight:
ps_fit <- glm(smoke ~ age + lwt, family = binomial(), data = birthwt_ps)The fitted equation is
\[ \log\left[\frac{\hat e(X)}{1-\hat e(X)}\right] \approx 0.23 -0.0147\,\text{age} -0.0026\,\text{weight}. \]
Age is in years and weight in pounds. Plug the covariates of a 20-year-old mother weighing 120 pounds into the fitted model.
The fitted log odds are approximately -0.37. Transforming back gives her estimated probability of smoking:
\[ \hat e(20,120) \approx\frac{\exp\left(-0.37\right)} {1+\exp\left(-0.37\right)} \approx 0.41. \]
Repeat this calculation for each mother using her recorded age and weight. The \(\hat E\) column contains her estimated probability of smoking. Here are the first four:
| Mother | Age | Weight | \(A\) | \(\hat E\) |
|---|---|---|---|---|
| 1 | 19 | 182 | 0 | 0.37 |
| 2 | 33 | 155 | 0 | 0.34 |
| 3 | 20 | 105 | 1 | 0.42 |
| 4 | 21 | 108 | 1 | 0.41 |
Using the propensity score
We can use propensity scores for standardization, outcome regression, or matching. We will work through outcome regression and matching using the birth-weight data.
We now need the expected outcome at a given score and treatment value. Write this conditional mean as
\[ \mu(s,a)=E\left[Y\mid E=s,A=a\right]. \]
Here, \(s\) is a particular numerical score, such as \(0.41\), and \(a\) is a treatment value. To recover the mean potential outcome, our identification result tells us to average these conditional means over the scores:
\[ E\left[Y(a)\right]=E\left[\mu(E,a)\right]. \]
In the data, we use \(\hat E\) in place of the unknown \(E\). For person \(i\) with observed covariates \(x_i\), the estimated score is the number \(\hat e(x_i)\). We plug that number into the fitted outcome model at each treatment value, then average the predictions over people’s estimated scores.
Outcome regression
We have estimated each mother’s probability of smoking. We can now use that probability in the outcome regression.
Replace the original covariates \(X\) with the estimated propensity score \(\hat e(X)\) in the outcome regression. Then proceed as before: predict under each treatment value, keeping each person’s score fixed, and average the predictions.
Example: Smoking and birth weight
Return to the 189 mothers in the birth-weight dataset. As in our matching analysis, collect maternal age and weight in \(X\). We have estimated each mother’s probability of smoking from these two covariates. Let \(A\) indicate smoking during pregnancy and \(Y\) be infant birth weight in grams.
For these mothers, regress birth weight on the estimated score and smoking. The score summarizes age and weight, so those covariates enter the regression through the score. The fitted model describes mean birth weight at each score and smoking value:
birthwt_score_fit <- lm(bwt ~ score + smoke, data = birthwt_ps)The fitted conditional mean is
\[ \hat\mu(s,a) \approx 4761.53 -4371.60s -268.97a. \]
Consider the 20-year-old mother weighing 120 pounds from our propensity-score calculation. Her estimated score is \(\hat e(20,120)\approx 0.41\). Keep that score fixed and substitute each smoking value. The prediction dataset mother_score_120 contains two rows with the same score and smoking set to \(1\) or \(0\):
birthwt_score_120 <- predict(birthwt_score_fit, newdata = mother_score_120)These are the same substitutions we used with the original covariates:
\[ \begin{aligned} \hat\mu\left(\hat e(20,120),1\right) &\approx 4761.53 -4371.60\hat e(20,120) -268.97(1) \approx 2706.25,\\ \hat\mu\left(\hat e(20,120),0\right) &\approx 4761.53 -4371.60\hat e(20,120) -268.97(0) \approx 2975.23. \end{aligned} \]
These estimate mean infant birth weights under smoking and not smoking for mothers with this score. By using the score in place of the original covariates, we give everyone with the same estimated score the same pair of predictions.
Repeat the operation for everyone. Keep each mother’s score and change only the smoking value.
Here are the predictions for the same first four mothers we used earlier. We retain their observed smoking status and infant birth weight for comparison. The last two columns give the predictions under smoking and not smoking, using each mother’s same score in both calculations:
| Age | Weight | A | \(\hat E\) | Y | \(\hat\mu(\hat E,A)\) | \(\hat\mu(\hat E,1)\) | \(\hat\mu(\hat E,0)\) |
|---|---|---|---|---|---|---|---|
| 19 | 182 | 0 | 0.37 | 2523 | 3125.04 | 2856.07 | 3125.04 |
| 33 | 155 | 0 | 0.34 | 2551 | 3262.89 | 2993.91 | 3262.89 |
| 20 | 105 | 1 | 0.42 | 2557 | 2665.57 | 2665.57 | 2934.54 |
| 21 | 108 | 1 | 0.41 | 2594 | 2689.35 | 2689.35 | 2958.33 |
For each treatment value, \(\hat\mu(\hat E,a)\) is a function of the estimated score. Estimate its mean by averaging the predictions over all 189 mothers. Using everyone in both averages keeps the distribution of scores the same for the two smoking values.
This gives
\[ \begin{aligned} E\left[Y(1)\right]&\approx 2780.93\text{ grams},\\ E\left[Y(0)\right]&\approx 3049.90\text{ grams},\\ \operatorname{ATE}&\approx -268.97\text{ grams}. \end{aligned} \]
Under our working SCM and regression model, smoking lowers mean infant birth weight by an estimated 268.97 grams. As before, the ATE equals the smoking coefficient because this is a linear model without treatment interactions.
Example: Smoking and low birth weight
Now use low as the outcome, indicating infant birth weight below 2,500 grams. Keep the same estimated propensity scores and smoking variable.
Fit logistic regression with low birth weight as the response. Because this outcome is either \(0\) or \(1\), its conditional mean is the probability of low birth weight. We keep smoking and the estimated score as the predictors:
birthwt_score_logistic_fit <- glm(
low ~ score + smoke,
family = binomial(),
data = birthwt_ps
)The fitted equation is on the log-odds scale:
\[ \operatorname{logit}\{\hat\mu(s,a)\} \approx -7.14 +15.40s +0.67a. \]
For our 20-year-old, 120-pound mother, substituting her score and \(a=1\) gives fitted log odds of approximately -0.17. Transform back to obtain the probability:
\[ \hat\mu\left(\hat e(20,120),1\right) \approx\frac{\exp(-0.17)} {1+\exp(-0.17)} \approx 0.46. \]
For the nonsmoking prediction, keep her score fixed and substitute \(a=0\). Her score was calculated from her age and weight, which remain the same. We change the smoking input to the outcome model, giving
\[ \hat\mu\left(\hat e(20,120),0\right) \approx\frac{\exp(-0.85)} {1+\exp(-0.85)} \approx 0.30. \]
Under our working model, these are estimated probabilities of low birth weight under smoking and not smoking for mothers with her score. Repeat the calculations for every mother.
For the same four mothers, the estimated conditional means are now probabilities. Each mother’s observed outcome is \(0\) or \(1\), while the prediction columns describe her estimated probability of low birth weight under each smoking value:
| Age | Weight | A | \(\hat E\) | Y | \(\hat\mu(\hat E,A)\) | \(\hat\mu(\hat E,1)\) | \(\hat\mu(\hat E,0)\) |
|---|---|---|---|---|---|---|---|
| 19 | 182 | 0 | 0.37 | 0 | 0.20 | 0.33 | 0.20 |
| 33 | 155 | 0 | 0.34 | 0 | 0.13 | 0.23 | 0.13 |
| 20 | 105 | 1 | 0.42 | 0 | 0.49 | 0.49 | 0.33 |
| 21 | 108 | 1 | 0.41 | 0 | 0.47 | 0.47 | 0.31 |
Average each prediction column across all 189 mothers, then compare the two averages.
The estimated risks are \(E\left[Y(1)\right]\approx 0.40\) and \(E\left[Y(0)\right]\approx 0.26\). Therefore,
\[ \begin{aligned} \operatorname{ATE} &=E\left[Y(1)\right]-E\left[Y(0)\right] \approx 0.14,\\ \text{Causal relative risk} &=\frac{E\left[Y(1)\right]}{E\left[Y(0)\right]} \approx 1.55,\\ \text{Causal odds ratio} &=\frac{E\left[Y(1)\right]/\left(1-E\left[Y(1)\right]\right)} {E\left[Y(0)\right]/\left(1-E\left[Y(0)\right]\right)} \approx 1.92. \end{aligned} \]
We estimate that smoking increases the risk of low birth weight by 14.2 percentage points. The risk is approximately 1.55 times as large under smoking, and the odds are approximately 1.92 times as large.
Matching
Matching uses a distance to decide which people are similar. Once we have estimated their treatment probabilities, we can measure that distance using the scores.
Use the difference between estimated propensity scores as the distance between two people:
\[ d(x_i,x_j)=\left|\hat e(x_i)-\hat e(x_j)\right|. \]
Find matches in the opposite exposure group using this distance. Then check balance in the original covariates and combine the outcome comparisons as before.
Example: Smoking and birth weight
Use the same 189 mothers, with smoking as \(A\), infant birth weight as \(Y\), and maternal age and weight collected in \(X\). We will find one nonsmoking match for each mother who smoked to estimate the ATT, allowing a nonsmoker to be reused.
Consider mother 4, who smoked during pregnancy. She is 21 years old and weighs 108 pounds. Her estimated probability of smoking is 0.41248.
We need a nonsmoking comparison. Search among the nonsmokers for the person whose estimated probability of smoking is closest to hers. This selects mother 135:
| Mother | Age | Weight | Smoking | Estimated propensity score |
|---|---|---|---|---|
| 4 | 21 | 108 | 1 | 0.41248 |
| 135 | 25 | 85 | 0 | 0.41246 |
Their ages and weights differ, but their estimated treatment probabilities are almost identical. We selected the match using the difference between those probabilities.
Mother 4’s infant weighed 2594 grams. Her matched nonsmoker’s infant weighed 1474 grams. Her own outcome supplies the smoking side of the comparison, and the matched nonsmoker supplies the nonsmoking side. Their difference is
\[ 2594 -1474 =1120\text{ grams}. \]
This is one noisy comparison of smoking versus not smoking. Repeat the procedure for each of the 74 mothers who smoked, then average their matched outcome differences. That average estimates the ATT.
In R, use the same MatchIt call as before, supplying our scores as the distance. This automates the search we just performed for mother 4, selecting a nonsmoking match for every smoker:
birthwt_ps_nearest <- MatchIt::matchit(
smoke ~ age + lwt,
data = birthwt_ps,
method = "nearest",
distance = birthwt_ps$score,
estimand = "ATT",
ratio = 1,
replace = TRUE,
m.order = "data"
)ratio = 1 requests one nonsmoking match per smoker, and replace = TRUE allows a nonsmoker to serve as a match more than once. For each selected pair, subtract the matched nonsmoker’s outcome from the smoker’s.
Here are the first four outcome comparisons, in grams:
| Smoker | Match | Smoker’s outcome | Match’s outcome | Difference |
|---|---|---|---|---|
| 3 | 182 | 2557 | 2450 | 107 |
| 4 | 135 | 2594 | 1474 | 1120 |
| 5 | 31 | 2600 | 2920 | -320 |
| 9 | 118 | 2663 | 3969 | -1306 |
The positive and negative outcome differences all contribute to the average. A reused nonsmoker appears in each comparison for which she was selected, so we have one difference per smoker. After checking covariate balance as described in the next subsection, take the sample mean of all 74 differences.
This gives
\[ E\left[Y(1)-Y(0)\mid A=1\right] \approx -96.38\text{ grams}. \]
Under our SCM, we estimate that smoking lowers mean infant birth weight by 96.38 grams among the mothers who originally smoked.
Balancing
Because the treatment assignment uses \(X\) only through the propensity score \(E\), its causal graph implies
\[ A\mathrel{\perp\!\!\!\perp}X\mid E. \]
In words: among people with the same propensity score, the treated and untreated groups have the same distribution of measured covariates. We say the propensity score balances the covariates.
In practice, we never know the true score. We estimate it, and we compare people whose scores are close rather than identical. So we check whether balance actually holds in the original covariates, using the same calculations we used for matching.
Example: Checking balance in the birth-weight data
Return to our nearest-neighbor pairs. Compare maternal age and weight between smokers and nonsmokers before and after matching.
The plot compares covariate balance before and after matching. We selected matches using one score, but we check maternal age and weight separately. Values closer to zero indicate better balance; the line marks the usual \(0.10\) guide.

Matching brings the standardized mean differences for both maternal age and weight closer to zero.
The balancing property is a theoretical result about the true propensity score. In practice, we must estimate that score and decide how to use it. Both choices affect the balance we achieve.
Estimating the score. We fitted logistic regression to describe smoking probabilities using maternal age and weight. The covariate balancing propensity score (CBPS) approach makes covariate balance part of estimating the model’s coefficients (Imai and Ratkovic 2014). For our example, this would mean using conditions that bring weighted mean age and weight closer together between smokers and nonsmokers. The model can still be logistic regression, and the target remains \(e(X)=P(A=1\mid X)\).
Using the score for matching. Close propensity scores do not guarantee that our matched comparisons balance the original covariates. King and Nielsen (2019) show that propensity-score matching can increase covariate imbalance and recommend other matching methods. Their critique gives us a reason to evaluate the actual comparisons we construct, rather than relying on closeness of the scores alone.
Other summaries of \(X\) can also balance the covariates. We call them balancing scores.
A variable \(B=b(X)\) is a balancing score if we can represent the same joint distribution of \((X,B,A,Y)\) using an SCM of the form
\[ \begin{aligned} X&\leftarrow f_X(\epsilon_X),\\ B&\leftarrow b(X),\\ A&\leftarrow g_A(B,U_A),\\ Y&\leftarrow f_Y(A,X,\epsilon_Y), \end{aligned} \]
where \(\epsilon_X,U_A,\epsilon_Y\) are independent.
For example, \(b(X)=X\) is a balancing score, as is \(b(X)=e(X)\).
If \(b(X)\) is a balancing score, then there is a function \(f\) such that
\[ e(X)=f(b(X)) \]
almost surely (Rosenbaum and Rubin 1983).
Knowing \(b(X)\) therefore lets us calculate \(e(X)\). A balancing score can retain more information, such as both the propensity score and age. This is the sense in which the propensity score is the smallest summary of \(X\) that balances the covariates.
For a binary exposure, \(b(X)\) is a balancing score if and only if there is a function \(f\) such that \(e(X)=f(b(X))\) with probability one (Rosenbaum and Rubin 1983).
First suppose \(b(X)\) is a balancing score. In its SCM representation, \(A\) uses only \(b(X)\) and noise independent of \(X\), giving \(A\mathrel{\perp\!\!\!\perp}X\mid b(X)\). Since \(b(X)\) is determined by \(X\),
\[ \begin{aligned} P(A=1\mid b(X)) &=P(A=1\mid X,b(X))\\ &=P(A=1\mid X)\\ &=e(X). \end{aligned} \]
The first equality uses balance. The left side is a function of \(b(X)\), so it supplies the required function \(f\).
Conversely, suppose \(e(X)=f(b(X))\). By iterated expectations,
\[ \begin{aligned} P(A=1\mid b(X)) &=E\left[P(A=1\mid X,b(X))\mid b(X)\right]\\ &=E\left[e(X)\mid b(X)\right]\\ &=e(X). \end{aligned} \]
The last equality holds because \(b(X)\) determines \(e(X)\). Also, \(P(A=1\mid X,b(X))=e(X)\). Thus learning \(X\) in addition to \(b(X)\) does not change the conditional probability of \(A=1\). Because \(A\) is binary, the same holds for \(A=0\). To obtain the SCM representation in our definition, draw \(U_A\) uniformly from \([0,1]\), independently of the original covariate and outcome noise. Assign \(A=1\) when \(U_A\leq f(b(X))\) and \(A=0\) otherwise. Retaining the original assignments for \(X\) and \(Y\) then gives the same joint distribution, since the treatment probability is still \(e(X)\). Thus, \(b(X)\) is a balancing score.
Taking \(b(X)=e(X)\) proves that the propensity score is itself a balancing score. A transformation of \(e(X)\) also balances if it retains enough information to recover \(e(X)\); an arbitrary coarsening need not do so.
The propensity score summarizes how \(X\) relates to treatment. A prognostic score instead summarizes how \(X\) relates to a potential outcome. For example, a prognostic score for the untreated potential outcome is a function \(r(X)\) such that
\[ Y(0)\mathrel{\perp\!\!\!\perp}X\mid r(X). \]
Knowing \(r(X)\) leaves no additional information in \(X\) about the distribution of \(Y(0)\). An outcome-regression mean \(E\left[Y(0)\mid X\right]\) need not have this property: two covariate profiles can have the same mean and different outcome distributions. For a binary outcome, the mean determines the distribution, so this distinction disappears. Hansen (2008) develops the prognostic-score approach.
We estimated the propensity scores from our data. In another sample, the fitted scores would change, along with the outcome predictions or matches we construct from them. Standard errors and confidence intervals for our causal-effect estimates should account for this estimation step, using a method appropriate to the regression or matching procedure. Treating the estimated scores as known can give misleading measures of uncertainty (Abadie and Imbens 2016).